BT

AWS s2n: 6,000行ほどのオープンソースTLS実装

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2015年7月9日. 推定読書時間: 2 分 |

原文(投稿日:2015/07/01)へのリンク

Amazon Web Servicesがs2n発表した。これは “signal to noise” を縮めたもので、TLS/SSLプロトコルのオープンソース実装だ。「シンプルで、小さく、高速で、安全であることを優先して」作られている。

Amazonによると、TLSプロトコルで課題なのはその複雑さだという。そのことが「デファクトリファレンス実装」であるOpenSSLの50万行のうち、少なくとも7万行に及ぶTLS実装をもたらした。これほど大きくなると「コード監査、セキュリティレビュー、パフォーマンス、効率における課題」となる。

これに対し、ほとんど使われていないオプションや拡張、セッション再ネゴシエーションやDTLSのような脆弱性のある機能を実装しないことで、s2nはそのサイズを、C99のコードで6,000行あまりにおさえている。Amazonによると、そのおかげでs2nはレビューしやすく、すでに3つの外部セキュリティ評価とペネトレーションテストを受けているという。加えて、s2nは安全性を改善するための仕組みを取り入れている。

  • リード時消去: 復号されたデータバッファはアプリケーションが読むとすぐに消去される。
  • 区分けされた乱数生成: s2nは2つの乱数生成器を使う。ひとつは平文で見えるおそれのあるパブリックデータのため、もうひとつはプライベートデータのため。
  • モジュール化された暗号: s2nではOpenSSL、LibreSSLなど別の暗号ライブラリを使える。
  • Cの安全性: メモリ、文字列、シリアライゼーションへの全アクセスの強制境界チェックなど、s2nはC99とその標準ライブラリにまつわる負担を軽減するためのテクニックを使っている。

現在、s2nはElastic Load Balancing、Amazon CloudFront、Amazon S3などを含むAWSサービスへの統合に必要な全機能を実装しており、「この数か月で」ロールアウトが始まるだろう。重要なことは、TLSは標準プロトコルなので、外部アプリケーションを変更する必要はないはずだ。

APIに関して、s2nはPOSIX I/O APIに準拠するよう設計されている。なじみのある開発者は直感的に使えるはずだ。興味深いことに、s2nはロックやミューテックスを使っていない。

Amazonによると、s2nはOpenSSLのlibsslに例えて考えることができるという。s2nはApache Software License 2.0で公開されている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT