PR
OpenSSL

Webなどの通信を暗号化するための代表的なプログラム。一部バージョンに脆弱性があることが判明し、大きな問題になった。

 「OpenSSL」は「SSL(Secure Sockets Layer)」という暗号化通信のためのプログラムである。SSLはWebなどの通信を暗号化する仕組みで、インターネット上では広く使われている。代表的な用途は、Webの通信に使われるHTTPプロトコルの暗号化。この使い方はHTTPS(HTTP over SSL)と呼ばれる。

 SSLはサーバーとクライアントのそれぞれで、通信するプログラムやアプリの機能として組み込まれている(図1)。SSLの機能を提供するライブラリー(プログラムの部品)は複数あり、OpenSSLはその一つだ。プログラムの作成に必要なソースコードが公開されている「オープンソース」と呼ぶ配布形態を採っているのが特徴である(図2)。

●SSLによりデータを暗号化してやり取りする
図1 クライアントとサーバーの両方にあるSSLのプログラムがデータを暗号化してやり取りする。SSLのプログラムは、アプリケーションなどに組み込まれている
図1 クライアントとサーバーの両方にあるSSLのプログラムがデータを暗号化してやり取りする。SSLのプログラムは、アプリケーションなどに組み込まれている
[画像のクリックで拡大表示]

●オープンソースとして開発されているOpenSSL
図2 OpenSSLはOpenSSL Projectというプロジェクトが開発しており、Webサイトではプログラムを作成するための「ソースコード」が公開されている。採用実績が多い主要なSSLのプログラムである
図2 OpenSSLはOpenSSL Projectというプロジェクトが開発しており、Webサイトではプログラムを作成するための「ソースコード」が公開されている。採用実績が多い主要なSSLのプログラムである
[画像のクリックで拡大表示]

 ラック取締役CTOの西本逸郎氏は、「OpenSSLはHTTPS通信の3分の2のシェアがあるといわれている。また、多くのソフトにおいて暗号化通信に使用される。ビットコインの財布や、匿名通信のTorでも使われている」と説明する。