Web事業部実績紹介_Webマーケティング
Web事業部実績紹介_Webマーケティング
2018.12.17

FTP、FTPS、SFTP、SCPの違いってなんなんだ?

ZIMA

ども!LIGでWebディレクターをやっていますZIMAです。

先日、上司から「FTPFTPSSFTPSCPの違いについてZIMAは説明できる?」と聞かれました。その返答の途中、

「いやいや、待ってくださいよ。そんなの僕だって〜わっかりま……(あれ?FTPFTPSは理解しているつもりだけど、SFTPSCPについては、謎だ!)」

と、途中で謎だということに気が付いたのです。そこで今回はその、「FTPFTPSSFTPSCPの違い」について調べてみましたので、その結果をご報告したいと思います。

目次

  1. FTPとは
  2. FTPSとは
    • 「SSL/TLS」とは
  3. SFTP
    • 「SSH」とは
  4. SCP
  5. まとめ

FTPとは

FTP(File Transfer Protocol

直訳すると、サーバーへファイルをトランスファーするためのプロトコルのことを言います。

聞きなれない言葉の意味を翻訳すると、下記の通り。

  • Transfer(トランスファー)は「転送
  • Protocol(プロトコル)は「規約

つまり、サーバーへ「ファイルを転送するための規約」という意味です。

具体的な用途としては、HPの表示に必要なファイルをPCからサーバーへアップロードしたり、逆に保存していたファイルをダウンロードする際に利用されています。

情報をアップロードする際はFFFTPFileZillaなどのFTPソフトが必要になります。

ただ、FTPは利用者の認証情報(ユーザー名、パスワード)やファイルなど、通信する一切の情報を暗号化せずに転送します。そのため、過去にコンピューターウイルスの標的にされたこともあるのです。現在ではFTPではなく、FTPSSFTPSCPなど情報を暗号化するプロトコルが推奨されています。

続いては、そのFTPSSFTPSCPの3つの違いをご説明します。

FTPSとは

FTPS(File Transfer Protocol over SSL/TLS)

FTPの脆弱性をカバーするために、転送される情報を「SSL/TLS」を利用して暗号化するプロトコルのことです。

SSL/TLS」とは

公開鍵暗号共通鍵暗号という暗号化技術の組み合わせで、暗号化された安全な通信を確保する仕組みです。

SSLTLSは、大枠は同じ仕組みのものです。SSLがバージョンアップを重ねたことでTLSが誕生しましたが、SSLのネームバリューもあり「SSL/TLS」と並列で表記されることが多いようです。

SSL/TLSを利用しているかどうかは、アドレスバーにて「https」や「鍵マーク」の表示の有無で見分けがつきます。

暗号化のために必要な「SSLサーバ証明書」は「認証局」から発行されています。主な認証局にシマンテック、GMOグローバルサイン、ジオトラストなどがあります。

SFTP

SFTP(SSH File Transfer Protocol)

FTPで転送される情報を「SSH(Secure Shell)」を利用して暗号化するプロトコルのことです。

SSH」とは

リモートにあるサーバを端末から操作する際、通信される一切の情報を暗号化するプロトコルのことです。

SSH」は「OpenSSH」ソフトなどで使用ができ、Linuxではデフォルトでインストールされています。Windowsでも「Cygwin」や「WinSCP」、Gitに同梱されている「Git Bash」で使用ができます。いずれにせよ「SSH」が利用できる環境が必要になります。

こちらの「SFTP」と似たプロトコルがあるのですが、それが次項にて説明する「SCP」です

SCP

SCP(Secure Copy Protocol)

サーバと通信を行うためのプロトコルのご紹介、こちらの「SCP」が最後の4つ目です。

SFTPと同様に「SSH」を利用しているためセキュリティ面で安全性の高いプロトコルと言えます。

SFTP」に比べて通信速度は速いと言われているのですが、この「SCP」を利用する場合はサーバにUNIX系のシェルが備えられている必要があります。Webサーバを作ろうとするとほとんどのサーバにはシェルは入っているので意識することはあまりないかもしれませんが、「SFTP」でしかファイル送信ができない、というようなシーンがあるかもしれません。

まとめ

知っているようで知らなかったFTPFTPSSFTPSCPの違いについて、僕も非常に勉強になりました。

この記事がみなさんのお力になれたら幸いです!

ではまた!