AliOS Things 安全测试规范

更新时间:2018-11-15 17:37:18

1.TLS

1.1 设备数据通信使用TLS

用例编号

用例名称:设备数据通信使用TLS

测试目的:验证设备数据通信中是否使用TLS

测试属性:安全功能

测试拓扑结构:设备与PC处于同一个无线/有线网络环境

测试预置条件
1.设备联网
2.PC安装WireShark软件

测试步骤
1.打开WireShark软件,并开始监听局域网的数据包;
2.设备上电,并与云端通信;

预期结果
1.WireShark中能检测到设备端与云端TLS握手过程;
2.设备端与云端的通信数据包均为TLS数据包;

备注

2.ID2

2.1 设备硬件安全能力

用例编号

用例名称:设备硬件安全能力

测试目的:验证设备是否具有硬件安全能力

测试属性:安全功能

测试步骤
1.检查设备的datasheet;

预期结果
1.设备带有SE或者带有TrustZone或者使用Secure MCU或者无硬件安全能力

备注

2.2 使用ID2完成设备认证(挑战字方式)

用例编号

用例名称:使用ID2完成设备认证(挑战字方式)

测试目的:验证设备能正常使用ID2完成设备认证(挑战字方式)

测试属性:安全功能

测试拓扑结构
1.设备通过串口连接PC;
2.设备与PC处于同一个无线/有线网络环境

测试预置条件
1.PC端运行SP测试程序,可以响应设备端获取挑战字请求,从ID2服务端获取挑战字,并返回给设备端
2.从设备端获取ID2和认证码,发送给ID2服务端完成设备认证;
3.设备上电开机后空闲的RAM空间 > 1024 Bytes

测试步骤
1.设备端调用tfs_get_ID2获取ID2;
2.设备端调用获取挑战字程序获取挑战字C;
3.设备端使用挑战字C调用tfs_id2_get_challenge_auth_code获取设备的认证码;
4.设备端将ID2和认证码发送给SP测试程序,SP测试程序ID2和认证码发送给ID2服务器;

预期结果
1.获取ID2成功;
2.获取挑战字C成功;
3.获取设备认证码成功;
4.SP认证设备程序显示认证成功;
5.系统无crash,fail,error,assert,abort,内存泄漏,阻塞等异常

备注

2.3 使用ID2完成设备认证(时间戳方式)

用例编号

用例名称:使用ID2完成设备认证(时间戳方式)

测试目的:验证设备能正常使用ID2完成设备认证(时间戳方式)

测试属性:安全功能

测试拓扑结构
1.设备通过串口连接PC;
2.设备与PC处于同一个无线/有线网络环境;

测试预置条件
1.PC端运行SP测试程序,可以从设备端获取ID2和认证码,发送给ID2服务端完成设备认证;
2.设备上电开机后空闲的RAM空间 > 1024 Bytes

测试步骤
1.设备端调用tfs_get_ID2获取ID2;
2.设备端获取当前时间戳T;
3.设备端使用时间戳T调用tfs_id2_get_timestamp_auth_code获取设备的认证码;
4.设备端将ID2和认证码发送给SP测试程序,SP测试程序ID2和认证码发送给ID2服务器;

预期结果
1.获取ID2成功;
2.获取时间戳T成功;
3.获取设备认证码成功;
4.SP认证设备程序显示认证成功;
5.系统无crash,fail,error,assert,abort,内存泄漏,阻塞等异常

备注

2.4 使用ID2从服务端获取关键数据(挑战字方式)

用例编号

用例名称:使用ID2从服务端获取关键数据(挑战字方式)

测试目的:验证设备能正常使用ID2从服务端获取关键数据(挑战字方式)

测试属性:安全功能

测试拓扑结构
1.设备通过串口连接PC;
2.设备与PC处于同一个无线/有线网络环境;

测试预置条件
1.PC端运行SP测试程序,可以响应设备端获取挑战字请求,从ID2服务端获取挑战字,并返回给设备端;
2.生成关键数据,从设备端获取ID2和认证码,发送给ID2服务端获取加密后的关键数据并发送给设备端;
3.设备上电开机后空闲的RAM空间 > 1024 Bytes

测试步骤
1.设备端调用tfs_get_ID2获取ID2;
2.设备端调用获取挑战字程序获取挑战字C;
3.设备端使用挑战字C调用tfs_id2_get_challenge_auth_code获取设备的认证码;
4.设备端将ID2和认证码发送给SP测试程序,SP测试程序生成关键数据,并将ID2、认证码及关键数据发送给ID2服务器获取加密后的关键数据;
5.设备端从SP测试程序获取关键数据及加密后的关键数据;
6.设备端调用tfs_id2_decrypt获取关键数据;

预期结果
1.获取ID2成功;
2.获取挑战字C成功;
3.获取设备认证码成功;
4.解密后的关键数据与从SP测试程序获取的关键数据相同;
5.系统无crash,fail,error,assert,abort,内存泄漏,阻塞等异常

备注

2.5 使用ID2从服务端获取关键数据(时间戳方式)

用例编号

用例名称:使用ID2从服务端获取关键数据(时间戳方式)

测试目的:验证设备能正常使用ID2从服务端获取关键数据(时间戳方式)

测试属性:安全功能

测试拓扑结构
1.设备通过串口连接PC;
2.设备与PC处于同一个无线/有线网络环境;

测试预置条件
1.PC端运行SP测试程序,可以生成关键数据,从设备端获取ID2和认证码,发送给ID2服务端获取加密后的关键数据并发送给设备端;
2.设备上电开机后空闲的RAM空间 > 1024 Bytes

测试步骤
1.设备端调用tfs_get_ID2获取ID2;
2.设备端获取当前时间戳T;
3.设备端使用时间戳T调用tfs_id2_get_timestamp_auth_code获取设备的认证码;
4.设备端将ID2和认证码发送给SP测试程序,SP测试程序生成关键数据,并将ID2、认证码及关键数据发送给ID2服务器获取加密后的关键数据;
5.设备端从SP测试程序获取关键数据及加密后的关键数据;
6.设备端调用tfs_id2_decrypt获取关键数据;

预期结果
1.获取ID2成功;
2.获取时间戳T成功;
3.获取设备认证码成功;
4.解密后的关键数据与从SP测试程序获取的关键数据相同;
5.系统无crash,fail,error,assert,abort,内存泄漏,阻塞等异常

备注

3.秘钥安全存储

3.1 设备应用key安全存储及安全使用

用例编号

用例名称:设备应用key安全存储及安全使用

测试目的:验证设备是否能安全存储应用key并安全使用

测试属性:安全功能

测试拓扑结构
1.设备通过串口连接PC

测试步骤
1.生成一个随机数K和名称A;
2.调用KM接口km_sec_store存储A,K;
3.生成随机字符串S;
4.使用K签名S得到Sign1;
5.使用A调用KM签名接口km_sign签名S得到Sign2;

预期结果
1.获取Sign2成功;
2.Sign1与Sign2相同;
3.系统无crash,fail,error,assert,abort,内存泄漏,阻塞等异常;

备注

4.安全启动

4.1 设备安全启动

用例编号

用例名称:设备安全启动

测试目的:验证设备是否具有安全启动能力

测试属性:安全功能

测试拓扑结构
1.设备通过串口连接PC

测试预置条件
1.制作固件BIN;
2.使用正确的私钥签名生成固件BIN1;
3.使用错误的私钥签名生成固件BIN2;

测试步骤
1.烧录固件BIN1到设备中,并重启设备;
2.烧录固件BIN2到设备中,并重启设备;

预期结果
1.烧录BIN1到设备中,设备重启成功;
2.烧录BIN2到设备中,设备重启失败;

备注

results matching ""

    No results matching ""