wolfSSL 3.12.0が利用できます

wolfSSL 3.12.0のダウンロードが可能になりました!このリリースには、バグ修正、新機能、および1つのセキュリティ脆弱性(低レベル)の修正が含まれています。
このリリースに含まれている低レベルの脆弱性修正は、wolfSSLクライアントに対する潜在的なDoS攻撃に関連しています。これまでのバージョンでは、クライアント側では無制限に多数のアラートメッセージを受け取ってしまっていました。今回の修正により、受信する警告メッセージの数が制限され、この制限に達すると致命的なエラーALERT_COUNT_Eが返されます。警告アラートの最大数はデフォルトで5に設定されており、マクロ変数WOLFSSL_ALERT_COUNT_MAXで指定できます。インドの防衛研究開発機構のTarun YadavとKoustav Sadhukhanの報告に感謝します。
続いて、このリリースに含まれる機能、修正の概要について以下をご覧ください。
 
TLS 1.3サポート!
wolfSSLのブログをフォローされている皆さまは、TLS 1.3ベータサポートについての議論をご覧になっていることと思います。 wolfSSL 3.12.0はTLS 1.3サポート(クライアントとサーバー側)を含む最初の安定版です!つまり、TLS 1.3とともに皆さまご使用の他の機能やプロジェクトポートを組み合わせることができます。 NginxのTLS 1.3化! TLS 1.3とARMv8!非同期暗号を使用するTLS 1.3!
“–enable-tls13″設定オプション、または “–enable-tls13-draft18″で古いドラフト18サポート付きオプションを使用して、TLS 1.3ドラフト18または20のサポートを有効にします。 wolfSSLはTLS 1.3の0RTTもサポートしています。これは “–enable-earlydata” オプションで有効にできます。
TLS 1.3でwolfSSLを使用する方法の詳細については、TLS 1.3 Webページを参照するか、support@wolfssl.jpまでご連絡ください。
 
オプションの変更の作成と構成
– すべての機能を有効にするオプションを追加しました(–enable-all)
– トラックメモリ機能追加(–enable-trackmemory)
– GCCバージョン7でwolfSSLをコンパイルするための修正。ほとんどの場合、switch文が警告になります。
– 強化された数学演算なしでコンパイルするときの警告を追加しました
 
インテルアセンブリの改良、インテルSGX Linuxサポート、インテルQuickAssistサポート
Intelプラットフォーム上のwolfSSLユーザーのために、以下を含む改善を行いました。
– Linux搭載のIntel SGX用wolfSSLのポート。これまでのバージョンはWindowsでインテルSGXのみをサポートしていました。
– ChaCha20の性能向上のためのAVXおよびAVX2アセンブラ命令の使用
– –disable-fastmathを使用した場合のIntel QATの修正
– Intel QuickAssistサポートの改善と強化
注:ChaCha20 AVXアセンブリをGCCの5.2より前のバージョンで、既知の問題があります。これは、wolfSSL enableオプション “–enable-intelasm”と “–enable-chacha”を使用する場合に発生します。この問題を回避するため、ChaCha20は ” – enable chacha = noasm”を有効にします。
“–enable-intelasm”を使用し、 “–enable-sha224″または “–enable-sha256″を使用する場合、 “-fsanitize = address”を使用しようとすると既知の問題があります。
 
公式SHA-3サポート(Keccak)
これまでのバージョンでは、wolfSSLはSHA-3の次点Blake2bのみをサポートしていました。 wolfSSL新バージョンは最終的なSHA-3に採用されたKeccakもサポートしています。これは ” – enable-sha3″ configureオプションで有効にすることができます。 x86_64プラットフォームではデフォルトで有効になっています。
 
DTLSマルチキャストと更新
DTLSユーザにとって、wolfSSLは “–enable-mcast”でDTLS Multicastをサポートするようになりました!さらに、このリリースには次のものも含まれています。
– DTLSによる復号化およびMAC障害の処理方法の更新
– ” – enable-sessionexport”オプションで使用するDTLSセッションエクスポートバージョン番号の更新
DTLSマルチキャストの詳細については、info@wolfssl.comまでお問い合わせください。
 
新しいハードウェアポートと更新されたハードウェアポート
今回のリリースでは、いくつかのハードウェアポートをアップデートし、いくつかの新しいポートを追加しました。
マイクロチップPIC32MZポートのアップデートと修正
STM32F4 AES-GCMの修正
ザイリンクスZynq®UltraScale +™MPSoCに基づくUltraZed-EGスターターキットに基づくザイリンクスポートの追加
– ARMv8ポートへのSHA-224およびAESキーラップの追加
– ARMv8アセンブリポートへの追加入力引数の正常性チェック
 
強化されたテスト
– MD5、SHA、SHA224、SHA256、SHA384、SHA512、RipeMd、HMAC、3DES、IDEA、ChaCha20、ChaCha20Poly1305 AEAD、Camellia、Rabbit、ARC4、AES、RSA、HC-128の追加ユニットテスト
 
更新されたオペレーティングシステムポート
– 新しいwolfSSLソースファイルへの依存性をTI-RTOSポートで更新する
MQX ClassicおよびmmCAUポートの更新
ThreadX / NetXの警告を修正
 
wolfSSL Python Wrapper
– wolfSSLを展開するPythonラッパーにクライアント側の実装を追加する
wolfSSL Python Wrapperのドキュメント
wolfCrypt Python Wrapperのドキュメント
 
その他の追加および変更
このリリースに含まれるその他の変更点は次のとおりです。
– PKCS12の動的タイプを一致させるための修正
–enable-fast-rsaを使用した場合のメモリリークの修正
– カスタムECC曲線を使用してBRAINPOOLP256R1テストを追加する場合の修正
– Intel QuickAssistを使用しない場合のGCC 7.1およびHMACによる非同期暗号の修正
– fp_read_unsigned_bin関数にさらに健全性チェックを追加しました。
– wolfSSL_CertPemToDerを使って潜在的なバッファオーバーリードを修正
– IssuerAndSerialNumberでKARIのPKCS7 / CMSデコードサポートを追加する
– RSA PSSの署名と検証を追加
– Windows VSでのAESキーラップとPKCS7の修正
– PKCS7での静的メモリの使用をサポート
– GCC 5.4でBlake2bビルドを修正
– OCSPとCCS非ブロッキングソケットと不完全な証明書チェーンの修正
更新された例
– サンプルサーバにおいて、通信相手側に閉じたエラーをハードエラーとして扱わないよう修正
– ベンチマークプログラムにブロックサイズ引数の追加
さらに詳しい情報は弊社問い合わせ窓口 (info@wolfssl.com, info@wolfssl.jp: 日本語)までお問い合わせください。
原文: https://wolfssl.com/wolfSSL/Blog/Entries/2017/8/7_wolfSSL_3.12.0_Now_Available.html
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)