エンジニアであれば、楕円曲線を暗号に用いる「楕円曲線暗号」という言葉を聞いたことがあるでしょう。今回は楕円曲線暗号の仕組み、そしていまこの手法が注目されている理由を解説します。
第1回、第2回では安全な公開鍵暗号を解説しました。今回は「楕円(だえん)曲線暗号」を取り上げたいと思います。
楕円曲線暗号が発明されたのは1985年と比較的古く、ICカードなど組み込み系を中心に使われていました。近年、大手のWebサイトや、暗号通貨の「ビットコイン」などで採用され、普及が進んでいます。そのきっかけの一つとなった、ある事件を紹介しましょう。
2013年に、アメリカの国家安全保障局(NSA)がインターネット上のさまざまな通信を盗聴していたことが明らかになります。当時局員だったエドワード・スノーデンが告発し、世界を震え上がらせました。
FBIはスノーデンを追求するために、彼が利用していたメールサービス事業者に秘密鍵の提出を求めます。彼の過去の通信記録を復号するためです。
Lavabit 事件とその余波、そして Forward Secrecy(セキュリティは楽しいかね? Part 2)
http://negi.hatenablog.com/entry/2013/11/05/093606
第2回で紹介したような安全な公開鍵暗号を使っていたとしても、秘密鍵が知られてしまうとお手上げです。しかし、もしサービス事業者が「前方秘匿性」(PFS:Perfect Forward Secrecy)の技術を使っていれば、過去に暗号化した通信記録の秘匿性はある程度担保されていました。
PFSとは、公開鍵暗号の秘密鍵のように、比較的長期に渡って使われる鍵が漏えいしたときでも、それまで通信していた暗号文が解読されないという性質を表します。
PFSは楕円曲線暗号とは独立に考えられていましたが、楕円曲線暗号の鍵共有を使うと、コンパクトなPFSの実装が可能なため、2013年以降採用するWebサイトが増えています。
図1はChrome でhttps://www.cybozu.com/ にアクセスしたときの鍵アイコンの情報です。鍵交換メカニズムに使われている「ECDHE RSA」の記述で、ECDHは「楕円曲線DH鍵共有」(Elliptic Curve Diffie-Hellman)を意味します。最後のEは「Ephemeral」(短命の)を意味し、鍵を使い捨てていることを表しています。セッションの度に鍵を使い捨てにすることで、安全性が向上しています。
それでは、楕円曲線暗号の解説を始めましょう。
Copyright © ITmedia, Inc. All Rights Reserved.