基于身份的认证方法

阅读: 评论:0

著录项
  • CN201210558823.7
  • 20121220
  • CN102970144A
  • 20130313
  • 四川长虹电器股份有限公司
  • 于洪伟;张新法
  • H04L9/32
  • H04L9/32 H04L9/08

  • 四川省绵阳市高新区绵兴东路35号
  • 中国,CN,四川(51)
  • 成都虹桥专利事务所(普通合伙)
  • 刘世平
摘要
本发明涉及网络安全技术。本发明解决了现有认证系统中安全性不高的问题,提供了一种基于身份的认证方法,其技术方案可概括为:用户端及私钥产生机构生成其自身的PKI公钥和PKI私钥后需向证书颁发机构申请数字证书,用户端每天向私钥产生机构申请IBC私钥,即一个用户具有PKI公私钥对及IBC公私钥对才能进行通讯。本发明的有益效果是,提升安全性,适用于数据通讯。
权利要求

1.基于身份的认证方法,其特征在于,包括以下步骤:

步骤1、系统初始化,用户端及私钥产生机构生成其自身的PKI公钥和PKI私钥,用户 端及私钥产生机构向证书颁发机构发送用户端或私钥产生机构自己生成的PKI私钥,申请数 字证书,证书颁发机构生成的数字证书中包括用户端或私钥产生机构的唯一身份ID,使用证 书颁发机构自身的私钥进行签名;

步骤2、证书颁发机构验证用户端或私钥产生机构的身份是否合法,若合法则将生成的 数字证书通过安全途径下发给用户或私钥产生机构;

步骤3、用户端每天向私钥产生机构申请IBC私钥,对应的IBC公钥为用户唯一身份ID ︱当天日期字符串;

步骤4、私钥产生机构接收到用户端的申请,向证书颁发机构确认用户端的数字证书是 否合法及是否被撤销,若合法且未被撤销则进入下一步,若不合法和/或被撤销则不生成IBC 私钥;

步骤5、私钥产生机构确认其本身数据库中用户端的身份ID是否合法及是否被撤销,若 合法且未被撤销则生成相应的IBC私钥并发送给用户端,若不合法和/或被撤销则不生成IBC 私钥;

步骤6、若某一个用户作为通信发起方需要与其他用户发起通信,该其他用户作为通信 接收方,则通信发起方向通信接收方提交认证申请,认证申请中包含通信发起方的数字证书;

步骤7、通信接收方确认接收到的数字证书中的用户端身份ID是否与通信发起方的用户 端身份ID相符,若相符则进入下一步,若不相符则回馈通信发起方拒绝通信;

步骤8、通信接收方使用接收到的数字证书中的PKI公钥加密一个用户通信密钥,生成 用户加密通信密钥,再使用通信发起方的用户唯一身份ID︱当天日期字符串作为IBC公钥, 再次加密用户加密通信密钥,生成二次加密通信密钥发送给通信发起方;

步骤9、通信发起方接收到二次加密通信密钥后使用其本身的IBC私钥解密,得到用户 加密通信密钥,再使用通信发起方自身的PKI私钥对用户加密通信密钥进行解密,得到用户 通信密钥,用于以后双方通信。

2.根据权利要求1所述基于身份的认证方法,其特征在于,步骤3中,用户端每天向私 钥产生机构申请IBC私钥前需使用PKI身份认证协议认证,并协商通信密钥;

步骤5中,若合法且未被撤销则生成相应的IBC私钥并通过通信密钥加密后发送给用户 端。

3.根据权利要求2所述基于身份的认证方法,其特征在于,步骤1中,用户端及私钥产 生机构发送给证书颁发机构的PKI私钥加密存储在USB key中,以实现物理隔离。

4.根据权利要求3所述基于身份的认证方法,其特征在于,骤1中,所述用户端及私钥 产生机构生成其自身的PKI公钥和PKI私钥的方法为:采用RSA算法生成PKI公钥及PKI私 钥,生成的PKI公钥或PKI私钥长度大于等于1024bit。

说明书

基于身份的认证方法

技术领域

本发明涉及网络安全技术,特别涉及身份认证技术。

背景技术

公钥密码系统中最重要的部分不仅包括安全算法的实现和抵抗各种挑战保证算法安全,还需 要建立支持公钥使用的基础设施。在基于证书的公钥基础设施PKI(Public Key Infrastructure) 中,存在着可扩展性和对公钥载体管理等方面的难点。针对上面问题,Shamir在1985年提出了基 于身份的密码体制IBC(Identity‑Based Cryptography),在IBC中,使用用户唯一可标识的身 份信息作为公钥,不再使用证书。解决了上述问题,但是一个切实可行的方案直到2001年才由 Boneh和Franklin给出——IBE(Identity‑Based Encryption,基于身份的加密体制),然而,在 IBC中还是存在几个需要解决的问题,如密钥托管、密钥撤销、密钥安全传输等问题。。

发明内容

本发明的目的是克服目前认证系统中安全性不高的缺点,提供一种基于身份的认证方 法。

本发明解决其技术问题,采用的技术方案是,基于身份的认证方法,其特征在于,包括 以下步骤:

步骤1、系统初始化,用户端及私钥产生机构生成其自身的PKI公钥和PKI私钥,用户 端及私钥产生机构向证书颁发机构发送用户端或私钥产生机构自己生成的PKI私钥,申请数 字证书,证书颁发机构生成的数字证书中包括用户端或私钥产生机构的唯一身份ID,使用证 书颁发机构自身的私钥进行签名;

步骤2、证书颁发机构验证用户端或私钥产生机构的身份是否合法,若合法则将生成的 数字证书通过安全途径下发给用户或私钥产生机构;

步骤3、用户端每天向私钥产生机构申请IBC私钥,对应的IBC公钥为用户唯一身份ID ︱当天日期字符串(其中“︱”为字符串连接运算);

步骤4、私钥产生机构接收到用户端的申请,向证书颁发机构确认用户端的数字证书是 否合法及是否被撤销,若合法且未被撤销则进入下一步,若不合法和/或被撤销则不生成IBC 私钥;

步骤5、私钥产生机构确认其本身数据库中用户端的身份ID是否合法及是否被撤销,若 合法且未被撤销则生成相应的IBC私钥并发送给用户端,若不合法和/或被撤销则不生成IBC 私钥;

步骤6、若某一个用户作为通信发起方需要与其他用户发起通信,该其他用户作为通信 接收方,则通信发起方向通信接收方提交认证申请,认证申请中包含通信发起方的数字证书;

步骤7、通信接收方确认接收到的数字证书中的用户端身份ID是否与通信发起方的用户 端身份ID相符,若相符则进入下一步,若不相符则回馈通信发起方拒绝通信;

步骤8、通信接收方使用接收到的数字证书中的PKI公钥加密一个用户通信密钥,生成 用户加密通信密钥,再使用通信发起方的用户唯一身份ID︱当天日期字符串(其中“︱”为 字符串连接运算)作为IBC公钥,再次加密用户加密通信密钥,生成二次加密通信密钥发送 给通信发起方;

步骤9、通信发起方接收到二次加密通信密钥后使用其本身的IBC私钥解密,得到用户 加密通信密钥,再使用通信发起方自身的PKI私钥对用户加密通信密钥进行解密,得到用户 通信密钥,用于以后双方通信。

具体的,步骤3中,用户端每天向私钥产生机构申请IBC私钥前需使用PKI身份认证协 议认证,并协商通信密钥;

步骤5中,若合法且未被撤销则生成相应的IBC私钥并通过通信密钥加密后发送给用户 端。

进一步的,步骤1中,用户端及私钥产生机构发送给证书颁发机构的PKI私钥加密存储 在USB key中,以实现物理隔离。

具体的,步骤1中,所述用户端及私钥产生机构生成其自身的PKI公钥和PKI私钥的方 法为:采用RSA算法生成PKI公钥及PKI私钥,生成的PKI公钥或PKI私钥长度大于等于 1024bit。

本发明的有益效果是,通过上述基于身份的认证方法,有效结合了PKI系统及IBC系统, 使信息传输更加安全。

具体实施方式

下面结合实施例,详细描述本发明的技术方案。

本发明所述的基于身份的认证方法中,首先系统初始化,用户端及私钥产生机构(PKG) 生成其自身的PKI公钥和PKI私钥,用户端及私钥产生机构向证书颁发机构(CA)发送用户 端或私钥产生机构自己生成的PKI私钥,申请数字证书,证书颁发机构生成的数字证书中包 括用户端或私钥产生机构的唯一身份ID,使用证书颁发机构自身的私钥进行签名,证书颁发 机构验证用户端或私钥产生机构的身份是否合法,若合法则将生成的数字证书通过安全途径 下发给用户或私钥产生机构,然后用户端每天向私钥产生机构申请IBC私钥,对应的IBC公 钥为用户唯一身份ID︱当天日期字符串(其中“︱”为字符串连接运算),私钥产生机构接 收到用户端的申请,向证书颁发机构确认用户端的数字证书是否合法及是否被撤销,若不合 法和/或被撤销则不生成IBC私钥,若合法且未被撤销则私钥产生机构确认其本身数据库中用 户端的身份ID是否合法及是否被撤销,若不合法和/或被撤销则不生成IBC私钥,若合法且 未被撤销则生成相应的IBC私钥并发送给用户端,使用时,若某一个用户作为通信发起方需 要与其他用户发起通信,该其他用户作为通信接收方,则通信发起方向通信接收方提交认证 申请,认证申请中包含通信发起方的数字证书,通信接收方确认接收到的数字证书中的用户 端身份ID是否与通信发起方的用户端身份ID相符,若不相符则回馈通信发起方拒绝通信, 若相符则通信接收方使用接收到的数字证书中的PKI公钥加密一个用户通信密钥,生成用户 加密通信密钥,再使用通信发起方的用户唯一身份ID︱当天日期字符串(其中“︱”为字符 串连接运算)作为IBC公钥,再次加密用户加密通信密钥,生成二次加密通信密钥发送给通 信发起方,通信发起方接收到二次加密通信密钥后使用其本身的IBC私钥解密,得到用户加 密通信密钥,再使用通信发起方自身的PKI私钥对用户加密通信密钥进行解密,得到用户通 信密钥,用于以后双方通信。

实施例

本例的基于身份的认证方法中,包括证书颁发机构(CA)、私钥产生机构(PKG)、通信发 起方用户A、通信接收方用户B。

其中,证书颁发机构(CA):PKI系统中交互双方都信任的实体,被称为可信第三方,CA 的行为具有非否认性,CA通过数字证书证实他人的PKI公钥信息,证书上有CA的签名,本 例中CA主要是为PKG及普通用户如通信双方颁发数字证书,对应的PKI私钥由用户端或PKG 自己产生。

私钥产生机构(PKG):IBC系统中的IBC私钥产生设备,根据用户端提供的基本信息, 为每个用户端唯一标识产生一个对应IBC私钥,并将IBC私钥下发给用户,在本例中PKG还 拥有PKI系统的CA颁发的数字证书及自己产生的对应PKI私钥,PKG拥有IBC系统的生成密 钥,需安全存储,可以采用USB key的方式,实现物理隔离。

通信发起方用户A:安全通信的发起方,拥有PKI系统的数字证书及对应PKI私钥和IBC 系统中的IBC公私钥对,在通信过程中首先发起认证通信消息。

通信接收方用户B:安全通信的接收方,拥有PKI系统的数字证书及对应PKI私钥和IBC 系统中的IBC公私钥对,在通信过程中被动接收认证请求。

具体处理方法为:

第一步,在系统初始化时,用户A、用户B和PKG都需要向CA申请PKI体系中的数字证 书,对应PKI私钥在用户端和PKG端生成,用户端或PKG端生成证书请求文件并提交给CA, PKI私钥需要存储在USB key中与通信设备物理上隔离。

第二步,证书颁发机构CA证明用户端或PKG端的身份合法性后,为其生成数字证书, 并使用CA自身的私钥进行签名,通过安全渠道将数字证书下发给用户端或PKG端,如果条件 允许,可以使用专门USB key进行用户PKI体系中PKI公私钥的安全存储。

第三步,在用户A、用户B和PKG部署完自己的PKI公私钥后,用户端每天使用PKI体 系中的相互认证协议进行用户端和PKG系统的认证,认证通过后,用户端向PKG提交自己的 用户基本信息,用户基本信息中必须包含用户唯一身份ID,申请用户IBC私钥。

第四步,PKG使用IBC算法,使用用户基本信息生成用户的IBC私钥,并使用第三步建 立的PKI安全通道将私钥下发给用户。

第五步,用户A获取了自己的IBC私钥后,向用户B发起认证请求,将自己的数字证书 发送给对方,具体的交互步骤在下面有详细描述。

第六步,认证结束,如果认证通过,通信接收方B发送通信密钥给通信发起方A,密钥 使用对方的IBC公钥和PKI公钥双重加密。

第七步,通信双方采用协商的密钥进行加密通信。

用户端数字证书申请的具体流程如下:

A,用户端生成自己的PKI公私钥对,采用RSA算法,密钥长度大于等于1024bit。

B,将用户端的PKI公钥及用户基本信息生成数字证书请求文件,用户基本信息中必须 包含用户的唯一身份ID,和IBC中用户端的IBC公钥前缀一致。

C,通过在线或线下形式将数字证书请求文件提交给CA。

D,CA验证用户端身份的合法性及用户身份的唯一性,如果用户的身份合法,CA为用户 端生成数字证书。

第五步,CA下发数字证书给用户端。

第六步,用户端安全存储数字证书和用户PKI私钥,在本例中使用USB key的形式存储, 使PKI密钥和联网设备在物理上隔离,保证安全性。

用户端申请生成IBC私钥的具体流程如下:

步骤1,系统初始化,PKG选择一个安全参数k∈Z+,运行BDH(Bilinear Diffie‑Hellman)参数生成器ζ,使得其中G1是椭圆曲线循环加,G2为乘法循环,q为G1和G2的素数阶,为可接受的线性映射,n为一个整数。BDH参数生成器是BDH问题中的一个重要概念,BDH参数生成器是一个概率多项式时间算法,输入安全参数1k,输出素数q,G1,G2的描述以及可容许的双线性映射BDH参数生成器能够通过与超奇异椭圆曲线或Abel相关的Weil对和Tate对构造。

PKG任选一个再任选一个G1的生成元p,并设置ppub=sp,这里s为PKG的私钥,ppub为PKG的公钥。

PKG选择5个hash函数:

<mrow> <msub> <mi>H</mi> <mn>1</mn> </msub> <mo>:</mo> <msup> <mrow> <mo>{</mo> <mn>0,1</mn> <mo>}</mo> </mrow> <mo>*</mo> </msup> <mo>&RightArrow;</mo> <msubsup> <mi>G</mi> <mn>1</mn> <mo>*</mo> </msubsup> <mo>,</mo> </mrow>

H2:G2→{0,1}n

<mrow> <msub> <mi>H</mi> <mn>3</mn> </msub> <mo>:</mo> <msup> <mrow> <mo>{</mo> <mn>0,1</mn> <mo>}</mo> </mrow> <mi>n</mi> </msup> <mo>&times;</mo> <msup> <mrow> <mo>{</mo> <mn>0,1</mn> <mo>}</mo> </mrow> <mi>n</mi> </msup> <mo>&RightArrow;</mo> <msubsup> <mi>Z</mi> <mi>q</mi> <mo>*</mo> </msubsup> <mo>,</mo> </mrow>

H4:{0,1}n→{0,1}n

H5:{0,1}*×G1→Zq

系统公开的参数为 <mrow> <mi>params</mi> <mo>=</mo> <mo>&lt;</mo> <msub> <mi>G</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>G</mi> <mn>2</mn> </msub> <mo>,</mo> <mi>q</mi> <mo>,</mo> <mover> <mi>e</mi> <mo>^</mo> </mover> <mo>,</mo> <mi>n</mi> <mo>,</mo> <mi>p</mi> <mo>,</mo> <msub> <mi>p</mi> <mi>pub</mi> </msub> <mo>,</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>H</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>H</mi> <mn>3</mn> </msub> <mo>,</mo> <msub> <mi>H</mi> <mn>4</mn> </msub> <mo>,</mo> <msub> <mi>H</mi> <mn>5</mn> </msub> <mo>></mo> <mo>.</mo> </mrow>

步骤2,用户端PKI密钥生成,用户端与PKG使用PKI身份认证协议认证,并协商通信 密钥,本例中协商的通信密钥为用户数字证书中的PKI公钥,用户将自己的唯一身份 ID∈{0,1}*发送给PKG。

步骤3,PKG根据用户的唯一身份ID首先查询本地数据库,看对应ID是否被撤销,如 果被撤销,直接返回申请失败结果;否则,向CA申请查看ID对应证书有效性,等待返回结 果。

步骤4,CA查询数字证书撤销数据库,如果对应ID数字证书被撤销,返回数字证书无 效;否则返回数字证书有效。如果结果为ID对应证书正常,则同时返回ID对应数字证书, 进行步骤5;否则返回数字证书无效错误消息。

步骤5,如果CA验证ID对应数字证书有效,PKG计算其中ID’为用户唯一身份ID当天日期字符串,再计算出用户的私钥dID′=sQID',并将dID’使用用户的数字证书PKI公钥加密,并执行下一步;否则返回申请失败消息

步骤6,将加密后的IBC私钥发送给用户。

步骤7,用户安全存储当天IBC私钥,可以使用USB key存储。

用户间认证通信流程如下:

1),通信发起方A提交通信请求,并提交本身的数字证书。

2),通信接收方B验证通信发起方A的数字证书中的ID是否与通信发起方A当天ID的 前缀相同,如果相同,进入下一步。

3),加密通信密钥K,首先,通信接收方B生成用户通信密钥K,并使用发起方A的PKI公钥加密K生成消息M,然后使用IBC公钥加密M。IBC公钥加密过程如下:首先,计算其中ID为发起方A的唯一用户ID|当天日期字符串;然后,选择计算r=H3(σ,M),计算密文 <mrow> <mi>C</mi> <mo>=</mo> <mo>&lt;</mo> <mi>rP</mi> <mo>,</mo> <mi>&sigma;</mi> <mo>&CirclePlus;</mo> <msub> <mi>H</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>ID</mi> <mi>r</mi> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <mi>M</mi> <mo>&CirclePlus;</mo> <msub> <mi>H</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mi>&sigma;</mi> <mo>)</mo> </mrow> <mo>></mo> <mo>,</mo> </mrow> 其中 <mrow> <msub> <mi>g</mi> <mi>ID</mi> </msub> <mo>=</mo> <mover> <mi>e</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mi>ID</mi> </msub> <mo>,</mo> <msub> <mi>P</mi> <mi>pub</mi> </msub> <mo>)</mo> </mrow> <mo>&Element;</mo> <msub> <mi>G</mi> <mn>2</mn> </msub> <mo>.</mo> </mrow>

4),通信接收方B发送二次加密后的用户通信密钥给通信发起方A。

5),通信发起方A解密出用户通信密钥K,首先使用IBC私钥解密,设C=<U,V,W>是用通信发起方A公钥ID加密的密文,可用A的私钥dID来解密,计算计算计算r=H3(σ,M),测试U是否等于rP,如果相等说明明文没有被篡改过。然后使用PKI私钥解密M,解密出用户通信密钥K。

6),通信双方使用用户通信密钥进行加密通信。

本系统中的用户私钥撤销分为:IBC用户密钥撤销和PKI数字证书撤销,其中IBC密钥 吊销只需要在PKG数据库记录撤销ID,在对应ID密钥申请时检测是否被撤销,如果被撤销 将不予生成IBC私钥。PKI数字证书撤销只需记录到CA数据库中,在对应ID密钥申请时PKG 向CA查询ID对应数字证书有效性,如果对应数字证书失效,则不予生成IBC私钥。

本文发布于:2023-04-14 10:29:56,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87126.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图