Loading...

ハードウェア安全性を担保とした安全な情報管理のProof of Concept実装および実証実験を開始

この度、株式会社レピダムは、暗号技術やセキュアコーディングに関する専門性や開発経験に基づいて「利用者を中心とした安全な情報管理に関する基礎コンポーネントの実現」に向けた調査およびProof of Concept(PoC)実装を行い、これに基づく実証実験を開始しました。

エグゼクティブサマリー

今回の活動において、暗号技術や運用、実装などの専門性や経験を最大限に投入して、調査および実装に関する活動を行った結果、以下のような成果を得ました。
・ ハードウェアを利用した秘密情報管理ソフトウェアコンポーネントのPoC実装の完成
・ パーソナルデータの管理や秘密情報(秘密鍵)の管理を柔軟にするための実装の完成
・ バックアップや暗号アルゴリズム危殆化などへの対応を含め、実運用を視野に入れた仕様を実現

今後はこの活動を以下の方針にて推進してまいります。

・ 短期的な方針として、PoC実装を仮想通貨の鍵管理・HD Wallet、Personal Data Storeなどでの活用を推進
・ 中期的な方針として、User Centricな情報管理の基礎コンポーネントを目指し秘密情報管理の分野に活用

背景

いわゆるWindows PCに搭載されているTPMをはじめ、特に一般的に利用されているスマートフォンであるAndroidデバイスやiOSデバイスには耐タンパー性のある安全な情報管理ハードウェアが搭載されています。スマートフォンデバイスについてはAndroidにKeyStoreが、iOSにKeyChainがそれぞれ用意されており、誰でもどのような用途に対しても、安全な情報管理ハードウェアの支援を受けられるようになりつつありますが仕様や仕組みが複雑であるために、情報管理の安全性が劣るソフトウェアのみによる暗号化となっているケースも見受けられる状況です。守るべき情報の重要性を考慮した適切な対応が普及しているとは言い難い状態にあり、安全な情報管理のための仕組みが十分活用されていないと考えられます。

目的

FIDOやマイナンバーカードの議論を待つまでもなく、現時点でもハードウェアを活用した情報管理の仕組みに対する必要性が認識されており、今後の普及が想定される領域に対して、いち早く研究開発を行うべき分野と判断しました。このような判断に基づき、個人所有のスマートフォンでの情報管理を想定し、ハードウェアを利用した安全なソフトウェアコンポーネントおよびアプリケーションの調査およびPoC実装を行いました。
この活動により、様々なデバイスに搭載されている耐タンパー性のある仕組みに基づいた安全な情報管理の実現を目的としています。

アプローチ

この活動を実施する上でのアプローチとして、暗号技術、標準化仕様、パーソナルデータ管理、プライバシーなど、当社の専門性を活かし多くの視点から検討を行いました。特に今回重視した点としては、「ハードウェアとソフトウェアの差異」および「実用性のある運用が可能な仕様」です。
基本的なゴールとして、既存ハードウェアと各OSの機能を「正しく」利用することでハードウェアに搭載された機能を「手軽」かつ「正しく」扱えることを目指しました。具体的には、Windows PCのTPMを視野に入れつつ、AndroidではKeyStore、iOSではKeyChainをそれぞれ用いており、耐タンパー性のある安全な情報管理ハードウェアと既存技術を「丁寧に」組み合わせることです。
(なお、組み合わせと仕様、実装に価値があり、KeyStoreやKeyChainに対して新規性を謳うものではありません。)
ハードウェアを利用した機密情報管理に関するソフトウェアアクセス部分を最小限にし、AndroidおよびiOSの二つのプラットフォームで近しい抽象化を行うことを念頭に設計を行いました。スマートフォンプラットフォームの抽象化部分の実装に関しては、下記の2点を目標としました。

・ コード量を減らす
・ オープンソースで第三者が参照可能にする

コード量に関しては、レビューにおける難易度を考慮しただけでなく今後の形式検証なども想定し小さなコンポーネントを目指しました。
また、この実装をオープンソース化することを目指しています。オープンソース化により利用ユーザ数を増やし不具合を見つけやすくすることが、必ずしも安全になるわけではないことはOpenSSLなどの脆弱性から十分に明らかですが、一方で安全性に関わるソフトウェアを安心して使うためには「公開されていることは」最低限の条件でもあると考えられます。

成果

今回の活動成果は以下のとおりです。
・ TPM、Secure Elementなどの耐タンパ性のある安全な情報管理ハードウェアを用いた基礎的な公開鍵・秘密鍵の情報管理実装仕様の策定
・ それらを利用した安全な情報管理実装仕様の策定
・ 抽象化されたAPIの設計
・ 必要な全体設計とプロトタイプ実装 (公開コンポーネントと利用アプリケーション)
– Android 8 (API Level 26) およびiOS 11.3

今後

今回の実装を利用する形で、最近ではWalletと呼ばれている仮想通貨での個人の秘密鍵管理のプロトタイプや、Personal Data Storeといった個人に属する情報管理基盤への活用について着手していきます。
上記に合わせて、アプリケーションとして、ユーザビリティの高いUI/UXに対するデザイン仕様も検討していきます。
なお、技術的な詳細は近日中に Blogでの公開を予定しています。

ご興味がございましたら、お気軽にお問い合わせください。
お問い合わせはこちらからお願いします。