wolfSSL 3.11.0がダウンロードいただけます。このリリースには数々の新しい機能がふくまれています。いくつかのセキュリティ脆弱性対応(低レベル:5、中レベル:1)も含まれています。
続いて、新機能と修正対応のまとめをご紹介します。
脆弱性対応
KNOX Security, Samsung Research AmericaのYueh-Hsun Lin, Peng Li氏からのレポートによる3つの低レベル脆弱性に対する修正が含まれています。
- wc_DhParamsLoad()関数内で、GetLength() の返却値がゼロの場合の範囲外のメモリーアクセスを修正。修正前は、wolfSSLはDhParamsLoad()関数内の範囲外メモリーを読む可能性がありました。
- wc_DhAgree()で不正な鍵を受け入れてしまう可能性を修正。
- X509_STOREにCA証明書を追加する場合、二重にメモリ解放してしまう場合を修正
静的メモリー機能を有効化した場合のメモリ管理関する低レベルの脆弱性を1件修正しました。静的メモリーはデフォルトでは無効化されています。GitHub ユーザ hajjihraf さまからのレポートに感謝します。
wolfSSL_X509_NAME_get_text_by_NID()関数内の領域外への書き込みに関して低レベルの脆弱性を1件修正しました。この関数はTLSや暗号化処理では使用されていませんが、アプリケーションから明示的に呼ばれた場合、範囲外への書き込みを許してしまう可能性がありました。Cisco Talos(http://talosintelligence.com/vulnerability-reports/).のAleksandar Nikolic氏によって発見されました。
中レベル1件の脆弱性は証明書署名のチェックに関するものです。3.9.10, 3.10.0, 3.10.2 では、相手方の証明書の署名が壊れていても適切にフラグ付けされない可能性がありました。Castles TechnologyのWens Lo, James Tsai, Kenny Chang, Oscar Yang氏に感謝します。
NGINX support
wolfSSLのNGINX Webサーバビルド時のサポートを開始しました。NginxとwolfSSLは、大規模接続に対して、軽量、高速、スケーラブルである点で、大変相性が良い組み合わせとなるはずです。
HAproxy support
wolfSSLはHAproxyロードバランサーへのコンパイル組み込みサポートを開始しました。HAproxyはTCP, HTTPベースのアプリケーションに負荷バランス、プロキシ機能を提供します。
Intel QuickAssist 非同期サポート
新たに、インテルQuickAssistの非同期暗号サポートが加わりました。もう少し詳しい説明は、別のブログ投稿をご蘭ください。
性能強化
- 51-ビットのCurve25519 が追加されました。これによって、128ビットタイプに比べた性能が改善されます。
- fastmath (USE_FAST_MATHオプション) で、ALT_ECC_SIZEを使用しない場合のヒープサイズが削減されます。
ソフトウェア・ポーティング
既存のwolfSSLソフトウェアのポーティングが更新されました:
– wpa_supplicant
– stunnel 5.40
– uTKernel (WOLFSSL_uTKERNEL2オプション) の改善
– 最近のファイルと追加のArduinoスクリプト
– Windows向けCRLビルドの修正
そして、新しいポーティングの追加:
- tenAsys社 INtime RTOS
ハードゥエア・ポーティング
- NXP Hexiwear の例の追加。 “IDE/HEXIWEAR” ディレクトリー下にあります。
- STM32 ハードウェア・アクセラレータの修正。. wolfSSLのSTM32プラットフォームでの使用に関してはこちらを参照してください。
プロトコルと暗号スイートのアップデート
SSL/TLS/DTLS プロトコル・レベル、暗号スイートサポートでも以下のような修正をしています:
- 旧版ベースのChaCha20-Poly1305 暗号スイートとの互換性
- 一つのDTLSレコード内で複数ハンドシェークメッセージを可能に
- セッションチケットの一部としてセッションIDをエコーする場合を除いてセッションキャッシュがオフの場合は、サーバ側のセッションID送出を禁止するよう修正
- IIS互換性のためにTLS1.2でSHA1を使用できるよう新たなオプションを追加 (WOLFSSL_ALLOW_TLS_SHA1)
- PSKアイデンティティーバッファーの最大サイズを128文字のアイデンティティー長を考慮するよう修正
- 全てのデフォルト暗号が正しくセットアップされるよう修正 (PR #830参照)
- 並列アクセスのための送信のみのためのWOLFSSLオブジェクトを生成するwolfSSL_write_dup()を追加
- プライベイト鍵インポート時のTLS楕円曲線選択に関する修正
- 鍵と証明書の切り替えのためのTLSレイヤーコンテキスト操作の改善
- HAVE_CRL_IOが定義された際の、インラインCRLサポートの追加
- サブジェクト鍵アイデンティファイヤーが非クリティカルであるマークと証明書ポリシー拡張にてポリシーOIDSが二回以上現れないことのチェックの追加。中国Xidian 大学Institute of Computing Theory and Technology (ICTT) のZhenhua Duan教授、Cong Tian教授、博士課程Chu Chen氏に感謝します。Zhenhua Duan教授、Cong Tian教授はChu Chen氏の指導教官。
暗号化の追加、変更
wolfCrypt暗号ライブラリーにもいくつかの変更があります:
- ASN1解析関数の整理見直し
- ECDSAによるSignedDataのPKS#7サポート追加
- インテルRDRAND と RDSEED のためのRNGスピードアップ
- 64ビット出力を使ったインテルRDRANDの性能改善
- RNGソースにRDRANDを使用するための “–enable-intelrand”オプション追加
- RNG ARC4サポートの削除
- 曲線名からサイズとIDを得るためのECCヘルパー関数
- ECCプライベイト鍵のみのインポートとエクスポート
- ECC Cofactor DH (ECC-CDH) のサポート
- PKCS#8生成関数
- mp_intのアロケーションをmp_growまで遅延させる通常整数演算のスピードアップ
- AES-GCMの最小認証タグサイズの正常性チェック。サジェッションをいただいたSamsung Research America、KNOX SecurityのYueh-Hsun Lin氏、 Peng Li氏に感謝します。
テストと警告の修正
- Coverity Scan警告レポートの修正で、さらによくテストされたwolfSSL SSL/TLSインプリメンテーションをお届けすることができました。弊社のテストに関してはブログポストをご蘭ください。
- さらに充実したwolfCryptのテストアプリケーション(test.c)がwolfSSLにバンドルされます。
さらに詳しい情報は弊社問い合わせ窓口 (info@wolfssl.com, info@wolfssl.jp: 日本語)までお問い合わせください。
原文: https://wolfssl.com/wolfSSL/Blog/Entries/2017/5/4_wolfSSL_3.11.0_Now_Available.html
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)