wolfProvider 1.1.0をリリースしました。このリリースには、いくつかの新機能追加・不具合修正を含んでいます。
wolfProviderは、FIPS認証済み暗号を必要としながらも、すでにOpenSSLを使用してシステムを構築しているユーザー向けに設計しています。
このプロバイダーは、OpenSSLが使用する暗号化アルゴリズムをdrop-inで置き換えることが可能です。内部では、FIPS 140-3認証を受けたwolfCryptエンジンを活用しています。
新しい暗号化機能
このリリースでは、いくつかの重要な暗号化機能を導入しています。
- KBKDF(Key-Based Key Derivation Function)
既存の鍵素材から安全な鍵を生成するための、NIST SP 800-108鍵導出の実装。 - KRB5KDF(Kerberos 5 Key Derivation Function)
エンタープライズ認証シナリオを可能にする、Kerberos暗号操作のサポート。 - AES-CTS(Ciphertext Stealing)
特定のパディング動作を必要とするアプリケーション向けの追加AES暗号モード。 - RSAノーパディング操作
カスタムパディングスキームを使用するアプリケーション向けの生のRSA暗号化/復号化操作。
デフォルトプロバイダーの置換
このリリースにおける画期的な新機能として、OpenSSLのデフォルトプロバイダーをwolfProviderで完全に置き換えることができるようになりました。
wolfProviderをシステム全体の主要な暗号実装と設定し、既存のOpenSSLアプリケーションがコード変更なしにwolfSSLのFIPS検証済み暗号化を透過的に使用できるようにします。
この機能には、さまざまなシナリオで期待通りにデフォルト実装を入れ替えられることを検証する包括的なテストも含めています。
テストの強化
wolfProvider 1.1.0では、オープンソースアプリケーションとの統合テストを大幅に拡張しました。よく利用される40以上のアプリケーション向けに自動化されたCI/CDワークフローを追加し、wolfProviderがシームレスに動作することを確認しています。
ネットワークインフラストラクチャ
gRPC、OpenSSH、libssh2、OpenSC/PKCS11、OpenLDAP、IPMItool、Stunnel、socat、SSSD、net-snmp、liboauth2、tnftp、systemd、X11VNC、sscep、TPM2 tools、libcryptsetup、libtss2、KRB5、bind9、hostap
開発ツール
Python3 NTP、libeac、xmlsec、Qt5 Network、rsync、libwebsockets、tcpdump、cjose、iperf、libfido2、ppp、pam-pkcs11、kmod、libnice
コマンドライン統合
新しいコマンドライン統合テストでは、AES、RSA、RSA-PSS、ハッシュ、ECC操作のためのOpenSSLコマンドラインツールとのwolfProviderの互換性を確認しています。
これにより、OpenSSLコマンドを使用するスクリプトや自動化ツールがwolfProviderを使用していても正しく動作することが検証されます。
Debianパッケージサポート
適切な依存関係管理とシステムOpenSSL構成との統合を含む、包括的なDebianパッケージングサポートを実現しました。これにより、Debianベースのシステムへの展開が簡単になりました。
バグ修正と安定性の向上
wolfProvider 1.1.0では、すべての暗号化操作にわたる問題に対処する多数のバグを修正しています。
- AES
AES-GCMストリーミングのバグ、認証タグ処理、IV管理、CBC連続呼び出し処理を修正。 - RSA
RSA PSSデコーディングの問題、鍵インポートのエッジケース、鍵生成の再試行ロジック、証明書表示のフォーマット、パラメータ処理を解決。 - ECC
公開鍵検証、パラメータ処理、秘密鍵操作、署名制限、エンコーディングの問題を修正。 - DH
FIPSビルドの互換性、パラメータ処理、秘密鍵操作、デコーダ登録を修正。 - その他
署名操作周りのロック、NULL再初期化処理、コアlibctx管理、OpenSSLパッチ検出を改善。
wolfProviderの使用方法については、リリースに含まれるREADME.mdをご確認ください。また、各リリースの変更点の完全なリストはChangeLog.mdに掲載しています。
ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。