月刊自動認識2017年11月号
RFIDとブロックチェーンを活用し偽装のない社会を
月刊自動認識2017年11月号

月刊自動認識2017年11月号
フィンテック(ファイナンス・テクノロジー)の世界で今最も注目を集めているのがブロックチェーンだ。ブロックチェーンは分散台帳の技術であり、取引の履歴を改ざん不可能な形で記録する。取引されるものはビットコインなどのいわゆる仮想通貨が主であるが、もちろんそうでなくても構わない。イギリスのエバーレッジャー社はダイアモンドの取引にブロックチェーンの技術を利用している。
仮想通貨以外の現物の取引に対してブロックチェーン技術を利用するには、取引の対象となるブロックチェーン上での電子データと、実際の現物を紐付ける必要がある。その1つの方法として RFID が考えられる。
本稿では、RFID とブロックチェーンを活用した真贋判定のサービス「MANICAブランドプロテクション」についてその仕組みを解説する(図1)。
![]() 図1 MANICAブランドプロテクション |
データベースとしてのビットコインネットワーク
ブロックチェーンの代表例としてはビットコインがあるが、ビットコインの取引(やりとり)はすべてブロックチェーンに記録される。銀行のお金の取引が銀行のデータベースに保存されるイメージと同じだがそれとは決定的な違いが存在する。ブロックチェーンには管理者が存在しない。銀行のデータベースは銀行のデータセンターにあって銀行が管理しているが、ブロックチェーンは管理者が存在せず、ノードと言われる多数の端末で構成されるネットワークとなっていて個々の端末に権限的な差は無く、誰でもノードとして参加できるようになっている。ここに取引が記録されると検証を受けた後ブロックとして各ノードに保存される。
このようにブロックチェーンはネットワークに分散された取引台帳であり、取引を記録しているデータベースとして見ることもできる。この台帳(データベース)はオープンにされていて誰でも参照でき、各所にコピーが存在し、かつ改ざんができない仕組みになっている。
管理者が存在すると、管理者権限でデータを削除したりすることが可能だが、ブロックチェーンではそれが原理的に不可能だ。例えると新聞のようなもので、1度発行して配ってしまった新聞の記事を後から書き換えることはほぼ不可能だがそれに近い感覚だ。ブロックチェーンは管理者が存在せず、改ざんできないというデータベースをこの世に誕生させたのだ。
信頼性の担保
真贋判定において信頼性は特に重要だ。例としてお金を考えてみると、お札は単なる紙に印刷したものであるが、額面の価値を持っている。これは信頼性で成り立っていて、日本国が発行したものという信頼性で皆が使用している。猫にいくら大金を渡しても猫は喜ばない。真贋判定もこれと似ており、判定結果の画面を見せられてもそれが信頼できるのかどうかは別の問題である。
そこでこの信頼性をブロックチェーンを利用することで担保するという仕組みが考えられる。例えば製品を製造した際に RFID を取り付け、そのUIDを利用したことをブロックチェーンに登録する。UIDはタグ製造時に書き込まれ、ユニークな値となっているため同じUIDのタグを偽装することは難しい。加えてNFCの主流であるNTAGにはシグネチャ機能が付いており、UIDが偽装されていないかどうかを確認できるようになっている。その後ユーザに製品が渡り、真贋判定の際にブロックチェーンの情報を参照することで確かに手元にある RFID のUIDがメーカーによって付けられたということが確認できる。ブロックチェーンのデータは誰にも改ざんできないという信頼性がこれを可能にする。
![]() 図2 登録/検証の手順 |
1、登録までの手順 |
|
---|---|
それでは実際にどのような処理をするのか、具体的に手順を追ってみてみることにする(図2)。 (1)秘密鍵と公開鍵を生成 まずはメーカーにて秘密鍵と公開鍵を作成する。公開鍵は誰でも参照できるように、例えばメーカーのホームページなどで公開しておく。 (2)「検証用ドキュメント」の生成
次に製品に使用するRFIDのUIDの一覧を準備する。その後このサービスの重要な核となる「検証用ドキュメント」を作成する。「検証用ドキュメント」は、
(3)ビットコインネットワークへ登録 最後に作成した検証用ドキュメントをビットコインネットワークに登録する。登録にはドキュメントの存在証明を行う「Proof of Existence」というサービスと同じ仕組みを利用する。 ビットコインネットワークはビットコインの取引のデータを保存するものであり、任意のデータを保存できるわけではない。しかしながら取引データに若干のデータを含ませることができる。取引データにはスクリプトを記述できるのだが、このスクリプトの先頭で OP_RETURN というコマンドを記述するとその後 40バイトのデータを自由に入れることができる。40バイトしか入れられないのであるが、「Proof of Existence」のサービスではドキュメントのハッシュ値をここに入れる仕組みになっている。SHA-256を利用した場合ハッシュ値は32バイトになるのでここに収めることができる。ハッシュ値を登録しておくことで、その時間(ビットコインネットワークに登録された時間)に、確かにそのハッシュ値を生成するドキュメントが存在していたことが証明できるわけだ。これと同じ仕組みで、検証用ドキュメントのハッシュ値をビットコインネットワークに登録する。 この方法であれば、登録するUIDが何万個であっても登録するデータはハッシュ値の32バイトだけになるので効率がよい。 |
|
2、検証の手順 |
|
(1)RFIDのUIDを取得する まずは製品に付いているRFIDタグのUIDを取得する。 NFCであればAndroidスマートフォンで読取りが可能だ。 さらにNTAGを使用する場合はシグネチャ機能を使うことでUIDの信頼性を確認できる。 (2)UIDから検証用ドキュメントを入手する 読み取ったUIDを元に、サービスのサイトからそのUIDを含む検証用ドキュメントを入手する。 (3)メーカーを検証 検証用ドキュメントの、日付、UIDの一覧、コメントの部分からハッシュ値を算出し、ドキュメントの最後に付いているデジタル署名と、メーカーが公開している公開鍵を利用して署名を検証する。検証OKであれば、確かにメーカーの秘密鍵によって署名されたことが確認できる。 (4)検証用ドキュメントを検証 最後に検証用ドキュメントを検証する。検証用ドキュメントのハッシュ値を算出し、ビットコインネットワークに登録されていることを確認する。これにより検証用ドキュメントがビットコインネットワークに登録された時点に確かに存在していたことが証明される。 |
トレーサビリティとして利用
上記で見た通り、この仕組みでは「検証用ドキュメント」が大きな役割を果たす。大雑把に言うと検証用ドキュメントにメーカーの利用したUIDが記載してあり、そのドキュメントの存在証明をビットコインネットワークで行っている。
また、検証用ドキュメントは1回しか登録できないなどの制約は無いので、例えば製造後の物流の中で確かに拠点を通過したことを記録として残してもよい。
さらに店舗で販売した時点で登録すれば転売されていないか等の確認にも利用できる。検証時にUIDで検索すればそのUIDが記載されている複数の検証用ドキュメントを入手できる。検証用ドキュメントにはメーカーが自由にコメントを入れられるので、「○○工場で製造」「○○物流拠点に入庫」「○○店舗で販売」等のコメントを入れておけば検証時に参照できるのでどのような経路を辿って来たのかが確認できる。
検証用ドキュメントの作成にはメーカーのデジタル署名が必要なので、別の第3者が架空のトレース情報を作成することも不可能だ。
おわりに
MANICAブランドプロテクションのサービスは、RFIDのUIDの一意性、ビットコインネットワークの改ざん不可能な仕組みの2つを組み合わせて真贋判定を実現させている。かつ真贋判定の信頼性をどこかの企業が担っているのではなく、管理者が存在しないビットコインネットワークが担っている。
このような仕組みが社会インフラとして利用されるようになれば、食品などあらゆる物の偽装品をなくすことが可能になると考えられる。
まさしく正しいものが正しく流通する社会だ。偽装品によって損失を受けているメーカーはたくさん存在し、食品の偽装に至っては消費者側が大きな損失を受ける。
偽装が大きな社会問題であることはニュースで大きく取り上げられることからもよくわかる。
このような偽装が存在できない社会を目指しこれからも微力ながら取り組んで参りたい。