Module access

Source
Expand description

访问控制接口

  • SKF_ChangeDevAuthKey
  • SKF_DevAuth
  • SKF_ChangePIN
  • SKF_GetPINInfo
  • SKF_VerifyPIN
  • SKF_UnblockPIN
  • SKF_ClearSecureState

see GM/T 0016-2012

§权限分类

权限分为设备权限,用户权限和管理员权限。

  • 设备权限:通过设备认证后获得设备权限。
  • 用户权限:用户PIN码验证通过后,获得用户权限,用户权限只作用于其所在的应用。
  • 管理员权限:管理员PIN码验证通过后,获得管理员权限,管理员权限只作用于其所在的应用。

§设备认证

必须通过设备认证后才能在设备内创建和删除应用。设备认证使用分组密码算法和设备认证密钥进行。认证的流程如下:

  1. 被认证方调用SKF_GetRandom 函数从设备获取8字节随机数 RND,并用0x00将其填充至密码算法的分块长度,组成数据块 D0
  2. 被认证方对D0加密,得到加密结果D1,并调用SKF_DevAuth,将D1发送至设备;
  3. 设备收到D1后,验证D1是否正确。正确则通过设备认证,否则设备认证失败。

Functions§

SKF_ChangeDevAuthKey
更改设备认证密钥
SKF_ChangePIN
修改PIN.可以修改Admin和User的PIN,如果原PIN错误,返回剩余重试次数,当剩余次数为0时,表示PIN已经被锁死
SKF_ClearSecureState
清除应用当前的安全状态
SKF_DevAuth
设备认证
SKF_GetPINInfo
获取PIN码信息,包括最大重试次数、当前剩余重试次数,以及当前PIN码是否为出厂默认PIN码
SKF_UnblockPIN
解锁用户PIN码.当用户的PIN码锁死后,通过调用该函数来解锁用户PIN码。解锁后,用户PIN码被设置成新值,用户PIN码的重试次数也恢复到原值。
SKF_VerifyPIN
校验PIN码。校验成功后,会获得相应的权限,如果PIN码错误,会返回PIN码的重试次数,当重试次数为0时表示PIN码已经锁死