PASETO v2 vs v4 — 何が変わったか

PASETO v2とv4を比較:暗号プリミティブの選択、性能特性、ライブラリの可用性、v2からv4への移行タイミング。

Version

詳細な説明

PASETO v2とv4はどちらも非NIST系の現代的なPASETOバージョンで、概念的な構造(localにXChaCha系、publicにEd25519)を共有しています。v4が現在の推奨デフォルトで、v2はレガシー扱いです。

同じところ:

publicトークンではv2もv4もEd25519署名を使うため、署名サイズ、セキュリティ強度、検証ワークフローは事実上同一です。両方とも非FIPSで、同じ現代的脅威モデル(アルゴリズム交渉なし、AEADのみ)を対象とし、PASETOライブラリで広くサポートされています。

v4で変わったこと:

最大の変更はlocalバリアントです。v2.localは単一のAEAD構成であるXChaCha20-Poly1305を使いますが、v4.localは暗号化にXChaCha20を、認証に別のBLAKE2b鍵付きハッシュを使います。この分離型構成はNaClのsecretboxの設計と同じで、PASETO作者たちに各プリミティブを独立に進化させる柔軟性を与えます。v4はまた、曖昧さを減らすために事前認証エンコーディング(PAE)形式を若干引き締めました。

パフォーマンス:

実際には、BLAKE2bが高度に最適化されているため、ほとんどのプラットフォームでv4.localはv2.localと同等またはわずかに高速です。v4.publicとv2.publicは性能的にはほぼ同一で、どちらの場合もEd25519の署名/検証が支配的です。

移行:

新規システムを始めるならv4を選んでください。既存のv2デプロイメントがある場合、緊急に移行する必要はありません — v2は壊れているわけではなく、置き換えられただけです。典型的な移行パスは、移行期間中はv2とv4の両方のトークンを発行し、検証側ではどちらも受け付け、すべてのクライアントがローテートしたらv2の発行を停止します。トークンをその場で変換しようとせず、通常の認証フローを通じて再発行してください。

v3はその間に位置:

v3はNIST承認プリミティブを必要とする環境(FIPS 140-2/3準拠)のために特別に追加されました。その要件がある場合のみv3を使い、それ以外はv4が良い選択です。

ユースケース

v2ベースのマイクロサービスメッシュを運用するチームがv4移行を計画:1四半期サービスでトークンを両方受け付け、その後発行者をv4専用に切り替え、移行期間終了時にv2鍵を退役させます。

試してみる — PASETO Decoder

フルツールを開く