5分でわかるSSL通信 SHA-1、SHA-2の違いとは?
ユーザーが安全にWebサイトを利用できるよう経路上での盗聴を防ぐ「暗号化」と、データ通信途中の「改ざん検知」を同時に実現するために使用されている技術が、SSL通信です。ここでは、それがどのような仕組みによって実現されているか、またSHA-1、SHA-2といった技術がどういったものかについて知っていきましょう。
SSLとは?
SSL(Secure Sockets Layer)とは、インターネット上で通信を暗号化する技術で、インターネット上でやり取りされている個人情報(名前、住所、電話番号、クレジットカード番号など)を安全に送受信するための通信プロトコルです。
普段私たちがインターネットを利用する際には、Webブラウザを利用してWebサイトを閲覧します。その時、主に使っているのはHTTPというプロトコルです。多くのWebサイトのURLは「http://」から始まりますが、これはHTTPを使ってそのWebサイト(サーバ)にアクセスすることを表しているのです。しかし、このHTTPの通信は情報を保護することを全く考慮せずに作られた仕様であるため、ネットワークの経路上でちょっと悪さをすれば、どんなやり取りをしているかを誰でも盗み見することができます。
それを防ぐために作られたのがSSLという仕組みです。SSLが利用されているページは、URLの「http://」の部分が「https://」となっています。SSLを使用したWebサイトには、「電子証明書」と呼ばれるサイトの身分証明書のようなものが発行されており、それを使用することで、そのサイトが「信頼できるものである」と証明します。電子証明書は、VerisignやSymantecのような認証局によって発行されています。
どのような仕組みでSSL通信を行うのか?
電子証明書には、情報を暗号化するのに必要な「公開鍵」が含まれています。この電子証明書をWebサーバにインストールすることにより、SSL通信が利用できるようになります。
ユーザーがWebブラウザからWebサイトにSSLを使用してアクセスすると、Webサーバからは公開鍵を付与したSSLサーバ証明書がWebブラウザに送付されます。Webブラウザでは、あらかじめインストールされたルート証明書(※1)でSSLサーバ証明書を検証し、信頼できる認証局から発行された証明書かどうかをチェックします。
そのサーバ証明書が正規のものであるかをチェックする際には、ハッシュ関数が使用されます。具体的には、サーバ証明書に付与された署名(サーバ証明書をハッシュ化し、認証局の公開鍵で暗号化したもの)を復号した内容と、Webサーバから受信したSSLサーバ証明書をハッシュ化した値を比較します。この値が一致すれば、信頼のおける認証局から署名を受けた正規のWebサイトであることがわかります。
そして、このハッシュ化を行う際に用いられる技術が、SHA-1、SHA-2と呼ばれるハッシュ化アルゴリズムです。
それぞれどのようなものか、順に見ていきましょう。
※1…認証局が発行するデジタル証明書。Webサーバに置かれている証明書との突合を行うため、暗号通信を利用するWebブラウザにはこの証明書があらかじめ組みこまれています。
SHA-1アルゴリズム
SHA-1とは、任意の長さの元データを元に160ビットの値を生成するハッシュ関数です。SHA-1はNSA(米国家安全保障局)が考案し、1995年にNIST(米国立標準技術研究所)によって連邦情報処理標準のひとつとして標準化されました。SHA-1はSHAシリーズの中で最も広く用いられており、多くのアプリケーションやプロトコルに採用されています。
SHA-2アルゴリズム
SHA-2は、前規格であるSHA-1を元に、多くの改良が加えられたハッシュ関数です。こちらは2001年にNSAが開発し、NISTが標準に採用しました。SHA-2にはSHA-224、SHA-256、SHA-384、SHA-512の4つのバリエーションがあり、末尾の数字がハッシュ値のビット長を表しています。最長であるSHA-512が安全性が高いですが、一般的にはSHA-256が最もよく利用されています。
SHA-1からSHA-2への移行が推奨されている
異なる元データから同一のハッシュ値が生成される可能性が低ければ低いほど、そのハッシュ関数は安全なものとなります。もしも、異なる元データにも関わらず同一のハッシュ値が生成されてしまえば、それを成りすましに悪用されてしまいます。
元々SHA-1は、2の80乗分の1という、非常に小さな確率でハッシュ値の衝突が起きるとされていました。しかし2005年、SHA-1に対する効果的な攻撃法が発見され、より少ない試行回数でそれを発生させる事ができるとわかってきました。近い将来、コンピューターの性能がさらに向上しさらに高速な演算ができるようになってしまえば、いずれこのアルゴリズムそのものが破綻するのは自明です。そのため、より強固なハッシュ関数であるSHA-2への移行が推奨されております。
おわりに
私たちが何気なく閲覧しているWebサイトは、SSL、そしてハッシュ化の技術によって支えられています。その基礎知識を知ることで、とっつきづらい印象のあるセキュリティの技術が、少しだけ身近に感じられるようになるのではないでしょうか。
ギークスジョブはITフリーランス専門エージェントとして20年以上にわたり、ITフリーランスのご支援を行っています。
フリーランスを初めて検討される方はもちろん、現在フリーランスとしての今後に不安を感じている方、今よりもっと充実したフリーランス生活を楽しみたい方は、ぜひお気軽に相談ください。ITフリーランス専任のキャリアアドバイザーがマンツーマンでサポートいたします。
▽ 無料登録(エントリー)はこちら
https://geechs-job.com/entry
まだフリーランスになることに迷いがある方へは、独立のご相談から承ります。これまでのご経歴やキャリアの目標をお伺いしながら、お一人おひとりに寄り添ったキャリアプランのご提案をいたします。
▽ 独立相談会への無料エントリーはこちら
東京:https://geechs-job.com/event/details/1
大阪:https://geechs-job.com/event/details/2
福岡:https://geechs-job.com/event/details/3
名古屋:https://geechs-job.com/event/details/189
その他のおすすめ記事
5分で分かるガベージコレクションの仕組み|ITフリーランスをサポートするギークスジョブ
ITフリーランスの方のための『お役立ち情報』をご紹介しています。この情報のテーマは5分で分かるガベージコレクションの仕組みです。geechs job(ギークスジョブ)では、「フリーに生きる」ためのノウハウをご紹介し、ご希望のキャリアやライフプランを実現できるように、サポート致します!
ITフリーランスの案件探しならgeechs job
IT業界・企業情報の専門知識を持ったコーディネーターが、あなたに合う案件をご紹介。
ITエンジニアとしてのキャリアに弾みを付けませんか?
- ・独立して新しいキャリアを築きたい
- ・スキルを磨いて、更なる高みを目指したい
- ・今よりも高い報酬を
ITフリーランスエージェントのgeechs jobが、あなたの未来に向けて伴走します。