标准概览系列之密码设备应用接口规范-GMT 0018-2012 加密机 加密卡 安当加密

密标委发布的行业标准有上百条,此系列可视为标准规范的学习摘要,我们将定期对密码行业的一些关键标准进行功能概述。更权威更及时的标准信息,请在密标委或国密局网站查询。

一、目标

密码设备应用接口规范是公钥密码基础设施应用体系框架下服务类密码设备统一应用接口标准,通过该接口调用密码设备,向上层提供基础密码服务。

服务类密码设备的开发以及应用开发应遵循此接口规范。

二、设备接口

1、密码设备服务层由密码机、密码卡、智能密码终端等设备组成,通过密码设备应用接口向通用密码服务层提供基础密码服务。

基础密码服务包括密钥生成、单一的密码运算、文件管理等的服务。

密码设备应用接口在公钥密码基础设施应用技术体系中的位置:

2、设备管理类函数

A. 打开设备:SDF_OpenDevice

B. 关闭设备:SDF_CloseDevice

C. 创建会话:SDF_OpenSession

D. 关闭会话:SDF_CloseSession

E. 获取设备信息:SDF_GetDeviceInfo

F. 产生随机数:SDF_GenerateRandom

G. 获取私钥使用权限:SDF_GetPrivateKeyAccessRight

H. 释放私钥使用权限:SDF_ReleasePrivateKeyAccessRight

3、密钥管理类函数

A. 导出RSA签名公钥:SDF_ExportSignPublicKey_RSA

B. 导出RSA加密公钥:SDF_ExportEncPublicKey_RSA

C. 产生RSA非对称密钥对并输出:SDF_GenerateKeyPair_RSA

D. 生成会话密钥并用内部RSA公钥加密输出:SDF_GenerateKeyWithIPK_RSA

E. 生成会话密钥并用外部RSA公钥加密输出:SDF_GenerateKeyWithEPK_RSA

F. 导入会话密钥并用内部RSA私钥解密:SDF_ImportKeyWithISK_RSA

G. 基于RSA算法的数字信封转换:SDF_ExchangeDigitEnvelopeBaseOnRSA

H. 导出ECC签名公钥:SDF_ExportSignPublicKey_ECC

I. 导出ECC加密公钥:SDF_ExportEncPublicKey_ECC

J. 产生ECC非对称密钥对并输出:SDF_GenerateKeyPair_ECC

K. 生成会话密钥并用内部ECC公钥加密输出:SDF_GenerateKeyWithIPK_ECC

L. 生成会话密钥并用外部ECC公钥加密输出:SDF_GenerateKeyWithEPK_ECC

M. 导入会话密钥并用内部ECC私钥解密:SDF_ImportKeyWithISK_ECC

N. 生成密钥协商参数并输出:SDF_GenerateAgreementDataWithECC

O. 计算会话密钥:SDF_GenerateKeyWithECC

P. 产生协商数据并计算会话密钥:SDF_GenerateAgreementDataAndKeyWithECC

Q. 基于ECC算法的数字信封转换:SDF_ExchangeDigitEnvelopeBaseOnECC

R. 生成会话密钥并用密钥加密密钥加密输出:SDF_GenerateKeyWithKEK

S. 导入会话密钥并用密钥加密密钥解密:SDF_ImportKeyWithKEK

T. 导入明文会话密钥:SDF_ImportKey

U. 销毁会话密钥:SDF_DestroyKey

4、非对称算法运算类函数

● 外部公钥RSA运算:SDF_ExternalPublicKeyOperation_RSA

● 外部私钥RSA运算:SDF_ExternalPrivateKeyOperation_RSA

● 内部公钥RSA运算:SDF_InternalPublicKeyOperation_RSA

● 内部私钥RSA运算:SDF_InternalPrivateKeyOperation_RSA

● 外部密钥ECC签名:SDF_ExternalSign_ECC

● 外部密钥ECC验证:SDF_ExternalVerify_ECC

● 内部密钥ECC签名:SDF_InternalSign_ECC

● 内部密钥ECC验证:SDF_InternalVerify_ECC

● 外部密钥ECC加密:SDF_ExternalEncrypt_ECC

● 外部密钥ECC解密:SDF_ExternalDecrypt_ECC

5、对称算法运算类函数

● 对称加密:SDF_Encrypt

● 对称解密:SDF_Decrypt

● 计算MAC:SDF_CalculateMAC

6、杂凑运算类函数

● 杂凑运算初始化:SDF_HashInit

● 多包杂凑运算:SDF_HashUpdate

● 杂凑运算结束:SDF_HashFinal

7、用户文件操作类函数 A) 创建文件:SDF_CreateFile B) 读取文件:SDF_ReadFile C) 写文件:SDF_WriteFile D) 删除文件:SDF_DeleteFile

三、密钥分类及存储

1、设备密钥与用户密钥

设备密钥只能在设备初始化时生成或安装,用户密钥通过密码设备管理工具生成或安装。设备密钥和用户密钥存放于密钥存储区,索引号从0开始检索,每个索引号对应一个签名密钥对和一个加密密钥对。索引号为0表示设备密钥,从1开始表示用户密钥。

2、密钥加密密钥

密钥加密密钥通过密码设备管理工具生成或安装,密钥长度为128位,存放于密钥存储区,使用索引号从1开始。

3、会话密钥

会话密钥使用设备接口函数生成或导入,会话密钥使用句柄检索。

四、安全要求

1、密钥管理要求

1) 设备密钥的使用不对应用系统开放;

2) 密钥必须用安全的方法产生并存储;

3) 在任何时间、任何情况下,除公钥外的密钥均不能以明文形式出现在密码设备外;

4) 密码设备内部存储的密钥应具备有效的密钥保护机制,防止解剖、探测和非法读取;

5) 密码设备内部存储的密钥应具备权限控制机制,防止非法使用和导出。

2、密码服务要求

1) 配用的密码算法应得到国家密码主管部门的批准;

2) 使用国家密码主管部门认可的密码算法芯片;

3) 本标准所列的所有接口函数均应能被应用系统任意调用。

3、设备状态要求

1) 密码设备应具有初始和就绪两个状态;

2) 未安装设备密钥的密码设备应处于初始状态,已安装设备密钥的密码设备应处于就绪状态;

3) 在初始状态下,除可读取设备信息、设备密钥的生成或恢复操作外,不能执行任何操作,生成或恢

复设备密钥后,密码设备处于就绪状态;

4) 在就绪状态下,除设备密钥的生成或恢复操作外,应能执行任何操作;

5) 在就绪状态下进行的密钥操作,设备操作员应经过密码设备的认证。

4、其他安全要求

  • 密码设备内部存储的私钥的使用权限设置应由设备管理员完成,可采用口令字方式,口令字编码长度

  • 应不低于8个字符,同时口令字内容应为字符与数字的混合体。

  • 密码设备应有安全机制和措施,保证密钥在生成、安装、导入、存储、备份、恢复及销毁整个生存期间的安全,此安全机制可由设备厂商自行设计实现。

     

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安 当 加 密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值