うるふブログ

wolfSSL v4.8.1をリリースしました

wolfSSLバージョン4.8.1をリリースしました

このバージョンのwolfSSLには、多くの新機能、ポート、および修正を含んでいます。新機能の一部を紹介します。

  • 新製品wolfSentryと合わせて使用するための追加
    • wolfSentryとは:動的な埋め込みが可能な、製品組み込み向け IDPS (侵入検知および防止システム)
    • wolfSentryと合わせて使用するために追加されたビルドオプションは、autotoolsフラグ-enable-wolfsentryを使用してコンパイル可能。wolfSentryは、ファイアウォールと同様の方法で使用できる新製品ですが、現在利用可能な多くのファイアウォールアプリケーションとは異なり、リソースに制約のある組み込みIoTデバイス向けに合わせ設計されています
  • 互換性レイヤー用の多数のAPI
    • OpenSSLからwolfSSLへの置き換えや、FIPS要件のため暗号の更新をサポート
  • NXP社のi.MXデバイスで使用するQNX CAAMドライバ
    • CAAM は Cryptographic Accelerator and Assurance Module の略です。CAAM を使用すると、ECCやAESなどの暗号化アルゴリズムが高速化されるだけでなく、暗号化されたキーと安全なメモリパーティションの使用によりセキュリティが向上します
  • STM32G0のサポート
  • Zephyrプロジェクトのサンプルコード
    • Zephyrプロジェクトは、複数のハードウェアアーキテクチャをサポートし、リソースに制約のあるデバイス向けに最適化され、安全性とセキュリティを念頭に置いて構築されたスケーラブルなリアルタイムオペレーティングシステム(RTOS)です
  • DEVKITPRO用の使いやすいDolphinエミュレーターテスト
    • devkitProは、ゲームプラットフォームにコンパイルするためのツールチェーンのセットです
  • PKCS#7の修正
    • PKCS#7は、PKI (Public Key Infrastructure)でメッセージの署名、暗号化、復号化するために使用されます。また、証明書の配布にも使用されますが、シングルサインオンに最もよく使用されます
  • 既存のポートの修正とともに、エッジケースの解析と処理を改善
  • Coverityおよびfsanitizerツールを使用したテストから得られた修正
    • Coverityは問題を見つけるのに非常に効率的であり、多くの場合、適切なコードの指標として使用されます(見つかって修正された問題の数に基づく)
    • fsanitizerは静的分析ツールです
  • 2つの脆弱性の問題が見つかり、今回修正を加えています
    • 1つはOCSPに関するものです
      • OCSP(Online Certificate Status Protocol)は、X.509デジタル証明書の失効ステータスを取得するために使用されるインターネットプロトコルです
    • もう1つは、以前に修正したbase64PEMデコードサイドチャネルの脆弱性に関する問題です
      • PEM(Privacy Enhanced Mail)は、認証局が証明書を発行する際の最も一般的なフォーマットです

変更の完全なリストについては、wolfSSLに同梱されている最新のChangeLog.mdをご覧いただくか、GitHubのページ(https://github.com/wolfSSL/wolfssl)をご覧ください。ご質問は、info@wolfssl.jp まで直接お寄せください。

原文:https://www.wolfssl.com/wolfssl-v4-8-1-release/

wolfMQTT v1.9.0 リリースしました

wolfMQTT v1.9.0をリリースしました。このリリースには、次の不具合修正と機能追加を含んでいます。

  • センサーネットワーククライアントの修正(PR#204、214、219)
  • ノンブロッキングに関する修正(PR#205)
  • マルチスレッドに関する修正(PR#207、209、211、218)
  • MQTT v5 パブリッシュへの応答の処理を修正(PR#224、220)
  • subscribeのリターンコードリストの修正(PR#210)
  • 他のツールチェーンでのswitch文のフォールスルーを修正(PR#225)
  • SNI機能を備えたHiveMQ クラウド機能の追加(PR#222)
  • サンプルクライアントにファイルをパブリッシュする機能を追加し、チャンクパブリッシュを修正(PR#223)

機能と修正の全リストについては、ダウンロードしたフォルダ内の変更履歴を確認してください。またご質問はsupport@wolfssl.comまでお問い合わせください。

wolfMQTTプロジェクトへの応援メッセージもお待ちしております!

最新のリリースはこちらダウンロードいただけます。

 

U-BootとwolfTPMの統合

オープンソースのブートローダーとして有名なU-BootにwolfTPMを統合させました。その結果、U-BootのTPM 2.0機能が拡張されて、署名の検証とメジャードブート機能が含まれるようになりました。我々はこの統合したブートローダーをwolfBootとして提供しています。多くのプラットフォームで、ザイリンクスUltraScale + MPSoCなどのU-BootをwolfBootで置き換えることができます。

wolfBootは、以下に示すの多くの機能を提供します:

  • ED25519、RSA、ECCを使用したパーティション署名の検証
  • パーティションの暗号化
  • ブートローダーのパーティションの更新 
  • TPM 2.0PCRレジスタを使用してメジャードブート 
  • TPM2.0モジュールなどの暗号コプロセッサーへのオフロード
  • アップデートのバージョンチェック
  • 失敗した更新のロールバック

 

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/u-boot-wolftpm/

wolfSSLはdevkitProをサポートしています

devkiProはゲームプラットフォーム用のツールチェーンであり、ゲームプラットフォームとしてはNintendo Switch, 3DS, Wii とGameCubeが含まれています。もし、皆さんのゲームに暗号機能やSSL/TLS機能を必要とすることになった際には、wolfSSLがdevkitProでビルドできるということを思い出してください。wolfSSLは軽量で高速なSSL/TLSライブラリであり、制限のあるゲームコンソール環境に完全にフィットします。このブログでwolfSSLのtestwolfcryptプログラムをWii向けにコンパイルする方法とDolphinエミュレータ上で動作させる方法を紹介します。

devkitProは/optにインストール済みとして説明します。

wolfSSLをdevkitProツールチェーンを使って、次のようにコンパイルします:

$./autogen.sh
$./configure CFLAGS='-DDOLPHIN_EMULATOR -DDEVKITPRO -DGEKKO -DNO_WRITEV -I/opt/devkitpro/libogc/include -mrvl -mcpu=750 -mno-eabi -MMD -MP'
LDFLAGS='-L/opt/devkitpro/libogc/lib/wii -lwiiuse -lbte -logc -lm' CC=/opt/devkitpro/devkitPPC/bin/powerpc-eabi-gcc RANLIB=/opt/devkitpro/devkitPPC/bin/powerpc-eabi-ranlib --host=ppc --enable-cryptonly --disable-shared --enable-static --disable-filesystem
$make

その後生成されたバイナリファイルを.dol形式に変換します:

/opt/devkitpro/tools/bin/elf2dol wolfcrypt/test/testwolfcrypt ../testwolfcrypt.dol

上記コマンドによって変換されたファイルをwolfsslを含んでいるディレクトリに出力します。Dolphinエミュレータにそのディレクトリを指定して実行させてみます:

testwolfcryptプログラムが実行され、各テストがパスしたことを示す結果が表示されるはずです。

 

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/wolfssl-devkitpro-support/

wolfTPM+ST33のアドバンテージ

wolfTPMは、ベアメタルおよび組み込みシステム用に設計された唯一のTPM2.0ライブラリです。 さらに、迅速な開発とテストのためのTPMシミュレーターに加えて、ネイティブのWindowsとLinuxをサポートしています。 皆さんのプロジェクトにTPM2.0専用チップを選択する場合、Nuvoton NPCT75x、STMicroelectronics ST33、Infineon SLB9670、MicrochipATTPM20Pなどの複数の選択肢がありますが、ST33チップをwolfTMPと共に使用する選択をした場合には次のようなアドバンテージがあります:

wolfTPMだけがST33のGPIO機能をサポートしています。

  • チップの派生品にもよりますが、ST33では最大4つのGPIOが利用できます
  • GPIOへのアクセスはTPM2.0認証機能で保護されています
  • wolfTPMが提供するGPIO制御によって、重要なイベント、あるいはセキュリティイベントをサブシステム間でシグナリングするための優れたツールとして活用できます。
  • wolfTPMはすぐに動作可能なGPIOに関するサンプルプログラムを提供します

ST33は現時点で最も大容量のNVVRAMを搭載

  • 通常TPM2.0のNVRAM容量には限度がありますが、その中でもST33は突出して大容量をサポートしていますから複数の証明書と鍵がNVRAMに格納可能です。
  • wolfTPMは秘密情報と鍵をチップのNVRAMにセキュアに格納する例となるサンプルプログラムを提供します

ST33をオートモティブ分野、製造産業、医療機器や航空機産業に使用するならwolfTPMと組み合わせるのが容易

  • 安全性が非常に求められるシステムではしばしばステートマシンとリアルタイムOSが必要とされます
  • ベアメタルとリアルタイムOSはTPM2.0のドライバーは提供しません
  • しかし、wolfTPMは内部で独自のTIS層を持ち、I2CとSPIを直接サポートするのでST33をドライバーなしで使うことが可能

ST33をIoT機器でwolfTPMと共に使用するのがお勧め

wolfTPMは他に比べ非常に軽量でコードサイズで1/20、メモリ使用量で1/100だからです。

ST33だけがデフォルトでTPM2_EncryptDecript2を使ったAES対象鍵暗号操作に対応

他のチップはパラメータ暗号化部分のAES CFBしかサポートしていません。

 

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/advantages-using-wolftpm-sdt33-tpm-2-0/

wolfCLU(コマンドラインユーティリティ)を提供しています

wolfSSLはコマンドラインユーティリティ、wolfCLUを提供しています。wolfCLUを組み込み機器向けSSL/TLSライブラリwolfSSLと合わせて使いましょう。wolfCLUはGithubからダウンロードできます。wolfCLUは、最もテストされた暗号ライブラリwolfCryptに支えられており、wolfSSLでFIPSビルドを利用できます。

wolfCLUは以下のような機能を提供しています:

  • ED25519 を使った署名および検証
  • Autoconfを使ったコンフィギュレーション
  • ファイルを暗号化しPC内に格納できます
  • 暗号化ファイルを復号したり、e-mailを使って友人に送れます。彼らにアルゴリズムとパスワードを伝えてあれば彼らのPC上で復号できます
  • ファイルの検証のためにハッシュを作成できます
  • アルゴリズムをベンチマークテストで評価できます
  • X509証明書をパースして出力できます

加えて、もうすぐ追加される機能もこっそりお知らせします:

  • PKEYと証明書内の公開鍵の出力
  • 証明書発行要求の作成
  • 証明書の内容を読み取り可能なテキストに出力する機能の更新

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/know-command-line-utility/https://www.wolfssl.com/command-line-utility-heres-adding-next/

wolfCryptはOpenSSLのEngineとして動作します

多くの方がご存知のように、OpenSSL プロジェクトの FIPS 対応は進んでおらず、2020 年 10 月の時点で、FIPS 140 認証を取得済みのものがありません。OpenSSL としてはOpenSSL 3.0 で FIPS 検証対応を立て直す計画を立てていましたが、プロジェクトに大幅な遅延が発生し、その間にFIPS 140-2 のテストのほうが 2021 年 9 月に終了する予定となった為、OpenSSL は結局 FIPS 140-3 標準に注力することを決定しました。

これでは、現在のバージョンのOpenSSL ユーザーは、永遠にサポートが保証されているパッケージを使用できないことになります。これは、セキュリティに依存する企業にとって大きな問題です。

この事態解消の一つの解決策として、wolfSSL は FIPS 認定の暗号モジュール (wolfCrypt) を OpenSSL エンジンとして使用できるようにwolfEngineライブラリとして提供します。

  • OpenSSL ユーザーは、サポートされている FIPS ソリューションを入手でき、パッケージは 24 時間年中無休で利用できます。
  • 新しい wolfCrypt FIPS ソリューションは、TLS 1.3 で使用されるアルゴリズムをサポートしています。つまり、OpenSSL ベースのプロジェクトは TLS 1.3 をサポートできます。
  • 新しい wolfCrypt ソリューションは、ネイティブの wolfCrypt によって提供される完全なハードウェア暗号化をサポートしているため、プロジェクトでハードウェア暗号化をサポートできます。
  • BoringSSL などの OpenSSL 派生の 1 つを使用している場合も、サポートも可能です。

wolfEngine は、wolfSSL (libwolfssl) および OpenSSL にリンクする独立したスタンドアロン ライブラリとして構造化されています。 wolfEngine は、wolfCrypt ネイティブ API を内部的にラップする OpenSSL エンジンの実装を実装および公開します。アルゴリズムのサポートは、wolfCrypt FIPS 140-2 証明書 #3389 にリストされているものと一致します。

wolfEngine は、デフォルトで libwolfengine と呼ばれる共有ライブラリとしてコンパイルされます。これは、コンフィグレーションファイルを介してアプリケーションまたは OpenSSL によって実行時に動的に登録できます。 wolfEngine は、静的ビルドでコンパイルされたときにアプリケーションがエンジンをリンクするためのエントリ ポイントも提供します。

OpenSSL 用の現在の wolfEngineは、OpenSSL 1.0.2h および 1.1.1b を使用して Linux 上で OpenSSL アプリ (s_client、s_server など) およびいくつかの一般的なオープン ソース パッケージ (cURL、stunnel、nginx、OpenLDAP、OpenSSH など) 内でテストされています。

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。

原文:https://www.wolfssl.com/wolfcrypt-engine-openssl-4/

wolfTPMのアドバンテージ

wolfSSLでは、組み込み機器向けに設計された、下位API互換性を備えたポータブルなオープンソースTPM 2.0スタックであるwolfTPMと呼ばれるTPMスタックを顧客と長年にわたって開発してきました。移植性が高く、Linux と Windows をネイティブでサポートしています。 RTOS およびベア メタル環境での利用では、SPI ハードウェア インターフェイス用の単一の IO コールバック、外部依存関係なし、リソース使用量の少ないコンパクトなコード サイズという利点を得られます。

wolfTPM は、認証などの複雑な TPM 操作を支援する API ラッパーと、TPM を使用した証明書署名要求 (CSR) の生成などの複雑な暗号化プロセスを支援するサンプルプログラムを提供します。

wolfTPM の移植性により、新しいプラットフォームでコンパイルするのは一般的に非常に簡単です。

他のセキュアソリューションに比べて wolfTPM を使用するべきいくつかの理由を示します:

  1. 広く受け入れられている標準 TCG TPM 2.0 に基づいています。
  2. 多くのチップ ベンダー オプションがあり、ピン互換です。
  3. RSA のサポート。全ての TPM では少なくとも RSA 2048 をサポートします (STSAFE および ATECC はサポートしていません)。
  4. より多くの NV ストレージを提供します
  5. ブート検証(Measured Boot)
    • 起動が適切に行われたかを検証サーバを使って検証する機能
    • ファームウエア等のハッシュ値を算出し検証サーバでそれらの正当性を検証します
  6. 高度なポリシー管理
  7. 秘密鍵または PCR 状態に基づいてデータを封止/封止解除します。
    • 封止機能はそのTPMが搭載されている環境(H/W)特有の値を関連つけた鍵を使ってデータをTPM内部に格納し、同じ環境が提供する先の値を伴わないとデータを取り出せなくなる機能です。他のハードウエアセキュリティモジュールと比較してTPM2.0のユニークな特徴の一つです。

 

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。

原文:https://www.wolfssl.com/what-are-the-advantages-of-wolftpm/

wolfTPMにさらにTPM2.0のサンプルプログラムを追加しました

wolfSSL は、TPM 2.0 ポータブル ライブラリの拡張と改善を続けています。 wolfTPM は、ベアメタルおよび組み込みシステム用に設計した唯一の TPM 2.0 スタックです。  3 月末に、3 つの新しいサンプルプログラムを追加した wolfTPM バージョン 2.1.0 をリリースしました。その後さらに3つ追加しています。以下にその6つのサンプルプログラムを紹介します:

1. NVRAMの使用例

  • TPM を安全なストレージとして使用
  • TPM の NVRAM に非対称鍵または対称鍵を格納する方法を示すコード サンプルを用意
  • このオープンソースのサンプルプログラムでは、中間者攻撃から保護するためにパラメーターの暗号化を使用

2. 対称鍵操作の使用例

  • オープンソースのTPM鍵生成サンプルプログラムを拡張
  • 以下の暗号化モードをサポート:
    • AES CFB
    • AES CTR
    • AES CBC
  • 以下の鍵サイズもサポート:
    • 128
    • 196(TPMベンダーに依存)
    • 256
  • 例えば、TPM対称鍵としてAES CFB 128bitを生成する場合には下記のコマンドを実行します。
./examples/keygen/keygen -sym=aescfb128

3. STM32CubexMX I2C HAL

  • カスタマーリクエストのあったSTM32CubeMX用のHAL IO Callback を使うサンプルプログラムを追加しました。 SPI をサポートしていましたが、STM32CubeMX プロジェクトの I2C もサポートするようになりました。

4. Seal とUnseal機能のサンプルプログラム

  • 秘密情報の封止機能は他のハードウエアセキュリティモジュールと比較してのTPM 2.0 のユニークな特徴の一つです。次の2つの使い方が可能です:
    • TPM 鍵の中に秘密を封止
    • PCR バンクに秘密を封止
  • TPM 鍵の中に秘密を封止する方法を提供できます。
  • 情報はTPMチップ中にだけ保管されるので機密情報の安全な保管庫として利用できます。

5. 拡張 GPIO サポートのサンプルプログラム

  • これもカスタマーリクエストにより用意したもので、TPMのGPIOをユーザで制御できるよう設定可能にしました。GPIOへのアクセスはTPMの認証機能で保護されていますが、この拡張機能はGPIOへのアクセスなどのセキュリティイベントを通知する機能として構成できるので有用です。

6. 遠隔認証のサンプルプログラム

  • 遠隔認証もまたTPMを利用する際に有効にできるユニークな機能です。この機能は特定のカスタマーの為の機能として使わることが多いですが、どのようなカスタマーにも共通して使える要素として抽出しサンプルプログラムとしてご紹介します。
  • 認証情報の作成方法と有効化の方法のコーティング例を追加しました。このサンプルによって、遠隔認証の実現の為にシステム間で最初の信頼関係を確立する方法がご理解いただけると思います。

これまでにwolfTPMは20以上のサンプルプログラムを提供し、TPM2.0 の利用方法をご紹介してきました。これらのプログラムはオープンソース(GitHub repository of wolfTPM)で提供しています。GitHub repository of wolfTPM.

ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。

原文:https://www.wolfssl.com/wolftpm-even-tpm-2-0-examples/

Posts navigation

1 2 3 4 44 45 46