TRAVEL IDENTITY OF THE FUTURE https://shocard.com/downloads/ の資料のメモです。
Traveler Experience Overview
Registration Detail Flow
- 旅行者が旅行者用アプリをインストールすると、デバイスに鍵ペアと ShocardID が作成される
- パスポートを写真に撮ってスキャンする
- 顔写真を撮る
- これらをシール化(ハッシュ化・署名・結合)してブロックチェーンに記録する
- 旅行者アプリからエージェントに、パスポート情報と顔写真情報を QR コードで渡す
- エージェント A はパスポートとパスポート情報、顔と顔写真を比較する
- エージェント A は airline server に証明書とトラベルトークン作成のリクエストを送る
- airline server は証明書とトラベルトークンを作成して、ShocardID と顔写真と共にブロックチェーンに記録する
Verification Defail Flow
- 旅行者は旅行者用アプリで新しいQRコードを作成する
- EnvelopeID (ShoStore server にある secure envelope を指し示す)
- 共通鍵 (secure envelope のために作られた)
- envelop からデータを取得し、共通鍵を使用して復号する
- データを元に検証する
- 旅行者の顔と顔写真を照らし合わせて検証する
ShoCard Specific Terminology
Enveloping
- 二者間でプライベートデータが共有されていることを示す
- 互いに暗号化・署名されていることを意味する
- Envelope は To と From のキーのセットと、ハッシュ化・署名化されたデータを使う
- From の秘密鍵でハッシュしたものを署名
- To の公開鍵で暗号化
- Envelope はデータ交換の手段を提供する
- From からのものかを証明されている
- To にしか読めない
- もし Envelope を作成した時に To が分からない場合は、To の公開鍵で暗号化する代わりに、共通鍵で暗号化が可能
- その場合は envelope を見せるときに、From は To に共通鍵を渡す必要がある
- To と From の両方が、同じ鍵を使って構築することも可能
- 片方が、もう片方に、いくつかのデータを後で渡したいと思っている場合
- この場合、片方がデータを保持しているときは、もう片方はデータの参照や変更はできない
Sealing
- Sealing はデータセットのハッシュと、秘密鍵を使った署名で、ブロックチェーンに書き込まれる
- これは後で検証するためのデータとしての記録を提供する
- もしこのデータが変更されたら、ハッシュはマッチしない
- Sealed Record はネームとバリューのフィールドを含み、バリューはハッシュ化・署名されている
- 解釈: 自分を示すもの
Certification
- B が A からプライベートデータを受け取るとき、データの正確性を検証し、検証されたことを示すレコードを書き込むこと
- Certification Record にはブロックチェーン上の A の Seal へのリファレンスと、検証・証明された特定のフィールドが含まれる
- 後で証明者は、Seal でデータを比較することによって、ユーザデータが同一であることを確認できる
- また、A の Seal データ以上の追加データを Certification Record に書き込むことが可能
- 例えば、rating, status, biometrics, token
- 解釈: 自分を示す Seal を証明するもの
Public key repository
- ShoCardID と公開鍵を紐付けて登録する
- 公開鍵は ShoCard service を通じてShareされる
- ShoCard service においては、公開鍵のShareに制限を課すかもしれない
Share
- A が B との個人識別情報を共有しようとしていることを示す
- 個人識別情報はいつでも共有される
- プライバシと信頼性のために、A と B のキーセットを使って常に envelop される
- B の公開鍵を知らない場合は、A によって署名され、共通鍵を使って暗号化が可能