Articles

対称暗号化アルゴリズム:長いライブ&暗号化

多くのスタートレック 対称鍵アルゴリズムを探り、IT以外の人が行ったことのない場所に連れて行きます

対称暗号化アルゴリズムは、安全な通信を可能にする基 あなたがそれをStar Trek関連の用語に入れるならば、対称アルゴリズムはあなたの宇宙船の推進システムのためのワープドライブです。, これらは情報セキュリティに不可欠なものであり、ビジネスが安全かつ光よりも速い速度でデータ暗号化を進めるのに役立ちます。

(はい、私は知っている、私は本当に今日、私のオタクの旗を高く飛んでいます。 魅力的ではありますが、対称鍵アルゴリズムは正確に”軽い”または読みやすいものではありません。 クソッジム私はサイバーセキュリティライターで暗号学者ではないあなたのコーヒー(またはアールグレイティー、それはより多くのあなたの速度だ場合)をリフレッシュすることを確認してください。, 私たちは、対称暗号化アルゴリズムが何であるか、なぜそれらが重要なのか、そして最も一般的な対称暗号化アルゴリズムタイプが何であるかを深く

そうしてください。

それをハッシュアウトしましょう。

編集者注:この記事は、対称暗号化に関する一連の記事の最初のものです。, 以下の関連記事をチェックしてください:

  • 対称暗号化101:定義、それがどのように動作するか&それが使用されている場合
  • 非対称暗号化と対称暗号化:定義&違い
  • ブロック暗号とストリーム暗号:それらが何であるか&彼らがどのように動作するか

対称アルゴリズムとは何ですか?

対称アルゴリズムは、対称鍵暗号化の中心となる暗号関数です。, これらは、データの暗号化と復号化に関連する特定のタスクを実行するためにコンピュータが従う一連の指示または手順です。

あなたは普遍的な翻訳者が必要なように感じますか? さて、もう少しこれを打破しましょう。

対称暗号化アルゴリズムは、二つの主要なことを行うために(暗号化キーと組み合わせて)使用されます:

  1. 暗号化します。 読み取り可能なテキスト(平文)を読み取り不可能な暗号化されたテキスト(暗号文)に変換します。
  2. 復号化します。 暗号文を平文に変換し直します。

対称暗号化アルゴリズムは、暗号化と復号化の両方に同じ暗号化キーを使用します。, (とは異なり非対称暗号化アルゴリズムを使用する二つの異なる鍵となります。)

暗号化アルゴリズムは、一般に、数学に基づいており、その設計に応じて非常に単純なプロセスから非常に複雑なプロセスまでの範囲であり得る。 対称暗号化アルゴリズムの場合、読み取り可能な(平文)データを理解できない意味不明な(暗号文)に変換するために、単一のキーとペアになっています。 その後、彼らは同じキーを使用して暗号文を復号化して平文に戻します。 そして、このすべては、データの機密性とプライバシーを保証する方法で行われます。 かなりクールだな,対称暗号化アルゴリズムは、実際にはいくつかの異なる名前で知られています。

  • 対称鍵アルゴリズム、
  • 対称暗号、
  • 秘密鍵アルゴリズム、および
  • (バルク暗号については少し後で詳しく説明します。一般に、暗号化の目的または目標は、鍵を持つ誰かだけが秘密のメッセージを解読して読むことができるようにすることです。, 対称暗号化の仕組みを簡単に思い出させる必要がある場合は、簡単な概要を次に示します。

    この例のメッセージはAES128対称暗号化アルゴリズムを使用して暗号化されました。 ここでの目標は、対称暗号がどのように機能するかを示すことです。

    上の図では、左から右に移動すると、プレーンテキストで読み取り可能なデータから始めることがわかります。 対称暗号化アルゴリズムと鍵がそのデータに適用されると、それは読めない暗号文になります。, そのメッセージを復号化してその意味を解読する方法は、復号鍵を使用することです。 対称暗号化の場合、復号化キーはデータの暗号化に使用されたキーと同じです。 基本的には、同じキーを二度使用します。

    対称暗号化アルゴリズムは実際に何をしますか?

    一言で言えば、対称アルゴリズムは、データを暗号化および復号化するために一つのキーを使用する暗号化の命令のセットです。 これらの暗号化アルゴリズムと鍵の軽量化を感じるよう設計された速度での処理に大きなブロックまたはストリームのデータです。, (このはなぜ対称暗号化アルゴリズムと呼ばれるバルク暗号.)

    一方、非対称鍵アルゴリズムと鍵は、リソースを食べる人です。 キーは大規模であり、大規模で使用するのに高価です。 私が意味するのは、彼らが実行するためにあなたのCPU処理リソースと時間、バッテリ電力、および帯域幅の多くを吸うということです。

    対称アルゴリズムをwarpドライブの重要なコンポーネントとして説明したことを覚えていますか? その類推を続けましょう。, 非対称暗号化アルゴリズムが何であるかを考えるならば、それらは推進システムのスラスターに相当するものになるでしょう。 確かに、彼らは最終的にあなたをそこに連れて行くでしょうが、大規模な迅速な暗号化には適していません。

    ただし、パブリックチャネルで小さなデータバッチを暗号化するのに最適です。 また、非対称鍵交換(これについては後ほど詳しく説明します)は、安全でない公開チャネルに鍵を配布するための素晴らしい方法です。

    これが、大量のデータをエンコードするために対称暗号化に変わることがよくある理由です。,

    対称暗号化アルゴリズムの強度を決定するものは何ですか?

    すぐにわかるように、すべての対称アルゴリズムが均等に作成されるわけではありません。 それらは強さの点で異なりますが、暗号では強さは正確に何を意味しますか? 短い答えは、暗号の強さは、ハッカーがデータにアクセスするために暗号化を破ることがどれほど難しいかについてのすべてです。 もちろん、長い答えは、評価するアルゴリズムのタイプによって異なる場合があります。, しかし、一般的に、暗号化の強さは、通常、いくつかの重要な特性に帰着します:

    • 対称鍵の長さ、ランダム性、および予測不可能性、
    • 既知の攻撃に耐えるまたは耐えるアルゴリズムの能力、および
    • バックドアまたはその他の意図的な脆弱性の欠如。

    対称暗号化は、計算上は難しいが、許容可能なパフォーマンスで使用するのに十分な実用的なアルゴリズムとキーが必要なため、バランスをとる,

    対称暗号化アルゴリズムは、パブリックチャンネルで独自に立つことはできません

    対称暗号化アルゴリズムは、オンラインデータ暗号化のすべてのタイプのための最も論理的なツールのように聞こえるかもし 常に論理的なスポックとカリスマキャプテンカークのように、対称暗号化にも弱点があります-特に公共のチャネルで自分で使用する場合。, これらの弱点は、鍵の配布と鍵管理の問題の形で来ます。

    • 対称鍵を配布するには安全な接続が必要です。
    • 鍵のコピーを持っているすべての人に追いつこうとすると、多くの人にそれを与えた場合は苦痛になる可能性があります。

    対称暗号化を使用する場合、理想的には、あなたとあなたが通信している人は、(データ交換に使用する前に)あなたの秘密鍵を事前に整理します。 これは、対称キーを誰かと安全に共有するためには、それを渡すために直接対話する必要があることを意味します。, しかし、あなたが相手から全国にいる場合はどうなりますか? あるいは、さらに悪いことに、あなたが彼らから世界の反対側にいる場合はどうなりますか?

    これはスタートレック宇宙では問題ではありませんが、数秒以内にある場所から別の場所に輸送することができますが、これは21世紀のトランスポーターレスの世界では実現可能ではありません。 ここでは、人々は毎日のすべての瞬間、世界中のwebサーバーと情報を交換しています。 というシンボリックなニーには事前に出または鍵をお受け取りください. したがって、他の当事者と安全に鍵を交換するために他の手段に頼らなければなりません。,

    これが非対称アルゴリズム、すなわちより具体的には鍵交換プロトコルが登場する場所です。 非対称鍵交換により、安全でない公開チャネルで対称鍵を交換することが可能になります。 だが実現できないというこの組み合わせの対称、非対称暗号化技術です。

    非対称技術は、インターネット上で安全な対称暗号化を可能にします

    例として、当社のウェブサイトへの接続を考えてみましょう。 ブラウザに南京錠のアイコンが表示されますか?, 安全なウェブサイトに接続されていることを意味します。

    だから、最初に接続したときTheSSLstore.comブラウザはTLSハンドシェイクとして知られているサーバーでプロセスを実行する必要がありました。 このハンドシェイクは、サーバーが正当であり、詐欺師ではないことをブラウザーに証明する方法です。 (あなたが知っている、’サイバー犯罪者は彼らと接続する際に人々をだますために他の人のふりをするのが大好きだから。 彼らはそのような方法でロミュランのようなものです—常にsubterfugeに従事しています。, ハンドシェイクプロセスでは、非対称暗号化と非対称鍵交換プロセスを使用してこれを行います。

    • 非対称暗号化プロセスは、デジタル署名を検証します。
    • 非対称鍵交換プロセスは、ブラウザーとwebサーバーが対称セッション鍵を作成するために使用するマスター事前秘密を暗号化します。もちろん、ハンドシェイクにはいくつかのバージョン(TLS1.0、TLS1.2、TLS1.3)がありますが、それらの動作には特定の違いがあります。 (たとえば、インターネットエンジニアリングタスクフォースは、TLS1における前方秘密のみの暗号の厳密な使用を推進しています。,3-しかし、それは別の時間のためのトピックです。 TLS1.2ハンドシェイクのみが最小使用されるべきであることを知っているだけです。 2020年現在、Qualys SSL Labsは99%のサイトがTLS1.2プロトコルをサポートしており、39.8%がTLS1.3プロトコルをサポートしていると報告している。

      ここではTLSハンドシェイクがどのように機能するかについては詳しく説明しませんが、暗号スイートの使用が含まれていることを知っています。, これらの暗号のグループは、次のいずれを使用するかを決定することによって、安全なHTTPS接続を確立することを可能にするのに役立ちます。

      • プロトコル(TLS)
      • 非対称鍵交換アルゴリズム(Diffie-Hellmanなど)
      • 一括暗号化暗号
      • デジタル署名
      • ハッシュ関数(SHA2-2など)
      • メッセージ認証コード(MAC)関数

      プロセスの詳細については、このexplainer BLOGでtlsハンドシェイクの仕組みについて読むことができます。 しかし、今のところ、対称暗号化アルゴリズムの話題にとどまりましょう。,

      二つのタイプの対称アルゴリズム(暗号)

      webサイトに安全に接続するときに行われる対称暗号化の間、あなたはそれを実現するために一 バルク暗号には、ブロック暗号とストリーム暗号の二つのサブカテゴリがあります。

      ブロック暗号

      このタイプの暗号では、平文データはブロックとして知られているビットの固定長グループに分解されます(通常、連鎖として知られているプロセスを介して接続されます)。 その後、各ブロックは単位として暗号化され、このプロセスは少し遅くなります。, また、ブロックを完全に埋めるのに十分なデータがない場合は、”パディング”(通常は合意された数の0)を使用して、ブロックが固定長要件を満たすように

      理想的なブロック暗号は実用的ではない大規模な鍵の長さを持っているので、現代の多くの暗号は、それらを使用可能にするために鍵のサイズをスケールバックする必要があります。 しかし、簡単なメモとして、非対称暗号化とは異なり、対称暗号化キーのサイズはデータブロックのサイズを決定しません。,

      現代の対称暗号化アルゴリズムの大部分は、ブロック暗号キャンプ内にあり、これらのタイプの暗号は、より広い使用と応用の機会を持っています。 だから、我々は主にここでそれらに焦点を当てるつもりです。 しかし、最も一般的なストリーム暗号または一般的なストリーム暗号が何であるか疑問に思っている場合は、心配しないでください。

      ストリーム暗号

      このタイプの暗号では、平文データを一度にビットずつ暗号化します。 そのため、データはブロック暗号のようなチャンクではなくストリームで処理されます。 この過程で少資源の集中および高速化を実現します。,

      さて、ブロック暗号とストリーム暗号のすべての詳細に入るつもりはありません—それはまったく別のトピックです。 しかし、良いニュースは、ブロック暗号とストリーム暗号をカバーする記事をすでに書いていることです。 だから、彼らが何であるか、彼らがどのように動作するかをより詳細に見るために、そのものをチェックしてください。

      さて、これが物事がエキサイティングになり始める場所です(またはあなたの視点に応じて、より複雑になります)。 共有鍵暗号化では、よく知られている対称鍵アルゴリズムがいくつかあります。, うとしてすべてを理解しようという。

      対称アルゴリズムリスト:3つの最も一般的な対称アルゴリズムタイプ

      このセクションでは、最も一般的な対称暗号をナビゲートするのに役立つ対称アルゴリズムリストをまとめました。 私たちは最も古いものの一つから始めて、”最新かつ最高”の意味、つまり現代の対称暗号化に今日通常使用されているアルゴリズムまで作業します。

      データ暗号化標準(DES)

      最初にリストにあるのはデータ暗号化標準です。, DEA(data encryption algorithmの略)としても知られるDESは、以来、非推奨になった初期の対称暗号化アルゴリズムの一つです。 これはFeistel暗号(他の多くの種類のブロック暗号と同様)に基づいており、1976年に連邦情報処理標準(FIPS)として採用された最初の対称アルゴリズムの一つ

      DESは、元の形式(”Lucifer”)がIBMの暗号学者Horst Feistelによって開発された1970年代初頭にさかのぼります。, IBMは、暗号化方法はもともとイギリスのロイズ銀行の命令で作成されたと報告しています。 National Bureau of Standards(現在はNational Institute of Standards、略してnistとして知られています)は、暗号化用の商用アプリケーションの提案を求めてしまい、IBMはそのバリエーションを提出しました。 国家安全保障局(NSA)がデータを保護するために使用することさえ望まれていました。

      このタイプの対称暗号化は、特定の長さの入力を特定の長さの出力にマッピングします。, そのため、64ビットブロックで動作し、最大64ブロックのグループ内のデータを同時に暗号化でき、56ビットのキーサイズを持ちます。 また、キーには8つのパリティビットが追加されており、データ伝送エラーをチェックする方法として機能します。 ただし、パリティビットは暗号化に使用するものではないことに注意することが重要です。

      このサイズキーは、今日の標準では実際には非常に小さいため、ブルートフォース攻撃の影響を非常に受けやすくなっています。, また、キーとブロックの長さは、元のLuciferキーとブロックの長さとは異なり、どちらも128ビットから削減されました。

      DES encryptionとFeistel Networksがどのように機能するかの詳細については、CourseraとStanford Universityのこの素晴らしいビデオをチェックしてください。

      データ暗号化標準(DES)文書(FIPS PUB46-3)は、May19、2005、FIPS74およびFIPS81の文書とともに正式に撤回されました。,

      “FIPS46-3,DESは、連邦政府情報を保護するために必要なセキュリティを提供しなくなったため、これらのFIPSは撤回されます。 FIPS74および81は、DESの実装および運用を規定する関連規格です。”

      DES暗号化は、一部のアプリケーションでtriple data encryption algorithm(TDEA)によって成功しましたが、すべてではありませんでした。, しかし、DESは主に2000年にadvanced encryption standard、またはAES暗号化として知られているものによって推奨されるものとして取って代わられました。 これは、現在、対称暗号化に最も一般的に使用されているものです。

      さて、対称暗号化アルゴリズムのこれら二つの他のタイプを調べてみましょう。

      Triple Data Encryption Algorithm(TDEA)

      triple data encryption algorithmは1990年代後半に作成されましたが、実際にはTDEA、TDES、3DESといういくつかの略語で行われているため、少し難しいです。, しかし、おそらくその名前から推測できるように、3DESはDESの概念に基づいていますが、ひねりを加えたものです。

      その前身とは異なり、TDEAはデータを暗号化するために複数の別々のキーを使用します—TDEAの一つのバリエーションは二つのキーを使用し、他のバリエーションは三つのキーを使用します(その名前の”トリプル”)。 二つの強いものは、三つのキーを使用するものです。,

      三つのキー TDEAプロセスがどのように機能するかを示します。

      これは、TDEAがプレーンテキストデータを解読不可能な暗号文に暗号化するためにどのように機能するかを示すためのプロセスの単純化されたビジュアルです。

      複数のキーを使用すると、データの処理が遅くなり、計算オーバーヘッドが増加するため、組織は3DESをスキップしてAESを使用することがよくあります。

      TDEAは適切な168ビットキーサイズを使用して動作します。, ただし、DESと同様に、3DESも小さな64ビットブロックで動作します。 ブロックサイズが小さいため、sweet32の脆弱性(CVE-2016-2183およびCVE-2016-6329)、またはsweet32誕生日の攻撃の影響を受けやすくなりました。 この悪用は、意図しない当事者がDES/TDEAで暗号化されたデータの一部にアクセスできる脆弱性を利用します。

      TDEA対称鍵暗号化アルゴリズムは、2023年に暗号保護に有用であるという点で廃止されるように設定されています。 しかし、その間に、NIST SP800-76Rev., 2は、”完全なセキュリティプログラムのコンテキスト内で”使用されている限り、機密の未分類データを保護するために、連邦政府の組織が3DESを使用できることを指定しています。”そのようなプログラムには、

      • 優れた情報セキュリティ慣行、
      • 強力な物理セキュリティ手順、および
      • コンピュータネットワークまたはシステム

      Advanced Encryption Standard(AES)

      AESは、今日使用されている最も一般的なタイプの対称暗号化アルゴリズムです。 実際、NSAでさえAES暗号化を使用して機密データを保護しています。,

      AESは、対称暗号化アルゴリズムのRijndaelファミリーの変種です。 そのDESまたはTDEAの対応物とは異なり、置換置換ネットワークに基づいています。 したがって、Feistel暗号の代わりにこれを基盤として使用します。 ご利用いただける高度な暗号化の標準使用からSSL/TLS暗号化無線およびプロセッサです。 高速で安全であり、処理オーバーヘッドを著しく増加させることはありません(少なくとも、正しいキーを使用する場合)。,

      AESは、使用されるキーサイズに関係なく、128ビットのブロックサイズで動作し、複数のラウンドで暗号化操作を実行します。P>

      1. AddRoundKey
      2. サブバイト
      3. ShiftRows
      4. MixColumns

      平文データに対して実行されるラウンドは、ルックアップテーブルからの置換を使用します。 したがって、ラウンドの一つはこれに似ています。

      これはShiftRows操作の例示的な例です。,

      DESを置き換えて3DESに取って代わった新しいFIPS承認の暗号化規格となったAESは、最大キーサイズが256ビットまでです。 これはDESキーの約4.5倍です。 それより大きく、そしてそれは大規模な適用のために実用的ではないでしょう。 たとえば、128ビットのキーには10ラウンドがあり、256ビットのキーには14ラウンドがあります。

      もちろん、AES暗号化は信じられないほど強力です。, したがって、現代のコンピュータ技術を使用してブルートフォースを介してAESを解読しようとする試みは、サイバネティック個人の特定の集団が言うのが 中佐のデータでさえ、そのような計算の努力に苦労する可能性が高いでしょう。 私は、量子コンピュータでさえ、現代の非対称暗号化方法ほど対称暗号化アルゴリズムに大きな影響を与えることは期待されていないと言います。 (対称暗号化方法は量子耐性を持つために大きな鍵を必要としますが、公開鍵方法はもはや安全な期間ではありません。,)

      高度な暗号化標準をより詳細に見るには、このトピックに関する他の記事をチェックしてください。 そこでは、AESがどのように機能するかを非常に技術的に見ることができます。

      もちろん、これらは使用されている唯一の三つの対称アルゴリズムではありません…

      さまざまな目的や暗号機能に役立つ対称暗号化アルゴリズムの他のタイプがたくさんあります。 ちょうどあなたに簡単な味を与えるために、これらのアルゴリズムのいくつかのリストが含まれています:

      もちろん、他の暗号もありますが、ここにはそれらすべてを含めるつもりはありません。, しかし、これは少なくともAESアルゴリズムに関する限り、そこにあるものの例をいくつか提供します。

      職場で対称アルゴリズムが見つかる場所

      対称暗号化アルゴリズムは、独自に使用される場合、保存中または非公開チャネルでのデータの暗号化に最も適しています。 私は、データベース、オンラインサービス、銀行関連の取引など、さまざまな状況で保管中のデータを保護することがよくあると言います。 (後者は、支払いカード業界のデータセキュリティ標準、つまり略してPCI DSSがそれを必要とするためです。,)

      しかし、それらが役に立つ唯一の場所ではありません。 ああ、なだけでなく、対称アルゴリズムの使用をインターネット。,

      • ウェブサイトのデータ交換
      • GoogleのオンラインサービスのGスイート
      • CodeGuardウェブサイトバックアップツール
      • SalesForce platform

      対称暗号化アルゴリズム(TL;DR)

      は、次のようなサービスと組み合わせて使用すると、対称暗号化アルゴリズム(TL;DR)についてハッシュアウトしたもの

      技術のすべてに飛び込むような気がしませんでしたマンボ—ジャンボ? はなかったように読書を通じて振りスタートレックの比較対称暗号化アルゴリズム?,)心配しないでください。 対称鍵アルゴリズムに関するこの記事からの主な取り組みのいくつかは次のとおりです。

      • 暗号化アルゴリズムは、基本的に暗号化機能(暗号化、復号化、ハッシュなど)を実行するためのステップバイステップの指示です。). アルゴリズムは、非対称および対称の品種で来る。 最初のキーでは、あるキーがデータを暗号化し、別のキーがデータを復号化します。 後者では、一つの鍵は、暗号化機能と復号化機能の両方を実行します。
      • 対称アルゴリズムは、セキュアで非公開のチャネルでデータを暗号化するために設計された効率的なプロセスです。,
      • TLSハンドシェイクと呼ばれるプロセスを使用すると、パブリックチャネルで対称暗号化の形式を使用できるようになります。
      • 近年使用されている対称鍵アルゴリズムには、さまざまな種類があります。 最も一般的なものには、DES、TDEA/3DES、AESがあります。

      今後数週間で対称暗号化に関するこのブログシリーズの次の章をお楽しみにしてください。 そして、次の時間まで…長く、適切な生きる。

      • #暗号化アルゴリズム
      • #対称