2017.04.17
OSの深層部分、知れば知るほど奥深い、macOSの仕組みを解き明かす。
SSLとオープンソース
OpenSSLは、SSL(Secure Socket Layer)という、インターネットで安全な通信を行うための仕組みを提供するオープンソースのソフトウェアを指します。リナックスといったオープンソースのOSで利用される一方、ウィンドウズやmacOSにも対応しており、macOSでは標準で搭載されています。
もともとSSLとは、かつて存在したネットスケープ(Netscape)社の考案した仕組みで、同社はSSLに対応したWEBブラウザであるネットスケープナビゲータ(Netscape Navigator)を無償配布する一方、SSLに対応したWEBサーバソフトウェアを有償で販売し、収益を上げていました。
そんな中、SSLの仕様をもとに、いちから作り直した「SSLeay」というソフトウェアがオープンソースで発表され、ここから発展してOpenSSLが登場しました。
OpenSSLは、HTTPSなどSSLによる通信機能を提供する一方、MD5(与えられた入力に対して128ビットのハッシュ値を出力するハッシュ関数)やSHA1(与えられた入力に対して160ビットのハッシュ値を出力するハッシュ関数)などといった、安全な通信のために必要になるダイジェストを計算する機能や、SSLの通信で必要になる電子証明書を作成する「opensslコマンド」を提供するなど、インターネットを安全に使うために必要なものがひととおり入っています。そのため、1990年代末から今に至るまで、リナックスなどオープンソースのOSで広く使われているのです。