用户控制服务器端密钥可靠使用的方法技术

技术编号:39590775 阅读:9 留言:0更新日期:2023-12-03 19:43
本发明专利技术公开了一种用户控制服务器端密钥可靠使用的方法,涉及信息安全行业

【技术实现步骤摘要】
用户控制服务器端密钥可靠使用的方法


[0001]本专利技术涉及信息安全行业
PKI
电子认证

电子签名与云计算技术融合
,特别是一种用户控制服务器端密钥可靠使用的方法


技术介绍

[0002]在基于云计算的
PKI
电子认证

电子签名应用场景中,由于用户无法使用终端
USBKEY
密码介质,
PKI
电子认证

电子签名服务机构需为证书用户提供签名密钥托管服务,当前常用技术路线是由
PKI
电子认证服务机构(简称:
CA
机构)部署一套密钥管理系统(简称:
KMS
),为证书用户代理产生签名私钥及证书请求,由数字证书认证系统(简称:
CA
系统)为用户签发数字证书,在需要签名的操作环节,互联网应用服务器通过访问
KMS
接口调取用户签名私钥为用户代理签名

[0003]当前常用技术路线主要存在以下缺陷:(1)
KMS
在为用户产生签名私钥及证书请求时,用户没有参与到该环节,用户私钥数据没有依托用户私有秘密信息参与计算来产生,
KMS
在调用用户签名私钥做数字签名时,也没有依托用户私有秘密信息参与计算,不能确保获得了用户授权许可

[0004](2)用户私钥存储

访问控制的安全性较差,一旦
KMS
系统出现黑客入侵或系统管理员有恶意行为,很难避免用户的私钥不被恶意调用


技术实现思路

[0005]为解决现有技术中存在的问题,本专利技术的目的是提供一种用户控制服务器端密钥可靠使用的方法,本专利技术在不降低密钥安全性的前提下提升了用户体验

[0006]为实现上述目的,本专利技术采用的技术方案是:一种用户控制服务器端密钥可靠使用的方法,包括以下步骤:
S100、
用户身份认证:用户向
CA
机构提交证书注册申请,
CA
机构认证用户身份;
S200、
云签系统密钥生成:云签系统在系统初始化时产生系统主密钥
SMK
和中间密钥
KEK

S300、
用户密钥生成:用户在云签系统中生成签名密钥对,所述签名密钥对包括签名私钥
SignPrivateKey
和签名公钥
SignPublicKey

S400、
用户在云签系统中进行消息签名操作;
S500、
利用签名公钥
SignPublicKey
对消息进行验签;
S600、
对待加密明文消息
PlainText
进行加密;
S700、
用户在云签系统中进行消息解密操作

[0007]作为本专利技术的进一步改进,所述步骤
S100
具体包括以下步骤:
S101、
用户注册:用户访问
CA
机构的
CA
系统证书注册页面,用户输入唯一身份标识
UniqueID
及其他证照信息,提交证书注册申请

[0008]S102、
核验用户身份:
CA
系统对用户身份进行实名认证和身份核验,核验通过后,
通知用户设置签名私钥生成口令
PassWord

S103、
加密隐私数据:
CA
系统对唯一身份标识
UniqueID

HASH
运算得到用户唯一身份特征值
HashedUniqueID

HashedUniqueID=HASH(UniqueID)
;对签名私钥生成口令
PassWord

HMAC
运算得到用户私钥生成口令特征值
HashedPassWord

HashedPassWord=HMAC(UniqueID,PassWord)

S104、
数据存储:
CA
系统将用户唯一身份特征值
HashedUniqueID、
用户私钥生成口令特征值
HashedPassWord
存储到自身数据库中

[0009]作为本专利技术的进一步改进,所述步骤
S200
具体包括以下步骤:
S201、
产生主密钥
SMK
:云签系统调用服务器密码机对称密钥产生接口产生内部对称密钥,即主密钥
SMK

S202、
产生中间密钥
KEK
:云签系统调用服务器密码机对称密钥产生接口产生外部对称密钥,即中间密钥
KEK

S203、
加密中间密钥
KEK
:云签系统调用服务器密码机对称加密接口,使用主密钥
SMK
对称加密中间密钥
KEK
,得到
EncKEK

EncKEK=SymmEncrypt(SMK,KEK)

S204、
数据存储:云签系统将
EncKEK
存储到自身数据库中

[0010]作为本专利技术的进一步改进,所述步骤
S300
具体包括以下步骤:
S301、
用户输入身份信息:用户访问云签系统用户密钥生成页面,输入唯一身份标识
UniqueID
和私钥生成口令
PassWord

S302、
加密隐私数据:云签系统对唯一身份标识
UniqueID

HASH
运算得到
HashedUniqueID=HASH(UniqueID)
;云签系统对私钥生成口令
PassWord

HMAC
运算得到
HashedPassWord=HMAC(UniqueID,PassWord)

S303、
核验用户身份:云签系统调用
CA
系统接口验证用户身份信息是否有效,传入
HashedUniqueID、HashedPassWord、EncKEK
和用户密钥操作标识参数,
CA
系统在数据库中进行存储并返回用户身份验证结果;
S304、
产生密钥因子:若
CA
系统返回验证成功,云签系统调用服务器密码机为用户产生随机数
RandomNumber
,作为用户签名密钥因子,随机数
RandomNumbe本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种用户控制服务器端密钥可靠使用的方法,其特征在于,包括以下步骤:
S100、
用户身份认证:用户向
CA
机构提交证书注册申请,
CA
机构认证用户身份;
S200、
云签系统密钥生成:云签系统在系统初始化时产生系统主密钥
SMK
和中间密钥
KEK

S300、
用户密钥生成:用户在云签系统中生成签名密钥对,所述签名密钥对包括签名私钥
SignPrivateKey
和签名公钥
SignPublicKey

S400、
用户在云签系统中进行消息签名操作;
S500、
利用签名公钥
SignPublicKey
对消息进行验签;
S600、
对待加密明文消息
PlainText
进行加密;
S700、
用户在云签系统中进行消息解密操作
。2.
根据权利要求1所述的用户控制服务器端密钥可靠使用的方法,其特征在于,所述步骤
S100
具体包括以下步骤:
S101、
用户注册:用户访问
CA
机构的
CA
系统证书注册页面,用户输入唯一身份标识
UniqueID
及其他证照信息,提交证书注册申请;
S102、
核验用户身份:
CA
系统对用户身份进行实名认证和身份核验,核验通过后,通知用户设置签名私钥生成口令
PassWord

S103、
加密隐私数据:
CA
系统对唯一身份标识
UniqueID

HASH
运算得到用户唯一身份特征值
HashedUniqueID

HashedUniqueID=HASH(UniqueID)
;对签名私钥生成口令
PassWord

HMAC
运算得到用户私钥生成口令特征值
HashedPassWord

HashedPassWord=HMAC(UniqueID,PassWord)

S104、
数据存储:
CA
系统将用户唯一身份特征值
HashedUniqueID、
用户私钥生成口令特征值
HashedPassWord
存储到自身数据库中
。3.
根据权利要求2所述的用户控制服务器端密钥可靠使用的方法,其特征在于,所述步骤
S200
具体包括以下步骤:
S201、
产生主密钥
SMK
:云签系统调用服务器密码机对称密钥产生接口产生内部对称密钥,即主密钥
SMK

S202、
产生中间密钥
KEK
:云签系统调用服务器密码机对称密钥产生接口产生外部对称密钥,即中间密钥
KEK

S203、
加密中间密钥
KEK
:云签系统调用服务器密码机对称加密接口,使用主密钥
SMK
对称加密中间密钥
KEK
,得到
EncKEK

EncKEK=SymmEncrypt(SMK,KEK)

S204、
数据存储:云签系统将
EncKEK
存储到自身数据库中
。4.
根据权利要求3所述的用户控制服务器端密钥可靠使用的方法,其特征在于,所述步骤
S300
具体包括以下步骤:
S301、
用户输入身份信息:用户访问云签系统用户密钥生成页面,输入唯一身份标识
UniqueID
和私钥生成口令
PassWord

S302、
加密隐私数据:云签系统对唯一身份标识
UniqueID

HASH
运算得到
HashedUniqueID=HASH(UniqueID)
;云签系统对私钥生成口令
PassWord

HMAC
运算得到
HashedPassWord=HMAC(UniqueID,PassWord)

S303、
核验用户身份:云签系统调用
CA
系统接口验证用户身份信息是否有效,传入
HashedUniqueID、HashedPassWord、EncKEK
和用户密钥操作标识参数,
CA
系统在数据库中进行存储并返回用户身份验证结果;
S304、
产生密钥因子:若
CA
系统返回验证成功,云签系统调用服务器密码机为用户产生随机数
RandomNumber
,作为用户签名密钥因子,随机数
RandomNumber
用于派生签名私钥
SignPrivateKey

S305、
计算签名私钥:云签系统调用服务器密码机
HMAC
接口,将服务器密码机内部对称密钥,即主密钥
SMK
作为密钥参数输入,将用户唯一身份特征值
HashedUniqueID、
私钥生成口令
PassWord、
随机数
RandomNumber
三者组合后作为消息参数输入,计算用户签名私钥
SignPrivateKey

SignPrivateKey=HMAC(SMK,HashedUniqueID||PassWord||RandomNumber)

S306、
计算签名公钥和证书请求:云签系统基于用户签名私钥
SignPrivateKey
生成用户签名公钥
SignPublicKey
和证书请求
CSR

S307、
申请用户证书:云签系统调用
CA
系统接口为用户申请证书,传入
HashedUniqueID、
证书请求
CSR

EncKEK

CA
系统为用户签发证书并在数据库用户表中存储
HashedUniqueID、
证书请求
CSR、EncKEK
及证书信息,
CA
系统返回用户签名证书
SignCert、
用户加密证书
EncCert、
用户加密密钥数字信封
EncKeyEnvelope

S308、
解密中间密钥
KEK
:云签系统调用服务器密码机对称解密接口,使用主密钥
SMK
对称解密
EncKEK
得到
KEK

KEK=SymmDecrypt(SMK,EncKEK)

S309、
加密密钥因子:云签系统使用中间密钥
KEK
对随机数
RandomNumber
对称加密得到
EncRandomNumber=SymmEncrypt(KEK,RandomNumber)

S310、
数据存储:云签系统将
HashedUniqueID、EncRandomNumber、SignCert、EncCert、EncKeyEnvelope
存储到自身数据库密钥表中
。5.
根据权利要求4所述的用户控制服务器端密钥可靠使用的方法,其特征在于,所述步骤
S400
具体包括以下步骤:
S401、
输入用户身份信息:用户访问云签系统需要进行签名的页面,输入唯一身份标识
UniqueID
和私钥生成口令
PassWord

S402、
加密隐私数据:云签系统对唯一身份标识
Uni...

【专利技术属性】
技术研发人员:尹才敏杨飞陈燕晏民曹吕俊黄晶星
申请(专利权)人:四川省数字证书认证管理中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1