KEYWORD ENCYCLOPEDIA

キーワード事典 | セキュリティに関するキーワードを解説

SSH (Secure SHell)

この記事をシェア

通信経路の暗号化により、データのみならず認証に関わるパスワードなどの送信内容が第三者に知られることなく安全に通信できるようにするプロトコルで、UNIX環境のコンピューターで用いられる。


UNIX系のコンピューターにおいては、操作を行うためのコマンドを入力するところを「シェル」と呼び、ユーザーとカーネルとを橋渡ししている。由来は、貝のようにシステムの中核にあるカーネルの周りを包み込んでいることによる。このシェルを安全にリモートで通信できるようにした仕組みが「SSH」(セキュアシェル)である。

「セキュア」(=安全な)という言葉が付けられているのは、第一に、データやパスワードなどの送信内容が暗号化されているからであり、第二に、サーバーに接続する際には間違ったサーバーに誘導されていないかどうかのチェックが行われるからである。

また「SSH」の場合、通信において用いられる言葉であり、シェルはサーバーに対するコマンドでもある。

リモートによるサーバー(ホスト)のシェルを利用する場合、これまでにもTelnetなど既存のプロトコルがあった。しかもこれらもデータの暗号化は行われていた。ところが、これらはパスワードが暗号化されずそのまま(=平文で)送られてしまうため、パスワードが盗まれれば、データの内容も傍受可能となっていた。

それに対してSSHの暗号化には、公開鍵と秘密鍵とが組み合わせて用いられているため、Telnetのようなセキュリティの面で危険性が少なく、傍受が困難となる。

暗号化の流れは以下の通りである。

1. RSAなどの公開鍵暗号を用いてAESなどの共通鍵を暗号化
2. 暗号化された共通鍵を交換
3. 通信に当たって別の高速な共通鍵暗号を利用

暗号化に加えて認証についても多様な仕組みが用意されている。

  • パスワード認証
  • 公開鍵認証
  • ワンタイムパスワード など
 

デフォルトで設定されているのはパスワード認証で、接続先のOSのユーザー名とパスワードによってログインするやり方である。公開鍵認証は、サーバーに公開鍵を置き、クライアントに秘密鍵を置いたもので、この場合はパスワードの入力を行わずにログインできる。パスワード認証よりも公開鍵の方がセキュリティ面では強固となる。これらから用途や必要に応じて選択できるようになっている

バージョンの違い

SSHには「ssh-1.x」と「ssh-2.x」の2つのバージョンがある。「ssh-1.x」は非商用目的で個人が利用する場合は無償であるが、脆弱性があるために利用はあまり勧められない。「ssh-2.x」は基本的には有償の扱いとなるが、その分安全性が高くなっている。

なお、オープンソースである「OpenSSH」がLinuxにおいて標準的に利用されており、一般的にSSHと言えばOpenSSHのことを意味する。

この記事をシェア

ネットワークのセキュリティ対策に

サイバーセキュリティ
情報局の最新情報を
チェック!