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




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

現代生活で、切っても切れ離せないのが「インターネット」。

スマート・フォンノートパソコンを使ってインターネット接続しない日は、ほとんど無いと思われます。

そのインターネットは、

  • 世界中のインターネット接続している方達と瞬時に繋がれる
  • 物理的コスト・時間的コストが大幅に節約される 等々

という大きなメリットがある半面、通信のセキュリティ面で不安な部分もあります。

この記事では、

  • 通信暗号化の必要性

それに加えて、通信暗号化の一般的な方式である、

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

それぞれの仕組み・特徴について説明、最後に共通鍵暗号方式公開鍵暗号方式を比較します。

通信暗号化の必要性

通信暗号化の必要性

インターネット通信の暗号化は何故、必要なのでしょうか。」

この記事を読んでいる大半の方が分かっていらっしゃると思いますが、インターネット通信モデルの一部を少し説明させて貰います。

あなたがインターネットを通して、

  • 情報の検索
  • 商品・サービスの購入
  • Webメールの送受信

を行う際に

  • Google Chrome
  • Safari
  • Internet Explorer 等々

これらWebブラウザを使って、世界中のサーバにアクセスして、情報のやり取りをしています。

Webブラウザ・サーバ

このモデルはクライアント・サーバ・モデルと呼ばれ、

  • Webブラウザ・・・クライアント・サイド
  • Webサーバ・・・サーバー・サイド

それぞれの役割に分かれて、

  1. クライアント・サイドがリクエスト(Request:依頼)
  2. サーバー・サイドがリクエスト(依頼)にレスポンス(Response:応答)

このアクションを繰り返し行うインターネット通信モデルになります。

クライアント・サーバ・モデル

クライアント・サーバ・モデルに関する記事はこちら

【図解あり】クライアント・サーバ・モデルとは
【図解あり】クライアント・サーバ・モデルとは クライアント・サーバ・モデルとはコンピュータのネットワーク・アーキテクチャの一つです。 クライアント(client)・・・クライアントは英単語です。 邦訳すると 依頼人 ...

インターネット通信モデルの1つであるP2P(peer-to-peer)モデルに関する記事はこちら

【図解あり】P2P(peer-to-peer)モデルとは
【図解あり】P2P(peer-to-peer)モデルとは P2P(peer-to-peer:ピア・ツー・ピア)モデルとは、複数の端末間で通信を行う際のコンピュータのネットワーク・アーキテクチャの一つです。 peer(ピア)・・・...

インターネット通信の暗号化は何故、必要なのでしょうか。」という問いから少し脱線しましたが、話を戻します。

皆さんの中で

  • Amazon
  • 楽天
  • Yahoo shopping! 等々

これらECサイトから、商品・サービスを購入する為に、Webブラウザから

  • 住所
  • 電話番号
  • クレジットカード番号

個人情報を入力・送信して、会員登録されている方も多いと思われます。

また、ECサイトだけではなく、

  • ネット銀行
  • ネット証券
  • FX(Foreign eXchange)証券 等々

これらの機関で、口座開設・取引をする為にインターネットを利用されている事でしょう。

インターネットを利用する事で、物理的・時間的コストが省かれ、大きなメリットがある反面、インターネットの世界では、インターネットに繋がる機能さえ備えていれば、誰でもインターネットに接続可能である為、

  • ECサイトで登録する際の個人情報
  • ネット銀行で口座開設の際の個人情報
  • ネット証券で取引する際の個人資産 等々

これらを不正に取得・利用しようとする悪意あるユーザ(インターネット利用者)もおり、セキュリティ面の不安というデメリットもあります。

インターネット通信・暗号化なし

そこで、

  • クライアント・サーバ
  • ユーザー間

でのやりとりを暗号化する事で、悪意あるユーザから、あなたの個人情報を守るのです。

インターネット通信・暗号化あり

共通鍵暗号方式

共通鍵暗号方式

本記事では

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

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

具体的には、」のような役割を果たす無形資産(データ)をイメージすると良いでしょう。

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

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

暗号化・復号化

共通鍵暗号方式の仕組み

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

クライアント(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に代わる新標準暗号
 ストリーム暗号ブロック暗号
内容平文をビット単位あるいはバイト単位などで逐次、暗号化する暗号固定長のデータ(ブロックと呼ぶ)を単位として処理する暗号

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

コンピュータが動く仕組み【ビット・バイト】
コンピュータが動く仕組み【ビット・バイト】 コンピュータが動く仕組みは2進数が基本です。 2進数についてはこちら 僕たちが普段生活している世界では10進数を使っているので、2進数はしっくりこないと思います。 ...

公開鍵暗号方式

公開鍵暗号方式

公開鍵暗号方式の仕組み

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

クライアント(Webブラウザ)(以下:送信者)から、Webサーバ(以下:受信者)へ、通信内容を平文で送ると、悪意あるユーザは、容易に通信内容を読む事が出来ます。

公開鍵暗号方式では、

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

それぞれ、この様な役割を果たしています。

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

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

公開鍵暗号方式の仕組み

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

公開鍵暗号方式の仕組み

送信者公開鍵を使って、平文暗号文に変換します。

公開鍵暗号方式の仕組み

公開鍵暗号方式

  • 平文 ➡️ 暗号文 の変換に「公開鍵
  • 暗号文 ➡️ 平文 の変換に「秘密鍵

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

公開鍵暗号方式の仕組み

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

公開鍵暗号方式の仕組み

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

公開鍵暗号方式の仕組み

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

公開鍵暗号方式の特徴

公開鍵暗号方式の特徴として

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

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

  • 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. […] […]

  2. […] […]

  3. […] […]