4.2.6.2.1 ES8+ 更换会话密钥
TC_eUICC_ES8+.ReplaceSessionKeys
-man 人工切片
- 终态
- ok `_ok` 复用(结构 A1-A7 PASS;`_ok` run 无厂商错误行)
- ErrorCount
- 0
- 执行 job
- 20261007_132854:35bf77c9b30f4233914ed3bc39d881e0
- html_run
- 20261007_132854
- 包 sha256
- bb342e82bfd43fac…
- 包大小
- 242.9 KB
日志源:logs/20261007_132854/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size.html
-cas 盲生成
- 终态
- unknown 纯 native 零卡态前置(N0)
- ErrorCount
- 21
- 执行 job
- 89566df61a624ab8a097ecf1343ad3f1
- html_run
- 27eddc811f97_att1
- 包 sha256
- 9c48e93a265f16c1…
- 包大小
- 833.9 KB
- 判定
- RERUN
- 路由
- native_N0
- 状态轴
- execution=red_verify / place=not_attempted / release=not_ready / card_state=n/a
差异概览(机械口径)
闭包文件层(l1)
man 34 / cas 82 个 JS;共同 31,一致 30,man-only 3,cas-only 51
命令序列层(l2)
man 70 / cas 0 条命令;完全一致 0,核心一致 0,长度尾部差 0,man-only 70,cas-only 0
规范覆盖(l3)
spec_steps 0,缺失 REQ 1 项,checkData 6 次,计数缺口 3,物化 DEFICIT,执行 FAIL
断言自证(attestation)
js 断言 5 条 / 绑定层 4 条 / 缺口 0
机械差异分类
| 轴 | 说明 | 计数 |
|---|---|---|
| SCRIPT_DIALECT | 闭包文件差:man-only 3 / cas-only 51 | 54 |
| GEN_DIFF | 命令序列差:man-only 70 / cas-only 0;REQ 覆盖缺口:['**RQ31_168**--replaceSessionKeys 段交换)'] | 71 |
对比报告
4.2.6.2.1 TC_eUICC_ES8+.ReplaceSessionKeys — -man ↔ -cas diff 报告
交付形态说明:本报告随专家交付包分发——-man/-cas脚本包 zip 与 190server HTML 执行日志已内联至packages/、evidence-html/,相应路径已相对化;TTR、spec_intl、caseir 等仓内留痕仍为生成机原始路径(未随包)。
- 生成时间:2026-10-08 22:57:11 |引擎:holiday-blk5/0.1|配对状态:
PAIRED - 分母口径:卡侧 61 之一
1. 配对与包
| 侧 | 包/源 | sha256 | 源类型 | 入口用例 |
|---|---|---|---|---|
-man | 4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-man.zip | bb342e82bfd43fac726a578c42a169c2c1f4704449869b3d82157c9e868cae32 | zip | TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size |
-cas | 4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-cas.zip | 9c48e93a265f16c1ee8442fc56b674131ba35e3a9dfa7d9eea7b4a1544c98a76 | zip | — |
- man 源路径:
../packages/man/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-man.zip - cas 源路径:
../packages/cas/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-cas.zip - 上游来源:{"man_ledger": true, "cas_ledger": true, "naming_map": true, "html_probe": true, "man_package": true, "cas_package": true}
- 适用性:naming-map=
M["M", "M", "M", "M", "M"];caseir=M
2. 执行摘要(双方 job/终态)
| 侧 | 终态/计划 | 备注 | ErrorCount | job_id | 业务状态 | TTR | 诊断包 |
|---|---|---|---|---|---|---|---|
-man | ok | _ok 复用(结构 A1-A7 PASS;_ok run 无厂商错误行) | 0 | 20261007_132854:35bf77c9b30f4233914ed3bc39d881e0 | — | /Users/yuhu/cas/原料/切片/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys/logs/20260907_173146_ok/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size.ttr | — |
-cas | unknown | 纯 native 零卡态前置(N0) | 21 | 89566df61a624ab8a097ecf1343ad3f1 | — | /Users/yuhu/cas/experiments/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-20261004_021948/logs/89566df6_gapfix1/result/TC_eUICC_ES8_ReplaceSessionKeys/TC_eUICC_ES8_ReplaceSessionKeys_01_11_12_01_merged.ttr | — |
- cas 块4账本:decision=
RERUN;route=native_N0;live 事件 2 条(4.6 波次进行中;以块4终版账本为准) - cas 4.6 波次最新执行:terminal=
unknown;stage=cas_gapfix_rerun;job=89566df61a624ab8a097ecf1343ad3f1;gaps=["gapfix-rerun:job 终态 succeeded,业务判 unknown(error_count=0);failed 亦为有效终态,如实登记"] - cas 失败归因引用(块4):
b3-attribution.md - cas 证据来源分层:
RERUN→ 本轮 4.6 波次执行
3. HTML 执行日志状态
-man:NATIVE(../evidence/4.2.6.2.1/man/TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size.html;sha256373f916b5494cba897c3cef58e5585a185728f9f937b981b99b790c241e57485;159225 bytes)-cas:NATIVE(../evidence/4.2.6.2.1/cas/TC_eUICC_ES8_ReplaceSessionKeys_01_11_12_01_merged.html;sha256b16a7bd433dd0616122c805e82a5c90ec07de75e6d365f51792f937c3217a2b3;6593 bytes)- 纪律:原生缺失 →
HTML_UNAVAILABLE显式阻断(附探针结论);派生件仅标DERIVED_NOT_NATIVE,不冒充原生。
4. L1 脚本/依赖/命名差异(源文件闭包级)
- 闭包规模:man 34 文件 / cas 82 文件;同名 31(字节同 30,内容异 1)
- 同名内容异:
Import/TestCase_SGP_23.js - man-only 文件 3:
ESIM_TEST_SGP_23.UCE,ESIM_TEST_SGP_23.sol,MANIFEST.json - cas-only 文件 51:
Import/CapInfo.js,Import/ExecuteTestCase.js,Import/ExecuteTestCase_CSC.js,Import/ExecuteTestCase_LoadProfile_via_bip.js,Import/ExecuteTestCase_Local_Management.js,Import/ExecuteTestCase_Non_Telecom_Profile.js,Import/ExecuteTestCase_Performance.js,Import/ExecuteTestCase_PressureTest.js,Import/ExecuteTestCase_ProfileFormatTest_V_2_3_1.js,Import/ExecuteTestCase_ProfileServicesListTest.js… - 注:man 包=切片最小闭包(
script/投影);cas 包=slice_native 全工程投影(厂商参照闭包+生成体)。闭包规模差为打包形态差异;同名文件字节差集中于Import/TestCase_SGP_23.js(TC 入口本体)。
4.1 入口代码对照
- 行数:man 61 / cas 98;字符:man 2823 / cas 7718
- man 顶层调用 Top:[["TestStepStart2", 9], ["TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size", 2], ["TraceStart", 1], ["Ini_powerOn_eUICC_LPAe_not_activate", 1], ["TS_MANAGE_CHANNEL_OPEN", 1], ["TS_SELECT", 1], ["RSP_profile_load_procedure_LPAd", 1], ["ES10b_GetEUICCInfo1", 1], ["ES10b_GetEUICCChallenge", 1], ["ES10b_AuthenticateServer", 1]]
- cas bind 调用:[["checkData", 6], ["sendApdu", 4]]
| 方言映射对 | 命中数 |
|---|---|
| TS_*_cmd() ↔ bind.* 命令封装 | 2 |
unified diff(截断预览)
--- man
+++ cas
@@ -1,60 +1,97 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20261005-152741
+// Function: (purpose 原文未由 SGP.23 该 TC 提供,corpus vacuum 登记)TC_eUICC_ES8+.ReplaceSessionKeys,Test Sequence #01 Error: Incorrect PPK size(B 行名称注记:except test sequence #11 and #12——本 TC 仅含 #01),适用性 M。
+// Test points: S4-C1 SW;S5-C1 SW;S6-C1 SW;S7-C1 SW;S7-C2 SW;S7-C2 resp present
+// 本函数由 CaseIR 4.2.6.2.1 编译生成(fullwave-blindgen-live-70,SGP.23 v1.16 × SGP.22 v2.7):字节权威=CaseIR,非誊录黄金脚本。
+// Value-free template: every data byte is injected from CaseIR fields; no scaffold globals (see docs/speconly/compile-symbol-migration.md).
+// 适用性 M:编译期门,运行时由 harness 环境前置承担。
+// PRECONDITION (declared, NOT compiled): initial_conditions 缺语料过程体(Annex C.2 absent from input package, corpus vacuum): IC 序列属测试工具/卡态编排责任,本脚本不虚构初始化步骤;语义影响见 CaseIR open_items。
+// GIC 通信初始化+ISD-R 选择+相互认证+End User Confirmation+PrepareDownload(#PREP_DOWNLOAD_NO_CC): declared unexpanded (no fabricated bytes; provenance = expansion_source).
+// GIC-sub PROC_EUICC_INITIALIZATION_SEQUENCE(R2 闭合,K_annexC2_procs 表1256:RESET/[SELECT_MF]/[TERMINAL_CAPABILITY_LPAd]/[TERMINAL_PROFILE]): declared unexpanded (no fabricated bytes; provenance = expansion_source).
+// GIC-sub PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR(R2 闭合,K_annexC2_procs 表1258:[MANAGE_CHANNEL_OPEN]/MTD_SELECT(#ISD_R_AID)): declared unexpanded (no fabricated bytes; provenance = expansion_source).
+function TC_eUICC_ES8_ReplaceSessionKeys_01_11_12_01_merged() {
+ var bind = curBind;
-function TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size()
-{
+ // 步骤 1:IC1: Generate the <OTPK_S_SM_DP+_ECKA> and <OT_SK_S_SM_DP+_ECKA>(tc_step;non_wire)
+ // test-tool internal preparation (no APDU face): runtime-domain
+ // values per CaseIR unresolved (G Annex B generation rules);
+ // no fabricated bytes emitted here.
- tracenamestr = "测试目的:验证eUICC检查所有PPK大小是否与会话密钥相同";
- curDis.TraceStart(sno++,tracenamestr);
+ // 步骤 2:IC2: <BPP> = MTD_GENERATE_BPP(tc_step)
+ // BPP synthesized (4.2.6.2.1 seq#1, structural layer, SCP03t-unprotected): 1120 bytes; segments: INIT=191B, A0=22B, A1=58B, A2=53B, A3=796B.
+ // Segment bytes are runtime-domain (BPP load step data=null per CaseIR unresolved); not injected into this script. Provenance:
+ // [SPEC] TC — SGP.23 4.2.6.2.1 seq#1 接线(段选择/注入面)
+ // [SPEC] BF36 — SGP.22 §2.5.4 :1566 BoundProfilePackage [54]
+ // [SPEC] BF36/A0 — Table 4 :1588 firstSequenceOf87
+ // [SPEC] BF36/A1 — Table 4 :1590 sequenceOf88
+ // [SPEC] BF36/A3 — Table 4 :1595 sequenceOf86
+ // [HYPOTHESIS] 87/88/86 段值 — UNPROTECTED:明文承载,SCP03t 包壳属后续 lane
+ // [SPEC] BF23 — SGP.22 §5.5.1 :7241 InitialiseSecureChannelRequest [35]
+ // [SPEC] BF23/82 remoteOpId — SGP.22 :1400 RemoteOpId [2] INTEGER
+ // [HYPOTHESIS] BF23/80 transactionId — SM-DP+ 会话值,Annex E 缺席,调用方注入
+ // [SPEC] BF23/A6 controlRefTemplate — SGP.22 :7255-7263 CRT 子集
+ // [SPEC] BF23/A6/80 keyType — SGP.22 :7257 AES='88'
+ // [SPEC] BF23/A6/81 keyLen — SGP.22 :7259 SHALL be 0x10
+ // [HYPOTHESIS] BF23/A6/84 hostId — Host ID 值,Annex E 缺席
+ // [HYPOTHESIS] BF23/5F49 smdpOtpk — otPK.DP.ECKA,需真实密钥协商 lane
+ // [HYPOTHESIS] BF23/5F37 smdpSign — SK.DPbp.ECDSA 签名,需签名 lane
+ // [SPEC] BF24 — SGP.22 §5.5.2 :7319 ConfigureISDPRequest [36]
+ // [HYPOTHESIS] BF24/B8 dpProprietaryData — dpOid 与填充为 SM-DP+ 自有树自定值(Annex E 缺席);变体 nominal
+ // [SPEC] BF25 — SGP.22 §5.5.3 :7365 StoreMetadataRequest [37]
+ // [SPEC] BF25/5A iccid — SGP.22 :1398 Iccid [APPLICATION 26] tag '5A';值域 HYPOTHESIS(Annex E 缺席,需与 UPP EF-ICCID 一致)
+ // [HYPOTHESIS] BF25/91 serviceProviderName — Annex E 缺席
+ // [HYPOTHESIS] BF25/92 profileName — Annex E 缺席
+ // [SPEC] BF25/95 profileClass — SGP.22 :13218 ProfileClass INTEGER;取 operational(2)
+ // [SPEC] UPP — PITS ProfileElement 序列 header+mf+usim+end(最小集)
+ // [SPEC] PE header — PITS asn:26 ProfileElement header CHOICE [0]
+ // [SPEC] PE header/version — PITS asn:67-68 2/3
+ // [SPEC] PE header/profileType — PITS asn:942 Test Profile 值
+ // [HYPOTHESIS] PE header/iccid — eUICC 忽略此值(SGP.22 :7511);随参数化 ICCID
+ // [SPEC] PE header/services+GFSTE — PITS asn:946-958 子集转录
+ // [SPEC] PE mf — PITS asn:222 PE-MF + mfVal :961-1039
+ // [HYPOTHESIS] PE mf/ef-iccid — ICCID 参数化(EF 编码形态);其余模板值 SPEC
+ // [SPEC] PE usim — PITS asn:284 PE-USIM + usimValue :1166-1218
+ // [HYPOTHESIS] PE usim/ef-imsi — IMSI 参数化(mccMnc+MSIN);TBCD 编码面 3GPP 24.008 SPEC
+ // [SPEC] PE end — PITS asn:906 PE-End + endVal :2106 id=99
+ // [SPEC] BF36/A2 — Table 4 :1593 secondSequenceOf87
+ // [SPEC] BF26 — SGP.22 §5.5.4 :7481 ReplaceSessionKeysRequest [38]
+ // [HYPOTHESIS] BF26/04 initialMacChainingValue — 自定随机值
+ // [HYPOTHESIS] BF26/04 ppkEnc — 自定随机值
+ // [HYPOTHESIS] BF26/04 ppkCmac — 自定随机值
+ // [HYPOTHESIS] BF26/04 ppkEnc — 注入 ppk_invalid_size:16B→8B(4.2.6.2.1 seq#01)
+ // S2-C1: binding:bpp_override_rule_carried_by_synthesis_contract(bpp_injection-provenance) (check_attestation)
- curDis.TestStepStart2(stno++,"eUICC卡片初始化;");
- Ini_powerOn_eUICC_LPAe_not_activate();
+ // 步骤 3:IC3: Split the <BPP> into several segments arrays named: <BPP_SEG_INIT>, <BPP_SEG_A0>, <BPP_SEG_A1>, <BPP_SEG_A2>, <BPP_SEG_A3>(tc_step)
+ // BPP segment declaration (no APDU face): <BPP_SEG_INIT>, <BPP_SEG_A0>, <BPP_SEG_A1>, <BPP_SEG_A2>, <BPP_SEG_A3>.
+ // Segment partitioning lives in bpp_synthesizer.segment_bpp (SGP.22 §2.5.5 :1633-1651 segment table; single source of segmentation knowledge — wire sends BPP_SEG_INIT first).
+ // Segment bytes are runtime-domain (BPP synthesized at the MTD_GENERATE_BPP step); not injected into this script; load steps follow the SCRIPT data=null contract.
+ // S3-C1: binding:bpp_split_per_annexB_segment_table(segment_bpp;SGP.22-2.5.5) (check_attestation)
- curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令,打开辅助逻辑通道;");
- TS_MANAGE_CHANNEL_OPEN();
+ // 步骤 4:IC4: MTD_STORE_DATA_SCRIPT(tc_step)
+ // BPP segment load (data=null contract): <BPP_SEG_INIT> bytes are runtime-domain (BPP synthesized at MTD_GENERATE_BPP;
+ // segmentation single source = bpp_synthesizer.segment_bpp (SGP.22 §2.5.5 :1633-1651) — no bytes fabricated here.
+ var s4 = bind.sendApdu(null, "E2", "00", "00", null, "00", "9000");
+ bind.checkData("S4-C1 SW", "9000", s4.sw);
- curLogicChannel = 1;
+ // 步骤 5:IC5: MTD_STORE_DATA_SCRIPT(tc_step)
+ // BPP segment load (data=null contract): <BPP_SEG_A0> bytes are runtime-domain (BPP synthesized at MTD_GENERATE_BPP;
+ // segmentation single source = bpp_synthesizer.segment_bpp (SGP.22 §2.5.5 :1633-1651) — no bytes fabricated here.
+ var s5 = bind.sendApdu(null, "E2", "00", "00", null, "00", "9000");
+ bind.checkData("S5-C1 SW", "9000", s5.sw);
- curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令,选择ISD-R;");
- TS_SELECT("Select ISD",ISD_R_AID,"9000");
+ // 步骤 6:IC6: MTD_STORE_DATA_SCRIPT(tc_step)
+ // BPP segment load (data=null contract): <BPP_SEG_A1> bytes are runtime-domain (BPP synthesized at MTD_GENERATE_BPP;
+ // segmentation single source = bpp_synthesizer.segment_bpp (SGP.22 §2.5.5 :1633-1651) — no bytes fabricated here.
+ var s6 = bind.sendApdu(null, "E2", "00", "00", null, "00", "9000");
+ bind.checkData("S6-C1 SW", "9000", s6.sw);
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行GetEuiccInfo1Request;");
- var Profile_load_procedure = new RSP_profile_load_procedure_LPAd(PROFILE_OPERATIONAL1_DATA);
- Profile_load_procedure.ICCID = ICCID_OP_PROF1;
- Profile_load_procedure.ES10b_GetEUICCInfo1();
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行GetEuiccChallengeRequest;");
- Profile_load_procedure.ES10b_GetEUICCChallenge();
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行AuthenticateServerRequest;");
- Profile_load_procedure.ES10b_AuthenticateServer();
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行PrepareDownloadRequest;");
- Profile_load_procedure.ES10b_PrepareDownload();
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行GetEuiccDataRequest(GetEID);");
- Profile_load_procedure.ES10b_GetEID();
-
- curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令,执行BoundProfilePackage,ReplaceSessionKeysRequest域中使用错误长度的PPK initialMacChaining;");
…(差异行超限,共 152 行,此处截断)
- man:
ESIM_TEST_SGP_23.UCE;入口 [('TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size', 'ES8(SMDP+ -- eUICC):ReplaceSessionKeys', 'Import\\\\ExecuteTestCase_SGP_23.js(TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size)')];参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"} - cas:
TC_eUICC_ES8_ReplaceSessionKeys/TC_eUICC_ES8_ReplaceSessionKeys.uce;入口 [('TC_eUICC_ES8_ReplaceSessionKeys_01_11_12_01_merged', 'TC_eUICC_ES8_ReplaceSessionKeys', 'Import\\\\ExecuteTestCase_spec.js(TC_eUICC_ES8_ReplaceSessionKeys_01_11_12_01_merged)')];参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}
5. L2 步骤/APDU/step_map 差异(结构化对齐)
- 命令计数:man 70 / cas 0;精确对齐 0,核心(CLA·INS·P1·P2·Lc)同 0,man-only 70,cas-only 0
| # | -man | -cas | 对齐 |
|---|---|---|---|
| — | man-only: @RESET, 00A40004023F00, 00C0000020, 80AA000007A9058100830137, 8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038, 801200000F, 801400000C810301250082028281830100, 0070000000, 0070000001, 01A4040010A0000005591010FFFFFFFF8900000100, 01C0000021, 81E2910003BF2000 |
6. L3 规范字段/Expected/REQ/通过条件差异
- spec:/Users/yuhu/cas/原料/切片/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys/spec_intl/SGP.23-v1.16_4.2.6_ReplaceSessionKeys.md(风格:mapping);caseir:
/Users/yuhu/cas/experiments/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-20261004_021948/caseir_materialized_gate.json
spec_intl 为人工核订映射表风格(规范步骤 ↔ 厂商脚本实现 ↔ 实跑结果):
| 规范步骤 | man 脚本实现 | man 实跑结果 |
|---|---|---|
| General IC 链(选 ISD-R+鉴权+#PREP_DOWNLOAD_NO_CC,OP1 not loaded) | 初始化 Ini_powerOn_eUICC_LPAe_not_activate()(L10)→ 开通道 `TS_MANAGE_CHANN | 通过(链 APDU1-APDU121 全绿;AuthServer/PrepareDownload 后"卡片返回签名数据正确" APDU84/ |
| IC1/IC2 生成 BPP(#REPLACE_S_KEYS_REQ_INV_SIZE:错误尺寸 PPK;UPP 以会话密钥保护) | initialMacChainingValueLen = 24(L49,正确 16 字节被改为 24——错误尺寸机器载体)+ `UseP | 通过(BPP 段流 APDU123-APDU160;含 A2 段 APDU160 A25A 87… 92B SCP03t 密文——错误 |
| IC4-IC6 BPP_SEG_INIT/A0/A1(SW=9000 无响应) | 同上过程调用 ES10b_LoadBoundProfilePackage()(L55) | 通过(APDU123 起各段 Transport Command 期望 9000=实际 9000 逐段在案) |
| 1 BPP_SEG_A2 末段 → #R_PIR_PPK_INV + euiccSignPIR 验签(RQ55_041 等) | 同上;过程内部错误路径检查(RSP_Test_Procedure.js ES10b_LoadBoundProfilePackage isEr | 通过(APDU161 响应 BF37 ProfileInstallationResult:transactionId 期望=实际(APD |
| (收尾,非规范步骤) | RecoverCard()(L59) | 通过(Transaction 2 APDU184-APDU303 MemoryReset/通知链/关通道全绿,卡归零态) |
cas CaseIR 步骤/检查:
| 步 | 动作 | checks | REQ |
|---|---|---|---|
| 1 | IC1: Generate the <OTPK_S_SM_DP+_ECKA> and <OT_SK_S_SM_DP+_ECKA> | [] | [] |
| 2 | IC2: <BPP> = MTD_GENERATE_BPP(#S_INIT_SC_PROF1, #CONF_ISDP_PROF1, #MET | ["S2-C1"] | [] |
| 3 | IC3: Split the <BPP> into several segments arrays named: <BPP_SEG_INIT | ["S3-C1"] | [] |
| 4 | IC4: MTD_STORE_DATA_SCRIPT(<BPP_SEG_INIT>) | ["S4-C1"] | [] |
| 5 | IC5: MTD_STORE_DATA_SCRIPT(<BPP_SEG_A0>) | ["S5-C1"] | [] |
| 6 | IC6: MTD_STORE_DATA_SCRIPT(<BPP_SEG_A1>) | ["S6-C1"] | [] |
| 7 | 1: MTD_STORE_DATA_SCRIPT(<BPP_SEG_A2>) | ["S7-C1", "S7-C2", "S7-C3", "S7-C4"] | ["RQ55_038", "RQ55_041", "RQ31_168", "RQ26_021", "RQ26_022", "RQ25_024", "RQ25_025", "RQ25_026"] |
6.1 充分性分析(启发式,不作最终裁定)
- cas:
GAPS_FOUND(全步有检查=True;REQ 全覆盖=False;ErrorCount==0=False) - cas 物化核对(启发式旁证,权威见下行 attestation):声明检查 9 项 / 生成体 checkData 6 次 / S 标号重合 5 / 计数缺口 3 / 形态
DEFICIT;执行面FAIL(计数缺口须结合绑定层隐含断言核验,非直接判缺陷) - cas 编译器自证(check_attestation,同批构建):声明 None = js 5 + binding 4 + gap 0;缺口判定以本行为权威(启发式计数仅旁证)
- binding 覆盖示例:
S2-C1→binding:bpp_override_rule_carried_by_synthesis_contract(bpp_inje;S3-C1→binding:bpp_split_per_annexB_segment_table(segment_bpp;SGP.22-2.;S7-C3→binding:bpp_seg_load_pir_runtime_semantics(S22-2.5.6;PIR-runtime;S7-C4→binding:bpp_seg_load_pir_runtime_semantics(S22-2.5.6;PIR-runtime - cas 注释面登记检查(未以 checkData 物化、代码内有注释说明):['S2-C1', 'S3-C1', 'S7-C3', 'S7-C4']
- man:映射行 5;TTR 期望/实际回声 124;厂商工具内置审计(TTR 期望/实际回声行为证据);脚本字节级充分性不可完全外部验证
- cas 信息步(无线上断言义务):[1]
- REQ 声明面 vs caseir 引用面差异(1 项,非等价缺口判定):['RQ31_168--replaceSessionKeys 段交换)']
- caseir open_items:
- General IC 编排(同族前置链)属执行侧
- #REPLACE_S_KEYS_REQ_INV_SIZE/#S_INIT_SC_PROF1/#CONF_ISDP_PROF1/#METADATA_OP_PROF1 常量字节不在输入包——BPP 与命令数据不可闭合;R2 已闭合 ReplaceSessionKeysRequest 外层结构(BF26,S22_replace_keys.md:27-41)
- 一次性密钥对、S_ENC/S_MAC/S_INIT_MAC、euiccSignPIR 为执行期动态值
- CU 清理过程属测试工具职责,语料未含
7. 分类结论(封闭枚举)
| 轴 | 计数 | 说明 |
|---|---|---|
SCRIPT_DIALECT | 54 | 闭包文件差:man-only 3 / cas-only 51 |
GEN_DIFF | 71 | 命令序列差:man-only 70 / cas-only 0;REQ 覆盖缺口:['RQ31_168--replaceSessionKeys 段交换)'] |
| 侧 | 根因候选(七类,启发式签名) | 签名 | |||
|---|---|---|---|---|---|
| cas | card_error | `Connect Reader 失败 | card is NOT connected | SW=0000 | SW=00000000` |
签名为文本面启发式命中(如 6D00 等 SW 亦可能是负例期望值),须结合 Expected 面核验后方可定论。
- 置信度:heuristic;需人工复核:False
8. 证据路径
- man 包:
../packages/man/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-man.zip - man TTR:
/Users/yuhu/cas/原料/切片/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys/logs/20260907_173146_ok/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES8_ReplaceSessionKeys_01_Error_Incorrect_PPK_size.ttr - cas 包/源:
../packages/cas/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-cas.zip - cas TTR:
/Users/yuhu/cas/experiments/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-20261004_021948/logs/89566df6_gapfix1/result/TC_eUICC_ES8_ReplaceSessionKeys/TC_eUICC_ES8_ReplaceSessionKeys_01_11_12_01_merged.ttr - spec_intl:
/Users/yuhu/cas/原料/切片/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys/spec_intl/SGP.23-v1.16_4.2.6_ReplaceSessionKeys.md - caseir:
/Users/yuhu/cas/experiments/4.2.6.2.1-TC_eUICC_ES8+.ReplaceSessionKeys-20261004_021948/caseir_materialized_gate.json - step_map:
—