wolfSSLにおいてこれまで使用してきた従来の整数演算を処理するライブラリ(”ノーマル”とか”ヒープ”数学ライブラリと呼んできた)を廃止する予定にしています。今年末までにwolfSSL/wolfCryptライブラリから削除します。
現在、wolfSSL/wolfCryptライブラリには公開鍵暗号をサポートするために使用できる、次の3種の異なる数学ライブラリが含まれています:
- ノーマル数学ライブラリ:”–enable-heapmath” コンフィグレーションオプションあるいは”USE_INTEGER_HEAP_MATH”マクロの指定で有効にします。integer.cで提供しています。このライブラリが廃止対象となっているライブラリです。
- TFM数学ライブラリ: ”–enable-fastmath” コンフィグレーションオプションあるいは ”USE_FAST_MATH” マクロの指定で有効にします。tfm.cはで提供しています。
- SP数学ライブラリ:”–enable-sp-math-all” コンフィグレーションオプションあるいは ”WOLFSSL_SP_MATH_ALL” マクロの指定で有効にします。sp_int.c で提供しています。このライブラリが現在のデフォルトです。
注:SP数学ライブラリはTFM数学ライブラリとSPの組み合わせ、あるいははSP数学ライブラリと鍵サイズの切り替え、ヒープ/スタック調整など、ほぼすべてのユースケースに対応する多くの調整可能な機能を用意しています。
これらライブラリの比較はhttps://www.wolfssl.com/wolfssl-math-library-comparison-matrix/で参照できます。
SP数学ライブラリはwolfSSL 5.4.0以降のデフォルトの整数ライブラリとなっています。また、最新のバージョンではそれ以前のバージョンでできるすべてのことを実現していてさらに、サイドチャネル攻撃の防止のための一定時間処理とキャッシュアクセスの安全なアルゴリズムも実装しています(https://www.wolfssl.com/wolfssl-hardened-default/)。
wolfSSL 5.4.0以前では”–disable-fastmath”オプションあるいは “USE_FAST_MATH” マクロ指定でビルドするとノーマル数学ライブラリが使用されていました。
wolfSSL 5.4.0以降ではノーマル数学ライブラリを使用するためには”–enable-heapmath”オプションあるいは “USE_INTEGET_HEAP_MATH”を指定してビルドする必要がありました。
さらに、FIPS版のユーザー向けにも、使用する数学ライブラリを変更しています。
- ”–enable-fips=v2” オプションを使用している、あるいは “HAVE_FIPS_VERSION”マクロに 2以下の数を指定しているユーザにはTFM数学ライブラリを使用するように変更
- ”–enable-fips=v5” オプションを使用している(FIPS140-3)、あるいは “HAVE_FIPS_VERSION”マクロに 2より大きい数(fips-ready,v5-devを含む)を指定しているユーザには SP数学ライブラリを使用するように変更
まだ、オプション指定を変更されていないユーザーはできるだけ早く、新しいSP数学ライブラリを使用するように移行することをお勧めします。はるかに優れたパフォーマンス、セキュリティ、および寿命を提供します。
原文:https://www.wolfssl.com/deprecation-of-wolfssl-normal-math-library/