鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

特殊规格说明

并发场景约束

密码模块TA支持的最大session数为100,所有CA共用此密码模块TA的session资源,超过此限制时调用密码模块接口会报错。各接口使用密码模块TA session的情况如下:

  1. SDF_OpenDevice会占用一个密码模块TA的session,直到SDF_CloseDevice接口被成功调用后释放。
  2. SDF_OpenSession、SDF_CloseSession、ECM_OpenSession、ECM_FactoryReset接口仅在被调用阶段占用一个密码模块TA的session,接口执行完毕时释放密码模块TA的session。
  3. SDF_CloseDevice关闭SDF_OpenDevice占用的密码模块TA的session。
  4. 对于除上述接口外的其他接口,在同一个线程中,每次调用会占用一个密码模块TA,且此session在接口退出时不会立即释放,若1s内当前线程有新的调用则继续使用此TA session。

若超过1s无新的调用则回收此TA session,下次调用时需申请新的TA session。实际情况下由于调度等因素可能会略高于1s(1.5~2s)。多进程场景下需要等待20S才能确保TA session被回收。

内置密钥使用与攻击场景防护

  • ECM内生密码模块提供内置密钥,对应内置密钥通过管理工具或管理接口生成,生成非对称密钥或者主密钥时需要配置密码。
  • 密码模块满足国标0018-2012标准,对应SDF接口不直接提供给用户调用,而是提供给密码设备服务层调用。密码设备服务层通过调用管理工具生成内部密钥,正常使用过程中,服务层调用SDF_GetPrivateKeyAccessRight或者SDF_GetKEKAccessRight不会出现密码错误问题。
  • 若隔离的环境中存在攻击者通过恶意多次调用SDF_GetPrivateKeyAccessRight或SDF_GetKEKAccessRight接口暴力破解密码,密码模块会记录连续调用输入错误密码次数,若输入次数超过500次,则会将该密码模块对应索引的密钥文件置为不可用状态,调用相应接口会返回错误码SDR_COMMFAIL。用户在遇到调用SDF_GetPrivateKeyAccessRight或SDF_GetKEKAccessRight接口报错,除了排查接口参数是否正确外,还应该向管理员咨询使用的密码是否正确。

密码模块初始化

设备在初始化时,需要调用管理工具,生成内置密钥并配置可访问的应用路径。完成配置后,应用通过输入对应密钥密码,获得密钥使用权限,使用密码模块提供的能力。文件操作只允许在Host执行,容器内不能使用文件类操作的接口。

加密密钥使用说明

内部密钥非对称私钥需要使用SDF_GetPrivateKeyAccessRight接口获取使用权限,密钥加密密钥需要使用SDF_GetKEKAccessRight接口获取使用权限。

非对称密钥密码强度

非对称密钥的密码需要满足以下格式要求:

  1. 口令必须包含如下至少两种字符的组合。
    • 至少一个小写字母。
    • 至少一个大写字母。
    • 至少一个数字。
    • 至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/? 和空格。
  2. 长度最少8字节,最多128字节。