暗号化
暗号鍵に関して
クライアントとサーバーでやり取りをする際に、データを改竄 or 盗聴されないように、平文を暗号文に変換する
この変換の際に使われるのが、暗号鍵
暗号鍵は、①平文を暗号文へ変換する「暗号化」②暗号文を平文へ戻す「復号」の二つの用途がある
この暗号鍵によって暗号化をするやり方のことを、暗号化方式という
この暗号化方式には大きく二種類ある
1. 共通鍵暗号化方式
2. 公開鍵暗号化方式
共通鍵暗号化方式
①平文を暗号文へ変換する「暗号化」で共通鍵が利用され
②暗号文を平文へ戻す「復号」でも共通鍵が利用される
公開鍵暗号化方式
①平文を暗号文へ変換する「暗号化」で公開鍵が利用され
②暗号文を平文へ戻す「復号」では秘密鍵が利用される
暗号化技術力のユースケース
SSL証明書(デジタル証明書)
目的:
クライアント側に配布されている公開鍵をの送り主(機関・銀行・法人など)が信頼できることを証明してくれる
証明方法:
CA(認証局)が証明書を発行することで行う
通信相手が送ってきた証明書を、認証局に照会し、通信相手の身元を確認できる
https://gyazo.com/8c9005eb61445cfaadfd2773540ea98e
手順
デジタル署名
目的:
データが途中で改竄されていないことを証明する
証明方法
https://gyazo.com/4e15022fccf7aaffcfba465aea48358b
クライアント側で行うこと
1. 送信するデータをハッシュ関数によって、ハッシュ値に変換される
2. されにそのハッシュ値を、秘密鍵で暗号化する
・・ハッシュ化&暗号化されたデータは、送信するデータとセットでサーバー側へ送られる
サーバー側で行うこと
1. 送られてきたデータを(注意:このデータはハッシュ化されていない)、クライアントと同じように、ハッシュ値にする
2. 暗号化されたハッシュ値を、サーバー側で持っている公開鍵でハッシュ値に戻す
3. 1と2で出てきた値が一致していれば、送信者がPC太郎くんであることが分かる