カテゴリ: |
2025-04-25 (Fri)
|
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
カテゴリ:【NW】ネットワーク |
2010-12-29 (Wed)
|
他の人が書いたネットワーク関係の出版前の原稿をチェックしていて、通信を暗号化するSSL (SSL/TLS)について、あれ?と思うところがありました。
SSL/TLSはTCP/IPのトランスポート層の上位側で、アプリケーション層との間にはさまって通信を暗号化します。HTTPを暗号化するHTTPSが代表的ですが、アプリケーション層のプロトコルは限定されないので、SMTP、POP3、FTPなども暗号化できます。
その原稿には、SSLはTCPやUDPの上位側で暗号化を行うと書かれていたのですが、UDPを使うアプリケーション層のプロトコルで暗号化している例があったっけ?とふと思ったわけです。
SSL/TLSはハイブリッド暗号を使うので、通信に先立ってセッションを確立して、暗号鍵を交換します。UDPはセッションを確立せずに、一方的にデータグラムを送りつける方式なので、そもそも暗号鍵を交換できないではないか?
Webで日本語、英語のサイトを調べてみましたが、はっきり言及しているサイトが見当たりません。トランスポート層の上位で働くとしか書いていないところが多いし、TCPやUDPの上位で働くとしているサイトも見られます。
ならば、RFCに当たるしかないので、RFC5246を見ると…
1. Introduction The primary goal of the TLS protocol is to provide privacy and data integrity between two communicating applications. The protocol is composed of two layers: the TLS Record Protocol and the TLS Handshake Protocol. At the lowest level, layered on top of some reliable transport protocol (e.g., TCP), is the TLS Record Protocol. | 1. 序文 TLSプロトコルの最大の目標は、2つのアプリケーション間の通信において、プライバシーとデータの完全性を提供することである。このプロトコルは、TLSレコードプロトコルとTLSハンドシェイクプロトコルの2層から成る。最も低いレベルにおいては、TLSレコードプロトコルは信頼性のあるトランスポート層のプロトコル(例えばTCP)の上に階層化される。 |
とあります。「信頼性のあるプロトコル」とありますが、UDPには言及されていません。
それでは、UDPを暗号化するプロトコルはないかというと、DTLS (Datagram Tranport Layer Security)というのがあります。DTLSに言及している日本語サイトは、ほとんど見つかりませんので、RFC4347を見ると…
1. Introduction TLS is the most widely deployed protocol for securing network traffic. It is widely used for protecting Web traffic and for e-mail protocols such as IMAP and POP. The primary advantage of TLS is that it provides a transparent connection-oriented channel. Thus, it is easy to secure an application protocol by inserting TLS between the application layer and the transport layer. However, TLS must run over a reliable transport channel -- typically TCP. It therefore cannot be used to secure unreliable datagram traffic. | 1. 序文 TLSはネットワーク通信を安全に行うために、もっとも広く利用されているプロトコルである。これはWeb通信や、IMAPやPOPのような電子メールのプロトコルを保護するために広く使われている。TLSの最大の利点は、透過的に接続指向のチャネルを提供できることである。すなわち、TLSをアプリケーション層とトランスポート層の間に挿入することで、容易にアプリケーションプロトコルを暗号化できる。しかし、TLSは信頼性のあるトランスポートのチャネル(典型的にはTCP)上で動作しなければならない。そのため、TLSは信頼性のないデータグラムによる通信を暗号化するのには使えない。 |
と、こちらには明記されていました。以後の本文中にも、TLSはUDPには使えないので、DTLSを作ったという理由や経緯が述べられています。やはり、UDP上ではSSL/TLSは使えないということでした。
コメント
|
プロフィール
|
カレンダー
|
カテゴリー
|
アーカイブ
|
最新コメント
|
ブログ内検索
|
カウンター
|
アクセス解析
|