ねこ日記

プログラミング学習の記録

SSHとかSSLとか

SSH

SSH= Secure Shell

セキュアなシェル。 シェルはOSとサーバをつなぐ受付嬢的な役割だと先日読んだけれど、セキュリティーバッチリな状態にしておくことで安全な操作が可能になるという事のよう。

公開鍵暗号(Public-key cryptography)秘密鍵暗号(secret key cryptosystem)を組み合わせることで通信経路もOSとサーバを行き来する情報や処理結果も全部暗号化してしまう。

SSL

SSL(secure sockets layer)というプロトコル

プロトコル:コンピューター同士が通信をする際の手順や規約などの約束事

SSLは安全な通信に関する約束事。

ssl通信してる時はアドレス欄に“https://~”と表示される。

アプリケーションとTCPの間で動いている。

暗号化方式

方式 内容 特徴
共通鍵暗号 暗号化と復号に同じ鍵を使う 通信が軽いが安全性は低い
公開鍵暗号 暗号化した鍵(公開鍵)とペアの鍵(秘密鍵)でしか復号できない 通信は重いが安全性が高い

クライエントとサーバーのやりとり

前準備

  1. クライエントがサーバーにSSL通信を要求する
  2. サーバーからサーバー証明書と公開鍵がクライエントに返ってくる。

<クライエント>公開鍵がある(暗号化できる)

<サーバー>秘密鍵がある(復号できる)

  1. クライエントが共通鍵を暗号化してサーバーに送る

情報のやりとり

  • クライエントとサーバー間は共通鍵で暗号化した情報を送受信する

共通鍵を秘密鍵暗号方式で共有することで、共通鍵暗号方式で高速かつ安全な通信が可能になる

TLS

SSLを専門家を交えてよりセキュリティ強化を目指して開発されたのがTLS(Transport Layer Security)らしい。

参考にしたブログ

プロトコル(プロトコル)とは - コトバンク

TPCベンチマーク基礎講座 | 日経 xTECH(クロステック)