「現場で使える! SQL Server実践ガイド」を公開しました!

データの暗号化について

データを暗号化する目的

・「機密性」と「完全性」を実現するため
・「機密性」とは「第三者に対しデータを秘密にすること」
・「完全性」とは「消去や改ざんがされていないこと」

共通鍵でデータを暗号化し復号

●メリット
・処理が速い

●デメリット
・暗号化されたデータとは別で、送信者は復号に使用する鍵を受信者へ渡す必要がある
・送信者と受信者の間で、安全に(盗聴等をされることなく) 鍵 を渡す手段が必要

●使用例
・パスワードを掛けたWordファイル(機密文書)をメールで送信後、別メールでパスワード(鍵)
 を送信する
 →よく行われているがNG。「別メールでパスワード(鍵)を送信」は安全ではないため。
 →両方のメールを盗聴されたら機密データが漏洩してしまうため。

公開鍵/秘密鍵でデータを暗号化し復号

●メリット
・暗号化されたデータとは別で、送信者は復号に使用する鍵を受信者へ渡す必要が無い
・送信者と受信者の間で、 安全に(盗聴等をされることなく)鍵を渡す手段が必要無い

●デメリット
・処理が遅い

公開鍵/秘密鍵でデータを暗号化し復号する流れ

①受信者が公開鍵/秘密鍵のペアを作成し、公開鍵を公開する(メール等で送信者に渡す)。
 公開鍵は第三者に盗聴されても問題無い。
 秘密鍵は非公開とし自分だけが持っている状態にする。

②送信者は受信者の公開鍵を取得する。
 なおここでは取得した公開鍵は正しいものとする(改ざんやすり替えは行われていないとする)。
 取得した公開鍵を使用して機密データを暗号化する。
 なお機密データを公開鍵で暗号化するのは時間が掛かるため現実的ではない。

④送信者は「暗号化した機密データ」を送信する。

⑤受信者は「暗号化した機密データ」を取得し秘密鍵で復号する。
➡仮に第三者が「暗号化した機密データ」を盗聴したとしても、秘密鍵を知らないため(秘密鍵は
 ネットワーク上に流れないため盗聴不可)、複合できない。
 よって機密データを見ることはできない。
 機密データを見ることができるのは(復号できるのは)、受信者のみ。

公開鍵/秘密鍵でデータへデジタル署名をする流れ

①送信者が公開鍵/秘密鍵のペアを作成し 、データを秘密鍵で暗号化(デジタル署名)する。
 秘密鍵は非公開とし自分だけが持っている状態にする。

②送信者は「暗号化された(デジタル署名された)データ」と「公開鍵」をメール等で受信者へ
 渡す。

③受信者は 取得した「公開鍵」 を使用して、 取得した「暗号化された(デジタル署名された)
 データ」 を復号する。
 なおここでは取得した公開鍵は正しいものとする(改ざんやすり替えは行われていないとする)。
➡公開鍵で復号できたということは、ペアとなる秘密鍵で暗号化されたということ。
秘密鍵は送信者しか持っていないため、送信者により暗号化(デジタル署名)されたということ。
 つまり署名したのは(暗号化したのは)第三者ではなく送信者本人であることが証明できる。

ハイブリット方式でデータを暗号化し復号

●概要
共通鍵と公開鍵/秘密鍵で暗号化し復号する。

●メリット
・処理が速い
・暗号化されたデータとは別で、送信者は暗号化されていない鍵を受信者へ渡す必要が無い
・送信者と受信者の間で、 安全に(盗聴等をされることなく)鍵を渡す手段が必要無い

●デメリット
・無し!!!
・よって送信者と受信者(暗号化する人と復号する人)が別の場所にいる場合、一般的に
 ハイブリット方式が用いられている。

ハイブリット方式でデータを暗号化し復号する流れ

①受信者が公開鍵/秘密鍵のペアを作成し、公開鍵を公開する(メール等で送信者に渡す)。
  秘密鍵は非公開とし自分だけが持っている状態にする。

②送信者は共通鍵を生成する。

③送信者は共通鍵を使用して、機密データを暗号化する。
 なお共通鍵で暗号化するのは時間が掛からないため現実的である。

④送信者は受信者の公開鍵を入手(DL)し、公開鍵を使用して、共通鍵を暗号化する。
 なお共通鍵は小さなデータであるため、公開鍵で暗号化しても時間が掛からないため
 現実的である。
 なおここでは取得した公開鍵は正しいものとする(改ざんやすり替えは行われていないとする)。

⑤送信者は「暗号化した機密データ」と「暗号化した共通鍵」を送信する。

⑥受信者は「暗号化した共通鍵」を取得し秘密鍵で復号する。
 受信者は「暗号化した機密データ」を取得して「復号した共通鍵」で復号する
➡仮に第三者が「暗号化した機密データ」と「暗号化した共通鍵」を盗聴したとしても、
 秘密鍵を知らないため(秘密鍵はネットワーク上に流れないため盗聴不可)、
 「暗号化した共通鍵」を複合できない。
 「暗号化した共通鍵」を復号できないため、「暗号化した機密データ」を復号できない。
 よって機密データを見ることはできない。
 「暗号化した共通鍵」を復号できるのは、受信者のみ
 機密データを見ることができるのは(復号できるのは)、受信者のみ。

タイトルとURLをコピーしました