BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース NetflixがMessage Security Layerプロトコルをオープンソースでリリース

NetflixがMessage Security Layerプロトコルをオープンソースでリリース

原文(投稿日:2014/11/24)へのリンク

Netflixは,自ら"セキュリティ通信の現代的解釈"と称する,Message Security Layerプロトコル(MSL)のリリースを発表した。プロジェクトによるJavaとJavaScriptの実装が,Apache 2.0ライセンスの下でGitHubに公開されている。プロトコルの高レベルの目標は,パフォーマンス向上,言語互換,柔軟性および拡張性,標準との互換性,エラーからの自動回復機能を提供することだ。

パフォーマンスの上は,MSLの最も注目すべき特徴のひとつである。同社のチーフアーキテクトであったAdrian Cockroft氏によると,このプロジェクトは,その提供する高速化から,社内では"ミサイル"として知られていた。それまでのNTBAという名称の社内プロトコルが,HTTPSと組み合わせて使用されていたのに対し,このMSLはHTTPと組み合わせて使用する。これにより,SSL/TLSハンドシェイクに起因する新規接続時の遅延が排除されたため,MSLでは,既存のコネクションと同等の要求/応答パフォーマンスの提供が可能になった。

ネットワークのラウンドトリップを最小化するためにMSLでは,認証,鍵のネゴシエーションと更新処理を,アプリケーションデータの送信中も可能にしています。その結果として,不要なラウンドトリップを排除し,データオーバーヘッドを最小限にしているのです。

このプロトコルは,2つの展開モデルでの使用が可能("MSLネットワークタイプ"として記載されている)で,単一のデバイスから複数のMSLネットワークに同時に参加することができる。

  1. 信頼されたサービスネットワーク。 このモデルでは,ひとつのクライアントデバイスが,暗号処理バックエンドを共有する複数のサーバに接続する。
  2. ピアツーピアネットワーク。 このモデルでは,事前に信頼が確立していない状態において,デバイス間の相互認証を使用する。

MSLは,Netflixのビデオオンデマンドサービスの効率とユーザエクスペリエンスを向上するために設計された。Webブラウザやゲームコンソール,一般家電など,制約のあるデバイスを対象とすることから,モノのインターネット構築において新たな用途が見出されることも期待される(特に今後,クライアントコードのC/C++実装が現れれば)。

MSLの出自がプロプライエタリであること,公開でのセキュリティ監査が行われていないことに関して,RedditHacker Newsのようなフォーラムで批判の声もある。反論の中には,デジタル著作権管理(DRM)の持つ一般的な不便さに対するものもある。Netflixでは,著作権所有者が納得するコンテント保護を提供するために,これを提供する義務を負っている。DRMシステムは技術的攻撃の対象になることが多いため,MSLとその実装の耐性には確実なテストが実施され,その結果も十分に公開されている。MSLで最も重要な部分は,公開鍵インフラストラクチャ(PKI)とトランスポートセキュリティが分離されていることだろう。この部分は,SSL/TLSの実装における最大の問題点のひとつでもある (この問題については,Moxie Marlinspike氏とBen Laurie氏が優れた資料を残している)。

この記事に星をつける

おすすめ度
スタイル

BT