CN114065171A - 一种身份认证方法、装置、系统、设备及介质 - Google Patents
一种身份认证方法、装置、系统、设备及介质 Download PDFInfo
- Publication number
- CN114065171A CN114065171A CN202111329638.6A CN202111329638A CN114065171A CN 114065171 A CN114065171 A CN 114065171A CN 202111329638 A CN202111329638 A CN 202111329638A CN 114065171 A CN114065171 A CN 114065171A
- Authority
- CN
- China
- Prior art keywords
- main body
- subject
- identity
- hash value
- elliptic curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明涉及一种身份认证方法、装置、系统、设备及介质。包括,第二主体通过使用第一主体第二杂凑值和第二主体第二杂凑值相比较,来确认第二主体对第一主体身份认证是否成功。也就是说,第一主体通过向第二主体证明自己拥有数字证书所对应的私钥,来证明自己是数字证书的主体,从而实现身份认证。并且第一主体在证明自己为所声称的身份的过程中,不向第二主体透露自己的私钥,从而证明自己是数字证书的主体。提高了身份认证的安全性。
Description
技术领域
本申请涉及信息安全领域,一种身份认证方法、装置、系统、设备及介质。
背景技术
目前,随着互联网和移动互联网技术的应用和发展,身份认证的场景、环境更加复杂,身份认证方法也多种多样,例如,人脸识别、声纹识别等生物识别技术,公钥密码签名验证技术,零知识证明技术等。当前已存在的基于零知识证明的身份认证技术往往比较复杂,如使用区块链技术,实现难度较大。
发明内容
本申请实施例提供了一种身份认证方法、装置、系统、设备及介质,用以解决现有技术中身份认证比较复杂的问题。
本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种身份认证方法,该方法包括:
接收第一主体发送的身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
向所述第一主体发送认证响应消息,所述认证响应消息携带第二主体身份信息;
接收所述第一主体发送的第一主体第二杂凑值,其中所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得;
通过所述第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证,所述第二主体第二杂凑值为所述第二主体基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得。
在一种可能的实施方式中,向所述第一主体发送认证响应消息之前,所述方法还包括:
确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体证书公钥;
所述第二主体第二椭圆曲线点的坐标值通过如下方式获得:
基于第二主体身份信息、第二主体当前时间以及第二主体随机数获得第二主体第一杂凑值;基于第二主体第一杂凑值、第二主体私钥以及第一主体证书公钥获得第二主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述认证响应消息还携带第二主体第一椭圆曲线点;
所述第一主体第二椭圆曲线点的坐标值通过以下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第二主体第一椭圆曲线点通过如下方式获得:
基于第二主体身份信息、第二主体当前时间以及第二主体随机数获得第二主体第一杂凑值;
基于第二主体第一杂凑值、椭圆曲线点群的基点以及第二主体公钥获得第二主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
在一种可能的实施方式中,对所述第一主体身份认证成功之后,所述方法还包括:
基于获得的第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得第二主体第三杂凑值,并发送至所述第一主体,以便所述第一主体对第二主体进行身份认证。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点;
所述第二主体第三椭圆曲线点的坐标值通过如下方式获得:
基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第一主体第一椭圆曲线点通过以下方式获得:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体第一杂凑值、椭圆曲线点群的基点和第一主体公钥获得第一主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
另一方面,本申请实施例还提供了一种身份认证方法,应用于第一主体,该方法包括:
向第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息;
将获得的第一主体第二杂凑值发送至所述第二主体,以便所述第二主体对第一主体进行身份认证,所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得。
在一种可能的实施方式中,所述认证响应消息还携带第二主体当前时间;
将获得的第一主体第二杂凑值发送至所述第二主体之前,所述方法还包括:确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
在一种可能的实施方式中,所述认证响应消息还携带第二主体第一椭圆曲线点;
所述第一主体第二椭圆曲线点通过如下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点,以便第二主体基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第一主体第一椭圆曲线点通过以下方式获得:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体第一杂凑值、椭圆曲线点群的基点和第一主体公钥获得第一主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
在一种可能的实施方式中,所述认证响应消息还携带第二主体证书序列号;
所述方法还包括;
接收所述第二主体发送的第二主体第三杂凑值,所述第二主体第三杂凑值是所述第二主体基于第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间、以及第二主体证书序列号,通过杂凑算法获得的;通过第二主体第三杂凑值与第一主体第三杂凑值比对,对所述第二主体进行身份认证,所述第一主体第三杂凑值为所述第一主体基于第一主体第三椭圆曲线点坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得的。
在一种可能的实施方式中,所述认证响应消息还携带第二主体证书公钥;
所述第一主体第三椭圆曲线点的坐标值通过以下方式确定:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体私钥、第二主体证书公钥以及第一主体第一杂凑值获得第一主体第三椭圆曲线点的坐标值。
另一方面,本申请实施例还提供了一种身份认证装置,应用于第二主体,该装置包括:
身份认证请求信息接收模块,用于接收第一主体发送的身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
第一主体响应消息发送模块,用于向所述第一主体发送认证响应消息,所述认证响应消息携带第二主体身份信息;
第一主体第二杂凑值接收模块,用于接收所述第一主体发送的第一主体第二杂凑值,其中所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得;
第二主体第二杂凑值获得模块,用于基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得第二主体第二杂凑值;
第一主体身份认证模块,用于通过第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证。
在一种可能的实施方式中,所述装置还包括当前时间差确定模块:
当前时间差确定模块,用于第一主体响应消息发送模块向所述第一主体发送认证响应消息之前,确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体证书公钥;
所述第二主体第二椭圆曲线点的坐标值通过如下方式获得:
基于第二主体身份信息、第二主体当前时间以及第二主体随机数获得第二主体第一杂凑值;基于第二主体第一杂凑值、第二主体私钥以及第一主体证书公钥获得第二主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述认证响应消息还携带第二主体第一椭圆曲线点;
所述第一主体第二椭圆曲线点的坐标值通过以下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第二主体第一椭圆曲线点通过如下方式获得:
基于第二主体身份信息、第二主体当前时间以及第二主体随机数获得第二主体第一杂凑值;
基于第二主体第一杂凑值、椭圆曲线点群的基点以及第二主体公钥获得第二主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
在一种可能的实施方式中,第二主体第三杂凑值获得并发送模块,用于第一主体身份认证模块对所述第一主体身份认证成功之后,基于获得的第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得第二主体第三杂凑值,并发送至所述第一主体,以便所述第一主体对第二主体进行身份认证。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点;所述第二主体第三椭圆曲线点的坐标值通过如下方式获得:
基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第一主体第一椭圆曲线点通过以下方式获得:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体第一杂凑值、椭圆曲线点群的基点和第一主体公钥获得第一主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
另一方面,本申请实施例还提供了一种身份认证装置,应用于第一主体,所述装置包括:
身份认证请求信息发送模块,用于向第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
认证响应消息接收模块,用于接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息;
第一主体第二杂凑值获得并发送模块,用于基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得第一主体第二杂凑值,并发送至所述第二主体,以便所述第二主体对第一主体进行身份认证。
在一种可能的实施方式中,所述认证响应消息还携带第二主体当前时间;
所述装置还包括当前时间差确定模块:
当前时间差确定模块,用于第一主体第二杂凑值获得并发送模块将获得的第一主体第二杂凑值发送至所述第二主体之前,确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
在一种可能的实施方式中,所述认证响应消息还携带第二主体第一椭圆曲线点;所述第一主体第二椭圆曲线点的坐标值通过如下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点,以便第二主体基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第一主体第一椭圆曲线点通过以下方式获得:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体第一杂凑值、椭圆曲线点群的基点和第一主体公钥获得第一主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
在一种可能的实施方式中,所述认证响应消息还携带第二主体证书序列号;
所述装置还包括第一主体第三杂凑值获得模块、第二主体第三杂凑值接收模块和第二主体身份认证模块:
第一主体第三杂凑值获得模块,用于基于第一主体第三椭圆曲线点坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得第一主体第三杂凑值;
第二主体第三杂凑值接收模块,用于接收所述第二主体发送的第二主体第三杂凑值,所述第二主体第三杂凑值是基于第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得的;
第二主体身份认证模块,用于通过第二主体第三杂凑值与第一主体第三杂凑值比对,对所述第二主体进行身份认证。
在一种可能的实施方式中,所述认证响应消息还携带第二主体证书公钥;
所述第一主体第三椭圆曲线点的坐标值通过以下方式确定:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体私钥、第二主体证书公钥以及第一主体第一杂凑值获得第一主体第三椭圆曲线点的坐标值。
另一方面,本申请实施例还提供了一种身份认证系统,应用于第一主体和第二主体,所述系统包括:
所述第一主体,用于向所述第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间、第一主体证书序列号;接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息;
所述第二主体,用于接收所述第一主体发送的身份认证请求信息,并向所述第一主体发送认证响应消息;以及,接收所述第一主体发送的第一主体第二杂凑值,通过所述第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证;
其中,所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得,所述第二主体第二杂凑值为所述第二主体基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得。
另一方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述一种身份认证方法的步骤。
另一方面,本申请实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上述一种身份认证方法的步骤。
本申请实施例的有益效果如下:
本申请实施例中,所述第二主体通过使用所述第一主体第二杂凑值和所述第二主体第二杂凑值相比较,来确认第二主体对第一主体身份认证是否成功。也就是说,第一主体通过向第二主体证明自己拥有数字证书所对应的私钥,来证明自己是数字证书的主体,从而实现身份认证。并且第一主体在证明自己为所声称的身份的过程中,不向第二主体透露自己的私钥。提高了身份认证的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种身份认证方法的示意图;
图2为本申请实施例提供的一种身份认证方法的示意图;
图3为本申请实施例提供的一种身份认证装置的示意图;
图4为本申请实施例提供的一种身份认证装置的示意图;
图5为本申请实施例提供的一种身份认证系统的示意图;
图6为本申请实施例提供的一种身份认证方法整体流程示意图;
图7为本申请实施例提供的一种电子设备实体结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
身份证明者是声称自己为某种身份的主体,即被验证者。身份验证者是验证身份证明者所声称的身份是否正确的主体。所述主体可以是用户(人),也可以是设备,还可以是计算机网络节点,等等,这里不加限制。本申请方案中,要求每个主体拥有合法证书颁发机构(CA)签发的有效椭圆曲线公钥密码算法(SM2) 数字证书,以及对应的私钥。数字证书也称公钥证书或简称证书,数字证书中含有证书公钥、证书主体(拥有者/使用者)信息、证书有效期、证书序列号等内容,证书可以公开,因此,公众(包括验证者)可以得到主体(证明者)的证书信息。私钥不公开,仅由私钥持有者(证明者)所拥有,证明者的公钥证书及其对应的私钥与证明者身份绑定。本申请采用零知识证明技术进行身份认证。证明者通过向验证者证明自己拥有数字证书所对应的私钥,从而证明自己是数字证书的主体。同时,证明者在证明自己为所声称的身份的过程中,不向验证者透露自己的私钥。
实施例1
图1为本申请实施例提供的一种身份认证方法的示意图,应用于第二主体对第一主体进行身份认证,包括如下步骤:
步骤101:接收第一主体身份认证请求信息。
具体的,第二主体接收第一主体身份认证请求信息,所述身份认证请求信息携带第一主体身份信息(IA)、第一主体当前时间(TA)和第一主体证书序列号(SNA)。其中,身份信息可以是身份证号、电话号码、驾驶证号码等;系统拥有时间同步,也就是说,第一主体当前时间与第二主体当前时间是同步的。
步骤102:发送认证响应消息。
具体的,向第一主体发送认证响应消息,所述认证响应消息携带第二主体身份信息(IB)。
步骤103:接收第一主体第二杂凑值。
具体的,接收第一主体发送的第一主体第二杂凑值(fA),以便第二主体对第一主体身份认证,其中,所述第一主体第二杂凑值(fA)为所述第一主体基于第一主体第二椭圆曲线点(RA)的坐标值(RAx,RAy)、第二主体身份信息(IB)、第一主体身份信息(IA)、第一主体当前时间(TA)以及第一主体证书序列号(SNA),通过杂凑算法获得。
例如:fA=SM3(RAx||RAy||IA||IB||TA||SNA),将RAx、RAy、IA、IB、TA、SNA串接后进行杂凑算法得到fA,fA的计算因子中不仅包括RA的坐标值数据,还绑定了所述第一主体和所述第二主体的身份信息IA、IB,以及第一主体的当前时间TA和证书序列号SNA,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造证明者的难度,同时可避免重放攻击。
进一步的,在一种可能的实现方式中,所述RAx、RAy是基于第一主体私钥 (kA)、第二主体第一椭圆曲线点(QB)获得的,例如,RA=[kA]QB=(RAx,RAy),通过QB与kA点乘运算获得椭圆曲线上一个点RA的坐标值。
进一步地,在一种可能的实现方式中,所述第二主体第一椭圆曲线点(QB) 可以是基于第二主体第一杂凑值(hB)、椭圆曲线点群的基点(G)以及第二主体公钥(PB)获得,
例如:QB=[hB]G+PB,通过第二主体第一杂凑值与椭圆曲线点群的基点进行点乘得到椭圆曲线上的一个点,再将得到的这个点与第二主体公钥相加得到椭圆曲线上的点QB,其中,椭圆曲线点群的基点G为固定常数,第二主体公钥为椭圆曲线上的一个点。
需要说明的是,本实施例使用椭圆曲线进行身份认证主要考虑的是椭圆曲线密码算法为国家标准公钥密码算法,其密码算法具有合规性和安全性的保障。
进一步的,在一种可能的实现方式中,所述第二主体第一杂凑值(hB)可以是基于第二主体身份信息(IB)、第二主体当前时间(TB)以及第二主体随机数 (rB)获得的,随机数(rB)和第一主体当前时间(TB)可防止重放攻击,避免每次计算的信息相同,使(hB)具有独特性。
例如:hB=SM3(IB||TB||rB),将IB、TB、rB串接后进行杂凑运算获得hB,杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码。
步骤104:获得第二主体第二杂凑值。
具体的,基于第二主体第二椭圆曲线点的坐标值(RBx、RBy)、第一主体身份信息(IA)、第一主体当前时间(TA)、第二主体身份信息(IB)、第一主体证书序列号(SNA),通过杂凑算法获得第二主体第二杂凑值(fB),杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码,
例如,将RBx、RBy、IA、IB、TA以及SNA串接后在进行杂凑运算,获得fB, fB=SM3(RBx||RBy||IA||IB||TA||SNA),fB的计算因子中不仅包括RB的坐标值,还绑定了所述第一主体和所述第二主体的信息IA、IB,以及所述第一主体的当前时间 TA和证书序列号SNA,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造证明者的难度,同时可避免重放攻击。
进一步的,所述身份认证请求信息还携带第一主体证书公钥,以便于获得第二主体第二椭圆曲线点(RB)的坐标值(RBx、RBy),所述第二主体第二椭圆曲线点(RB)的坐标值(RBx、RBy)是基于第二主体第一杂凑值(hB)、第二主体私钥(kB) 以及第一主体证书公钥(PA)获得的,
例如:RB=[hB+kB]PA=(RBx,RBy),其中,RB为第二主体第二椭圆曲线点,kB为第二主体私钥,PA为第一主体证书公钥。通过第二主体第一杂凑值与第二主体私钥相加得到的值与第一主体证书公钥点乘获得第二主体第二椭圆曲线点。
进一步的,在一种可能的实施方式中,所述第二主体第一杂凑值(hB)是基于第二主体身份信息(IB)、第二主体当前时间(TB)以及第二主体随机数(rB)获得的,随机数(rB)和第一主体当前时间(TB)可防止重放攻击,避免每次计算的信息相同,使(hB)具有独特性。例如:hB=SM3(IB||TB||rB),将IB、TB、rB串接后进行杂凑运算获得hB,杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码。
步骤105:通过第二主体第二杂凑值和第一主体第二杂凑值相比较确定身份认证是否成功。
比较fA与fB是否相等,若不相等,则认证失败,认证流程结束;若相等,则完成第二主体对第一主体身份认证。
需要说明的是,本案使用fA与fB相比较的方案来确定所述第二主体对所述第一主体的身份认证,增加了身份认证的安全性,因为fA、fB的计算因子中不仅包括RA、RB的坐标值,还绑定了所述第一主体和所述第二主体的信息IA、IB,以及所述第一主体当前时间TA以及所述第一主体序列号SNA,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造证明者的难度,同时可避免重放攻击。进一步的,本实施例还可以包括以下步骤:
步骤106:获得第二主体第三杂凑值并发送至第一主体。
具体的,在所述第二主体对所述第一主体的身份认证成功之后,第二主体还可以获得第二主体第三杂凑值并发送至第一主体,以便于第一主体对第二主体进行身份认证。
进一步的,所述第二主体第三杂凑值(eB)是基于第二主体第三椭圆曲线点 (ZB)的坐标值(ZBx,ZBy)、第一主体身份信息(IA)、第二主体身份信息(IB)、第二主体当前时间(TB)以及第二主体证书序列号(SNB),通过杂凑算法获得第二主体第三杂凑值(eB),杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码,
例如:eB=SM3(ZBx||ZBy||IA||IB||TB||SNB),eB的计算因子中不仅包括ZB的坐标值数据,还绑定了所述第一主体和所述第二主体双方的信息IA、IB,以及所述第二主体的证书序列号SNB和第二主体的时间信息,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造验证者的难度,同时可避免重放攻击。
进一步的,所述身份认证请求信息还可以携带第一主体第一椭圆曲线点,所述第二主体第三椭圆曲线点(ZB)的坐标值(ZBx,ZBy)可以通过点乘运算获得,具体的基于第一主体第一椭圆曲线点(QA)、第二主体私钥(kB)获得第二主体第三椭圆曲线点(ZB)的坐标值(ZBx,ZBy),
例如:ZB=[kB]QA=(ZBx,ZBy),通过第二主体私钥与第一主体第一椭圆曲线点进行点乘得到椭圆曲线上的一个点,获得椭圆曲线上的一个点点的横坐标值和纵坐标值。其中,ZB为第二主体第三椭圆曲线点,kB为第二主体私钥,QA为第一主体第一椭圆曲线点。
进一步地,在一种可能的实施方式中,所述第一主体第一椭圆曲线点 (QA)是基于第一主体第一杂凑值(hA)、椭圆曲线点群的基点(G)、第一主体公钥(PA)获得的,
例如:QA=[hA]G+PA,通过第一主体第一杂凑值与椭圆曲线点群的基点进行点乘得到椭圆曲线上的一个点,再将得到的这个点与第一主体公钥相加得到椭圆曲线上的点QA,其中,椭圆曲线点群的基点G为固定常数,第一主体公钥为椭圆曲线上的一个点。
进一步的,在一种可能的实施方式中,所述第一主体第一杂凑值(hA)是基于第一主体身份信息(IA)、第一主体当前时间(TA)、第一主体随机数(rA) 获得的。
例如:第一主体产生随机数rA,hA=SM3(IA||TA||rA),将IA、TA、rA串接后进行杂凑运算获得hA,杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码,其中,随机数(rA)和第一主体当前时间(TA)可防止重放攻击,避免每次计算的结果相同,使(hA)具有独特性。
在步骤101之后,步骤102之前,还可以进一步确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。例如:检验|TB-TA|<Δ是否成立,Δ可以设定为30秒,一分钟,三分钟等,具体取值不作规定,若不成立,则认证失败,认证过程结束;若成立,则向第一主体发送认证响应消息,以便第一主体对第二主体进行身份认证;其中,Δ是从身份认证开始到身份认证结束所允许花费的时间的最大值,Δ可以避免给攻击者留下时间。
实施例2
图2为本申请实施例提供的一种身份认证方法的示意图,应用于第一主体向第二主体证明自己的身份,包括如下步骤:
步骤201:发送身份认证请求信息。
具体的,第一主体向第二主体发送第一主体身份认证请求信息,所述身份认证请求信息携带第一主体身份信息(IA)、第一主体当前时间(TA)和第一主体证书序列号(SNA)。
步骤202:接收认证响应消息。
具体的,接收认证响应消息,所述认证响应消息携带第二主体身份信息(IB),其中,身份信息可以是身份证号、电话号码、驾驶证号码等;系统拥有时间同步,也就是说,第一主体当前时间与第二主体当前时间是同步的。
步骤203:获取第一主体第二杂凑值,并发送至第二主体。
具体的,基于第一主体第二椭圆曲线点的坐标值(RAx,RAy)、第二主体身份信息(IB)、第一主体身份信息(IA)、第一主体当前时间(TA)以及第一主体证书序列号(SNA),通过杂凑算法获得第一主体第二杂凑值(fA),并发送至第二主体,以便第二主体对第一主体进行身份认证,其中,使用杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码。
例如:fA=SM3(RAx||RAy||IA||IB||TA||SNA),将RAx、RAy、IA、IB、TA、SNA串接后进行杂凑算法得到fA,fA的计算因子中不仅包括RA的坐标值数据,还绑定了所述第一主体和所述第二主体的身份信息IA、IB,以及第一主体的当前时间TA和证书序列号SNA,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造证明者的难度,同时可避免重放攻击。
进一步的,在一种可能的实施方式中,所述认证响应消息还可以携带第二主体第一椭圆曲线点,所述RAx、RAy是基于第一主体私钥(kA)、第二主体第一椭圆曲线点(QB)获得的,例如,RA=[kA]QB=(RAx,RAy),通过QB与kA点乘运算获得椭圆曲线上一个点RA的坐标值。
进一步地,在一种可能的实施方式中,所述第二主体第一椭圆曲线点 (QB)是基于第二主体第一杂凑值(hB)、椭圆曲线点群的基点(G)、第二主体公钥获得的(PB),
例如:QB=[hB]G+PB,通过第二主体第一杂凑值与椭圆曲线点群的基点进行点乘得到椭圆曲线上的一个点,再将得到的这个点与第二主体公钥相加得到椭圆曲线上的点QB,其中,椭圆曲线点群的基点G为固定常数,第二主体公钥为椭圆曲线上的一个点。
进一步的,在一种可能的实施方式中,所述第二主体第一杂凑值(hB)是基于第二主体身份信息(IB)、第二主体当前时间(TB)、第二主体随机数(rB) 获得的。
例如:第二主体产生随机数rB,hB=SM3(IB||TB||rB),将IB、TB、rB串接后进行杂凑运算获得hB,杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码,其中,随机数(rB)和第二主体当前时间(TB)可防止重放攻击,避免每次计算的结果相同,使(hB)具有独特性。
在一种可能的实现方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点,以便第二主体基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。进一步的,本实施例还可以包括以下步骤:
在步骤204:使用第二主体第三杂凑值与第一主体第三杂凑值相比较来确定身份认证是否成功。
具体的,所述认证响应消息还可以携带第二主体证书序列号,所述第一主体还可以接收第二主体发来的第二主体第三杂凑值(eB),并可以获取第一主体第三杂凑值(eA),以便第一主体对第二主体进行身份认证。所述第一主体第三杂凑值 (eA)是基于第一主体第三椭圆曲线点坐标值(ZAx、ZAy)、第一主体身份信息(IA)、第二主体身份信息(IB)、第二主体当前时间(TB)以及第二主体证书序列号(SNB),通过杂凑算法获得的,其中,杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码,
例如:eA=SM3(ZAx||ZAy||IA||IB||TB||SNB),通过ZAx,ZAy,IA,IB,TB,SNB串接后进行杂凑计算获得eA,eA的计算因子中不仅包括ZA的坐标值数据,还绑定了所述第一主体和所述第二主体的身份信息IA、IB,以及第二主体的证书序列号 SNB,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造验证者的难度,同时可避免重放攻击。
进一步的,在一种可能的实施方式中,所述认证响应消息还可以携带第二主体证书公钥;所述第一主体第三椭圆曲线点坐标值(ZAx、ZAy)是基于第一主体私钥(kA)、第二主体证书公钥(PB)以及第一主体第一杂凑值(hA)获得的,
例如:ZA=[hA+kA]PB=(ZAx,ZAy),其中,使用hA与kA相加的结果,在与PB做点乘运算得到椭圆曲线上的一个点ZA的坐标值。
进一步的,在一种可能的实施方式中,所述第一主体第一杂凑值(hA)是基于第一主体身份信息(IA)、第一主体当前时间(TA)、第一主体随机数(rA) 获得的。
例如:第一主体产生随机数rA,hA=SM3(IA||TA||rA),将IA、TA、rA串接后进行杂凑运算获得hA,杂凑算法能够将任意长度的消息压缩成固定长度,杂凑算法具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码,其中,随机数(rA)和第一主体当前时间(TA)可防止重放攻击,避免每次计算的结果相同,使(hA)具有独特性。进一步的,在一种可能的实施方式中,比较 eA与eB是否相等,若不相等,则认证失败,认证流程结束;若相等,则完成第一主体对第二主体的身份认证。
需要说明的是,本案使用eA与eB相比较的方案来确定所述第一主体对所述第二主体的身份认证,增加了身份认证的安全性,eA和eB的计算因子中不仅包括所述第一主体和所述第二主体的ZA和ZB的坐标值数据,还绑定了所述第一主体和所述第二主体的身份信息IA、IB,以及所述第一主体和所述第二主体的证书序列号SNA、SNB,其目的是为了增加认证过程的安全性,增加黑客假冒和伪造验证者的难度,同时可避免重放攻击。
在一种可能的实现方式中,所述认证响应消息还可以携带第二主体当前时间,在步骤202之后,步骤203之前,还可以进一步的,确定第一主体当前时间与第二主体当前时间差小于或等于预设时间阈值。例如:检验|TB-TA|<Δ是否成立,Δ可以设定为30秒,一分钟,三分钟等,具体取值不作规定,若不成立,则认证失败,认证过程结束;若成立,则所述第一主体获取第一主体第二杂凑值(fA)并发送至第二主体,以便第二主体对第一主体进行身份认证;其中,Δ是从身份认证开始到身份认证结束所允许花费的时间的最大值,Δ可以避免给攻击者留下时间。
实施例3
图3一种身份认证装置,应用于第二主体对第一主体进行身份认证,其设置有:
身份认证请求信息接收模块301,用于接收第一主体发送的身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
第一主体响应消息发送模块302,用于向所述第一主体发送认证响应消息,所述认证响应消息携带第二主体身份信息;
第一主体第二杂凑值接收模块303,用于接收所述第一主体发送的第一主体第二杂凑值,其中所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得;
第二主体第二杂凑值获得模块304,用于基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得第二主体第二杂凑值;
第一主体身份认证模块305,用于通过第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证。
在一种可能的实施方式中,如图3所示还设置有:
当前时间差确定模块306,用于第一主体响应消息发送模块向所述第一主体发送认证响应消息之前,确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体证书公钥;所述第二主体第二椭圆曲线点的坐标值通过如下方式获得:
基于第二主体身份信息、第二主体当前时间以及第二主体随机数获得第二主体第一杂凑值;基于第二主体第一杂凑值、第二主体私钥以及第一主体证书公钥获得第二主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述认证响应消息还携带第二主体第一椭圆曲线点;所述第一主体第二椭圆曲线点的坐标值通过以下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第二主体第一椭圆曲线点通过如下方式获得:
基于第二主体身份信息、第二主体当前时间以及第二主体随机数获得第二主体第一杂凑值;
基于第二主体第一杂凑值、椭圆曲线点群的基点以及第二主体公钥获得第二主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
在一种可能的实施方式中,如图3所示,所述装置还包括:
第二主体第三杂凑值获得并发送模块307,用于第一主体身份认证模块对所述第一主体身份认证成功之后,基于获得的第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得第二主体第三杂凑值,并发送至所述第一主体,以便所述第一主体对第二主体进行身份认证。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点;
所述第二主体第三椭圆曲线点的坐标值通过如下方式获得:
基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第一主体第一椭圆曲线点通过以下方式获得:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体第一杂凑值、椭圆曲线点群的基点和第一主体公钥获得第一主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
实施例4
图4,一种身份认证装置,应用于第一主体对第二主体进行身份认证,其装置设置有:
身份认证请求信息发送模块401,用于向第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号。
认证响应消息接收模块402,用于接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息。
第一主体第二杂凑值获得并发送模块403,用于基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得第一主体第二杂凑值,并发送至所述第二主体,以便所述第二主体对第一主体进行身份认证。
在一种可能的实施方式中,所述认证响应消息还携带第二主体当前时间;如图4所示所述装置还包括当前时间差确定模块404,
当前时间差确定模块404,用于第一主体第二杂凑值获得并发送模块将获得的第一主体第二杂凑值发送至所述第二主体之前,确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
在一种可能的实施方式中,所述认证响应消息还携带第二主体第一椭圆曲线点;
所述第一主体第二椭圆曲线点的坐标值通过如下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
在一种可能的实施方式中,所述身份认证请求信息还携带第一主体第一椭圆曲线点,以便第二主体基于第一主体第一椭圆曲线点和第二主体私钥获得第二主体第三椭圆曲线点的坐标值。
在一种可能的实施方式中,所述第一主体第一椭圆曲线点通过以下方式获得:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体第一杂凑值、椭圆曲线点群的基点和第一主体公钥获得第一主体第一椭圆曲线点,其中,椭圆曲线点群的基点为固定常数。
在一种可能的实施方式中,所述认证响应消息还携带第二主体证书序列号;
如图4所示,所述装置还包括第一主体第三杂凑值获得模块405、第二主体第三杂凑值接收模块406和第二主体身份认证模块407:
第一主体第三杂凑值获得模块405,用于基于第一主体第三椭圆曲线点坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得第一主体第三杂凑值;
第二主体第三杂凑值接收模块406,用于接收所述第二主体发送的第二主体第三杂凑值,所述第二主体第三杂凑值是基于第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号,通过杂凑算法获得的;
第二主体身份认证模块407,用于通过第二主体第三杂凑值与第一主体第三杂凑值比对,对所述第二主体进行身份认证。
在一种可能的实施方式中,所述认证响应消息还携带第二主体证书公钥;
所述认证响应消息还携带第二主体证书公钥;
所述第一主体第三椭圆曲线点的坐标值通过以下方式确定:
基于第一主体身份信息、第一主体当前时间和第一主体随机数,使用杂凑算法获得第一主体第一杂凑值;
基于第一主体私钥、第二主体证书公钥以及第一主体第一杂凑值获得第一主体第三椭圆曲线点的坐标值。
实施例5
图5为一种身份认证系统,其系统包括第一主体501和第二主体502。
所述第一主体501,用于向所述第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间、第一主体证书序列号;接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息。
所述第二主体502,用于接收所述第一主体发送的身份认证请求信息,并向所述第一主体发送认证响应消息;以及,接收所述第一主体发送的第一主体第二杂凑值,通过所述第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证。
其中,所述第一主体第二杂凑值为所述第一主体501基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得,所述第二主体第二杂凑值为所述第二主体502基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得。下面对本申请实施例提供的整体流程进行介绍。实施例6
图6为本申请实施例提供的一种身份认证方法整体流程示意图;
步骤601:发送身份认证请求信息。
具体的,第一主体向第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间、第一主体第一椭圆曲线点和第一主体证书序列号。
进一步的,在一种可能的实施方式中,所述第一主体第一椭圆曲线点是由第一主体第一杂凑值、椭圆曲线点群的基点以及第一主体公钥获得。
进一步的,在一种可能的实施方式中,所述第一主体第一杂凑值是由第一主体身份信息、第一主体当前时间以及第一主体随机数串接后做杂凑运算获得。
步骤602:接收所述身份认证请求信息,检验第二主体当前时间与第一主体当前时间差与预设阈值是否相匹配,若匹配,则发送身份认证响应消息。
具体的,接收第一主体发来的身份认证请求信息,检验第二主体当前时间与第一主体当前时间差与预设阈值是否相匹配,若匹配,则发送身份认证响应消息。若不匹配,则认证结束。所述身份认证响应消息携带第二主体身份信息、第二主体当前时间、第二主体第一椭圆曲线点以及第二主体证书序列号。
进一步的,在一种可能的实施方式中,所述第二主体第一椭圆曲线点是由第二主体第一杂凑值、椭圆曲线点群的基点以及第二主体公钥获得。
进一步的,在一种可能的实施方式中,所述第二主体第一杂凑值是由第二主体身份信息、第二主体当前时间以及第二主体随机数串接后做杂凑运算获得。
步骤603::接收身份认证响应消息,检验第一主体当前时间与第二主体当前时间差与预设阈值是否相匹配。若匹配,则计算获得第一主体第二杂凑值fA,并发送至第二主体。
具体的,第一主体接收第二主体发来的身份认证响应消息,检验第一主体当前时间与第二主体当前时间差与预设阈值是否相匹配。若匹配,则计算获得第一主体第二杂凑值,并发送至第二主体。若不匹配,则认证结束。
进一步的,在一种可能的实施方式中,所述第一主体第二杂凑值是由第一主体第二椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第一主体当前时间以及第一主体证书序列号串接后做杂凑运算获得。
进一步的,在一种可能的实施方式中,所述第一主体第二椭圆曲线点的坐标值是由第一主体私钥和第二主体第一椭圆曲线点获得。
步骤604:计算获得第二主体第二杂凑值fB,通过比较fA和fB来确认身份认证是否成功,如果fA=fB,则完成第二主体对第一主体的身份认证。
具体的,第二主体接收第一主体发来的第一主体第二杂凑值,通过比较第一主体第二杂凑值和第二主体第二杂凑值来确认身份认证是否成功,如果fA=fB,则完成第二主体对第一主体的身份认证。如果fA≠fB,则认证结束。
进一步的,在一种可能的实施方式中,所述第二主体第二杂凑值是由第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第一主体当前时间以及第一主体证书序列号串接后做杂凑运算获得。
进一步的,在一种可能的实施方式中,所述第二主体第二椭圆曲线点的坐标值是由第二主体第一杂凑值、第二主体私钥以及第一主体公钥获得。
步骤605:计算获得第二主体第三杂凑值eB,并发送至第一主体。
进一步的,在一种可能的实施方式中,所述第二主体第三杂凑值是由第二主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号串接后做杂凑运算获得。
进一步的,在一种可能的实施方式中,所述第二主体第三椭圆曲线点的坐标值是由第二主体私钥以及第一主体第一椭圆曲线点获得。
步骤606:计算获得第一主体第三杂凑值eA,通过比较eA和eB来确认身份认证是否成功。如果eA=eB,则第一主体对第二主体的身份认证成功。
具体的,第一主体接收第二主体发送的第二主体第三杂凑值,通过比较第一主体第三杂凑值和第二主体第三杂凑值来确认身份认证是否成功。如果eA=eB,则第一主体对第二主体的身份认证成功。如果eA≠eB,则认证失败。
进一步的,在一种可能的实施方式中,所述第一主体第三杂凑值是由第一主体第三椭圆曲线点的坐标值、第一主体身份信息、第二主体身份信息、第二主体当前时间以及第二主体证书序列号串接后做杂凑运算获得。
进一步的,在一种可能的实施方式中,所述第一主体第三椭圆曲线点的坐标值是由第一主体第一杂凑值、第一主体私钥以及第二主体公钥获得。
在介绍了本申请实施例提供的一种身份认证的方法、装置、系统之后,接下来,对本申请实施例提供的一种身份认证的电子设备进行简单介绍。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行第一主体端或者第二主体身份认证方法。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read- Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述第一主体端或者第二主体身份认证方法。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种身份认证方法,应用于第二主体,其特征在于:
接收第一主体发送的身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
向所述第一主体发送认证响应消息,所述认证响应消息携带第二主体身份信息;
接收所述第一主体发送的第一主体第二杂凑值,其中所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得;
通过所述第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证,所述第二主体第二杂凑值为所述第二主体基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得。
2.如权利要求1所述的方法,其特征在于,向所述第一主体发送认证响应消息之前,所述方法还包括:
确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
3.如权利要求1所述的方法,其特征在于,所述认证响应消息还携带第二主体第一椭圆曲线点;
所述第一主体第二椭圆曲线点的坐标值通过以下方式获得:
基于第一主体私钥和第二主体第一椭圆曲线点获得第一主体第二椭圆曲线点的坐标值。
4.一种身份认证方法,应用于第一主体,其特征在于:
向第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息;
将获得的第一主体第二杂凑值发送至所述第二主体,以便所述第二主体对第一主体进行身份认证,所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得。
5.如权利要求4所述的方法,其特征在于,所述认证响应消息还携带第二主体当前时间;
将获得的第一主体第二杂凑值发送至所述第二主体之前,所述方法还包括:
确定第二主体当前时间与第一主体当前时间差小于或等于预设时间阈值。
6.一种身份认证装置,应用于第二主体,其特征在于,所述装置包括:
身份认证请求信息接收模块,用于接收第一主体发送的身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
第一主体响应消息发送模块,用于向所述第一主体发送认证响应消息,所述认证响应消息携带第二主体身份信息;
第一主体第二杂凑值接收模块,用于接收所述第一主体发送的第一主体第二杂凑值,其中所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得;
第二主体第二杂凑值获得模块,用于基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得第二主体第二杂凑值;
第一主体身份认证模块,用于通过第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证。
7.一种身份认证装置,应用于第一主体,其特征在于,所述装置包括:
身份认证请求信息发送模块,用于向第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间和第一主体证书序列号;
认证响应消息接收模块,用于接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息;
第一主体第二杂凑值获得并发送模块,用于基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得第一主体第二杂凑值,并发送至所述第二主体,以便所述第二主体对第一主体进行身份认证。
8.一种身份认证系统,其特征在于,所述系统包括第一主体和第二主体:
所述第一主体,用于向所述第二主体发送身份认证请求信息,所述身份认证请求信息携带第一主体身份信息、第一主体当前时间、第一主体证书序列号;接收所述第二主体发送的认证响应消息,所述认证响应消息携带第二主体身份信息;
所述第二主体,用于接收所述第一主体发送的身份认证请求信息,并向所述第一主体发送认证响应消息;以及,接收所述第一主体发送的第一主体第二杂凑值,通过所述第一主体第二杂凑值和第二主体第二杂凑值相比较,对所述第一主体进行身份认证;
其中,所述第一主体第二杂凑值为所述第一主体基于第一主体第二椭圆曲线点的坐标值、第二主体身份信息、第一主体身份信息、第一主体当前时间以及第一主体证书序列号,通过杂凑算法获得,所述第二主体第二杂凑值为所述第二主体基于第二主体第二椭圆曲线点的坐标值、第一主体身份信息、第一主体当前时间、第二主体身份信息和第一主体证书序列号,通过杂凑算法获得。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述程序时实现如权利要求1至8中任一项所述的身份认证方法的步骤;或
所述处理器执行所述程序时实现如权利要求9至15任一所述的身份认证方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8中任一项所述的身份认证方法的步骤;或
该计算机程序被处理器执行时实现如权利要求9至15任一所述的身份认证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111329638.6A CN114065171B (zh) | 2021-11-11 | 2021-11-11 | 一种身份认证方法、装置、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111329638.6A CN114065171B (zh) | 2021-11-11 | 2021-11-11 | 一种身份认证方法、装置、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114065171A true CN114065171A (zh) | 2022-02-18 |
CN114065171B CN114065171B (zh) | 2022-07-08 |
Family
ID=80274819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111329638.6A Active CN114065171B (zh) | 2021-11-11 | 2021-11-11 | 一种身份认证方法、装置、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114065171B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264974A (zh) * | 1999-12-01 | 2000-08-30 | 陈永川 | 运用椭圆曲线加密算法的数字签名方法 |
WO2003017559A2 (en) * | 2001-08-13 | 2003-02-27 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
CN1444169A (zh) * | 2003-04-23 | 2003-09-24 | 浙江大学 | 一种椭圆曲线上基于公钥证书的身份认证方法 |
CN1505313A (zh) * | 2002-11-29 | 2004-06-16 | 海南信安数据系统有限公司 | 椭圆曲线签名和验证签名方法和装置 |
CN1890916A (zh) * | 2003-10-03 | 2007-01-03 | 松下电器产业株式会社 | 使用椭圆曲线的信息传输系统、加密设备和解密设备 |
CN101183938A (zh) * | 2007-10-22 | 2008-05-21 | 华中科技大学 | 一种无线网络安全传输方法、系统及设备 |
CN101296075A (zh) * | 2007-04-29 | 2008-10-29 | 四川虹微技术有限公司 | 一种基于椭圆曲线的身份认证系统 |
US20080288773A1 (en) * | 2007-05-15 | 2008-11-20 | At&T Knowledge Ventures, Lp | System and method for authentication of a communication device |
CN101425897A (zh) * | 2007-10-29 | 2009-05-06 | 上海交通大学 | 一种用户认证方法、系统、服务器和用户节点 |
WO2009143712A1 (zh) * | 2008-05-28 | 2009-12-03 | 北京易恒信认证科技有限公司 | 复合型组合公钥的生成方法 |
US20100228968A1 (en) * | 2009-03-03 | 2010-09-09 | Riverbed Technology, Inc. | Split termination of secure communication sessions with mutual certificate-based authentication |
CN101931529A (zh) * | 2010-08-09 | 2010-12-29 | 中兴通讯股份有限公司 | 一种数据加密方法、数据解密方法及节点 |
CN102109974A (zh) * | 2009-12-24 | 2011-06-29 | 上海华虹集成电路有限责任公司 | 适用于椭圆曲线密码安全保护的随机点生成方法 |
CA2734028A1 (en) * | 2010-03-15 | 2011-09-15 | Research In Motion Limited | Use of certificate authority to control a device's access to services |
WO2017167771A1 (en) * | 2016-03-29 | 2017-10-05 | Koninklijke Philips N.V. | Handshake protocols for identity-based key material and certificates |
CN108366069A (zh) * | 2018-02-26 | 2018-08-03 | 北京赛博兴安科技有限公司 | 一种双向认证方法和系统 |
WO2020029660A1 (zh) * | 2018-08-10 | 2020-02-13 | 阿里巴巴集团控股有限公司 | 用户的身份内容信息的认证、验证方法和装置 |
CN111461720A (zh) * | 2020-04-15 | 2020-07-28 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
-
2021
- 2021-11-11 CN CN202111329638.6A patent/CN114065171B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264974A (zh) * | 1999-12-01 | 2000-08-30 | 陈永川 | 运用椭圆曲线加密算法的数字签名方法 |
WO2003017559A2 (en) * | 2001-08-13 | 2003-02-27 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
CN1505313A (zh) * | 2002-11-29 | 2004-06-16 | 海南信安数据系统有限公司 | 椭圆曲线签名和验证签名方法和装置 |
CN1444169A (zh) * | 2003-04-23 | 2003-09-24 | 浙江大学 | 一种椭圆曲线上基于公钥证书的身份认证方法 |
CN1890916A (zh) * | 2003-10-03 | 2007-01-03 | 松下电器产业株式会社 | 使用椭圆曲线的信息传输系统、加密设备和解密设备 |
CN101296075A (zh) * | 2007-04-29 | 2008-10-29 | 四川虹微技术有限公司 | 一种基于椭圆曲线的身份认证系统 |
US20080288773A1 (en) * | 2007-05-15 | 2008-11-20 | At&T Knowledge Ventures, Lp | System and method for authentication of a communication device |
CN101183938A (zh) * | 2007-10-22 | 2008-05-21 | 华中科技大学 | 一种无线网络安全传输方法、系统及设备 |
CN101425897A (zh) * | 2007-10-29 | 2009-05-06 | 上海交通大学 | 一种用户认证方法、系统、服务器和用户节点 |
WO2009143712A1 (zh) * | 2008-05-28 | 2009-12-03 | 北京易恒信认证科技有限公司 | 复合型组合公钥的生成方法 |
US20100228968A1 (en) * | 2009-03-03 | 2010-09-09 | Riverbed Technology, Inc. | Split termination of secure communication sessions with mutual certificate-based authentication |
CN102109974A (zh) * | 2009-12-24 | 2011-06-29 | 上海华虹集成电路有限责任公司 | 适用于椭圆曲线密码安全保护的随机点生成方法 |
CA2734028A1 (en) * | 2010-03-15 | 2011-09-15 | Research In Motion Limited | Use of certificate authority to control a device's access to services |
EP2367371A1 (en) * | 2010-03-15 | 2011-09-21 | Research In Motion Limited | Use of certificate authority to control a device's access to servies |
CN101931529A (zh) * | 2010-08-09 | 2010-12-29 | 中兴通讯股份有限公司 | 一种数据加密方法、数据解密方法及节点 |
WO2017167771A1 (en) * | 2016-03-29 | 2017-10-05 | Koninklijke Philips N.V. | Handshake protocols for identity-based key material and certificates |
CN108366069A (zh) * | 2018-02-26 | 2018-08-03 | 北京赛博兴安科技有限公司 | 一种双向认证方法和系统 |
WO2020029660A1 (zh) * | 2018-08-10 | 2020-02-13 | 阿里巴巴集团控股有限公司 | 用户的身份内容信息的认证、验证方法和装置 |
CN111461720A (zh) * | 2020-04-15 | 2020-07-28 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
刘涛等: "基于椭圆曲线密码协议产生会话密钥的研究与设计", 《安徽工程科技学院学报(自然科学版)》 * |
李康等: "一种网络安全协处理器的椭圆曲线密码模块设计", 《微电子学与计算机》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114065171B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8627424B1 (en) | Device bound OTP generation | |
CN106161032B (zh) | 一种身份认证的方法及装置 | |
US8590024B2 (en) | Method for generating digital fingerprint using pseudo random number code | |
CN105516195B (zh) | 一种基于应用平台登录的安全认证系统及其认证方法 | |
CN113360943B (zh) | 一种区块链隐私数据的保护方法及装置 | |
WO2014182957A1 (en) | Authentication system | |
CN110099048B (zh) | 一种云存储方法及设备 | |
CN109818730B (zh) | 盲签名的获取方法、装置和服务器 | |
CN111800377B (zh) | 一种基于安全多方计算的移动终端身份认证系统 | |
CN110659467A (zh) | 一种远程用户身份认证方法、装置、系统、终端及服务器 | |
CN112437068B (zh) | 认证及密钥协商方法、装置和系统 | |
CN105164689A (zh) | 用户认证 | |
US20170244697A1 (en) | Authenticated network time for mobile device smart cards | |
CN104660412A (zh) | 一种移动设备无密码安全认证方法及系统 | |
CN107566360A (zh) | 一种数据认证码的生成方法 | |
CN111125665A (zh) | 认证方法及设备 | |
CN104918245B (zh) | 一种身份认证方法、装置、服务器及客户端 | |
CN114065171B (zh) | 一种身份认证方法、装置、系统、设备及介质 | |
CN110460609B (zh) | 终端应用与安全认证平台的双向认证方法及系统 | |
CN117240473A (zh) | 电子合同签署方法、装置、电子设备和存储介质 | |
KR102364042B1 (ko) | 영지식-스나크 기반의 증명 서비스를 지원하기 위한 프로토콜 관리 서버 및 그 동작 방법 | |
CN115277240A (zh) | 一种物联网设备的认证方法及装置 | |
Mehra et al. | Remote user authentication and issues: a survey | |
CN112235116A (zh) | 业务处理方法、装置和电子设备 | |
CN114513316A (zh) | 一种基于身份的匿名认证方法、服务器及用户终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |