0
1

More than 3 years have passed since last update.

暗号化、デジタル署名、SSL通信

Posted at

暗号化技術

暗号化とは、中身を見てもわからない形へと変換すること

公開鍵暗号方式

暗号化に使う鍵と復号に使う鍵が別物

特徴
・秘密鍵と公開鍵はペア
・暗号化は、公開鍵
・復号化は、秘密鍵で行う

公開鍵を配布して「自分に送ってくる時はこの鍵を使って暗号化してください」とする。
暗号化されたデータは、それとペアになる秘密鍵でしか復号化できない。

メリット
・データの安全性の高さ
・公開鍵の管理も容易

デメリット
・暗号化、復号が複雑で処理時間がかかる

デジタル署名

公開鍵暗号方式技術を応用し、改ざんされていないか、誰が送信したものかを確認できるようにする
ハッシュ化という手法で短いデータを作成しそれを暗号化することをデジタル署名

ハッシュ化

ハッシュ化は、ルールに基づき別の値に変えること
ある特定の文字列や数字の羅列を一定のルール(ハッシュ関数)に基づいた計算手順によって別の値(ハッシュ値)に置換

ハッシュ化が適するシーン
「その値を元に戻す必要性がないシーン」。代表的な例が『パスワードの保管』

暗号化が適するシーン
暗号化が適するシーンはハッシュ化の逆で、「その値を元に戻す必要がある」場合

SSL(HTTPS)通信

HTTPSで配信するには、SSLサーバー証明書をサーバーにインストールしておく必要がある
SSlサーバ証明書は3または4階層からできており、その最上位の階層にあるのがルート証明書
ルート証明書はWebブラウザにあらかじめ登録されていて、サーバーから送られてくる証明書と照合する
照合した結果、ルート証明書にある認証局の署名が一致すれば、信頼できる証明書と判断する

SSL通信の仕組み
①SSLサーバー証明書と公開鍵を送る
サーバーがHTTPSでの接続リクエストを受けると、はじめにSSLサーバー証明書をクライアント側に送る
SSL証明書には公開鍵が含まれる

②共通鍵生成
 サーバー側のルート証明書とブラウザに登録されているルート証明書照合
 照合できたら、クライアントは共通鍵を生成

③共通鍵を公開鍵で暗号化して送る
 サーバー側は送られてきた公開鍵をい秘密鍵で復号し、共通鍵を取り出す
 これでサーバーとクライアントの両方に共通鍵を持つことができる

④SSL通信開始
 共通鍵を使って暗号化通信を開始する

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1