文章横幅PC版
文章横幅iPad版
文章横幅手机版

私钥存储

TIME:2019-03-15 10:20  click: 303 次 来源: 未知

私钥保存形式主要有文件、密码设备和软件系统三种。

当用文件形式保存私钥时,私钥的安全性通常用口令保护,同时基于口令可加密存储私钥文件。当系统用私钥签名或解密时,需把该私钥文件读入内存或密码模块中进行密码运算。为保护私钥的安全性,通常使用口令加密保护私钥文件。

当用密码设备形式保存私钥时,密码设备可提供安全机制保护私钥存储与访问的安全性。

当用软件系统方式保存私钥时,私钥完全由软件系统管理,其安全性完全依赖于软件系统,不同系统下私钥存储形式和安全性可能不同。

1.PKCS#8文件形式

PKCS#8规定了私钥单独以文件形式保存时的具体格式。

2.PKCS#12文件格式

当私钥用PKCS#12形式保存时,常用的文件后缀为pfx或p12。

(1)PFX

PKCS#12规定了私钥和证书以单个文件形式保存时的具体格式。

(2)macData

macData包含消息认证码mac及相关参数macSalt、iterations,采用口令方式保证authSafe数据完整性。

(3)authSafe

authSafe包含私钥和证书数据,采用密码消息ContentInfo类型。authSafe的contentType字段可是signedData类型,也可是data类型。当为signedData类型时,基于公钥保证数据完整性;当用data类型时,基于口令确保完整性,消息认证码信息保存在macData中。authSafe的content字段直接(data类型)或间接(signedData类型)包含AuthenticatadSafe类型的编码结果。

(4)SafeContent

(5)常用SafeBag类型

常用SafeBag类型包括:keyBag、pkcs8ShroudedKeyBag、certBag、crlBag、secretBag、safeContentsBag等。

3.Java Keystore文件形式

JDK 1.4已经支持X.509数字证书标准。Java平台把密钥库当做密钥(公私钥对)与证书的资源管理库。密钥库物理上是个文件,缺省名是keystore。由一个别名来区分密钥和证书,每个别名均被唯一的口令保护。密钥库本身也受口令保护。

当私钥用Java Keystore形式保存时,常用的文件后缀为jks。

Keystore文件可由keytool工具与Java类两种方式访问或操作 。

keytool是JDK自带工具,密钥库中的公私钥对与数字证书管理很方便。

4.密码设备形式

密码设备是指以硬件形式存在的密码模块。

该模式下,私钥保存在密码设备中,具体包括以下几个方面。

(1)密码设备分类

(2)私钥存储方式

(3)私钥存储安全性

(4)私钥访问方式

(5)私钥访问安全性

5.软件系统形式

当采用软件系统方式保存私钥时,私钥完全由软件系统进行管理,其安全性完全依赖于软件系统,不同系统下私钥存储形式和安全性可能不同。私钥可能以单独文件形式存在,也可能与其他数据打包后保存。

上一篇:国密算法sm2 下一篇:ca系统结构介绍