• Trust钱包科技

    文章横幅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系统结构介绍