2399763_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2399763_ja-JP

2399763_ja-JP

SE051C2: すべてのセキュアオブジェクト操作が 0x6985 を返す一方、GetRandom は同じ認証情報に対して動作します。

## 問題点を一行で表すとこうなります

**SE051C2では、アプレットのオブジェクトストアに触れるすべてのコマンドが返されます
**0x6985(条件が満たされていません)** — 一方で「GetRandom」は*同じ*で成功します
会議、武装プラットフォームSCP03チャネルを通じても含まれます。

## 私たちの質問

**Q1.この部分は「強制プラットフォームSCP」/制限付き/輸送状態ですか?
どちらのサンプルも納品時の状態のままで、片方は工場から出荷されたばかりの新品です。もしSE051C2が
オブジェクトストアはプラットフォームSCP03キーがNXPからローテーションされるまでロックされます
デフォルトで、それなら以下のすべての観察を正確に説明できる。もしそうなら、
その州を離れるための文書化された手続きはありますか?

**Q2.オブジェクト操作は顧客キー(回転)プラットフォームSCP03が必要ですか?
デフォルトのプラットフォームキーは?**私たちのチャネルはデフォルトで認証しています。
明らかにトラフィックを運ぶが、その上のすべてのオブジェクトの指令は拒否される。

**Q3.もしQ1/Q2がイエスなら、まずどうやってUNIQUE_IDを読み取るのでしょうか?**
これはまさに鶏と卵の関係であり、我々の行く手を阻むものだ。私たちのプラットフォーム鍵導出は次のようになります
チップは入力としてUIDですが、「ReadObject(UNIQUE_ID)」自体は拒否されたものの一つです
命令。新品部品に対する作業手順の順序はどのようになっていますか?

**Q4.アプレットを報告できるGET DATA / GET STATUSの通知はありますか?
ライフサイクル/VCの状態は?**ステートレスコマンドは私たちにとっては*確かに*動作します、SOもしそのようなクエリが存在するなら
推測するのではなく、自分たちでパーツの状態を確認できます。

**Q5.この部分が通常のオブジェクト作成を拒否するのはなぜでしょうか?明らかに機能しているのに。
他の人にとってはどうでしょうか?DeleteAll/0x6985Thread(m-p/1648349)では、ステップ1は
`Se05x_API_WriteUserID(...FACTORY_RESET...)`が**0x9000**を返し —
WriteSecureObjectがプラットフォームSCP03のみでデフォルトセッションで成功しています。それは
まさに、我々にとって失敗に終わる種類の指揮系統だ。つまりオブジェクト書き込みは本質的にそうではありません
セッションゲート。違いはバリエーションや構成(SE051C2とSE050の違い)なのか、それとも
プラットフォームキーはまだNXPのデフォルトですか?

**Q6.m-p/1716555 は同じ根本原因ですか?そこで別のユーザーが報告しています
「Se05x_API_WriteUserID」が返す「SM_ERR_CONDITIONS_OF_USE_NOT_SATISFIED」――私たちとまったく同じ
症状――そしてその疑問は答えが出ていないようです。

**Q7.`kSE05x_ECCurve_NIST_P256` は明示的な `Se05x_API_CreateECCurve` を必要としますか?
SE051C2 ですか、それとも内蔵されていますか?** (些細なことですが、試してみたところ、CreateECCurve でさえも
拒否した。)

## 測定対象

|チェック|結果|意味 |
|---|---|---|
|「Se05x_API_SELECT」アプレット |**0x9000** |IoT applet selected |
|『Se05x_API_GetRandom』(単純) |実エントロピー |セッション+輸送作業|
|プラットフォームSCP03認証 |**成功** |デフォルトのキーセットが一致 |
|**ランダムに話せ、SCP03チャネル越し** |**成功、本物のエントロピー** |暗号化 + C-MAC + 復号検証済み |
|連続して2回目のラップコマンド |**成功** |コマンドカウンターが同期を保つ |
|「WriteECKey」NIST P-256(生成) |**0x6985** |
|'WriteECKey' secp256k1 (import) |**0x6985** |「CreateCurve_secp256k1」は最初に呼ばれます |
|『WriteECKey』 Ed25519(インポート) |**0x6985** |組み込みの曲線、CreateCurveは不要 |
|『ReadObject(UNIQUE_ID)』 |**0x6985** |政策論争は関係ない |
|「WriteBinary_Ver」(ファイルポリシー付き) |**0x6985** |ファイルオブジェクトも失敗する |
|『CreateECCurve(NIST_P256)』 |**0x6985** |曲線を作ることさえ拒否されます |
|「CheckObjectExists」 |**0x6985** |対象のテストすらできない |

**「GetRandom」コマンドだけが動作します。**すべてのオブジェクトストア操作は以下を返します
0x6985 — 通常のサンプルと SCP03 で包装されたサンプルの両方で発生。

## 実験により既に否定済み

1. **その部分ではありません。**新品のSE051C2も全く同じように動作する。
2. **交通費やセッション費用は含まれません。**SELECT は 0x9000 を返します。GetRandom は実数を返します。
同一セッションにおけるエントロピー。
3. **壊れたり欠落したりしたプラットフォームSCP03チャネルはない。**認証は成功しました
デフォルトのキーセットと、決定的に「GetRandom」が発行された**武装された
チャネル**は実エントロピーを返し、2回目の連続(コマンドカウンター)も同様です。同期)を組み合わせる。
暗号化+C-MAC+応答復号化のすべてが検証されました。失敗するオブジェクトコマンド
機能が証明されたチャネルで運ばれています。
4. **欠損キーポリシーではありません。**実際の `Se05xPolicy_t` を渡しました
すべての `WriteECKey` に対して、(`ALLOW_SIGN|VERIFY|KA|READ|WRITE|GEN`、authID 0) を実行します。変更なし。
(そもそも読みUNIQUE_ID理由は説明できません — 「ReadObject」はポリシーを取らないからです。)
5. **曲線が欠落しているわけではありません。**`CreateCurve_secp256k1`はsecp256k1の前に呼び出されます。
インポート、Ed25519は組み込み、`Se05x_API_CreateECCurve(NIST_P256)`も**
0x6985を返します。
6. **命令のご注文ではない。**プレーンセッションでも、0x6985
認証済みのSCP03チャネル。
7. **ミドルウェア認証ビルド構成ではありません。**再構築
`SSS_HAVE_SE05X_AUTH_PLATFSCP03=1`、`SSS_HAVE_SE05X_AUTH_NONE=0`および
`SSSFTR_SE05X_AuthSession=1`(以前はNONE/0でした)。変更なし。

## 環境

* 部品番号: **SE051C2** — サンプル2個、うち1個は工場出荷時の新品、動作は同一
* ホスト: STM32L562、ベアメタル、TrustZoneセキュアワールド、I2C1 @ 100 kHz、T=1
* ミドルウェア: ベンダー提供の NXP Plug & Trust `Se05x_API_*` をカスタム 上で使用
`smCom_TransceiveRaw`トランスポート(独自のT=1フレーミング - SELECTとGetRandomが証明)
それは動作します)。フルミドルウェアで、**ナノパッケージではありません**。
* プラットフォームSCP03:NXPのデフォルトキー;認証は成功し、トラフィックを運びます

SE050Re: SE051C2: all Secure Object operations return 0x6985 while GetRandom works over the same authenti

こんにちは、 @winetime さん


platformSCPを有効にせずに同じ手順を試してみましたか?SE051Cは デフォルトで必須プラットフォームSCPを必要としません。この問題に関するAPDUコマンドログを共有していただければ、さらに確認するかもしれません。


すてきな一日を、
カン


-------------------------------------------------------------------------------
注記:
この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます!
- 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています
もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。
-------------------------------------------------------------------------------

Re: SE051C2: all Secure Object operations return 0x6985 while GetRandom works over the same authenti

こんにちは カン、 ありがとう のために  素早い 返事。

はい — プラットフォームSCPなしでテストされたもので、それが私たちの通常のCASEです。 私たちのオブジェクト操作は実行 before se051_scp03_open() が呼ばれているため、すでにプレーンセッション上にあり、そこで失敗します。その後、SCP03プラットフォームを起動しても何の意味もありません — 同じように0x6985 どちら やり方も。

以下はAPDUログです。通常のセッション、SCP03なし(CLA=0x80、なし 0x04 セキュアメッセージングビット。応答は単純な 状態 言葉、 ない (包装済み)

 
 
TX (11): 80 04 00 27 06 41 04 20 00 F0 30
RX(2):69 85
 

それは CheckObjectExists (INS 04 MGMT、P2 27、TAG_1オブジェクトID 0x2000F030) — 読み取り専用存在テスト — CONDITIONS により拒否されました ない 満足。

オブジェクトストアコマンドを試行するたびに、どのオブジェクトIDでも、同じ0x6985が返されます。 CheckObjectExists、 WriteBinary_Ver (ファイルポリシー付き) WriteECKey (生成およびインポート; P-256、secp256k1 CreateCurve_secp256k1 まず、そしてEd25519) CreateECCurve(NIST_P256)、 ReadObject(UNIQUE_ID)

同じ平野会で、 仕事 大丈夫:

  • 選択 IoTアプレットの→ 0x9000
  • ランダムを取得 → 実エントロピー

SO、輸送手段とアプレットの選択は良好です。object-store commands are refusedのみです。

質問: 工場出荷時のSE051C2が拒否する原因は何でしょうか CheckObjectExists 通常のセッションで?我々は全く同じ行動を目にする の上  サンプル、 1つ ブランド 新しい そして 一度もない 書かれた に。

アプレットのライフサイクル/構成状態を報告するGET DATA(またはそれに類する)クエリはありますか?無状態の命令は 私たちのために機能し、 SO 私たちは CAN    逃げて  報告 戻せない。

セットアップ:SE051C2、STM32L562ベアメタルホスト、I2C 100kHz、自社のT=1フレーミング(SELECTとGetRandomが証明)、フルPlug & Trustミドルウェア Se05x_API_*, not nanoパッケージ。

Re: SE051C2: all Secure Object operations return 0x6985 while GetRandom works over the same authenti
こんにちは、 @Kan_Li さん。この件はこれでクローズします。**それは我々の側であり、診断は間違っていた。
始める。**誰かの助けになればと思い、解決案を投稿します。
 
部品自体は問題ありません。ブートAPDUトレース全体を計測した際、
個々の結果では、クリーンな電源投入により 83 個の APDU が生成され、そのうち 80 個が 0x9000 — オブジェクトでした。
作成、secp256k1キー生成、 ` ReadObject` ECDSA署名はすべて正常に動作しています。
0x9000以外の応答は無害であり、既に弊社独自のコードで処理済みです。
 
80 01 0B 04 CreateECCurve(secp256k1) -> 6985 曲線は既に存在します
80 01 61 00 WriteECKey -> 6A80 オブジェクトが存在します。タイプが間違っています。
80 04 00 27 CheckObjectExists -> 9000
80 04 00 28 DeleteSecureObject -> 9000
80 01 61 00 WriteECKey -> 9000 は削除後に成功します
 
**私が実際に見ていたもの。 ** SEはすでにウェッジ状態にあり、私の
テストブートが開始され、以前セッションによってそこに残されまし
0x6985 — ` GetRandom` ` GetVersion` ` GetFreeMemory`含むそして状態
MCUリセット、T=1インターフェースリセット、そして自身が0x9000を返す再「SELECT」です。ただ
電源を切ると解消されます。つまり、私が報告したすべての測定値はウェッジのものであって、
ブロックされた機能であり、私の「GetRandom」は唯一機能するコマンドであり、「GetVersion」は
「拒否された」という主張はどちらも、そのことの産物だった。騒音で申し訳ありません。
 
念のため申し添えておくと、正常なブーツの場合、この部分は以下のように報告します。
 
* ` GetVersion` ` 07 02 00 3F FF FF FF` アプレット** 7.2.0 ** AppletConfig ` 0x3FFF`
* ` GetFreeMemory(PERSISTENT) ` ` 0x3E0C` = ** 15,884バイト**空き
* プラットフォームSCP03は**OEF 0005A8FA (SE051C)**のデフォルトキーセットで認証します**
 
**それでもコメントする価値があるかもしれない点が1つあります** 。それは私が理解していない部分だからです。
理解しました。これは私たちにとって配送上の問題となります。
 
ウェッジ状態でもGPのセキュリティドメインコマンドは動作し続けます — 80 50 00 00 INITIALIZE
UPDATEと` 84 82 33 00` EXTERNAL AUTHENTICATEはどちらも0x9000を返しますが、IoTは
アプレットが全てを拒否します。その形状のアプレットエラー状態は文書化されていますか?
電源を切らずにそれを検出または消去する方法はありますか? 展開済みのデバイス
セキュア素子を独立して電源サイクルできないため、ホストがアプレットを駆動できる場合
この状態に陥った場合、そこから抜け出す方法を知る必要がある。
 
先ほどは迅速なご対応ありがとうございました。
Tags (1)
No ratings
Version history
Last update:
2 weeks ago
Updated by: