コンテンツにスキップ

ECC​​SIの概要

More...

Detailed Description

ECCSI(楕円曲線ベースの証明書レス署名によるアイデンティティベース暗号化)は、RFC 6507(https://tools.ietf.org/html/rfc6507)で規定されています。

アイデンティティベース暗号化では、クライアントのアイデンティティに基づいてキーを生成する鍵管理サービスがあります。 秘密鍵(SSK)と公開鍵(PVT)は署名者に配信され、公開鍵(PVT)のみがリクエストに応じて検証者に配信されます。

wolfCryptは次の機能を提供します:

  1. KMS鍵の作成
  2. 署名鍵ペアの生成
  3. 署名鍵ペアの検証
  4. メッセージの署名
  5. メッセージの検証

KMS:

  1. ECCSI鍵の初期化: wc_InitEccsiKey()
  2. ECCSI鍵の作成と保存またはロード:
  3. リクエストを待機:
    • クライアントから署名IDを受信
    • IDから署名鍵ペアを生成: wc_MakeEccsiPair()
    • 結果をエンコード:
    • KPAKと結果を送信
  4. ECCSI鍵の解放: wc_FreeEccsiKey()

クライアント、署名者:

  1. ECCSI鍵の初期化: wc_InitEccsiKey()
  2. (署名ペアがキャッシュされていない場合)KMSにKPAKと署名ペアをリクエスト
  3. (上記で実行していない場合)KMS公開鍵をロード: wc_ImportEccsiPublicKey()
  4. (キャッシュされていない場合)IDとPVTのハッシュを計算: wc_HashEccsiId()
  5. 各メッセージに対して:
  6. ECCSI鍵の解放: wc_FreeEccsiKey()

クライアント、検証者:

  1. 署名者からハッシュID、メッセージ、署名を受信
  2. KMSにKPAK(キャッシュされていない場合)とハッシュIDのPVT(キャッシュされていない場合)をリクエスト
  3. KMSからKPAK(キャッシュされていない場合)とハッシュIDのPVT(キャッシュされていない場合)を受信
  4. ECCSI鍵の初期化: wc_InitEccsiKey()
  5. KMS公開鍵をロード: wc_ImportEccsiPublicKey()
  6. PVTをデコード: wc_DecodeEccsiPvtFromSig()
  7. IDとPVTのハッシュを計算: wc_HashEccsiId()
  8. ECCSI鍵ペアを設定: wc_SetEccsiPair()
  9. メッセージの署名を検証: wc_VerifyEccsiHash()
  10. ECCSI鍵の解放: wc_FreeEccsiKey()

Updated on 2025-12-12 at 03:08:17 +0000