公開鍵暗号基盤(PKI)の代表的な方式であるRSAは、インターネット上でやりとりされるデータを暗号化したり、そのデータに電子署名を付加したりするために広く使われている。この技術がパスワードに替わる認証方式として、もっと簡単で、高いセキュリティの運用を実現するかもしれない。 RSAは、公開鍵暗号基盤(PKI)の代表的な実現方式の一つである。インターネットを経由する通信は簡単に傍受されてしまうので、それへの対抗策として、データを暗号化したり、電子署名を付したりするために使われることが多い。RSAという名称は、3人の考案者の名字(Ronald L. Rivest、Adi Shamir、Lenard Adleman)にちなむ。 暗号の歴史は、古代ギリシャ時代にまでさかのぼると言われる。 しかし、PKIが実用化される1982年まで使われていたのは、送信者(暗号化する側)と受信者(復号化する側)が同じ「鍵」を使う共通鍵暗号方式だけだった。 もちろん、十分に複雑な鍵を使い、鍵の再使用を避けるための運用手順を関係者全員が順守すれば、共通鍵暗号方式でも通信の安全性は保つことができる。ただ、同じ鍵を送信者と受信者が持っていることが前提となるため、鍵を紛失したり鍵が盗まれたりしたときには、全員の鍵を別のものに交換する必要がある。取り替えておかないと、鍵を不正に入手した人がすべての通信データを読めるようになってしまうからだ。しかし、鍵の再配布には多額の費用と長い期間がかかるため、多数の人が使うシステムに共通鍵暗号方式を適用することは難しかった。 これに対して、PKIなどの公開鍵暗号方式では暗号化用の鍵と復号化用の鍵を別々のものとし、暗号鍵は公開(配布)するが、復号鍵は本人だけが持つという仕組みを採用した。暗号鍵と復号鍵は1:1のペアになっていて、ある人の復号鍵で復号化できるのは、その人が公開した暗号鍵で暗号化された通信データに限られる。したがって、復号鍵さえ盗まれなければ、暗号鍵が盗まれても通信データの内容が盗み見されることはない。 ただし、暗号鍵の内容から復号鍵の内容が判明してしまっては意味がない。つまり、公開鍵暗号方式のための復号鍵には、暗号鍵を使って行われた操作の結果を逆方向に戻せるものでありながら、暗号鍵を分解・加工しても作り出せないものであることという条件が求められるのだ。 そこで、RSAでは「掛け算は容易だが、素因数分解はきわめて難しい」という性質を利用して暗号鍵と復号鍵のペアを生成することにした。おおまかには、桁数が長い二つの素数を基に2種類の演算を行い、それぞれの結果を暗号鍵および復号鍵としているのである。暗号鍵から復号鍵を求めるには桁数が非常に長い数を素因数分解する必要があるので、高性能のコンピューターを使っても常識的な時間内には終わらないだろうと考えたのである。 1978年に発表されたRSAは、電子署名を実現するための仕組みとしても使えることから、おりしも黎明期を迎えていたインターネットのためのPKIとして広く使われることになった。1982年にはこのアイデアを販売するためのRSA Data Security, Inc.(現在はEMC Corporationの一部門)という企業が設立され、1983年に米国特許も取得した(2000年9月に失効)。現在RSAが採用されているおもな製品には、電子メールの暗号化、電子署名、セキュリティトークンなどがある。Windows 10 Enterpriseに採用されたDevice Guard機能(信頼できる人が電子署名したコードのみを実行可能とする制限機能)でも、RSAはPKIの一つとしてサポートされるようだ。 これまで、PCの認証方式は、パスワードを入力する認証方式が採用されてきた。新しいWindowsでは、生体認証と公開鍵暗号方式を加えた複合的な認証方式の運用が可能になる。パスワードを入力しない、セキュリティ的に強固で簡単な認証システムの運用が始まるのだ。新しく仕組みが変わるとき、ビジネスに大きなチャンスが訪れる。セキュリティビジネスに注目したい。