【図解】共通鍵暗号方式と公開鍵暗号方式の仕組み・特徴

【図解】共通鍵暗号方式と公開鍵暗号方式の仕組み・特徴




【図解】共通鍵暗号方式と公開鍵暗号方式の仕組み・特徴

インターネットの世界では

  • 色々な情報を瞬時に検索可能
  • 実際に店舗に行かずにオンラインショッピングが可能
  • インターネットに繋がっている端末さえ保有していれば誰とでも通信可能

という大きなメリットがある一方、悪意ある第三者によって

  • メールのやりとり
  • オンラインショッピングでの会員登録情報 等々

の通信の中身を盗聴、悪用の被害を受ける可能性もあります。

SSL通信の仕組み

悪意ある第三者からの盗聴を防ぐセキュリティ対策の一つとして、インターネット上での情報(データ)の送受信を暗号化することが挙げられます。

この記事では、情報(データ)を暗号化する技術の代表格である

  • 共通鍵暗号方式
  • 公開鍵暗号方式

それぞれの仕組み・特徴についてを図解で説明します。

説明後は、共通鍵暗号方式・公開鍵暗号方式の違いを比較します。

共通鍵暗号方式

共通鍵暗号方式

  • 共通鍵暗号方式の「共通鍵」
  • 公開鍵暗号方式の
    • 公開鍵
    • 秘密鍵

と「鍵」という単語が頻出しますが、暗号化・復号化する為の手段としての「鍵」という意味であり、インターネット上で、実際に物理的(有形)な「鍵」をやり取りする訳ではありません。

実際の「鍵」の正体は、「鍵」のような役割を果たす無形資産(データ)です。

暗号化・・・第三者が通信文を見ても特別な知識なしでは読めないように変換するセキュア通信の手法

復号化・・・デジタルデータを特定の方法で、元の通信文・データに戻す変換を加えること

暗号化・復号化

共通鍵暗号方式の仕組み

クライアント・サーバ・モデルを例にして、共通鍵暗号方式の一連の流れを見ていきます。

クライアント(Webブラウザ)(以下:送信者)から、Webサーバ(以下:受信者)へ通信内容を平文で送信した場合、悪意あるユーザにより通信内容を盗聴されてしまう可能性があります。

共通鍵暗号方式の仕組み

そこで、「共通鍵」を使用して通信内容を平文から>暗号文に変換します。

つまり、「共通鍵」が暗号化の手法になります。

共通鍵暗号方式の仕組み

共通鍵暗号方式の特徴は

  • 平文 -> 暗号文 の変換(暗号化)に「共通鍵」が使用
  • 暗号文 -> 平文 の変換(復号化)に「共通鍵」が使用

暗号化にも復号化にも「共通鍵」が使用されるという点です。

共通鍵暗号方式の仕組み

悪意あるユーザに通信内容を盗聴されない為に、送信者は「共通鍵」を使って、平文を暗号文に暗号化しましたが、受信者は、「共通鍵」を送信者から受け取れないと、暗号文を平文に復号化出来ません。

共通鍵暗号方式の仕組み

つまり、送信者は

  • 暗号化した通信内容
  • 「共通鍵」

両方を受信者に送る必要があります。

共通鍵暗号方式の仕組み

ここで、悪意あるユーザが「共通鍵」を入手出来れば、暗号文を平文に復号化する事が出来るため、通信内容は読み取られてしまいます。

共通鍵暗号方式の特徴

共通鍵暗号方式の特徴は

  • 暗号化と復号化に共通の鍵を用いる暗号方式
  • 共通の鍵を用いるため、計算ロジックが簡単・計算負荷が低い
  • 「共通鍵」の受け渡しを工夫しないと、「共通鍵」が傍受され悪用される可能性がある = 鍵配送問題

共通鍵暗号方式で使用する暗号アルゴリズムには

  • RC4
  • DES
  • AES 等々

があります。

現在主流の暗号アルゴリズムは「AES」です。

アルゴリズムとは

  • 数学
  • コンピューティング
  • 言語学
  • あるいは関連する分野

において、問題を解くための手順を定式化した形で表現したものです。

このアルゴリズムの説明を見ると少し難しそうですが、アルゴリズムを分かりやすく説明する為に例を出します。

アルゴリズム

上記の文字列は、僕が即席で作った暗号文です。

このままだと意味のある文章になっていません。

この文字列を平文にする為には、暗号文に書かれているアルファベットをアルファベット順で1つ前のアルファベットに置換します。

アルゴリズム

すると、理解出来る文章に変わりました。

アルゴリズム

つまり、「アルファベット順で1つ前のアルファベットに置換する」という法則・規則(アルゴリズム)を利用して平文を暗号文に変換したのです。

アルゴリズム

RC4DESAES
公式名称Rivest Cipher 4Data Encryption
Standard
Advanced Encryption
Standard
開発者Ronald Linn Rivest
(ロナルド・リベスト)
IBM・Joan Daemen
(ホァン・ダーメン)
・Vincent Rijmen
(フィンセント・ライメン)
暗号ストリーム暗号ブロック暗号ブロック暗号
鍵長40 – 2048 ビット56 ビット128,192,256 ビット
・既に解読法が開示
・非推奨
・アメリカの旧国家暗号規格・DESに代わる新標準暗号
ストリーム暗号ブロック暗号
内容平文をビット単位あるいはバイト単位などで逐次、暗号化する暗号固定長のデータ(ブロックと呼ぶ)を単位として処理する暗号

ビット・バイトに関する記事はこちら

1バイトは何ビット?16進数から10進数・2進数に変換
1バイトは何ビット?16進数から10進数・2進数に変換 私たちが生活している世界では10進数が利用される事が多く、2進数にあまり馴染みがありません。 しかし、今や生活に欠かす事の出来ないコンピュータは2進数を利用しています。 人間の世界・・...

公開鍵暗号方式

公開鍵暗号方式

公開鍵暗号方式の仕組み

公開鍵暗号方式では、

  • 公開鍵
  • 秘密鍵

二つの鍵が使われ、それぞれの特徴は

  • 公開鍵・・・
    • 秘密鍵でしか開錠出来ない錠みたいなもの
    • 秘密鍵により複数作成可能
  • 秘密鍵・・・
    • 公開鍵を作成出来る鍵みたいなもの
    • 公開鍵を開錠出来る唯一の手段

になります。

クライアント・サーバ・モデルを例にして、公開鍵暗号方式の一連の流れを見ていきます。

送信者が受信者に通信リクエストを送信します。

通信リクエストを受けた受信者が秘密鍵を利用して公開鍵を生成します。

公開鍵暗号方式の仕組み

受信者が生成した公開鍵を送信者に送ります。

公開鍵暗号方式の仕組み

送信者は公開鍵を使用して平文を暗号文に暗号化します。

公開鍵暗号方式の仕組み

公開鍵暗号方式は

  • 平文 -> 暗号文 の変換(暗号化)に「公開鍵」
  • 暗号文 -> 平文 の変換(復号化)に「秘密鍵」

という方式ですので、共通鍵暗号方式の様に公開鍵を受信者に送る必要がありません。

公開鍵暗号方式の仕組み

ここで、悪意あるユーザが公開鍵を入手したとしても、公開鍵では暗号文を平文に変換(復号化)出来ない為、通信内容を読み取られる事はありません。

公開鍵暗号方式の仕組み

受信者は送信者から送られてきた暗号文の通信内容を秘密鍵を使って平文に変換(復号化)します。

公開鍵暗号方式の仕組み

公開鍵暗号方式では、送受信者間での暗号文を平文に変換する「鍵」のやりとりはありませんが、受信者が秘密鍵を失くすと暗号文を平文に変換(復号化)する事は出来ません。

公開鍵暗号方式の特徴

公開鍵暗号方式の特徴は

  • 暗号化・復号化に別個の鍵を用いて暗号化のための鍵を公開できるようにした暗号方式
  • 共通鍵暗号方式の鍵配送問題を解決すべく開発された暗号方式

になります。

また、公開鍵暗号方式で使用する暗号アルゴリズムには

  • DH
  • RSA
  • ECC 等々

があります。

DHRSAECC
公式名称Diffie-Hellman key exchangeRivest Shamir AdlemanElliptic Curve Cryptography
(楕円曲線暗号)
開発者・Martin Edward Hellman
(マーティン・ヘルマン)
・Bailey Whitfield Diffie
(ホイットフィールド・ディフィー)
・Ronald Linn Rivest
(ロナルド・リベスト)
・Adi Shamir
(アディ・シャミア)
・Leonard Max Adleman
(レオナルド・エーデルマン)
・Victor Miller
(ビクタ・ミラー )
・Neal Koblitz
(ニール・コブリッツ)
・処理負荷が掛かる・桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠
・暗号とデジタル署名を実現できる方式
・楕円曲線を利用した暗号方式の総称

共通鍵暗号方式・公開鍵暗号方式の比較

共通鍵暗号方式・公開鍵暗号方式の比較

共通鍵暗号方式・公開鍵暗号方式それぞれの方式を

  • 暗号化アルゴリズム
  • 使用する暗号鍵
  • データ処理時間
  • 鍵の授受

の観点から比較してみます。

共通鍵暗号方式公開鍵暗号方式
暗号化アルゴリズム・RC4
・DES
・AES
・DH
・RSA
・ECC
使用する暗号鍵共通鍵 ・公開鍵
・秘密鍵
データ処理時間速い 遅い
鍵の授受第三者に傍受されずに共通鍵を安全に交換する必要あり = 鍵配送問題公開鍵を一般に公開しても問題なし

以上が、

  • 共通鍵暗号方式
  • 公開鍵暗号方式
  • 共通鍵暗号方式・公開鍵暗号方式の比較

についての解説になります。

コメント

  1. […] (Yone’s Archive 共通鍵暗号方式と公開鍵暗号方式の仕組みと特徴[図解] 2020…) […]