コンフィグレーションガイド Vol.1


11.1.5 SSHが使用する暗号技術

SSHでは,次に示す暗号技術を使用して,セキュアな通信を実現します。

〈この項の構成〉

(1) 共通鍵暗号

送信者と受信者で同じ鍵(共通鍵と呼ぶ)を使用します。共通鍵暗号は,送信者と受信者とで共通鍵を共有し,送信者はその鍵で暗号化し,受信者はその鍵で復号する技術です。共通鍵暗号による暗号化通信の例を次の図に示します。

図11‒6 共通鍵暗号による暗号化通信の例

[図データ]

(2) メッセージ認証コード

メッセージ認証コードは,共通鍵を使用して,送信者が送信した通信データが改ざんされていないことを確認する技術です。また,改ざんされていないことを確認するために使用する固定長のデータのことも,メッセージ認証コードと呼びます。

送信者は通信データと共通鍵を組み合わせてメッセージ認証コードを作成し,通信データと同時に送信します。受信者でも通信データと共通鍵を組み合わせてメッセージ認証コードを作成し,受信したメッセージ認証コードと比較します。比較した結果同じであれば,通信データが改ざんされてないことが確認できます。メッセージ認証コードによる改ざん確認の例を次の図に示します。

図11‒7 メッセージ認証コードによる改ざん確認の例

[図データ]

(3) 認証付き暗号

認証付き暗号は,共通鍵暗号とメッセージ認証コードを組み合わせた方式です。共通鍵を使用し,暗号とメッセージ認証を同時に実現します。

(4) 公開鍵アルゴリズム

公開鍵アルゴリズムは,二種類の鍵である公開鍵と秘密鍵を,ペアで使用するアルゴリズムです。ペアになる公開鍵と秘密鍵の組み合わせを鍵ペアと呼びます。

(a) 公開鍵暗号

公開鍵暗号は,公開鍵で暗号化し,秘密鍵で復号する暗号化技術です。受信者は鍵ペアを作成して,公開鍵だけを送信者へ送付します。送信者は,受信者の公開鍵でデータを暗号化して送信します。このように,秘密鍵を保持する受信者しか復号できない暗号化通信を実現します。公開鍵暗号による暗号化通信の例を次の図に示します。

図11‒8 公開鍵暗号による暗号化通信の例

[図データ]

(b) デジタル署名

デジタル署名は,通信データが改ざんされていないか,送信者が正しいかを確認する技術です。送信者は,あらかじめ公開鍵を受信者へ公開しておき,通信データと秘密鍵から署名を作成します。受信者は,通信データと署名と公開鍵から,署名が正しいことを確認します。署名が正しければ,通信データが改ざんされていないこと(通信データの認証),および送信者が秘密鍵の保有者であること(送信者の認証)が確認できます。デジタル署名の例を次の図に示します。

図11‒9 デジタル署名の例

[図データ]

(5) 鍵交換

鍵交換は,通信の両端が交換した情報を基に共通鍵を作成する方式です。サーバとクライアントは,それぞれ鍵ペアを生成し,互いに公開鍵を送付します。自装置の秘密鍵と対向装置の公開鍵を合成すると,サーバとクライアントで同じ共通鍵が生成されます。悪意ある第三者が盗聴してサーバとクライアントの公開鍵を入手しても,公開鍵だけでは共通鍵を作成できません。このため,サーバとクライアントの間で安全に共通鍵を共有できます。鍵交換の例を次の図に示します。

図11‒10 鍵交換の例

[図データ]