著者
松本 亮介 平原 正裕 三宅 悠介 力武 健次 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2017-IOT-39, no.13, pp.1-8, 2017-09-22

インターネットの利用に際して,ユーザーや企業においてセキュリティ意識が高まっている.また,HTTP のパフォーマンス上の問題を解消するために,HTTP / 2 が RFC として採択された.それらを背景に,常時 HTTPS 化が進む中で,高集積マルチテナント方式の Web サーバで管理している大量のホストも HTTPS 化を進めていく必要がある.同方式は単一のサーバプロセスで複数のホストを管理する必要があるが,Web サーバの標準的な設定を用いて事前にホスト数に依存した数の証明書を読み込んでおく方法では,常に確保しておく必要のあるメモリ使用量が増大することで,リソース効率が低くなり,収容数が低下する.そこで,Server Name Indication (SNI) を利用可能である条件下において,事前にサーバプロセスに証明書を読み込んでおくことなく,SSL / TLS ハンドシェイク時にホスト名から動的にホストに紐づく証明書を読み込み,メモリ使用量を低減させる手法を提案する.実装には,我々が開発した,mruby を用いて高速かつ少ないメモリ使用量で Web サーバの機能を拡張するモジュール ngx_mruby を採用して,動的にサーバ証明書を選択する機能を実装した.また,筆者が所属する GMO ペパボ株式会社のホスティングサービスにおいて本手法を導入し,証明書の数やサーバリソースの使用量の関係性,性能に関する評価を行った.