Expand description
访问控制接口
- SKF_ChangeDevAuthKey
- SKF_DevAuth
- SKF_ChangePIN
- SKF_GetPINInfo
- SKF_VerifyPIN
- SKF_UnblockPIN
- SKF_ClearSecureState
see GM/T 0016-2012
§权限分类
权限分为设备权限,用户权限和管理员权限。
- 设备权限:通过设备认证后获得设备权限。
- 用户权限:用户PIN码验证通过后,获得用户权限,用户权限只作用于其所在的应用。
- 管理员权限:管理员PIN码验证通过后,获得管理员权限,管理员权限只作用于其所在的应用。
§设备认证
必须通过设备认证后才能在设备内创建和删除应用。设备认证使用分组密码算法和设备认证密钥进行。认证的流程如下:
- 被认证方调用SKF_GetRandom 函数从设备获取8字节随机数 RND,并用
0x00
将其填充至密码算法的分块长度,组成数据块D0
- 被认证方对
D0
加密,得到加密结果D1
,并调用SKF_DevAuth
,将D1
发送至设备; - 设备收到
D1
后,验证D1
是否正确。正确则通过设备认证,否则设备认证失败。
Functions§
- SKF_
Change ⚠DevAuth Key - 更改设备认证密钥
- SKF_
ChangePIN ⚠ - 修改PIN.可以修改Admin和User的PIN,如果原PIN错误,返回剩余重试次数,当剩余次数为0时,表示PIN已经被锁死
- SKF_
Clear ⚠Secure State - 清除应用当前的安全状态
- SKF_
DevAuth ⚠ - 设备认证
- SKF_
GetPIN ⚠Info - 获取PIN码信息,包括最大重试次数、当前剩余重试次数,以及当前PIN码是否为出厂默认PIN码
- SKF_
UnblockPIN ⚠ - 解锁用户PIN码.当用户的PIN码锁死后,通过调用该函数来解锁用户PIN码。解锁后,用户PIN码被设置成新值,用户PIN码的重试次数也恢复到原值。
- SKF_
VerifyPIN ⚠ - 校验PIN码。校验成功后,会获得相应的权限,如果PIN码错误,会返回PIN码的重试次数,当重试次数为0时表示PIN码已经锁死