Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

OPTIGA™ Trust M: オブジェクトのメタデータ – KBA235408

OPTIGA™ Trust M: オブジェクトのメタデータ – KBA235408

Infineon_Team
Moderator
Moderator
Moderator
5 replies posted First solution authored First comment on KBA

OPTIGA™ Trust M: オブジェクトのメタデータ – KBA235408

Translated by: 

Original KBA: OPTIGA™ Trust M: Metadata of an Object – KBA235408

Version: **

OPTIGA™ Trust Mは、ユーザー関連の多数の鍵およびデータオブジェクトを提供します。各々の鍵またはデータオブジェクトは、その固有のオブジェクト識別子(OID)によって識別され、各オブジェクトは、メタデータと結びついています。メタデータは、色々な構成のタグ長値(TLV)オブジェクトを介して表現されます。1は、メタデータで定義されるオブジェクトの利用可能なタグ、およびアクセス条件を示しています。各タグの概要は、以下に示しています

 

1 データおよび鍵オブジェクトに結びついているメタデータ

タグ

構造体定義

実行

読み出し

変更

0x20

メタデータで構築されたTLVオブジェクト

N.A.

N.A.

常時

0xC0

データまたは鍵オブジェクトのライフサイクル状態(LcsO)

N.A.

常時

常時

0xC1

バージョン情報

N.A.

LcsO<op

常時

0xC4

データおよび鍵オブジェクトの最大サイズ

N.A.

NEV

常時

0xC5

データオブジェクトの使用サイズ

N.A.

自動

常時

0xD0

アクセス条件記述子の変更

N.A.

LcsO<op

常時

0xD1

アクセス条件記述子の読み出し

N.A.

LcsO<op

常時

0xD3

アクセス条件記述子の実行

N.A.

LcsO<op

常時

0xD8

メタデータ更新記述子

N.A.

LcsO<op

常時

0xE0

鍵コンテナに関連付けられたアルゴリズム

N.A.

自動

常時

0xE1

鍵コンテナに関連付けられた鍵の使用方法

N.A.

LcsO<op

常時

0xE8

データオブジェクト対応

N.A.

LcsO<op

常時

0xF0

(工場出荷時)リセットタイプ

N.A.

LcsO<op

常時

 

0x20:

これは、メタデータの開始を示しています。

0xC0:

これは、オブジェクトのライフサイクルの状態を示しています。表2で示すように、4つの主要な状態は、ライフサイクルの柔軟な制御をサポートします。4つの主要な状態は、低い値から高い値に、1方向のみに進みます。例えば、初期状態(in)から動作状態(op)へ。その逆はなし。

見なされるデータオブジェクトのアクセス条件は、動作可能(op)として見なされ、LcsOがない場合は変更できません。

2 ライフサイクル状態

概要

00000001

生成

00000011

初期

00000111

動作可能

00001111

終了

 

0xC1:

これは、データまたは鍵オブジェクトのバージョン情報を示しています。15ビットは、バージョンを示し、MSBビットはオブジェクトが有効かどうかを示しています。例えば、オブジェクトはMSB = 1の時に無効で、MSB = 0の時に有効です。デフォルトバージョンは、バージョンタグがない場合に0x0000です。

0xC4:

これは、データオブジェクトの使用されたサイズを示しています。使用された長さは、オブジェクトデータが変更されると常に自動的に更新されます。使用されたサイズ(タグ 0xC5)がない場合、使用されたサイズは最大です。

0xD0:

これは、オブジェクト内のデータを変更できる条件を示しています。一体性のある保護された更新の間、マニュフェストのメタデータに関連した署名は、対応する公開鍵を保存するアドレス指定されたトラストアンカーを使用して検証される必要があります。信頼性が保護された更新の間、マニュフェストはAESを使用して復号化されます。

整合性および機密性の両方を伴って保護された更新の間、アクセス条件は、AND演算子を使用して結合されます。例えば、以下のように表すことができます:

 

タグ

長さ

0xD0

0x07

0x20

0xF1

0xD0

0xFD

0x21

0xE0

0xE8

 

 

機密性

共有された機密

AND

整合性

公開鍵認証

 

0xD1:

これは、オブジェクトのデータを読み取ることができる場合の条件を示しています。

0xD3:

これは、オブジェクトの署名検証や署名生成などの動作が実行できる場合の条件を示しています。

0xD8:

このタグは、メタデータの更新が許可された場合の条件を定義します。例えば、以下の表で表すことができます:

タグ

長さ

0xD8

0x03

0x21

0xE0

0xE8

 

 

整合性

公開鍵認証

 

オブジェクトメタデータの更新の間、メタデータ更新で関連した署名は、アドレス指定されたトラストアンカーを使用して検証される必要があります。例えば、0xE0E8および関連した(工場出荷時)リセットタイプは、メタデータが新しく設定される前に適用されます。

現状のメタデータによって(工場工場出荷時)リセット無しタイプが指定されている場合、更新は失敗します。

 

0xE0:

このタグは、OPTIGA™ Trust Mによってサポートされるアルゴリズム識別子を示します。サポートされる異なるアルゴリズム識別子を3に示します。

 

3 アルゴリズム識別子

概要

0x03

NIST P256曲線の楕円曲線鍵

0x04

NIST P384曲線の楕円曲線鍵

0x05

NIST P521曲線の楕円曲線鍵

0x13

Brainpool P256 r1曲線の楕円曲線鍵

0x15

Brainpool P384 r1曲線の楕円曲線鍵

0x16

Brainpool P521r1曲線の楕円曲線鍵

0x41

RSA鍵1024ビット指数形式

0x42

RSA鍵2048ビット指数形式

0x81

128ビットのAES鍵

0x82

192ビットのAES鍵

0x83

256ビットのAES鍵

0xE2

SHA 256

 

0xE1:

このタグは、OPTIGA™TrustMによってサポートされている異なる鍵の使用法を指定します。OPTIGA™TrustMによってサポートされている鍵の使用法識別子を4に示します。

4 鍵の使用法識別子

概要

0x01

認証

0x02

暗号化、復号化、鍵転送

0x10

署名計算 / 検証

0x20

鍵承認

 

0xE8:

このタグは、データオブジェクトタイプを指定します。異なるデータオブジェクトタイプおよび対応する値は、表5に示されます。

 

5 データオブジェクトタイプ

概要

0x00

バイト文字列データオブジェクトタイプは、オフセットと長さでアドレス指定される一連のバイトで表されます。

0x01

アップカウンタデータ型は、現在の値を増やすことしかできないカウンターと、カウンターを終了する閾値を実装します

0x11

トラストアンカーデータ型には、信頼のルートを必要とするさまざまなコマンドで使用される単一のX.509証明書が含まれています。

0x12

デバイスIDデータ型には、単一のX.509証明書またはTLSなどの証明書のチェーン、およびエンドデバイスの暗号化IDを保証するために発行されたUSB-TypeCが含まれます。

0x21

事前共有機密には、FW復号化など、さまざまな目的で事前共有機密を構成するバイナリデータ文字列が含まれています。

0x22

プラットフォームバインディングには、プラットフォームバインディングの事前共有機密を構成するバイナリデータ文字列が含まれています。たとえば、OPTIGA™シールド接続に使用されます。

0x23

保護された更新機密には、データまたはキーオブジェクトの機密保護された更新のための事前共有機密を構成するバイナリデータ文字列が含まれています。ホスティングデータオブジェクトの最大長が長くても、最大長は64バイトに制限されます。

0x31

承認リファレンスには、外部エンティティの承認を検証するための参照値を構成するバイナリデータ文字列が含まれています。

 

0xF0:

このタグは、メタデータを更新した場合に、オブジェクトデータに何が起こるかを定義します。ソリューションリファレンスマニュアルの表75に、メタデータ更新識別子の異なる値が示されています。

よく使われる推論を伴うアクセス条件のメタデータサンプルを以下の表に示します:

タグ

条件

推論

0x20, 0x11

TL メタデータTLV-オブジェクト

メタデータオブジェクトの開始

0xC0, 0x01, 0x03

TLV LcsO = in

オブジェクトのライフサイクルステータスは初期化状態です

0xC4, 0x01, 0x8C

TLV 最大サイズ = 140

オブジェクトが使用できる最大サイズは140バイトです

0xC5, 0x01, 0x0A

TLV 使用サイズ = 10

占有サイズは10バイトです

0xD1, 0x01, 0x00

TLV 読み出し= ALW

オブジェクト内のデータの読み出しは、常に

0xD0, 0x03, 0xE1, 0xFC, 0x07

TLV 変更= LcsO < op

LcsOが7未満の場合のみ、オブジェクトへの書き込みが可能です

 
注: いずれのアクセス条件もない場合、みなしアクセス条件はNEVNever)として定義されます。

0 Likes
41 Views