言語・スキル

【SHA-1とは何か?】SSL通信やSHA-2との違いも分かり易く解説

SHA-1とは

昨今、私たちの生活では常時インターネットと繋がっており、自宅に居ながらショピングサイトで産地直送の鮮魚を買ったり、絵画鑑賞のセミナーを受講したりしています。

一方でインターネット通信にはウィルス感染やフィッシング詐欺等の危険に晒されています。

このようなセキュリティーの脅威から私たちを保護する技術がSHA-1やSHA-2と言ったプロトコル通信です。

そこで今回はこれらの技術に関してSHAの概要やSSL通信を分かり易く解説します。

FOSTERFreelance
エンジニアのフリーランス案件ならフォスターフリーランス
フルリモート・高単価の案件多数掲載!最短3日で就業可能!

SHA-1とは?

SHA-1とは「Secure Hash Algorithm 1」の略称です。

NSA(米国家安全保障局)が考案し、1995年にNIST(米国立標準技術研究所)によって標準化されたハッシュ関数です。

ハッシュ関数はインターネット通信する際、信頼できるデータであることを証明するために用いる署名アルゴニズムのことです。

SHA-1とは「Secure Hash Algorithm1」の略称で、SA(米国家安全保障局)が考案し、1995年にNIST(米国立標準技術研究所)によって標準化されたハッシュ関数
ハッシュ関数とはインターネット通信する際、信頼できるデータであることを証明するために用いる署名アルゴニズムのこと

入力データが同じであれば、出力データは必ず同じハッシュ関数の値になる仕組みになっています。

万一、入力データが同じでありながら出力データが異なるハッシュ関数の値となった場合、データに不正な行為がされたと判断できます。ちなみにSHA-1のハッシュ長は160ビットです。

SHA-2とは?

SHA-2とは、前述したSHA-1の改良版で2001年にNISTによって標準化されたハッシュ関数です。

SHA-2とは
    SHA-1の改良版で2001年にNISTによって標準化されたハッシュ関数

SHA-2はSHA-224、SHA-256、SHA-384、SHA-512の4つのバリエーションを持っており、SHA-1より安全性が高くなっています。

数字の部分がハッシュ長を表しており、SHA-512が512ビットと最長となります。

SSL通信って何?

SSL通信と聞かれるとインターネット上で使われる通信技術との答えを良く聞きます。しかしながら分かったようで分からないで消化不良になりませんか。

そこでここではSSLの基本から歴史、SSLとTLSの違いをご説明します。

SSLとは?

SSLとは、「Secure Sockets Layer」の略称でインターネット上でブラウザーとサーバー間でやり取りするデータを暗号化する通信規格を指します。

SSLとは
    「Secure Sockets Layer」の略称でインターネット上でブラウザーとサーバー間でやり取りするデータを暗号化する通信の規格

このSSLの誕生により、データを暗号化することで誰もが安全にインターネット通信を行うことが可能となりました。私たちが普段使っているインターネットでURLを見るとそのサイトが安全か否かを判断することができます。

URLの先頭に「https」とあればデータを暗号化されているサイトを表しています。逆に暗号化されていないサイトは「http」となります。

通信規格暗号化の有無
https暗号化されているサイト
http暗号化されていないサイト

従ってURLの先頭が「http」の場合、該当サイトはデータを暗号化していませんので閲覧するのをやめましょう

SSLの歴史

SSLはNetscape社が開発し、自社のブラウザー(Netscape Navigator)に実装したのが1995年です。その後、改良を重ね「SSL3.0」をリリースしたものの、2014年9月に仕様上の脆弱性が発見されました。

これを機に2015年6月、IETF(インターネット技術標準化組織)によって「SSL3.0」の使用は禁止されました。

1996年5月、安全なインターネット通信を実現するための第三者機関として「TLSワーキンググループ」が結成されました

その後、TLSワーキンググループはSSLに変わる次世代の通信規格として1999年1月に「TLS1.0」をリリースしました。

TLSはTransport Layer Securityの略称です。

その後、TLSは順調に改良を重ねて2018年8月に「TLS 1.3」をリリースして現在を迎えています。

SSLとTLSの違いは?

上述しましたがSSLもTLSも安全なインターネットのデーターをやり取りするための通信規格です。

初の規格としてSSLがリリースされ、その後、次世代通信規格となる「TLS」が引き継ぎました

ちなみに両規格はデータの互換性がありません。

なお現在、「SSL」は存在しませんが、過去の経緯を踏まえて「SSL/TLS」と表記されることもあります。

SSLの役割とは?

SSLの概要を理解したところで次にSSLの役割について3つご説明します。

データの改ざんを防止する

例えばネットショップに侵入して注文数を改ざんされるケースがあります。

このような場合、ユーザに加えてネットショップにも損害を与えることになります

このようなケースを防止するため、通信するデータはSSLによる暗号化が必要不可欠です。

なりすましを防止する

なりすましとは、例えばネットショップの運営者と偽ってインターネット上でユーザから個人情報を入手する不正行為です。

このような不正行為を防止するため、ネットショップサイトの運営者は本当に存在することを証明する責務がSSLにあります

データのスキミングを防止する

スキミングとは、例えばネットショップ上で個人のクレジットカードの情報を盗み取られる不正行為を指します。

これを防止するため、通信するデータはSSLによる暗号化が必要になります。

FOSTERFreelance
エンジニアのフリーランス案件ならフォスターフリーランス
フルリモート・高単価の案件多数掲載!最短3日で就業可能!

SSL導入の流れ

これまでの説明でSSLの重要性を認識されたと思います。ここでは実際にSSLを導入する場合の具体的な流れを解説します。

  1. STEP1
  2. STEP2
  3. STEP3
  4. STEP4
  5. STEP3
    サーバー証明書のインストール

ステップ1:SSLの選択

SSLサーバ証明書は、確認する内容により3つにレベル分けされています。自社サイトの規模や利用目的、予算等に応じて選択が可能です。

次に3つの認証を簡単に説明します。

ドメイン認証
    ドメイン認証とはドメインの所有者であることを認証します。 個人サイトに適した認証です。 認証取得費用は年間5万円以内とリーズナブルです。
企業実在認証
    企業実在認証とはドメインの所有者と同時に該当の組織・団体が実存することを認証します。 帝国データバンクに登録のある法人のみ利用が可能です。 企業サイトに適した認証で認証取得費用は年間10万円以内です。
EV認証
    EV認証は「Extended Validation」の略称です。ドメインの所有者と同時に該当の組織・団体が実存することを厳格に認証します。 帝国データバンクの登録に加えて該当企業の活動状況まで審査の対象となります。 大手企業や官公庁等の大手サイトに適した認証です。認証取得費用は年間10万円・50万円程度です。

ステップ2:CSRの生成

次はCSRを作成します。CSRとは、サーバ証明書を発行する際に必要となる署名要求(Certificate Signing Request)のことです。

CSRを生成するためにはディスティングイッシュネーム(組織名や部署名、組織の所在地などの情報)が必要となります。

ステップ3:サーバー証明書の申し込み

CSR生成が完了したら次はサーバー証明書を申し込みます。

サーバー証明書の発行期間はドメイン認証で1週間程度です。

ただし企業実在認証やEV認証だと1か月程度掛かる場合もあります。

ステップ4:認証手続き

認証手続きは認証局からの審査のことです。

審査自身は危惧する必要がありませんが、認識局から電話による問い合わせが来ますので真摯に受け答えをしましょう。

ステップ5:サーバー証明書のインストール

認証手続きが完了するとサーバー証明書が送付されます。

後は受領したサーバー証明書をインストールすれば完了となります。

まとめ

この記事ではSHAの概要からSSL通信やSHA-1とSHA-2の違いを広くご説明して来ました。

今や常時インターネット接続は誰もが行う常識になっています。

従いましてWebサイトを運営する方や企業関係者は信頼性のあるWebサイトを管理する責務があります

この際、SSL認証やSHAの知識は役にたつため、頭の片隅に置いて置きましょう。

FOSTERFreelance
エンジニアのフリーランス案件ならフォスターフリーランス
フルリモート・高単価の案件多数掲載!最短3日で就業可能!