ECCSIの概要
Detailed Description
ECCSI(楕円曲線ベースの証明書レス署名によるアイデンティティベース暗号化)は、RFC 6507(https://tools.ietf.org/html/rfc6507)で規定されています。
アイデンティティベース暗号化では、クライアントのアイデンティティに基づいてキーを生成する鍵管理サービスがあります。 秘密鍵(SSK)と公開鍵(PVT)は署名者に配信され、公開鍵(PVT)のみがリクエストに応じて検証者に配信されます。
wolfCryptは次の機能を提供します:
- KMS鍵の作成
- 署名鍵ペアの生成
- 署名鍵ペアの検証
- メッセージの署名
- メッセージの検証
KMS:
- ECCSI鍵の初期化: wc_InitEccsiKey()
- ECCSI鍵の作成と保存またはロード:
- リクエストを待機:
- クライアントから署名IDを受信
- IDから署名鍵ペアを生成: wc_MakeEccsiPair()
- 結果をエンコード:
- 署名者用に署名鍵ペア: wc_EncodeEccsiPair()
- KPAKと結果を送信
- ECCSI鍵の解放: wc_FreeEccsiKey()
クライアント、署名者:
- ECCSI鍵の初期化: wc_InitEccsiKey()
- (署名ペアがキャッシュされていない場合)KMSにKPAKと署名ペアをリクエスト
- KMSに署名IDを送信
- KMSから署名鍵ペアを受信
- KMS公開鍵をロード: wc_ImportEccsiPublicKey()
- 署名鍵ペアをデコード: wc_DecodeEccsiPair()
- 鍵ペアを検証: wc_ValidateEccsiPair()
- (上記で実行していない場合)KMS公開鍵をロード: wc_ImportEccsiPublicKey()
- (キャッシュされていない場合)IDとPVTのハッシュを計算: wc_HashEccsiId()
- 各メッセージに対して:
- アイデンティティのハッシュを設定: wc_SetEccsiHash()
- メッセージに署名: wc_SignEccsiHash()
- ハッシュID、メッセージ、署名をピアに送信
- ECCSI鍵の解放: wc_FreeEccsiKey()
クライアント、検証者:
- 署名者からハッシュID、メッセージ、署名を受信
- KMSにKPAK(キャッシュされていない場合)とハッシュIDのPVT(キャッシュされていない場合)をリクエスト
- KMSからKPAK(キャッシュされていない場合)とハッシュIDのPVT(キャッシュされていない場合)を受信
- ECCSI鍵の初期化: wc_InitEccsiKey()
- KMS公開鍵をロード: wc_ImportEccsiPublicKey()
- PVTをデコード: wc_DecodeEccsiPvtFromSig()
- IDとPVTのハッシュを計算: wc_HashEccsiId()
- ECCSI鍵ペアを設定: wc_SetEccsiPair()
- メッセージの署名を検証: wc_VerifyEccsiHash()
- ECCSI鍵の解放: wc_FreeEccsiKey()
Updated on 2025-12-12 at 03:08:17 +0000