diff options
Diffstat (limited to 'zh-cn/compatibility/cts/secure-element.html')
-rw-r--r-- | zh-cn/compatibility/cts/secure-element.html | 255 |
1 files changed, 124 insertions, 131 deletions
diff --git a/zh-cn/compatibility/cts/secure-element.html b/zh-cn/compatibility/cts/secure-element.html index 6f66d972..9875e19a 100644 --- a/zh-cn/compatibility/cts/secure-element.html +++ b/zh-cn/compatibility/cts/secure-element.html @@ -24,77 +24,30 @@ <h1 id="cts_test_for_secure_element" class="page-title">针对安全元件的 CTS 测试</h1> -<p>为了提供更好的安全性,有些设备嵌入了安全元件 (SE),这是一种单独的防篡改硬件,专门用于存储加密数据。Open Mobile API 是一种<a href="https://globalplatform.org/specs-library/open-mobile-api-specification-v3-2/" class="external">标准 API</a>,用于与设备的安全元件进行通信。Android 9 支持该 API,并提供后端实现(包括安全元件服务和 SE HAL)。</p> +<p>为了提供更好的安全性,有些设备嵌入了安全元件 (SE),这是一种单独的防篡改硬件,专门用于存储加密数据。Open Mobile API 是一种<a href="https://globalplatform.org/specs-library/open-mobile-api-specification-v3-2/" class="external">标准 API</a>,用于与设备的安全元件通信。Android 9 支持该 API,并提供后端实现(包括安全元件服务和 SE HAL)。</p> <p>安全元件服务负责检查设备是否支持全局平台支持的安全元件(实质上是检查设备是否具备 SE HAL 实现,如果具备,有多少),可用作测试该 API 和底层安全元件实现的基础。</p> -<h2 id="terminology">术语</h2> - -<table> -<thead> -<tr> -<th>术语</th> -<th>定义</th> -</tr> -</thead> -<tbody> -<tr> -<td>AID</td> -<td>应用标识符</td> -</tr> -<tr> -<td>APDU</td> -<td>应用协议数据单元</td> -</tr> -<tr> -<td>BER</td> -<td>基本编码规则</td> -</tr> -<tr> -<td>TLV</td> -<td>标记长度值</td> -</tr> -<tr> -<td>UICC</td> -<td>UMTS 集成电路卡</td> -</tr> -<tr> -<td>ARA</td> -<td>访问规则应用(主)</td> -</tr> -<tr> -<td>ARF</td> -<td>访问规则文件</td> -</tr> -<tr> -<td>小程序</td> -<td>安全元件上的 Java Card 应用</td> -</tr> -</tbody> -</table> - <h2 id="open_mobile_api_test_cases">Open Mobile API 测试用例</h2> -<p>Open Mobile API 测试用例用于贯彻 API 指南,以及确认安全元件的底层实现是否符合 Open Mobile API 规范。要使用这些测试用例,必须安装一个特殊小程序,以便 CTS 应用进行通信。要进行安装,请使用可在 <a href="https://android.googlesource.com/platform/cts/+/master/tests/tests/secure_element/sample_applet/src/com/android/cts/omapi/test/CtsAndroidOmapiTestApplet.java" class="external">CtsAndroidOmapiTestApplet.java</a> 和 <a href="https://android.googlesource.com/platform/cts/+/master/tests/tests/secure_element/sample_applet/test.cap" class="external">test.cap</a> 中找到的示例小程序。</p> +<p>Open Mobile API (OMAPI) 测试用例用于贯彻 API 指南,以及确认安全元件的底层实现是否符合 Open Mobile API 规范。要使用这些测试用例,您必须安装一个特殊小程序(安全元件上的 Java Card 应用),以便 CTS 应用进行通信。要进行安装,请使用可在 <a href="https://android.googlesource.com/platform/cts/+/master/tests/tests/secure_element/sample_applet/uicc" class="external"><code>google-cardlet.cap</code></a> 中找到的示例小程序。</p> <p>要通过 OMAPI 测试用例的测试,底层安全元件服务和 SE 应符合以下条件:</p> <ol> <li>所有安全元件读取器名称都应以 SIM、eSE 或 SD 开头。</li> -<li>不是基于 SIM 卡的读取器应能够打开基本频道。</li> -<li><p><code>CtsOmapiTestCases.apk</code> 应能够选择具有以下 AID 的小程序:</p> - <ol> - <li><p>0xA000000476416E64726F696443545331</p> +<li>非基于 SIM 卡的读取器应能够打开基本频道。</li> +<li><code>CtsOmapiTestCases.apk</code> 应不能选择此 AID:A000000476416E64726F6964435453FF。</li> +<li><code>CtsOmapiTestCases.apk</code> 应能够选择具有以下应用标识符 (AIDs) 的小程序:<ol> + <li>0xA000000476416E64726F696443545331 <ol> - <li><p>当在 android.se.omapi.Channel.Transmit(以下简称 Transmit<em></em>)中收到以下 APDU 时,该小程序应抛出安全异常:</p> - <ol> + <li>当在 <code>android.se.omapi.Channel.Transmit</code> (Transmit<em></em>) 中收到以下应用协议数据单元 (APDU) 时,该小程序应引发安全异常:<ol> <li>0x00700000</li> <li>0x00708000</li> <li>0x00A40404104A535231373754657374657220312E30</li> </ol> </li> - <li><p>当在 Transmit<em></em> 中收到以下 APDU 时,该小程序不应返回任何数据:</p> - <ol> + <li>当在 Transmit<em></em> 中收到以下 APDU 时,该小程序不应返回任何数据:<ol> <li>0x00060000</li> <li>0x80060000</li> <li>0xA0060000</li> @@ -105,8 +58,7 @@ <li>0x940A000001AA</li> </ol> </li> - <li><p>对于以下 Transmit<em></em> APDU,该小程序应返回 256 个字节的数据:</p> - <ol> + <li>对于以下 Transmit<em></em> APDU,该小程序应返回 256 个字节的数据:<ol> <li>0x0008000000</li> <li>0x8008000000</li> <li>0xA008000000</li> @@ -116,12 +68,11 @@ <li>0xA00C000001AA00</li> <li>0x940C000001AA00</li> </ol> - </li><li><p>对于以下 Transmit<em></em> APDU,该小程序应返回对应的状态字响应:</p> - <table> + </li><li>对于以下各 Transmit<em></em> APDU,该小程序应返回相应的状态字词响应:<table> <thead> <tr> <th>Transmit APDU</th> - <th>状态字</th> + <th>状态字词</th> <th>数据</th> </tr> </thead> @@ -448,49 +399,82 @@ </tr> </tbody> </table> - <p class="note"><strong>注意</strong>:响应应包含与输入 APDU 相同的数据,不过第一个字节是 0x01,而非 0x00。</p> + <small>*响应应包含与输入 APDU 相同的数据,不过第一个字节是 0x01,而非 0x00。</small> </li> - <li><p>对于命令 a、b、c、d、f 和 g,该小程序应返回大小为 2048 个字节的分段响应;对于 APDU(e),应返回 32767 个字节的响应,并且最后一个数据字节为 0xFF;对于以下 APDU,应返回成功状态字 <0x9000>:<!--0x9000--></p> - <ol> - <li>0x00C2080000</li> - <li>0x00C4080002123400</li> - <li>0x00C6080000</li> - <li>0x00C8080002123400</li> - <li>0x00C27FFF00</li> - <li>0x00CF080000</li> - <li>0x94C2080000</li> - </ol> + <li>小程序应返回最后一个数据字节为 <code>0xFF</code> 的分段响应,并具有以下 APDU 的相应状态字词和响应长度。 + + <table> + <thead> + <tr> + <th>APDU</th> + <th>状态字词</th> + <th>响应长度(字节)</th> + </tr> + </thead> + <tbody> + <tr> + <td>0x00C2080000</td> + <td>0x9000</td> + <td>2048</td> + </tr> + <tr> + <td>0x00C4080002123400</td> + <td>0x9000</td> + <td>2048</td> + </tr> + <tr> + <td>0x00C6080000</td> + <td>0x9000</td> + <td>2048</td> + </tr> + <tr> + <td>0x00C8080002123400</td> + <td>0x9000</td> + <td>2048</td> + </tr> + <tr> + <td>0x00C27FFF00</td> + <td>0x9000</td> + <td>2048</td> + </tr> + <tr> + <td>0x00CF080000</td> + <td>0x9000</td> + <td>32767</td> + </tr> + <tr> + <td>0x94C2080000</td> + <td>0x9000</td> + <td>2048</td> + </tr> + </tbody> + </table> </li> - <li>对于以下指定 APDU,该小程序应返回成功状态字 <0x9000>:0x00F40000</li> + <li>对于以下指定的 APDU,该小程序应返回成功状态字词 <code>0x9000</code>:0x00F40000</li> </ol> - </li><li><p>A000000476416E64726F696443545332</p> - <ol> - <li><p>该 AID(如果已选择)应返回大于 2 个字节并采用正确的 BER TLV 格式的特定响应。</p></li> + </li><li>A000000476416E64726F696443545332<ol> + <li>选中后,该 AID 应返回一个多于 2 个字节并使用基本编码规则 (BER) 和标记长度值 (TLV) 进行正确格式化的特定响应。</li> </ol> </li> </ol> - -<p></p></li><li><p><code>CtsOmapiTestCases.apk</code> 应不能选择以下 AID:</p> - <ol> - <li>A000000476416E64726F6964435453FF</li> - </ol> -</li> -</ol><p></p> +</li></ol> <h2 id="access_control_test_cases">访问控制测试用例</h2> -<p>在安全元件中配置的访问控制用例有助于确保只有可以访问小程序的应用才能与小程序进行通信。此外,对于可通过 APK 进行交换的特定 APDU,Android 支持为其配置规则。要通过以下测试,设备制造商必须配置特殊的访问控制规则(ARA 或 ARF)。</p> +<p>在安全元件中配置的访问控制用例有助于确保只有可以访问小程序的应用才能与小程序进行通信。此外,对于可通过 APK 进行交换的特定 APDU,Android 支持为其配置规则。</p> -<p>建议使用进行 OMAPI 测试所用的同一个小程序(请参阅“Open Mobile API 测试用例”部分中介绍的小程序功能行为),因为必须支持相同的命令,才能通过访问控制测试。</p> +<p>要通过这些测试,请配置特殊的访问控制规则,即访问规则应用 (ARA)(主)或访问规则文件 (ARF)。您应该使用进行<a href="#open_mobile_api_test_cases"> OMAPI 测试</a>所用的小程序,因为只有支持相同的命令,才能通过访问控制测试。</p> -<p>您必须在以下每个 AID 下创建该小程序的实例:</p> +<p>在以下 AID 下创建该小程序的实例:</p> <ul> <li>0xA000000476416E64726F696443545340</li> <li>0xA000000476416E64726F696443545341</li> <li>0xA000000476416E64726F696443545342</li> +<li>0xA000000476416E64726F696443545343</li> <li>0xA000000476416E64726F696443545344</li> <li>0xA000000476416E64726F696443545345</li> +<li>0xA000000476416E64726F696443545346</li> <li>0xA000000476416E64726F696443545347</li> <li>0xA000000476416E64726F696443545348</li> <li>0xA000000476416E64726F696443545349</li> @@ -502,18 +486,23 @@ <li>0xA000000476416E64726F69644354534F</li> </ul> -<h3 id="1_ctssecureelementaccesscontroltestcases1">1. <code>CtsSecureElementAccessControlTestCases1</code></h3> +<h3 id="ctssecureelementaccesscontroltestcases1"><code>CtsSecureElementAccessControlTestCases1</code></h3> <ul> -<li>AKP 的哈希值:0x4bbe31beb2f753cfe71ec6bf112548687bb6c34e</li> -<li><p>已授权 AID</p> +<li><strong>APK 的哈希值</strong>:0x4bbe31beb2f753cfe71ec6bf112548687bb6c34e</li> +<li><p><strong>已授权 AID</strong></p> <ul> <li><p>0xA000000476416E64726F696443545340</p> <ol> -<li>以上 AID 的已授权 APDU:0x00060000A0060000</li> -<li><p>以上 AID 的未授权 APDU:</p> +<li><p>已授权 APDU:</p> + +<ol> +<li>0x00060000</li> +<li>0xA0060000</li> +</ol></li> +<li><p>未授权 APDU:</p> <ol> <li>0x0008000000</li> @@ -525,7 +514,7 @@ <li><p>0xA000000476416E64726F696443545341</p> <ol> -<li><p>以上 AID 的已授权 APDU:</p> +<li><p>已授权 APDU:</p> <ol> <li>0x94060000</li> @@ -533,7 +522,7 @@ <li>0x940C000001AA00</li> <li>0x940A000001AA</li> </ol></li> -<li><p>以上 AID 的未授权 APDU:</p> +<li><p>未授权 APDU:</p> <ol> <li>0x00060000</li> @@ -563,7 +552,7 @@ <li><p>0xA000000476416E64726F69644354534E</p></li> <li><p>0xA000000476416E64726F69644354534F</p></li> </ul></li> -<li><p>未授权 AID:</p> +<li><p><strong>未授权 AID:</strong></p> <ul> <li>0xA000000476416E64726F696443545343</li> @@ -571,23 +560,23 @@ </ul></li> </ul> -<h3 id="2_ctssecureelementaccesscontroltestcases2">2. <code>CtsSecureElementAccessControlTestCases2</code></h3> +<h3 id="ctssecureelementaccesscontroltestcases2"><code>CtsSecureElementAccessControlTestCases2</code></h3> <ul> -<li>APK 的哈希值:0x93b0ff2260babd4c2a92c68aaa0039dc514d8a33</li> -<li><p>已授权 AID:</p> +<li><strong>APK 的哈希值</strong>:0x93b0ff2260babd4c2a92c68aaa0039dc514d8a33</li> +<li><p><strong>已授权 AID:</strong></p> <ul> <li><p>0xA000000476416E64726F696443545340</p> <ol> -<li><p>以上 AID 的已授权 APDU:</p> +<li><p>已授权 APDU:</p> <ol> <li>0x00060000</li> <li>0xA0060000</li> </ol></li> -<li><p>以上 AID 的未授权 APDU:</p> +<li><p>未授权 APDU:</p> <ol> <li>0x0008000000</li> @@ -599,7 +588,7 @@ <li><p>0xA000000476416E64726F696443545341</p> <ol> -<li><p>以上 AID 的已授权 APDU:</p> +<li><p>已授权 APDU:</p> <ol> <li>0x94060000</li> @@ -607,7 +596,7 @@ <li>0x940C000001AA00</li> <li>0x940A000001AA</li> </ol></li> -<li><p>以上 AID 的未授权 APDU:</p> +<li><p>未授权 APDU:</p> <ol> <li>0x0006000</li> @@ -628,13 +617,14 @@ <li><p>0xA000000476416E64726F696443545345</p></li> <li><p>0xA000000476416E64726F696443545346</p></li> </ul></li> -<li><p>未授权 AID:</p> +<li><p><strong>未授权 AID:</strong></p> <ul> <li>0xA000000476416E64726F696443545342</li> <li>0xA000000476416E64726F696443545344</li> <li>0xA000000476416E64726F696443545347</li> <li>0xA000000476416E64726F696443545348</li> +<li>0xA000000476416E64726F696443545349</li> <li>0xA000000476416E64726F69644354534A</li> <li>0xA000000476416E64726F69644354534B</li> <li>0xA000000476416E64726F69644354534C</li> @@ -644,17 +634,17 @@ </ul></li> </ul> -<h3 id="3_ctssecureelementaccesscontroltestcases3">3. <code>CtsSecureElementAccessControlTestCases3</code></h3> +<h3 id="ctssecureelementaccesscontroltestcases3"><code>CtsSecureElementAccessControlTestCases3</code></h3> <ul> -<li>APK 的哈希值:0x5528ca826da49d0d7329f8117481ccb27b8833aa</li> -<li><p>已授权 AID:</p> +<li><strong>APK 的哈希值</strong>:0x5528ca826da49d0d7329f8117481ccb27b8833aa</li> +<li><p><strong>已授权 AID:</strong></p> <ul> <li><p>0xA000000476416E64726F696443545340</p> <ol> -<li><p>以上 AID 的已授权 APDU:</p> +<li><p>已授权 APDU:</p> <ol> <li>0x00060000</li> @@ -678,7 +668,7 @@ <li><p>0xA000000476416E64726F696443545341</p> <ol> -<li><p>以上 AID 的已授权 APDU:</p> +<li><p>已授权 APDU:</p> <ol> <li>0x94060000</li> @@ -686,7 +676,7 @@ <li>0x940C000001AA00</li> <li>0x940A00000aAA</li> </ol></li> -<li><p>以上 AID 的未授权 APDU:</p> +<li><p>未授权 APDU:</p> <ol> <li>0x00060000</li> @@ -706,7 +696,7 @@ <li><p>0xA000000476416E64726F696443545345</p></li> <li><p>0xA000000476416E64726F696443545346</p></li> </ul></li> -<li><p>未授权 AID:</p> +<li><p><strong>未授权 AID:</strong></p> <ul> <li>0xA000000476416E64726F696443545342</li> @@ -714,6 +704,7 @@ <li>0xA000000476416E64726F696443545344</li> <li>0xA000000476416E64726F696443545347</li> <li>0xA000000476416E64726F696443545348</li> +<li>0xA000000476416E64726F696443545349</li> <li>0xA000000476416E64726F69644354534A</li> <li>0xA000000476416E64726F69644354534B</li> <li>0xA000000476416E64726F69644354534C</li> @@ -725,30 +716,31 @@ <h2 id="appendix">附录</h2> -<h3 id="sample_applet_and_installation_steps_for_uicc">UICC 的示例小程序和安装步骤</h3> +<h3 id="sample_applet_and_installation_steps_for_umts_integrated_circuit_card_uicc">UMTS 集成电路卡 (UICC) 的示例小程序和安装步骤</h3> -<h4 id="1_package_specification">1. 软件包规格</h4> +<h4 id="1_package_specification">1.软件包规格</h4> -<p>文件名:<code>google-cardlet.cap</code></p> +<p><strong>文件名</strong>:<code>google-cardlet.cap</code></p> -<p>软件包 AID:6F 6D 61 70 69 63 61 72 64 6C 65 74 -版本:1.0<br /> -SHA1:5F72E0A073BA9E61A7358F2FE3F031<br /> -SHA256:ECC1217AA0BC687DD89D5BB233F743</p> +<p><strong>软件包 AID</strong>:6F 6D 61 70 69 63 61 72 64 6C 65 74<br /> +<strong>版本</strong>:1.63<br /> +<strong>哈希</strong>:5F72E0A073BA9E61A7358F2FE3F031A99F3F81E9</p> -<p>模块 AID:<br /> -6F 6D 61 70 69 4A 53 52 31 37 37 = SelectResponse 模块 -6F 6D 61 70 69 43 61 63 68 69 6E 67 = XXLResponse 模块</p> +<p><strong>小程序:</strong><br /> +6F 6D 61 70 69 4A 53 52 31 37 37 = SelectResponse 模块<br />6F 6D 61 70 69 43 61 63 68 69 6E 67 = XXLResponse 模块</p> -<p>导入:<br /> +<p><strong>导入:</strong><br /> javacard.framework v1.3 - A0000000620101<br /> -java.lang v1.0 - A0000000620001</p> +java.lang v1.0 - A0000000620001<br /> +uicc.hci.framework v1.0 - A0000000090005FFFFFFFF8916010000<br /> +uicc.hci.services.cardemulation v1.0 - A0000000090005FFFFFFFF8916020100<br /> +uicc.hci.services.connectivity v1.0 - A0000000090005FFFFFFFF8916020200</p> -<p>卡上尺寸:4463</p> +<p><strong>卡上尺寸</strong>:39597</p> -<h4 id="2_installation_steps">2. 安装步骤</h4> +<h4 id="2_installation_steps">2.安装步骤</h4> -<p>按照相应步骤(请咨询您的 SE 制造商)将 <code>google-cardlet.cap</code> 文件加载到 SIM 卡上。</p> +<p>按照相应程序(请咨询您的 SE 制造商)将 <a href="https://android.googlesource.com/platform/cts/+/master/tests/tests/secure_element/sample_applet/uicc" class="external"><code>google-cardlet.cap</code></a> 文件加载到 SIM 卡上。</p> <p>为每个小程序运行安装命令。</p> @@ -757,18 +749,19 @@ java.lang v1.0 - A0000000620001</p> <p>小程序安装命令</p> <p><code>80E60C00300C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>010002C90000</code><br /> -Module_AID => 6F 6D 61 70 69 4A 53 52 31 37 37 -AID:A000000476416E64726F696443545331 -<code>80E60C00310C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>010002C9000</code><br /> -Module_AID => 6F 6D 61 70 69 43 61 63 68 69 6E 67 -AID:A000000476416E64726F696443545332</p> +<strong>Module_AID</strong>:6F 6D 61 70 69 4A 53 52 31 37 37<br /> +<strong>AID</strong>:A000000476416E64726F696443545331</p> + +<p><code>80E60C00310C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>010002C9000</code><br /> +<strong>Module_AID</strong>:6F 6D 61 70 69 43 61 63 68 69 6E 67<br /> +<strong>AID</strong>:A000000476416E64726F696443545332</p> <h5 id="accesscontrol_tests_template_using_pkcs15_structure">AccessControl 测试(使用 PKCS#15 结构的模板)</h5> <p><code>80E60C003C0C6F6D617069636172646C65740B<var>module_AID</var>10<var>AID</var>01000EEF0AA008810101A5038201C0C90000</code><br /> -Module_AID => 6F 6D 61 70 69 4A 53 52 31 37 37</p> +<strong>Module_AID</strong>:6F 6D 61 70 69 4A 53 52 31 37 37</p> -<p>AID:</p> +<p><strong>AID:</strong></p> <ul> <li>0xA000000476416E64726F696443545340</li> @@ -787,6 +780,6 @@ Module_AID => 6F 6D 61 70 69 4A 53 52 31 37 37</p> <li>0xA000000476416E64726F69644354534F</li> </ul> -<p>如需用于设置与 CTS 测试匹配的 PKCS#15 结构的分步命令,请参阅<a href="/compatibility/cts/images/commands-for-pkcs15.pdf">针对 PKCS#15 的命令</a>。</p> +<p>如需用于设置与 CTS 测试匹配的 PKCS#15 结构的分步命令,请参阅<a href="/compatibility/cts/pkcs15-commands.txt">针对 PKCS#15 的命令</a>。</p> </body></html>
\ No newline at end of file |