CIOブログ

人、物、事の証明

殺人事件を特命係が解決する。ご存知のテレビドラマ「相棒」です。文化人類学者が死体から死因を特定し殺人事件を解決する。アメリカの犯罪捜査ドラマ「Bones」。このどちらのドラマにも、数学の難問が原因で起こった殺人事件のエピソードがあります。

その難問とは「NP困難問題」です。これは計算が多すぎてコンピュータを使っても時間がかかりすぎで解けない問題のことです。以前、量子コンピュータでふれた組合せ最適化問題などもこれにあたります。インターネットの安全性はこの難問を利用した暗号に支えられていると言っても過言ではありません。

ここで、暗号のたとえ話に挑戦してみます。温泉街に行くと湯巡りができます。「宿から裸をみられずに湯船に入る方法」を考えていきましょう。

まずは部屋から直接その湯船にトンネルが掘られているとします。部屋で裸になりトンネルを通って湯船に入ることができます。しかし問題は湯船の数だけトンネルが必要で、部屋もたくさんありますから、温泉街がトンネルだらけになることです。通れなくなる事故も想定して別の穴を掘っておく完全対策も考えると、ますますトンネルだらけになり工事費も莫大になります。部屋や湯船が増えるとその都度掘らなければなりませんし、部屋側と湯船側で調整しながら工事しなければなりません。これが「インターネットVPN」の例えです。

温泉街なら普通は浴衣を着て外を歩いて行きます。浴衣を着れば裸をみられず外を歩いて湯船にいけますね。部屋を出るときに浴衣に着替え、外を歩いて温泉に行き、湯船に入る前に浴衣を脱ぐ。この浴衣が「暗号」です。でも浴衣は単純な構造なので絶対安全とは言えませんね。では、鍵のかかる鎧にしてみてはいかがでしょう。でも鍵を持っていかなければ鎧は脱げませんから、悪意のある人に出会ってしまえば、その鍵で鎧が開けられる可能性がありますね。

そこで鍵に細工をします。鍵を2つ作り、閉めるときと開けるときは交互に別の鍵が必要な仕組みにします。部屋を出るときは部屋にある鍵で鎧を閉め、その鍵は部屋に置いて行きます。湯船では温泉に置いてある別の鍵で開けます。帰りには温泉の鍵で閉め、帰ってから部屋の鍵で開けます。これだと道中は鍵を持っていないので安全ですね。しかし、疑い深い人なら、鍵穴から複製できるじゃないかと考えますが、鍵穴から類推し2つの鍵を複製しようとすると、とんでもない数の組み合わせの計算をしなければならない仕組みになっています。例えば2つの数字がわかっていると、掛け算はすぐに計算できますが、数字から掛けた合わせた2つを求めるには全ての組合せを試さなければなりません。大きな数字や素数などを用いることで「NP困難」になり、全ての組合せから答えを実質的な時間で求められず鍵を複製できません。

そして部屋には湯船ごとの鍵が置かれていると想像してください。トンネルを掘るよりずっと楽ですね。部屋や湯船が増えれば鍵を増やせば良いので、部屋が変わっても何も変わりません。またトンネルとちがって、どこでも堂々と通っていけます。これが「RSA暗号」と言われる方法で、インターネットの至る所で利用されています。

当社はこの暗号方式を利用した二つの認定を取得しています。

ひとつは、「公的個人認証サービスにおけるプラットフォーム事業者」として総務大臣の認定を取得しており、もう一つは、一般財団法人日本データ通信協会「タイムビジネス信頼・安心認定制度」における、「時刻認証業務認定事業者(TSA)」の認定です。難しく書くとこうなりますが、「マイナンバーカードを持っている人の本人確認ができ、スマホのカメラで撮った領収書を原本として保証すること」ができます。複製や改ざんが可能なデジタルデータは、暗号技術を使うことで信ぴょう性を担保することができます。

また、最近は仮想通貨が話題ですが、仮想通貨と言うと、ビットコインと電子マネーであるプリペイドカードやクレジットカードもある意味似ています。ビットコインを他の電子マネーと区別するために「暗号通貨」と呼ばれることもあります。暗号通貨の仕組みは誰が誰にいくら送金したかの行為の証明と捉えることができます。

人を保証したり、物を保証したり、行為を証明する事は現実社会では当たり前ように行われています。しかしインターネット上のデジタルデータは複製や改ざん、なりすましなど不正行為が可能なため、安全な取引には暗号技術を使った認証技術が必要不可欠となります。

想像したくはありませんが、将来物凄く高速なコンピュータが登場し、暗号を解くかもしれません。実は先の2つのドラマのエピソードは、「NP困難問題」の解を見つけたことで社会に与えるインパクトから利権が働き、殺人事件にまで発展する話でした。思わず苦笑です。