ギークスジョブでは、新型コロナウイルス感染症の影響を鑑み、現在実施している【個別説明会】【各種イベント・セミナー】【顧客企業様との商談打ち合わせ】について、一部を除き、オンライン対応を推奨させていただきます。
ユーザーの皆様、顧客企業様、当社社員の安全確保と、安定したサービスを継続的に提供させていただきたく、ご不便をおかけいたしますが、ご容赦くださいますよう、お願い申し上げます。

5分でわかるSSL通信 SHA-1、SHA-2の違いとは?

2020/09/24 (木) TECH

5分でわかるSSL通信 SHA-1、SHA-2の違いとは?

ユーザーが安全にWebサイトを利用できるよう経路上での盗聴を防ぐ「暗号化」と、データ通信途中の「改ざん検知」を同時に実現するために使用されている技術が、SSL通信です。ここでは、それがどのような仕組みによって実現されているか、またSHA-1、SHA-2といった技術がどういったものかについて知っていきましょう。

SSLとは?

SSLとは?の画像

SSL(Secure Sockets Layer)とは、インターネット上で通信を暗号化する技術で、インターネット上でやり取りされている個人情報(名前、住所、電話番号、クレジットカード番号など)を安全に送受信するための通信プロトコルです。

普段私たちがインターネットを利用する際には、Webブラウザを利用してWebサイトを閲覧します。その時、主に使っているのはHTTPというプロトコルです。多くのWebサイトのURLは「http://」から始まりますが、これはHTTPを使ってそのWebサイト(サーバ)にアクセスすることを表しているのです。しかし、このHTTPの通信は情報を保護することを全く考慮せずに作られた仕様であるため、ネットワークの経路上でちょっと悪さをすれば、どんなやり取りをしているかを誰でも盗み見することができます。

それを防ぐために作られたのがSSLという仕組みです。SSLが利用されているページは、URLの「http://」の部分が「https://」となっています。SSLを使用したWebサイトには、「電子証明書」と呼ばれるサイトの身分証明書のようなものが発行されており、それを使用することで、そのサイトが「信頼できるものである」と証明します。電子証明書は、VerisignやSymantecのような認証局によって発行されています。

どのような仕組みでSSL通信を行うのか?

どのような仕組みで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フリーランス専門エージェント ギークスジョブ

無料登録はこちら
日本最大級のITフリーランス専門エージェント
平均年収

840万円以上

日本最大級のITフリーランス専門エージェント
年間契約数

※2019年4月から
2020年3月の実績

11,606件

いきなりフリーランスとして活動するのは不安...という方へ

業界・専門知識の豊富なコーディネーターが、関東、関西、福岡で無料セミナーを実施しています

こんなお悩みはありませんか?

  • 自分のスキルでフリーランスになれるか不安
  • 安定した収入を得られるのか不安
  • 税金や保険などの手続きがどうなるのか知りたい

まずは、ギークスジョブの無料イベントに参加してみませんか?
まだ本格的に活動する予定がない方も、情報収集の手段として活用されています。
不安や小さな不明点を解消する場として、是非ご利用くださいませ。

イベント一覧を見る
上に戻る
geechs job

このブラウザは未対応です

当サービスは以下のブラウザでご覧いただくことを推奨しております。
また、より安全で快適にご利用いただくために
最新のバージョンでご覧いただくことを推奨いたします。
推奨ブラウザ:Google Chrome、Mozilla Firefox、Microsoft Edge、safari

Google Chrome で閲覧する