2011年2月21日月曜日

HTTPSとは

2011/02/21 大幅改訂

HTTPSという言葉は誰もが一度は聞いたことがあるでしょう。
今回は、HTTPSについてどういうものかを説明します。

課題;
暗号通信で重要なのは、「なにを暗号化したのか」と「誰との通信を暗号化したのか」です。

では、https通信は「なにを暗号化して」「誰と誰の間の通信を暗号化している」のでしょうか?


HTTPSとは
HTTPS (Hypertext Transfer Protocol Secure)とは、HTTPによる通信の安全性を向上させる目的として幅広く使われています。代表的なものとして、SSL(Secure Socket Layer) や TSL(Transport Layer Security) を用いた通信プロトコルであるHTTP over SSL/TLSがあります。 今回は、HTTPSといえば、HTTP over SSL/TLSということで解説したいと思います。

HTTPSは、サーバ認証・クライアント認証・メッセージの暗号化・セッション管理を行うことによって、盗聴やなりすましによる攻撃から保護します。

WebブラウザのURL入力画面に" https:// " がでているのが分かるでしょうか。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%882011-02-1722.40.34-2011-02-21-06-10.png

これによってWebブラウザとWebサーバ間の経路における通信内容の盗聴・改ざんの危険性はほぼ回避できます。

仕組みは簡単です。HTTPSはブラウザに組み込まれていて、ユーザの要求に対しWebサーバーから返されたWebページをSSL/TLSで暗号化・復号化する、ということです。 HTTPSベースでの通信が行われる場合、ホームページのURLも "https:// " に変わります。

流れとしては、
  1. SSL/TLSをサポートしているブラウザで閲覧する
  2. ブラウザとWebサーバーがハンドシェイクを行い、共通鍵を生成する
  3. 共通鍵をそのセッションだけに有効な鍵として使用し、データのやり取りを暗号化する


SSL/TLSとは
SSL (Secure Socket Layer) /TLS (Transport Layer Security) は、暗号化処理・通信処理をするプロトコルで、アプリケーション層とトランスポート層の中間に位置づけられます。

解答
■何を暗号化しているのか
HTTPサーバーの間のリクエストとレスポンスのやりとりを暗号化しています。

■誰と誰の間の通信を暗号化しているのか
クライアント(Webブラウザ) と サーバ(Webサーバ)の間の通信です。


<メモ書き>(機会があったら調べる)
■HTTPSの略称って統一されていないのかな?
・Hyper Text Transfer Protocol over SSL
http://www.atmarkit.co.jp/aig/02security/https.html
・Hypertext Transfer Protocol Security
http://e-words.jp/w/HTTPS.html
・Hypertext Transfer Protocol Secure
http://en.wikipedia.org/wiki/HTTPS

使い方によって、適切な言葉があるのだから良いとは思うけども・・・
それとも、全く同じ意味で、略称だけ一緒なのか?

■ハンドシェイクって簡単にまとめたけど、結構複雑。
→自分もまだ理解していないから、もっと調べないと。

0 件のコメント:

コメントを投稿