《电信终端测试技术协会标准》由会员分享,可在线阅读,更多相关《电信终端测试技术协会标准(12页珍藏版)》请在金锄头文库上搜索。
1、 基于 TEE 的指纹识别测试方法 Test methods for fingerprint recognition based on TEE 2016-05-10 发布 2016-05-10 实施 电信终端测试技术协会 发 布 电 信终 端测 试技 术 协 会标 准 TAF-WG4-AS0002-V1.0.0:2016 TAF-WG4-AS0002-V1.0.0:2016 I 前 言 本标准是为了保障指纹识别技术在TEE终端上的良性可持续发展,确保指纹的安全存储和管理以及 与TA接口的正确性、可靠性和稳定性而制定。 本标准在使用时与基于TEE的指纹识别技术要求配套使用。 本标准由电信终端测试
2、技术协会提出并归口。 TAF-WG4-AS0002-V1.0.0:2016 II 引 言 随着移动互联网的发展、 移动智能终端的普及, 传统PC时代的身份认证方式已经无法满足用户对于 安全、体验的需求。在此情况下,指纹作为新的本地认证方式逐渐被用户所接受。由于行业内部没有统 一的标准,存在多种方案,导致产业效率低下,行业进展缓慢,严重影响生产力。在此情况下,已制定 基于TEE的指纹接口技术要求, 基于此技术要求提供本测试方法, 确保基于TEE的指纹接口技术要求质量。 TAF-WG4-AS0002-V1.0.0:2016 1 基于 TEE 的指纹识别测试方法 1 范围 本标准规范了移动智能终端基
3、于TEE指纹识别的测试架构和测试方法,包括测试环境、测试命令和 测试案例。 本标准规范适用于移动智能终端TEE指纹接口的测试。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。 凡是注日期的引用文件, 仅所注日期的版本适用于本文 件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 TAF-WG4-AS0001-V1.0.0:2016 基于TEE的指纹识别技术要求 3 术语、定义和缩略语 3.1 术语和定义 3.2 缩略语 API Application Program Interface 应用程序接口 FAR False Acceptance Rate 错误接受
4、率 FRR False Rejection Rate 错误拒绝率 REE Rich Execution Environment 富应用执行环境 SE Secure Element 安全原件 TA Trust APP 运行在可信环境的可执行程序 TEE Trusted Execution Environment 可信应用执行坏境 4 测试环境 4.1 测试架构 通过在REE开发测试APP,执行核心案例,实现TEE指纹接口测试,具体测试架构如图1所示: TAF-WG4-AS0002-V1.0.0:2016 2 REETEE指纹接口TA指纹接口TAClient APIClient API测试APP测
5、试APPInternal APIInternal API图1 测试架构 4.2 测试要求 a) RSA 2048 密钥对的生成时间应在 6 秒以内。 b) TA 堆栈及代码区域的总大小不大于 2MB。 (内存使用大小受 RSA 密钥生成影响,除了 RSA 密钥 生成的其他部分需要 256KB 内存)。 c) FAR FRR 应确保在 FAR1/50000 的情况下 FRR3%. d) SE 可选,SE 的容量总大小应大于 100KB。 e) 同时需要满足 TEE 指纹接口技术及坏境要求。 4.3 测试命令 表1 测试命令 指令 值 说明 TA_CMD_GET_DEVICE_ID 0x01 获取
6、设备ID TA_CMD_REGISTER 0x02 本地免密注册 TA_CMD_AUTHENTICATE 0x03 本地免密校验 TA_CMD_DEREGISTER 0x04 本地免密注销 TA_CMD_QUERY_STATUS 0x05 本地免密查询开通状态 TA_CMD_GET_PROTOCOL_VERSION 0x06 获取TA协议版本号 TA_CMD_READ_FILE 0x07 读取TA文件 TA_CMD_WRITE_FILE 0x08 写入TA文件 TA_CMD_DELETE_FILE 0x09 删除TA文件 TA_GET_LAST_IDENTIFIED_ID 0x0A 获取最近一
7、次认证通过的指纹index TA_GET_ID_LIST 0x0B 获取系统中录入的指纹index集 TA_SHA256 0x0C SHA256算法 TAF-WG4-AS0002-V1.0.0:2016 3 表1 测试命令(续) 指令 值 说明 TA_SIGN 0x0D 非对称签名算法 TA_VERIFY 0x0E 非对称验签算法 TA_KEY_GENERATE 0x0F 生成非对称密钥 TA_AUTHENTICATOR_SIGN 0x10 校验器签名 TA_AUTHENTICATOR_VERIFY 0x11 校验器验签 4.4 测试错误码 表2 测试错误码 错误码 值 说明 ERR_SUCC
8、ESS 0x00000000 成功 ERR_UNKNOWN 0x7A000001 未知错误 ERR_BAD_ACCESS 0x7A000002 访存错误 ERR_BAD_PARAM 0x7A000003 参数错误 ERR_UNKNOWN_CMD 0x7A000004 不能识别的命令 ERR_BUF_TOO_SHORT 0x7A000005 Buffer长度不足 ERR_OUT_OF_MEM 0x7A000006 内存分配失败 ERR_TIMEOUT 0x7A000007 超时错误 ERR_HASH 0x7A000008 Hash错误 ERR_SIGN 0x7A000009 签名错误 ERR_V
9、ERIFY 0x7A00000A 验签错误 ERR_KEY_GEN 0x7A00000B 生成密钥错误 ERR_READ 0x7A00000C 读文件错误 ERR_WRITE 0x7A00000D 写文件错误 ERR_ERASE 0x7A00000E 删除文件错误 ERR_NOT_MATCH 0x7A00000F 生物特征本地不匹配 ERR_GEN_RESPONSE 0x7A000010 生成返回值失败 ERR_GET_DEVICEID 0x7A000011 获取设备ID失败 ERR_GET_LAST_IDENTIFIED_ID 0x7A000012 获取最近一次认证通过结果失败 ERR_AU
10、THENTICATOR_SIGN 0x7A000013 Authenticator签名失败 ERR_GET_ID_LIST 0x7A000014 获取id列表失败 ERR_UN_INITIALIZED 0x7A000015 未初始化错误 ERR_NO_OPTIONAL_LEVEL 0x7A000016 本地无服务端支持的level. 5 测试要求 5.1 I/O 接口测试 TAF-WG4-AS0002-V1.0.0:2016 4 5.1.1 写存储测试 测试编号 5.1.1 测试项目 写存储测试 项目要求 验证是否满足定义的写存储接口要求。 测试条件 应提供写存储的测试说明。 测试步骤 验证写
11、存储是否满足规范要求。具体测试步骤如下: 步骤1:构造一个随机生成的文件名并暂存; 步骤2:构造一个随机的byte数组并暂存; 步骤3:将文件名和byte数组按照入参格式拼接; 步骤4:以步骤3的结果为参数调用写接口; 步骤5:暂存步骤4的返回值。 预期结果 在步骤5后:根据暂存的返回值解析TA写接口调用的状态码, 如果状态码为ERR_SUCCESS, 则该评测结果为“未见异常”。否则评测为“异常”。(具体错误原因参考上文错误码定义) 5.1.2 读存储测试 测试编号 5.1.2 测试项目 读存储测试 项目要求 验证是否满足定义的读存储接口要求。 测试条件 应提供读存储的测试说明。 测试步骤
12、验证读存储是否满足规范要求。具体测试步骤如下: 步骤1:根据测试5.1.1步骤1暂存的文件名拼凑读TA的入参; 步骤2:根据步骤1的拼凑结果调用读存储接口; 步骤3:暂存步骤2的返回值。 预期结果 在步骤3后:根据步骤2暂存的返回值解析读接口调用的状态码, 如果状态码非 ERR_SUCCESS,则评测结果为“异常”。否则继续解析读出的数据内容,将该数据内容与测 试5.1.1步骤2的暂存数据进行按位比对,如果不一致则评测结果为“异常”。否则评测结 果为“未见异常”。(具体错误原因参考上文错误码定义) 5.1.3 删除存储测试 测试编号 5.1.3 测试项目 删除存储测试 项目要求 验证是否满足定
13、义的删除存储接口要求。 测试条件 应提供删除存储的测试说明。 测试步骤 验证删除存储是否满足规范要求。具体测试步骤如下: 步骤1:根据测试5.1.1步骤1暂存的文件名拼凑删除TA存储的入参; 步骤2:根据步骤1的拼凑结果调用测试TA的删除存储接口; 步骤3:暂存步骤2的返回值; 步骤4:根据测试5.1.1步骤1暂存的文件名拼凑读TA存储的入参; TAF-WG4-AS0002-V1.0.0:2016 5 步骤5:根据步骤4的结果调用测试TA的读存储接口; 步骤6:暂存步骤5的返回值。 预期结果 在步骤6后: 根据暂存的返回值解析TA删除接口调用的状态码, 如果状态码为ERR_SUCCESS, 则
14、该评测结果为“未见异常”。否则评测结果为“异常”。(具体错误原因参考上文错误码 定义) 5.2 加解密接口测试 5.2.1 SHA256 算法测试 测试编号 5.2.1 测试项目 SHA256算法测试 项目要求 验证是否满足定义的SHA256接口要求。 测试条件 应提供SHA256算法的测试说明。 测试步骤 验证SHA256算法是否满足规范要求。具体测试步骤如下: 步骤1:构造一个随机的byte数组; 步骤2:根据步骤1的结果拼凑测试TA的SHA256算法的入参; 步骤3:根据步骤2的结果调用SHA256算法并暂存返回值; 步骤4:从步骤3的返回值中解析状态码和SHA256算法的输出结果; 步
15、骤5:在REE环境下以步骤1的结果为入参,调用标准SHA256算法(如openssl)并暂存结果。 预期结果 在步骤4后:如果状态码非ERR_SUCCESS,则该评测结果为“异常”。否则按位比较步骤4的 输出结果和步骤5的暂存结果,如果相等则评测结果为“未见异常”。(具体错误原因参考 上文错误码定义) 5.2.2 RSA 密钥生成算法测试 测试编号 5.2.2 测试项目 RSA密钥生成算法测试 项目要求 验证是否满足定义的生成RSA密钥的接口和性能要求。 测试条件 应提供RSA密钥生成算法的测试说明。 测试步骤 验证RSA密钥生成算法是否满足规范要求。具体测试步骤如下: 步骤1:以RSA密钥的
16、位数(2048)拼凑RSA密钥生成接口的入参; 步骤2:根据步骤1的结果调用RSA密钥生成接口并暂存结果; 步骤3:从步骤2的暂存结果中解析状态码和TEE中密钥句柄并暂存; 预期结果 在步骤3后,如果状态码为ERR_SUCCESS,则该评测为“未见异常”。整个密钥生成过程维 持在3-8秒,否则评测结果为“异常”。(具体错误原因参考上文错误码定义) 5.2.3 RSA 密钥验签算法测试 测试编号 5.2.3 测试项目 RSA密钥验签算法测试 TAF-WG4-AS0002-V1.0.0:2016 6 项目要求 验证是否满足定义的RSA密钥验签算法的接口要求。 测试条件 应提供RSA密钥验签算法的测试说明。 测试步骤 验证RSA密钥验签算法是否满足规范要求。具体测试步骤如下: 步骤1:根据测试5.2.2步骤3暂存的密钥句柄,以及暂存的签名结果拼凑RSA验签接口的入 参; 步骤2:以步骤1的入参调用RSA验签接口并暂存结果; 步骤3:从步骤2暂存结果中解析返回值状态码。 预期结果 在步骤2后,如