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は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で公開されている。