第5回で紹介したIDベース暗号は、さまざまな拡張がなされています。第6回では、その一つである「属性ベース暗号」について、具体例とともに紹介します。
第5回で紹介したIDベース暗号は、さまざまな拡張がなされています。その一つが「属性ベース暗号(ABE:Attribute-Based Encryption)」です。ABEは、復号者を直接ではなく、条件によって指定する暗号方式です。
例えば、病院で患者の姓名、年齢、既往症、アレルギー、現在の症状などのカルテ情報を暗号化して扱うことを考えます。患者Aさんのカルテを見られるのは担当の小児科、レントゲンを撮る放射線科、夜間に診てくれる当直医とします。
従来の方法では、カルテの閲覧者を具体的に列挙してそれぞれの公開鍵で暗号化するか、カルテ情報を暗号化せずにデータベースに保持して、アクセス権を細かく設定することで対応していました。前者では閲覧者の管理や暗号化操作が煩雑になってしまい、後者ではデータベースの管理者がカルテを閲覧してしまう危険性があります。
これに対してABEでは、従来のファイルやデータベースのアクセス権によるコントロールを、鍵発行機関とデータの運用サーバーに分離します。
そして暗号化の際には「小児科」「放射線科」「当直医」などの条件(属性)を指定します。これにより、どれかの条件(ポリシーといいます)に当てはまる人だけが復号できるようになります。アクセス権に相当するものが暗号の仕組みに組み込まれるのです。
ここでは単純な例を挙げましたが「x OR (y AND z)」のようにANDやORを組み合わせた複雑なポリシーを指定することもできます。
病院のカルテの例では、暗号化するときにポリシーを指定して、それにマッチする属性の人が復号できました。暗号文にポリシーを埋め込むので「CP-ABE(Ciphertext-Policy ABE)」といいます。
これとは逆に、情報の属性を指定して暗号化し、ポリシーごとの復号鍵を用意することもできます。秘密鍵にポリシーを埋め込むので「KP-ABE(Key-Policy ABE)」といいます。応用例として、動画などのコンテンツ配信があります。
【訂正:2021年7月1日午後7時40分】本記事の初出時、表現に誤りがありました。お詫びして訂正します。該当箇所は既に修正済みです(編集部)。
例えば「SFかアニメが見たい、ただしホラーは見たくない」という条件で契約して、そのポリシーに対応する復号鍵を受け取ります。そうすると、「SFアニメ」や「アニメ映画」は視聴できますが、「ホラー映画」は視聴できません。実際には原作者、制作年代、監督、俳優、声優などのポリシーを用意するとよいでしょう。これにより、例えば、ビジネスホテルなどにある有料テレビを見るためのプリペイドカードシステムにおいて、ユーザーの要求に応じたより細かな制御ができます。
このようにABEでは、暗号鍵と復号鍵が1対1の対応をしていません。共通鍵暗号では暗号鍵と復号鍵は同じものでした。公開鍵暗号では暗号鍵と復号鍵は異なっていましたが、暗号鍵と復号鍵が1対1の対応をしていることは変わりませんでした。ABEは、より一層自由な鍵の対応を実現しているといえるでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.