メインコンテンツまでスキップ

8. COSEで使用されるアルゴリズムの分類

本セクションでは、COSEで使用可能なさまざまなアルゴリズムタイプの分類について説明します。この分類は網羅的なものではありません。この分類に当てはまらない新しいアルゴリズムが作成される可能性があります。

8.1. 署名アルゴリズム

署名アルゴリズムは、認証および改ざん防止のために使用されます。署名アルゴリズムは、秘密鍵(署名鍵)と公開鍵(検証鍵)の鍵ペアで構成されます。

8.2. メッセージ認証コード (MAC) アルゴリズム

MACアルゴリズムは、認証および改ざん防止のために使用されます。MACアルゴリズムは共有秘密鍵を使用します。生成者と消費者は同じ鍵を持っています。

8.3. コンテンツ暗号化アルゴリズム

コンテンツ暗号化アルゴリズムは、データの機密性を保護するために使用されます。これらのアルゴリズムは認証付き暗号 (AEAD) です。これにより、データの完全性チェックと機密性の両方が提供されます。アルゴリズムは、鍵、初期化ベクトル (IV)、および平文を使用し、暗号文と認証タグを生成します。

8.4. 鍵導出関数 (KDF)

鍵導出関数は、マスターシークレットに基づいて新しい鍵を生成するために使用されます。

8.5. コンテンツ鍵配布方法

コンテンツ鍵配布方法は、コンテンツ暗号化鍵 (CEK) を受信者に提供するために使用されます。

8.5.1. 直接暗号化

この方法は、受信者がCEKのコピーを持っている場合に使用されます。これは、事前共有鍵またはネゴシエートされた鍵である可能性があります。

8.5.2. キーラップ

この方法は、CEKがランダムに生成され、その後受信者が所有する鍵によって暗号化される場合に使用されます。この鍵は、鍵暗号化鍵 (KEK) と呼ばれます。

8.5.3. 直接鍵共有 (鍵合意)

この方法は、鍵共有アルゴリズムを使用してCEKを生成する場合に使用されます。鍵共有によって生成された共有シークレットは、その後KDFを通じてCEKを導出するために使用されます。受信者の公開鍵と送信者の秘密鍵が鍵共有アルゴリズムに使用されます。

8.5.4. キーラップを伴う鍵共有 (鍵合意)

この方法は、鍵共有アルゴリズムを使用してKEKを生成する場合に使用されます。CEKはランダムに生成され、KEKを使用して暗号化されます。