【SSHとは】
このHPはSSH(概要、アクセス制御手順)についてまとめたものです。
1-1 SSHとは
「SSH」とは、遠隔のネットワーク上からアクセス可能なデバイスに、安全なリモートログイン・操作を実現するために用いられるプロトコル。認証後はデータを暗号化して通信することが出来る。ポート番号は「22」。
SSHは、各種の暗号化技術や認証技術等を利用することで安全性を確保する。
SSHは、大きく「鍵交換」、「ホスト確認」、「ユーザー認証」、「通信データの暗号化」の4つのフェーズを実現するプロトコルであり、最新バージョンは「バージョン2」。
SSHと同様に遠隔操作で利用されるプロトコルに「Telnet」があるが、Telnetはデータを暗号化しないでそのまま通信するため、ネットワークの経路上で盗聴される恐れがある。


◆SSHの認証方法
SSH認証はユーザーIDとパスワードを用いる方法(パスワード認証)と、公開鍵方式を利用した認証方法(公開鍵認証)が用意されている。


1-2 SSHを使用したアクセス制御の手順
SSHは、強力な暗号化と認証機能によって、ログイン後にやり取りするデータが全て暗号化されるので、管理者は安全にリモートログインを利用することが出来る。
SSHクライアント(ターミナルソフト)は、SSHサーバー(対象のネットワーク機器)にアクセスすると、3ウェイハンドシェイクでTCPコネクションをオープンする。その後、下記の手順で処理を行う。
《SSHを使用したアクセス制御の手順》
手順@:ホスト認証
ホスト認証は、リモートホスト(SSHサーバー)が正しいホストかどうか(なりすまし防止)を確認するために行う。これにより、不正にサーバーになりすまし、ユーザーの情報を盗むといった攻撃を防止する。
SSHサーバーは、あらかじめ2つの異なるペアの鍵(公開鍵と秘密鍵)を作成しておく。
SSHサーバーは、SSHクライアントから接続要求を受け取ると、乱数を生成し、公開鍵で暗号化して送信する。SSHクライアントは、それを秘密鍵で復号化し、乱数を取り出し、ハッシュ値にして返信する。
ハッシュ値を受け取ったSSHサーバーは、自身でも乱数からハッシュ値を計算し、同じ値なら認証成功と判断する。
下図はPCが通信相手のルーターを認証するホスト認証の様子を示す。

手順A :ユーザー認証
ユーザー認証は、SSHクライアントで接続してくるユーザーが正当なユーザーかどうかを認証する。
ユーザー認証方法には「公開鍵認証」と「パスワード認証」2つがある。
「公開鍵認証」は、その名の通り公開鍵を使用したユーザー認証。ホスト認証と同じ様な認証をユーザー単位で行う。
「パスワード認証」は、SSHサーバーにあらかじめ「ユーザー名」と「パスワード」を用意しておく必要がある。
また、この情報をSSHサーバー自身で持つ方式を「ローカル認証」という。
また「AAA」の認証サーバーでユーザー情報を持つ方式を「リモート認証」という。
AAAサーバーを使用すると、同じSSHクライアントが、複数の機器へSSH接続する場合も、1台のAAAサーバーにのみユーザー情報を登録しておき、一元管理することができる。


手順B :データ(通信内容)の暗号化
SSHサーバーは、、ホスト認証が終了すると、お互いが通信でやり取りするデータを暗号化および復号するために秘密鍵とMAC鍵を作成する。
つまり、ユーザー認証は秘密鍵によって暗号化されている。
暗号化アルゴリズムには、 DES 、3DES、 AES等を選択することが可能。
デフォルトは3DES。
SSHクライアントは、接続ごとに異なる暗号鍵(秘密鍵)とMAC鍵を使用してSSHサーバーと安全に通信することが出来る。

このHPはSSH(概要、アクセス制御手順)についてまとめたものです。
1-1 SSHとは
「SSH」とは、遠隔のネットワーク上からアクセス可能なデバイスに、安全なリモートログイン・操作を実現するために用いられるプロトコル。認証後はデータを暗号化して通信することが出来る。ポート番号は「22」。
SSHは、各種の暗号化技術や認証技術等を利用することで安全性を確保する。
SSHは、大きく「鍵交換」、「ホスト確認」、「ユーザー認証」、「通信データの暗号化」の4つのフェーズを実現するプロトコルであり、最新バージョンは「バージョン2」。
SSHと同様に遠隔操作で利用されるプロトコルに「Telnet」があるが、Telnetはデータを暗号化しないでそのまま通信するため、ネットワークの経路上で盗聴される恐れがある。


◆SSHの認証方法
SSH認証はユーザーIDとパスワードを用いる方法(パスワード認証)と、公開鍵方式を利用した認証方法(公開鍵認証)が用意されている。


1-2 SSHを使用したアクセス制御の手順
SSHは、強力な暗号化と認証機能によって、ログイン後にやり取りするデータが全て暗号化されるので、管理者は安全にリモートログインを利用することが出来る。
SSHクライアント(ターミナルソフト)は、SSHサーバー(対象のネットワーク機器)にアクセスすると、3ウェイハンドシェイクでTCPコネクションをオープンする。その後、下記の手順で処理を行う。
《SSHを使用したアクセス制御の手順》
手順@:ホスト認証
ホスト認証は、リモートホスト(SSHサーバー)が正しいホストかどうか(なりすまし防止)を確認するために行う。これにより、不正にサーバーになりすまし、ユーザーの情報を盗むといった攻撃を防止する。
SSHサーバーは、あらかじめ2つの異なるペアの鍵(公開鍵と秘密鍵)を作成しておく。
SSHサーバーは、SSHクライアントから接続要求を受け取ると、乱数を生成し、公開鍵で暗号化して送信する。SSHクライアントは、それを秘密鍵で復号化し、乱数を取り出し、ハッシュ値にして返信する。
ハッシュ値を受け取ったSSHサーバーは、自身でも乱数からハッシュ値を計算し、同じ値なら認証成功と判断する。
下図はPCが通信相手のルーターを認証するホスト認証の様子を示す。

手順A :ユーザー認証
ユーザー認証は、SSHクライアントで接続してくるユーザーが正当なユーザーかどうかを認証する。
ユーザー認証方法には「公開鍵認証」と「パスワード認証」2つがある。
「公開鍵認証」は、その名の通り公開鍵を使用したユーザー認証。ホスト認証と同じ様な認証をユーザー単位で行う。
「パスワード認証」は、SSHサーバーにあらかじめ「ユーザー名」と「パスワード」を用意しておく必要がある。
また、この情報をSSHサーバー自身で持つ方式を「ローカル認証」という。
また「AAA」の認証サーバーでユーザー情報を持つ方式を「リモート認証」という。
AAAサーバーを使用すると、同じSSHクライアントが、複数の機器へSSH接続する場合も、1台のAAAサーバーにのみユーザー情報を登録しておき、一元管理することができる。


手順B :データ(通信内容)の暗号化
SSHサーバーは、、ホスト認証が終了すると、お互いが通信でやり取りするデータを暗号化および復号するために秘密鍵とMAC鍵を作成する。
つまり、ユーザー認証は秘密鍵によって暗号化されている。
暗号化アルゴリズムには、 DES 、3DES、 AES等を選択することが可能。
デフォルトは3DES。
SSHクライアントは、接続ごとに異なる暗号鍵(秘密鍵)とMAC鍵を使用してSSHサーバーと安全に通信することが出来る。
