Please enable JavaScript in your browser.

fltech - 富士通研究所の技術ブログ

富士通研究所の研究員がさまざまなテーマで語る技術ブログ

インターネット上のデータの確からしさを検証するVerifiable Endorsement

こんにちは、データ&セキュリティ研究所の坂本です。インターネットはいろいろな情報があり生活に欠かせませんが、その中には虚偽の情報であるフェイクニュースもあり問題になっています。そこで、インターネット上の記事に対して、投稿の確からしさに関わる情報を閲覧者に分かるようにして、確からしさを判断可能とする「Trustable Internet」を研究しています。これは、慶應義塾大学SFC研究所と設立したTIAL(Trusted Internet Architecture Lab.)にて進めており、ホワイトペーパーを2022年10月に公開しました。

今回、そのコンセプトをベースにして、実現手法を検討・実装し、簡単なビジネスシーンのユースケースをもとに試作してみましたので紹介します。

アプローチ

企業間取引のよくあるユースケースとして実現手法を検討しました。例えば、自社の製品などを使って欲しい販売企業と、欲しいものがある購入企業があったとします。でも、販売企業がいくらいいものだとアピールしていたとしても、購入企業の担当者は信じられないかもしれません。評価機関の認定を取っていたり、その販売者の製品を実際に使ったユーザー企業の声を聴いたりすることができれば、その販売者の言っていることは確からしいことを判定できるようになるでしょう。ですので、認定やユーザー企業の声をデータと一緒に取得して閲覧者が見ることができると役に立つと考えられます。しかし、その付加された情報は本当なのか、ということが問題になります。このため、その付加された情報が信頼できる第三者機関・ユーザー企業によるものなのか、という付加した人や組織についての情報が確からしさの判定のポイントになります。

「Trustable Internet」では、インターネット上のデータの確からしさを裏付けする情報(エンドースメント)を、そのデータにアクセスしたときに合わせて取得することで、そのデータの閲覧者によるデータの確からしさの判定をサポートします。そして、データに対してエンドースメントを付けた人や組織の信用を裏付けする情報もエンドースメントとして扱います。さらに、その人や組織の信用を裏付けする情報もエンドースメントとして扱うというようにするというように、エンドースメントを連鎖的につなげていくと、グラフのような構造になることから、エンドースメントグラフと呼んでいます。そして、エンドースメントグラフを使って、インターネット上のデータの確からしさを判定しようとしています。上記の例に合わせて、エンドースメントグラフを考えると以下のようになるでしょう。

構成要素

発信するデータに対し、発信者による情報だけでなく、第三者も含めた専門家による情報でデータを補強することで、データの確からしさが高まります。しかし、そういった情報は最初から得られるとは限りません。

それを考慮した基本構成要素を以下にまとめます。

(A) 分散Verifiable Endorsement

エンドースメントグラフの扱いを容易にするためには、共通のフォーマットで記述することが重要です。そこで、人や組織の信用についてのエンドースメントはその人や組織のアイデンティティとして表現できると仮定し、W3C Verifiable Credentials(VC)で記述することにしました。VCは、デジタル署名により検証が可能なデジタルアイデンティティを表現できます。

また、データの確からしさについてのエンドースメントはデータについての固有の情報であることからアイデンティティであると仮定して、VCによる表現に統一しました。これにより、データの確からしさや人や組織の信用についての情報を属性として表現して、その属性を確認した人などがデジタル署名を付与し、データ(の管理者)や人・組織に発行することになります。

さらにVCの発行した人・組織とVCの発行を受けた人・組織のつながりだけでなく、エンドースメントの確からしさを判定できる証拠をVCのevidenceタグを使って記述して、インターネット上のさまざまなデータを連携させることも可能です。

 {
       "issuer":  "did:ion:EiAo3PD47Um-k3yM4c0cygTL1yqjj3H5C…",
       "type":  ["VerifiableCredential", "TIALEndorsementData"],
       "credentialSubject":  {
           "id":  "did:ion:EiA1JGq7ti1f46xl1sHb0j8IQZ0FX3xHdyCI0…",
           "endorsement":  {"quality": "high"}
        },
    “evidence”: [{url”: “https://example.com/evidencesite/”
    }]
 }

アイデンティティのような情報は自身で情報の開示範囲などを制御する自己主権型の利用が望まれます。そこで、データのエンドースメントとまとめて管理するのではなく、分散型でそれぞれエンドースメントの発行を受けた人や組織が管理できるようにします。

これを実現するには、管理場所それぞれにアクセスして、必要なエンドースメントを集められないといけません。まず、エンドースメントはVCを使って記述しますが、VCでは発行する側や発行される側をDID (W3C Decentralized Identifiers) で識別するため、データの識別子にはDIDを使用することにしました。そして、DIDの仕様をベースにDID Document(DIDに関連する公開鍵などを記述した情報)にDIDで識別されたデータや人・組織に対して発行されたエンドースメントへのアクセス方法を表現するためのURLの記述を追加しました。これにより、データのDIDから、そのデータのエンドースメントのURLをリゾルブして取得、さらには、エンドースメントの発行者のDIDから、その発行者のエンドースメントのURLをリゾルブして取得、…というように連鎖的にアクセスしてエンドースメントグラフを構築することが可能です。DID Documentの記述例を以下に示します。

{
  "publicKeys": [{
    "type": "EcdsaSecp256k1VerificationKey2019", …
  }],
  "services": [{
    "id": "openwallet",
    "serviceEndpoint": "http://192.168.100.11/companyc/",
    "type": "OpenWallet"
  }]
}

データへのエンドースメントを発行にはW3C Web Annotationを活用します。発行の際には署名鍵を管理するWalletと連携してエンドースメントに署名します。エンドースメントには署名者のDIDが含まれます。これにより、エンドースメントの発行者のDIDをもとに、上述のResolverを用いて、発行者のエンドースメントを取得できるようになります。

(B) 閲覧者に応じたエンドースメント提供

人や組織の信用についてのエンドースメントは、相手によっては明かしたくないことやそもそも明かす必要がない情報を含むこともあります。そこで、企業それぞれがデータを管理する従来の方法に、DID/VCの自己主権型のアプローチを組み入れて、企業間(p2p)でエンドースメントのやりとりできるようにします。エンドースメントの発行者と閲覧者により、エンドースメントの見える範囲を異なるようにすることで、企業の一般的なビジネスプロセスにフィットさせます。具体的には、閲覧者は組織が公開するエンドースメントへのアクセス方法をまず取得し、その後、認証して権限を得て、さらに多くの情報を含むエンドースメントにアクセスします。

(C) 閲覧者からの入力に基づく表示

閲覧者がWebページを閲覧するときに連動して、対応するエンドースメントを取得・検証し、関連する情報を引き出し、閲覧者画面に、重畳表示します。閲覧者や閲覧者が所属する組織が持つルールや明示的な入力に基づき情報を提示する判定ロジックを組み込むことで、閲覧者はその提示された情報をもとにデータの確からしさを確認できます。その判定ロジックは関係者に公開され、それ自体の確認が可能になり、意思決定に役立つ支援を受けられます。まずは、単純な判定ロジックとして、信用できるエンドーサーのDIDを含むAllowed/Deny listを閲覧者毎に閲覧者のWalletで管理して、それにしたがって判定するようにしました。

効果

エンドースメントの検証を介してデータの確からしさを確認できる透明性が高いアプローチにより、人々がエンドースメントによる検証できない不確かなデータに対して価値を感じなくなることでインターネットから不確実なデータの利用を減らす効果が期待できると考えられます。

[本件に関するお問い合わせ]

Trustable Internetを実現するには、多くの方々の協力が必要だと思っています。興味ある方は、ぜひ、連絡をいただければと思います。

富士通株式会社 データ&セキュリティ研究所 contact-trustable-internet@cs.jp.fujitsu.com