暗号化とは?| 暗号化の種類

暗号化とは、データの内容を他人には分からなくするために情報を変換して隠す方法です。暗号化は、インターネットのセキュリティを確保するのに不可欠です。

Share facebook icon linkedin icon twitter icon email icon

暗号化

学習目的

この記事を読み終えると、以下のことができます。

  • 暗号化の意味を理解する
  • データ暗号化の種類について知る
  • 現代のコンピューティングにおいて暗号化が重要な理由を知る
  • 暗号化がどのようにインターネット通信のセキュリティを確保するかについて説明する

暗号化とは?

暗号化とは、権限を付与された者のみが情報を理解できるようにデータを変換する方法です。専門用語を使うと、平文を暗号文に変換するプロセスです。要するに、判読可能なデータをランダムなデータに見えるように変換するのです。暗号化には、暗号鍵を使用する必要があります。暗号鍵とは、暗号化されたメッセージの送信者と受信者の両方が知っている数学的価値のことです。

encryption example

暗号化されたデータはランダムなデータのように見えますが、暗号化されたデータを暗号化するのに使用された鍵を使用して受信者が平文に戻せるように、暗号化は論理的で予測可能な方法で行われます。真に安全な暗号化は、ブルートフォースアタック(総当たり攻撃)などのように推測することで第三者が暗号文を復号化できる可能性が極めて低い複雑なものです。

データは、保管時または転送時(ほかの場所に送信中)に「at rest(保存状態)」として暗号化することができます。

暗号技術における鍵とは?

暗号鍵は、ランダムなデータに見えるようにデータを変換するのに暗号アルゴリズムにて使用される文字列です。物理的な鍵と同様に、データを施錠(暗号化)し、正しい鍵を持つ人だけが開錠(復号化)できます。

暗号化の種類

暗号化の代表的な2つの種類は対称鍵暗号と非対称鍵暗号です。非対称鍵暗号は公開鍵暗号とも呼ばれます。

対称暗号では、1つの鍵しかなく、通信に関与するすべての当事者は、暗号化および復号化に同じ鍵を使用します。非対称暗号(公開鍵暗号)では、2つの鍵があります。1つの鍵は暗号化に使用され、もう1つの鍵は復号化に使用されます。いずれかの鍵をいずれかのアクションに使用できますが、最初の鍵で暗号化されたデータは、2番目の鍵でしか復号化できません(逆も真なり)。1つの鍵は秘密にされ、もう1つの鍵は誰でも使用できるように共有・公開されます(公開鍵と呼ばれるのはこのためです)。非対称暗号は、SSLTLS)の基盤技術です。

データ暗号化が必要な理由

プライバシー:暗号化は、意図する受信者または適切なデータ所有者のみが通信やデータを読むことができるようにします。そうすることで、サイバー犯罪者、アドネットワーク、インターネットサービスプロバイダー、場合によっては政府が機密データを傍受したり閲覧したりするのを防止します。

セキュリティ:暗号化は、転送中または保管中のデータの漏えいを防止するのに役立ちます。会社所有のデバイスが紛失・盗難に遭っても、ハードドライブが適切に暗号化されていれば、そのデバイス上のデータのセキュリティは依然として確保されます。同様に、通信を暗号化することにより、データ漏えいを起こさずに送信者と受信者は機密データを交換できます。また、暗号化は中間者攻撃のような悪意のある行為を防止するのにも役立ちます。

認証:公開鍵暗号方式では、Webサイトのオリジンサーバーが秘密鍵を所有して、正当なSSL証明書が発行されます。(詳細については「公開鍵暗号とは?」を参照)。

規制:こうした諸々の理由により、多くの業界や政府の規制では、ユーザーデータを扱う企業にデータを暗号化することを義務付けています。暗号化を義務付けている規制や準拠基準には、HIPAA、PCI-DSS、GDPRなどがあります。

暗号アルゴリズムとは?

暗号アルゴリズムとは、データを暗号文に変換するのに使用される数学公式のことです。暗号アルゴリズムは、暗号化されたデータがランダムなものに見えても、鍵を再度使用することで平文に戻せるように、予測可能な方法でデータを変換する鍵を使用します。

一般的な暗号アルゴリズム

一般的に使用される暗号アルゴリズムの例:

  • Blowfish
  • AES
  • RC4、RC5、RC6
  • DES
  • Twofish

暗号化におけるブルートフォース攻撃とは?

暗号化におけるブルートフォース攻撃は、復号化するための鍵を持っていない攻撃者が、数百万の鍵を片っ端から試して鍵を特定することになります。現代のコンピューターを使用すれば、短時間で膨大な数の鍵を試すことができるため、暗号化を極めて強力で複雑なものにする必要があります。強力なパスワードを組み込む最新の暗号化方式は、ブルートフォース攻撃に対抗できるとされていますが、コンピューターがもっと強力になる将来の話であり、脆弱なパスワードでは依然としてこうした種類の攻撃を受けやすいです。

どのように暗号化を使用してインターネット閲覧の安全性を確保するのか?

暗号化はさまざまな技術の基盤ですが、特にHTTPのリクエストとレスポンスの保護やWebサイトのオリジンサーバーの認証にとって重要なものです。そのためのプロトコルのことをHTTPS(Hypertext Transfer Protocol Secure)と呼びます。HTTPではなくHTTPSに対応したWebサイトのURLは、http://ではなくhttps://から始まります。

HTTPSは、Transport Layer Security(TLS)と呼ばれる暗号プロトコルを使用します。長い間、Secure Sockets Layer(SSL)と呼ばれる暗号プロトコルが業界標準でしたが、TLSがSSLに取って代わりました。HTTPSに対応したWebサイトについては、そのオリジンサーバーにSSL証明書が実装されます。TLSとHTTPSの詳細については、こちらをご覧ください

インターネットのセキュリティを強化するために、Cloudflareは、Cloudflareサービスを利用するすべてのWebサイトに無料でTLS/SSL暗号化を提供します。 CloudflareのUniversal SSLの詳細については、こちらをご覧ください