SSL
ftp

FTPの通信コネクションとSLLセッションの再利用について。

FTPの通信コネクションの種類

  • コントロールコネクション
    FTPサーバにログインする際の利用者認証が必要。データコネクションを確立するためのもの。

  • データコネクション
    認証がないFTPクライアント(WinSCPやPhpStormといったもの)が多い。実際のデータ転送に使用するコネクション。

コントロールコネクション→データコネクションの順に接続される。

コントロールコネクションで認証が通っても、中間者攻撃などでデータコネクションをクラッカーに接続確立されると、通信内容を見られたり、ダウンロードされたりする。
この問題の解決策として、通信コネクションの両方とも認証を行えば良いが、FTPクライアントでそこまで実装しているものはほとんどない。

SSLセッションの再利用

そこでFTPS(FTP over SSL/TLS)の場合、データコネクションは認証の変わりにSSLセッションを使いまわし、上記の問題を回避できる。コントロールコネクションでSSL認証して、データコネクションでもその合格した認証を接続に使う。