**WolfGuard:FIPS 140‑3 対応 WireGuard 暗号化**

2026/03/25 0:51

**WolfGuard:FIPS 140‑3 対応 WireGuard 暗号化**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

WolfGuard は Linux カーネルベースの WireGuard VPN を、WireGuard のインターフェイスとビルドワークフローを維持しつつ、wolfSSL の FIPS 140‑3 認定済みアルゴリズムを使用して書き換えます。ソースツリーには主に二つのコンポーネントが含まれています:

wolfguard.ko
カーネルモジュール(
libwolfssl.ko
に依存)とユーザー空間ツール
wg-fips
(そのクイックスクリプト
wg-fips-quick
)。既存の WireGuard 実行ファイルはシンボリックリンクで置き換えられます(
wg → wg‑fips
,
wg‑quick → wg‑fips‑quick
)、元のバイナリは
wg‑wireguard*
に名前変更されます。

アルゴリズムマッピングは明示的です:

  • ECDH: Curve25519 → SECP256R1
  • AEAD: XChaCha20‑Poly1305 → AES‑256‑GCM
  • Digest: Blake2s → SHA2‑256
  • Authenticated digest: Blake2s‑HMAC → SHA2‑256‑HMAC
  • Internal hash: SipHash → SHA2‑256
  • DRBG: ChaCha20 DRBG → SHA2‑256 Hash‑DRBG

性能テストでは、

--enable-intelasm
を有効にした場合、WolfGuard の AES‑256‑GCM と SHA2‑256 は CPU で加速された WireGuard に匹敵または上回ります。Intel ASM を無効にすると若干遅くなりますが、最新の CPU ではギガビットイーサネットを十分に満たします。

ビルドは non‑FIPS(nightly Git ソース)と FIPS‑certified に分かれます。

  • non‑FIPS:
    wolfssl
    のナイトリースナップショットをクローンし、
    ./autogen.sh
    を実行して
    --enable-wolfguard --enable-all-asm
    で設定し、ユーザーライブラリをインストールした後、
    wg-fips
    とカーネルモジュール(
    libwolfssl.ko
    ,
    wolfguard.ko
    )をビルドします。Intel ASM または公開鍵圧縮をオプションで使用できます。
  • FIPS: wolfSSL アーカイブ(例:
    wolfssl-X-fips-linuxvX-kernel.7z
    )を使用し、
    --enable-fips=vX --enable-wolfguard
    で設定し、
    ./fips-hash.sh
    を実行してユーザーライブラリをビルドします。その後、カーネルモジュールは二段階のハッシュ更新を経てコンパイルされ、カーネルの整合性チェックを満たします。

インストール後に鍵生成(

../user-src/wg-fips genkey | ../user-src/wg-fips pubkey
)をテストし、既存の WireGuard プレイブックを
/etc/wolfguard
を指すように設定して
wg‑fips
でキーを生成することで WolfGuard トンネルを作成します。全ての WolfGuard バイナリは自身のビルド内では相互運用できますが、標準 WireGuard とは相互運用できません。

本文

WolfGuard VPN(FIPS 140‑3対応暗号化)

概要

  • WolfGuard は、Jason Donenfeld が設計した WireGuard の Linux‑kernel ベース版を wolfSSL に合わせてリファクタリングし、FIPS‑compliant な実装です。
  • 使用方法は WireGuard とほぼ同一です。
  • 主な構成要素は以下の2つです。
    • wolfguard.ko
      – カーネルモジュール(
      libwolfssl.ko
      に依存)
    • wg-fips
      – ユーザー空間で動作する設定ツール(
      libwolfssl.so
      に依存)

wg-fips-quick
スクリプトは
wg-quick
と同様に機能しますが、SECP256R1 キーを
/etc/wolfguard
内に格納します。
シンボリックリンクが作成され、
wg → wg-fips
および
wg-quick → wg-fips-quick
が有効になります。WireGuard の実行ファイルが存在する場合は、それらを
wg-wireguard
/
wg-wireguard-quick
に名前変更し、保護コピーとして
wg-wireguard-quick.unpatched
を残します。

暗号アルゴリズムのマッピング

カテゴリWireGuardWolfGuard
ECDHCurve25519SECP256R1
AEADXChaCha20‑Poly1305AES‑256‑GCM
ダイジェストBlake2sSHA2‑256
認証ダイジェストBlake2s‑HMACSHA2‑256‑HMAC
内部ハッシュSipHashSHA2‑256
DRBGChaCha20‑DRBGSHA2‑256 Hash‑DRBG
  • WolfGuard と WireGuard は同時に存在でき、別々のトンネルを確立します。
  • --enable-intelasm
    (x86 専用)を有効化すると、AES‑256‑GCM および SHA2‑256 の CPU アクセラレーションで WireGuard と同等またはそれ以上の性能が得られます。無効にした場合でも、最新CPUではギガビットイーサネット帯域を十分に利用できます。

ビルドとインストール

以下の2種類の手順が用意されています。

  1. 非FIPS ソース – ナイトリーミラーや Git リポジトリからビルド。
  2. FIPS 認証済みソース – 公式 FIPS アーカイブからビルド(
    fips@wolfssl.com
    にてダウンロード可)。

どちらの場合も、ユーザー用ツールとスクリプトは

wg-fips
/
wg-fips-quick
と名付けられ、FIPS 認証の有無に関わらず FIPS 承認済みアルゴリズムを使用します。
FIPS 認証済みビルドと非認証ビルドは相互運用できますが、WireGuard とは互換性がありません。

注意

--enable-intelasm
は x86 ターゲット専用で、FIPS 版でも対応ソースに対してのみ使用してください。
--enable-wolfguard
を使えば最小機能セットを有効化できます。完全な暗号機能が必要なら
--enable-all-crypto
を指定します。

コマンドは

$
(非特権ユーザー)と
#
(root 必須)のプレフィックスで区別され、同一作業ディレクトリ内で実行してください。
wolfSSL リリースアーカイブを使用する場合は、バージョン 5.8.4 以上が必要です。


1. 非FIPS Git ソースからのビルド

(a) ソース取得

$ mkdir wolf-sources
$ cd wolf-sources
$ git clone https://github.com/wolfssl/wolfssl --branch nightly-snapshot
$ git clone https://github.com/wolfssl/wolfguard
$ (cd wolfssl && ./autogen.sh)

(b) ユーザーライブラリ (
libwolfssl
) のビルド&インストール

Linux ではデフォルトで

wg-fips
がカーネルモジュールにキー生成をオフロードします。

$ cd wolfssl
$ ./configure --quiet --enable-wolfguard --enable-all-asm
$ make -j
$ ./wolfcrypt/test/testwolfcrypt
# make install
$ cd ..

キー操作を内部で実行したい場合は

make -j NO_IPC_LLCRYPTO=1
を使用。
圧縮公開鍵(
WG_USE_PUBLIC_KEY_COMPRESSION
)が必要なら、
EXTRA_CFLAGS=-DWG_USE_PUBLIC_KEY_COMPRESSION
でビルド。

(c) ユーザーツール (
wg-fips
) のビルド&インストール

$ cd wolfguard/user-src
$ make -j
# make install
$ cd ../..

WireGuard バイナリは

wg-wireguard
/
wg-wireguard-quick
に名前変更され、
wg
/
wg‑quick
のシンボリックリンクが WolfGuard へ向けられます。

(d) カーネルモジュール (
libwolfssl.ko
) のビルド&インストール

$ cd wolfssl
$ ./configure --quiet --enable-wolfguard --enable-cryptonly --enable-intelasm \
  --enable-linuxkm --with-linux-source=/usr/src/linux \
  --prefix=$(pwd)/linuxkm/build
$ make -j module
# make install
# modprobe libwolfssl

本番環境では拡張自己テストを有効化:

$ ./configure --quiet --enable-wolfguard --enable-cryptonly --enable-intelasm \
  --enable-linuxkm --with-linux-source=/usr/src/linux \
  --prefix=$(pwd)/linuxkm/build --enable-crypttests \
  CFLAGS=-DWOLFSSL_LINUXKM_VERBOSE_DEBUG

(e) WolfGuard カーネルモジュール (
wolfguard.ko
) のビルド&インストール

$ cd ../wolfguard/kernel-src
$ make -j KERNELDIR=/usr/src/linux KERNELRELEASE=$(uname -r)
# make install
# modprobe wolfguard
$ ../user-src/wg-fips genkey | ../user-src/wg-fips pubkey

genkey
/
pubkey
テストでランダム公開鍵が出力されれば成功です。
圧縮キーを使用する場合は、全ビルドに同一設定 (
WG_USE_PUBLIC_KEY_COMPRESSION
) を適用してください。

すべての手順が完了したら、既存の WireGuard Playbook をそのまま利用して WolfGuard トンネルを起動できます。

/etc/wireguard
の代わりに
/etc/wolfguard
を使用し、キーは
wg-fips
で生成してください。


2. FIPS 認証済みソースからのビルド

(a) ソースツリー準備

$ mkdir wolf-sources
$ cd wolf-sources
$ 7z x ~/Downloads/wolfssl-X-fips-linuxvX-kernel.7z   # または tar -xf for .tar.gz
$ ln -s wolfssl-X-fips-linuxvX-kernel wolfssl
$ git clone https://github.com/wolfssl/wolfguard

FIPS カーネルモジュールアーカイブは非カーネル版とは別ですが、ユーザーライブラリのビルドに利用できます。

(b) ユーザーライブラリのビルド&インストール

$ cd wolfssl
$ ./configure --quiet --enable-fips=vX --enable-wolfguard
$ make -j
$ ./fips-hash.sh
$ make -j
$ ./wolfcrypt/test/testwolfcrypt
# make install
$ cd ..

vX
は取得した FIPS アーカイブのバージョン(例:
v5.2.4
v6
など)に置き換えてください。

(c) ユーザーツール (
wg-fips
) のビルド&インストール

$ cd wolfguard/user-src
$ make -j
# make install
$ cd ../..

非FIPS ビルドと同様に内部キー操作や圧縮キーの設定については注意してください。

(d) カーネルモジュール (
libwolfssl.ko
) のビルド&インストール

二段階プロセスで正しい整合性ハッシュを確保します:

$ cd wolfssl
$ ./configure --quiet --enable-fips=vX --enable-wolfguard --enable-cryptonly \
  --enable-linuxkm --with-linux-source=/usr/src/linux \
  --prefix=$(pwd)/linuxkm/build
$ make -j module
# make install
# modprobe libwolfssl   # 「Operation canceled」が表示されるはずです。
$ NEWHASH=$(dmesg | awk '{if (match($0, " new hash \"([^\"]+)\" ", hash_a)) { hash = hash_a[1]; }} END {print hash}')
$ sed --in-place=.bak "s/^\".*\";/\"${NEWHASH}\";/" wolfcrypt/src/fips_test.c
$ make -j module
# make install
# modprobe libwolfssl

2回目の

modprobe
が失敗した場合は次を実行:

$ make module-update-fips-hash FIPS_HASH="$NEWHASH"
# make install
# modprobe libwolfssl

本番環境では非FIPS の手順と同様に拡張自己テストを有効化してください。

(e) WolfGuard カーネルモジュールのビルド&インストール

$ cd ../wolfguard/kernel-src
$ make -j KERNELDIR=/usr/src/linux KERNELRELEASE=$(uname -r)
# make install
# modprobe wolfguard
$ ../user-src/wg-fips genkey | ../user-src/wg-fips pubkey

ランダム公開鍵が正常に出力されればインストールは成功です。


最終的な注意事項

  • ビルドが完了したら、WireGuard と同じ Playbook / スクリプトを使って WolfGuard トンネルを起動できます。
  • /etc/wireguard
    /etc/wolfguard
    に置き換え、キーは
    wg-fips
    で生成してください。
  • 一部の WireGuard クライアントは正確に 44文字の Base64 公開鍵を想定していますが、WolfGuard の公開鍵は(圧縮未使用時)約倍長です。FIPS v5 では
    WG_USE_PUBLIC_KEY_COMPRESSION
    は未サポートですが、v6 以降で利用可能です。

さらにご不明点がある場合は fips@wolfssl.com までお問い合わせください。

同じ日のほかのニュース

一覧に戻る →

2026/03/25 0:29

Appleビジネス

## Japanese Translation: > **Apple Business ― デバイス管理と広告を統合したプラットフォーム** Apple は 4 月 14 日に、200 以上の地域で *Apple Business* を開始し、Apple Business Essentials、Apple Business Manager、および Apple Business Connect を置き換えます。新しいオールインワンソリューションは、組み込み型モバイルデバイス管理(MDM)と「Blueprints」を統合し、ゼロタッチ展開、自動化された Managed Apple Account の作成、従業員グループ/役割管理、アプリ配布、および Admin API を提供します。さらに、ビジネスメール、カレンダー、ディレクトリサービス、カスタムドメインサポート、iOS 26+、iPadOS 26+、macOS 26+ 向けの Apple Business アプリも付属しています。 既存顧客のデータは自動的に移行されます。 Apple Business は米国とカナダで Apple Maps 上の広告を追加(今夏開始)し、検索結果の上部および Suggested Places に表示される広告は明確にラベル付けされて透明性を保ちます。このプラットフォームには、Apple Business Connect のブランドプロファイルとロケーション機能が組み込まれており、リッチプレイスカード、ショーケース/カスタムアクション、ロケーションインサイト、ブランデッドコミュニケーション、および Tap to Pay ブランド化が含まれます。 コアサービスは全世界の新規ユーザーと既存ユーザーに対して無料で提供されます。有料オプションとして、最大 2 TB の iCloud ストレージ($0.99/ユーザー/月)と AppleCare+ for Business(デバイスあたり $6.99 またはユーザーあたり $13.99/月)が利用可能です。ゼロタッチ展開は、Apple または認定販売業者から購入したデバイスで利用でき、プライバシーモデルではユーザーの位置情報と広告インタラクションデータを Apple アカウントから分離し、オンデバイスに保存され、第三者と共有されません。

2026/03/25 6:24

害虫駆除向けの垂直型 SaaS を構築したいと思ったので、技術者として働くことにしました。

## Japanese Translation: (主要ポイントをすべて組み込む)** 著者は30 億ドルのTAMと強固な継続収益性が見えたため、害虫駆除業界へ転職しました。彼は業界最大手グループの子会社に採用され、即座にローカルブランド全体で**数十億ドル規模の売上を担当**しました。13日という記録的な期間で集中的な学習・セミナー・試験・監督付きトラック時間を経てライセンスを取得しました。 現場業務では、典型的な物流上の課題に直面しました:バッテリーがフラット、燃料カードが5週間以上遅れ、経費精算が遅い。会社のコアシステムは高度にカスタマイズされたSalesforce環境であり、オンボーディングには10個以上のモバイルアプリが必要でした。彼はトラックアイドリング、GPS、訪問時間、電話活動を通じて技術者のパフォーマンスを監視しました。最初は厳格な監視に抵抗したものの、結局は従事しました。 現場での成功により、彼は上級技術者を追跡し正式なトレーニングなしに小規模アップセルを実行したことから「潜入ボス」というニックネームを得ました。その後セールスへ転身し、アウトバウンドワークフローを構築して21日で24 k ARR契約(さらに小規模なアップセル)を確保しました。しかし、内部見積もりプロセスが複数署名と新規アカウント作成を必要とするため手間がかかり、取引損失のリスクがあることに気付きました。 セールスチームは10年以上の経験を持つベテラン担当者で構成されており、それぞれ800k–1.2M ARRを生成し低いチャーン率を維持しています。彼らの文化は変化に抵抗が強く、エグジットインタビュー後、マネージャーから自分自身の会社を立ち上げるよう提案されました。 今後、著者はローカルニッチオペレーターを取得し、専用ツールを開発し、見積もり・オンボーディング・監視を統合したスケーラブルなプラットフォームを構築する計画です。このモデルにより現場技術者とセールス担当者の効率が向上し、チャーンが減少し、収益獲得が加速し、害虫駆除業界で競争力のダイナミクスが変わる可能性があります。

2026/03/24 21:06

HNに知らせてください:PyPI 上の Litellm 1.82.7 と 1.82.8 が改ざんされていること。

## 日本語訳: > PyPI の wheel **`litellm==1.82.8`** には、悪意のある `.pth` ファイル(`litellm_init.pth`、34 628 バイト)が含まれており、このファイルは `litellm` をインポートしなくても、Python インタープリターが起動するたびに自動的に実行されます。 > 隠されたスクリプトは二重 Base64 エンコードされたペイロードを実行し、ホストから認証情報(SSH キー、クラウドプロバイダーのクレデンシャル、Git の設定、Docker 設定、データベースパスワード、暗号ウォレットの秘密鍵など)を収集します。取得したデータは一時ファイルに書き込まれ、その後ランダムな AES‑256 キーで暗号化されます。AES キー自体はハードコードされた 4096 ビット公開鍵(キーは `MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A...` から始まります)を使って RSA 暗号化されています。 > 暗号化されたアーカイブ(`tpcp.tar.gz`)は **`https://models.litellm.cloud/`** に POST されます。 > この脆弱性は **2026‑03‑24** に、Ubuntu 24.04 の Docker コンテナで Python 3.13 を実行している環境で発見され、影響を受けたのはバージョン 1.82.8 だけが確認されています(他のリリースも脆弱になっている可能性があります)。 > PyPI 管理者はこの wheel を直ちに削除または取り下げるべきです。`litellm==1.82.8` をインストールしたユーザーは、`site‑packages/` 内の怪しい `.pth` ファイルを確認し、漏洩した認証情報をローテーションし、CI/CD パイプラインが侵害されていないか監査してください。この脆弱なバージョンを使用していたシステム(ローカル開発マシン、Docker コンテナ、本番サーバー、自動ビルドシステムなど)は、多数の組織にわたる幅広い秘密情報が漏洩した可能性があります。

**WolfGuard:FIPS 140‑3 対応 WireGuard 暗号化** | そっか~ニュース