CN113726523B - 基于Cookie和DR身份密码体制的多重身份认证方法及装置 - Google Patents

基于Cookie和DR身份密码体制的多重身份认证方法及装置 Download PDF

Info

Publication number
CN113726523B
CN113726523B CN202111023305.0A CN202111023305A CN113726523B CN 113726523 B CN113726523 B CN 113726523B CN 202111023305 A CN202111023305 A CN 202111023305A CN 113726523 B CN113726523 B CN 113726523B
Authority
CN
China
Prior art keywords
user
client
value
cookie
key
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.)
Active
Application number
CN202111023305.0A
Other languages
English (en)
Other versions
CN113726523A (zh
Inventor
刘萧
吕磊
李嘉周
黄林
周里涛
许珂
蒋天宇
谌文杰
常健
杨茜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Sichuan Electric Power Co Ltd
Original Assignee
State Grid Sichuan Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Sichuan Electric Power Co Ltd filed Critical State Grid Sichuan Electric Power Co Ltd
Priority to CN202111023305.0A priority Critical patent/CN113726523B/zh
Publication of CN113726523A publication Critical patent/CN113726523A/zh
Application granted granted Critical
Publication of CN113726523B publication Critical patent/CN113726523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及身份认证领域,具体来说是一种基于Cookie和DR身份密码体制的多重身份认证方法及装置。目的在于解决现有的密钥托管问题即可信第三方掌控所有用户的私钥,一旦被恶意者攻击,所有用户的私钥都将被泄露,其安全性较低。主要方案包括以下步骤:步骤1:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;步骤2:客户端通过Cookie文件信息建立安全信道,此后用户的认证过程中上传的所有信息都会通过该安全信道传输;第二身份认证通过后,用户可以访问到系统的核心资源;步骤3:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源。

Description

基于Cookie和DR身份密码体制的多重身份认证方法及装置
技术领域
本发明涉及身份认证领域,具体来说是一种基于Cookie和DR身份密码体制的多重身份认证方法及装置。
背景技术
在客户端向服务器发出认证请求后,服务器会要求客户端上传用户信息,服务器使用该用户信息验证该用户。用户信息在客户端和服务器的传输过程中如果使用的是明文传输,用户信息就有被盗取泄露的可能,所以要在客户端和服务器建立安全信道。
现有建立安全信道的两种方法:
基于预共享密钥的方式,客户端-服务器预先保存用于加密的对称密钥,客户端需要长时间保持密钥的安全性,一旦密钥泄露,安全信道的安全性也就不存在。
基于证书的方式,在客户端-服务器进行双向认证,客户端需要保证密钥证书的安全存储。
Cookie是在用户访问浏览器的过程中,服务器生成并暂存在用户电脑上的文本文件,由服务器设置自定义数据字段信息,更好地为用户提供安全及个性化服务,例如可以保存用户登录信息,下次登陆时可以不再输入登录信息;跟踪用户行为,向用户推荐个性化广告信息。Cookie文件中的内容由服务器生成,以“名称-值”的键值对形式进行设置。用户只有使用本机的浏览器才能使用保存到本地的历史Cookie文件,当恶意攻击者使用新的电脑登录系统时,客户端是没有Cookie文件的。
在基于身份密码体制的系统中,用户的身份信息可以直接获得,公钥通过用户的身份信息生成,而私钥则由可信的PKG得到,PKG使用自己的管理密钥和用户公钥生成私钥。这种方法存在私钥托管问题,即所有用户的私钥都由PKG所有,一旦被恶意攻击,用户的私钥都可能泄露,其安全性较低。
系统中的资源信息包含内部敏感信息以及公开信息,公开信息可以开放给所有注册过的用户访问,这部分资源不需要系统开销大的保护措施。内部敏感信息只能开放给经过实名认证的公司内部人员访问,这些资源需要更好地保护,保证系统内的核心敏感资源不会泄露。
现有技术:
申请号为201910116447.8,名称为“信息中心网络内容请求用户的身份认证方法”的发明专利公开了一种身份认证方法。使用基于身份的加密方案,包括基于身份的加密和基于身份的签名实现了接入网关对内容请求用户的认证。
现有技术缺陷:
虽然上述技术可以实现对用户的身份认证,避免用户身份等敏感信息泄露。但是存在密钥托管问题,IBE私钥是从PKG处获取的,PKG受到攻击,用户的私钥可能会被泄露。
发明内容
本发明的目的在于解决现有的密钥托管问题即可信第三方掌控所有用户的私钥,一旦被恶意者攻击,所有用户的私钥都将被泄露,其安全性较低。
为了解决上述技术问题本发明采用以下技术手段:
本发明提供了一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,包括以下步骤:
步骤1:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;
步骤2:数据库内设置有客户端Cookie验证标记字段,用户根据需求发起第二身份认证时,
当客户端Cookie验证标记字段的值为“0”则直接使用用户信息进行验证,验证通过则会在服务器数据库生成一条包含两个键值对的数据,在客户端生成也包含这两个键值对信息的Cookie文件,客户端通过Cookie文件信息建立安全信道,同时将数据库内的客户端Cookie验证标记字段的值设置为“1”;
当客户端Cookie生成标记字值为“1”则客户端需要通过Cookie文件信息建立安全信道;
此后用户的认证过程中上传的所有信息都会通过该安全信道传输;
第二身份认证通过后,用户可以访问到系统的核心资源;
步骤3:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源。
上述技术方案中,步骤1包括:
步骤1.1.客户端向服务器发出证书请求;
步骤1.2.服务器向客户端发送一个数字证书,该数字证书包含一个公钥PK1;
步骤1.3.客户端使用PK1将用户上传的用户ID和PIN码加密后返回给服务器,M1=E(ID,PIN,PK1);
步骤1.4.服务器使用私钥PK2从接收到的密文M1中取出用户ID和PIN码,(ID,PIN)=D(M1,PK2),服务器通过验证用户ID和PIN码决定用户是否通过第一身份认证,如果数据库中不包含该用户信息,认证结束;如果认证通过,则开放系统公开资源接口。
上述技术方案中,使用Cookie文件建立安全信道的步骤如下:
步骤a.客户端向服务器发出建立安全信道请求;
步骤b.服务器接收到请求后,通过用户ID找到服务器数据库内对应的数据,从数据库中找到user_id的Value值,使用哈希函数散列Value值得到哈希值h1=HASH(Value),使用哈希值h1生成对称密钥SK,服务器使用用户ID作为随机种子,使用动态随机因子产生器生成动态随机因子r1,使用对称密钥SK加密r1得到密文M2=E(r1,SK),并发送给客户端;
步骤c.客户端在接收到服务器返回的密文M2后,从存储到本地Cookie文件中取出键为user_id的对应的Value值,使用哈希函数散列该值,得到哈希值h2=HASH(Value),使用哈希值h2生成对称密钥SK,使用对称密钥SK从M2中得到明文r2=D(M2,SK),客户端再使用对称密钥SK加密r2,得到密文M3=E(r2,SK),将密文M3发送给服务器;
步骤d.服务器使用步骤b中的对称密钥SK从M3得到明文r3=D(M3,SK),将r3和r1对比,不一致则向客户端发出拒绝信息,一致则向客户端发出建立安全信道成功信息,客户端和服务器使用相同的对称密钥SK进行数据传输。
上述技术方案中,第二身份认证步骤如下:
步骤:2a.1、用户在客户端输入身份信息N1,包括手机号num1,身份证号num2,邮箱地址num3;
客户端使用身份信息N1向PKG申请私钥(私人密钥生成器),PKG验证用户身份信息,验证通过后PKG向服务器发送动态随机因子请求信息,PKG生成系统参数,系统参数包括{G1,G2,e,P,P0,H1,H2},其中,G1、G2是两个群,H1、H2是两个哈希函数,P是生成元,e代表的是一个映射,P0是公钥;
步骤:2a.2.服务器收到PKG的请求信息后,产生动态随机因子将t返回给PKG;
步骤:2a.3.PKG使用服务器返回的t,将随机产生的主密钥s0和用户身份信息N1产生私钥S,S=(t+s0)Q,Q=H1(N1),将私钥S发送给客户端;
步骤:2a.4.客户端使用私钥S对Cookie中键为random_id的Value值r进行签名得到签名N2,N2=H2(r)S,客户端使用对称密钥加密用户身份信息N1和签名N2得到M4=E(N1,N2,SK),然后通过安全信道将M4发送给服务器,M4=E(N1,N2,SK),其中SK为对称密钥;
步骤:2a.5.服务器使用对称密钥SK解密密文M4,从中取出身份信息(N1,N2)=D(M4,SK),在服务器的数据库中验证该用户的身份信息N1,验证通过则使用用户身份信息生成公钥P0,使用公钥P0验证签名N2,取出r,和服务器数据库中存储的信息中的random_id的Value值进行比较,如果一致则通过第二身份认证,开放给用户核心资源接口;
上述技术方案中,步骤2的中服务器生成Cookie数据步骤如下:
管理员通过在服务器数据库中预设用户信息,这些用户信息是能通过第二身份认证用户的身份信息;
服务器数据库中还预设有初始值为“0”的客户端Cookie验证标记字段,
当客户端Cookie验证标记字段值为“0”时,在客户端上传身份信息就可以登陆到系统,同时系统为这部分用户对应产生一条数据,该数据包括有两个键值对信息,分别是user_id和random_id及其对应的值,这两个键值对也会保存在客户端的本地Cookie文件中,同时将客户端Cookie验证标记字段值设置为“1”,
客户端Cookie验证标记字段值为“1”时,使用Cookie文件中保存的这两个键值对信息进行安全认证,具体为,读取客户端本地的Cookie文件中键为user_id的Value值,建立安全信道,读取客户端本地的Cookie文件中键random_id的Value值,进行第二身份认证;
当用户通过第二身份认证后,客户端本地保存包含有这两个键值对的Cookie文件,键为user_id和键为random_id,后续第二身份验证过程中因为这部分用户客户端本地的Cookie文件中由于有键为user_id的值,所以可以建立安全信道,有random_id的值,所以可以通过第二身份认证,所以即使该用户的身份信息泄露,盗取者在新的电脑上没有Cookie文件情况下也是不能通过验证的,这里就先验证了用户,再验证了Cookie。
上述技术方案中,生成系统参数的步骤包括:
步骤a.产生素数阶为q的两个群:(G1’+),(G2’·),以及双曲线映射e:G1×G1→G2’
步骤b.随机产生主密钥计算相应的公钥P0=s0P,其中P为G1的生成元,P∈G1
步骤是两个安全哈希函数;
保密s0,公开系统参数{G1,G2,e,P,P0,H1,H2}。
上述技术方案中,第三身份认证包括以下步骤
用户根据需求申请第三身份认证,用户在客户端上传自己的主机设备信息D1,该设备信息包括硬盘序列号X1、主板序列号X2,客户端通过安全信道使用对称密钥SK加密,将D1加密后上传给服务器,D2=E(D1,SK),服务器使用对称密钥SK解密,从中取出该设备信息D1,D1=D(D2,SK),将D1哈希散列之后得到H3=Hash(D1),H3与数据库中预存的数据进行比对,如果数据库中没有该数据,则拒绝用户的请求,否则通过第三身份认证,开放系统全部资源接口。
本发明还提供了一种基于Cookie和DR身份密码体制的多重身份认证方法的存储介质。
本发明还提供了一种基于Cookie和DR身份密码体制的多重身份认证装置,包括:
第一身份认证模块:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;
第二身份认证模块:数据库内设置有客户端Cookie验证标记字段,用户根据需求发起第二身份认证时,
当客户端Cookie验证标记字段的值为“0”则直接使用用户信息进行验证,验证通过则会在服务器数据库生成一条包含两个键值对的数据,在客户端生成也包含这两个键值对信息的Cookie文件,客户端通过Cookie文件信息建立安全信道,同时将数据库内的客户端Cookie验证标记字段的值设置为“1”;
当客户端Cookie生成标记字值为“1”则客户端需要通过Cookie文件信息建立安全信道;
此后用户的认证过程中上传的所有信息都会通过该安全信道传输;
第二身份认证通过后,用户可以访问到系统的核心资源;
第三身份认证模块:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源。
因为本发明采用上述技术方案,因此具备以下有益效果:
一、通过使用Cookie文件对建立安全信道的过程进行改进,提出一种开销更小的安全信道建立方法。基于Cookie建立的安全信道,不需要专门的服务端的数字证书,不涉及对于证书的管理,避免了由于传输证书带来的性能开销,也不需要预先分配公钥,客户端不用保证公钥的安全性。Cookie文件是在用户访问系统资源时自动生成的,使用Cookie来建立安全信道开销更小。
二、通过使用动态随机因子对PKG私钥的产生进行改进,提出了一种更安全的私钥产生方法。PKG生成私钥的过程中需要使用到的服务器产生的动态随机因子,PKG无法自己单独生成私钥,避免了私钥的托管问题,私钥的产生更加安全。
三、通过使用多次身份认证实现对系统资源的分级管理,提出了一种系统开销更小的资源管理方案。使用多次身份认证实现系统资源分级管理,公共资源只需要一次身份认证之后就可以访问,系统的开销较小;对于核心敏感资源的访问,需要建立安全信道之后,使用更多的用户身份信息才能访问,这部分资源的系统开销较大。系统只需要对核心敏感资源实施保护,降低了系统对于资源管理的开销。
附图说明
图1为多重身份认证流程图;
图2为安全信道建立的流程图;
图3为第二身份认证的流程图;
具体实施方式
为了方便本领域技术人员更好的理解本发明的技术构思,现对本发明做如下进一步说明:
本发明提供了本发明提供了一种基于Cookie和DR身份密码体制的多重身份认证方法,包括以下步骤:
步骤1:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;
步骤2:数据库内设置有客户端Cookie验证标记字段,用户根据需求发起第二身份认证时,
当客户端Cookie验证标记字段的值为“0”则直接使用用户信息进行验证,验证通过则会在服务器数据库生成一条包含两个键值对的数据,在客户端生成也包含这两个键值对信息的Cookie文件,客户端通过Cookie文件信息建立安全信道,同时将数据库内的客户端cookie验证标记字段的值设置为“1”;
当客户端Cookie生成标记字值为“1”则客户端需要通过Cookie文件信息建立安全信道;
此后用户的认证过程中上传的所有信息都会通过该安全信道传输;
安全信道的建立是基于Cookie中键为user_id的值来建立的。在系统开始阶段,可以理解为管理员在服务器中预先设置了能通过第二和第三身份认证的用户信息,这部分用户登录系统时,通过第二身份认证只需要上传用户信息,第一次登陆之后,服务器就会产生Cookie文件,保存在客户端本地。此后该用户再次登录到系统就需要使用Cookie建立的安全信道。
第二身份认证通过后,用户可以访问到系统的核心资源;
值得注意的是,用户在使用过程中,因为一旦客户端Cookie验证标记字段的值为“1”后,用户发起第二身份认证时,则不会在客户端本地生成Cookie文件,即通过Cookie文件实现了如类似绑定的效果,如用户在使用过程中需要更换访问设备,则需联系管理员,对客户端Cookie验证标记字段的值进行设置为“0”,用户即可在新的设备上进行发起第二身份认证,从而获得新的Cookie文件。
步骤3:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源。
上述技术方案中,步骤1包括:
步骤1.1.客户端向服务器发出证书请求;
步骤1.2.服务器向客户端发送一个数字证书,该数字证书包含一个公钥PK1;
步骤1.3.客户端使用PK1将用户上传的用户ID和PIN码加密后返回给服务器,M1=E(ID,PIN,PK1);
步骤1.4.服务器使用私钥PK2从接收到的密文M1中取出用户ID和PIN码,(ID,PIN)=D(M1,PK2),服务器通过验证用户ID和PIN码决定用户是否通过第一身份认证,如果数据库中不包含该用户信息,认证结束;如果认证通过,则开放系统公开资源接口。
上述技术方案中,使用Cookie文件建立安全信道的步骤如下:
步骤a.客户端向服务器发出建立安全信道请求;
步骤b.服务器接收到请求后,通过用户ID找到服务器数据库内对应的数据,从数据库中找到user_id的Value值,使用哈希函数散列Value值得到哈希值h1=HASH(Value),使用哈希值h1生成对称密钥SK,服务器使用用户ID作为随机种子,使用动态随机因子产生器生成动态随机因子r1,使用对称密钥SK加密r1得到密文M2=E(r1,SK),并发送给客户端;
步骤c.客户端在接收到服务器返回的密文M2后,从存储到本地Cookie文件中取出键为user_id的对应的Value值,使用哈希函数散列该值,得到哈希值h2=HASH(Va lue),使用哈希值h2生成对称密钥SK,使用对称密钥SK从M2中得到明文r2=D(M2,SK),客户端再使用对称密钥SK加密r2,得到密文M3=E(r2,SK),将密文M3发送给服务器;
步骤d.服务器使用步骤b中的对称密钥SK从M3得到明文r3=D(M3,SK),将r3和r1对比,不一致则向客户端发出拒绝信息,一致则向客户端发出建立安全信道成功信息,客户端和服务器使用相同的对称密钥SK进行数据传输。
上述技术方案中,第二身份认证步骤如下:
步骤:2a.1、用户在客户端输入身份信息N1,包括手机号num1,身份证号num2,邮箱地址num3;
客户端使用身份信息N1向PKG申请私钥(私人密钥生成器),PKG验证用户身份信息,验证通过后PKG向服务器发送动态随机因子请求信息,PKG生成系统参数,系统参数包括{G1,G2,e,P,P0,H1,H2},其中,G1、G2是两个群,H1、H2是两个哈希函数,P是生成元,e代表的是一个映射,P0是公钥;
步骤:2a.2.服务器收到PKG的请求信息后,产生动态随机因子将t返回给PKG;
步骤:2a.3.PKG使用服务器返回的t,将随机产生的主密钥s0和用户身份信息N1产生私钥S,S=(t+s0)Q,Q=H1(N1),将私钥S发送给客户端;
步骤:2a.4.客户端使用私钥S对Cookie中键为random_id的Value值r进行签名得到签名N2,N2=H2(r)S,客户端使用对称密钥加密用户身份信息N1和签名N2得到M4=E(N1,N2,SK),然后通过安全信道将M4发送给服务器,M4=E(N1,N2,SK),其中SK为对称密钥;
步骤:2a.5.服务器使用对称密钥SK解密密文M4,从中取出身份信息(N1,N2)=D(M4,SK),在服务器的数据库中验证该用户的身份信息N1,验证通过则使用用户身份信息生成公钥P0,使用公钥P0验证签名N2,取出r,和服务器数据库中存储的信息中的random_id的Value值进行比较,如果一致则通过第二身份认证,开放给用户核心资源接口;
上述技术方案中,步骤2的中服务器生成Cookie数据步骤如下:
管理员通过在服务器数据库中预设用户信息,这些用户信息是能通过第二身份认证用户的身份信息;
服务器数据库中还预设有初始值为“0”的客户端Cookie验证标记字段,
当客户端Cookie验证标记字段值为“0”时,在客户端上传身份信息就可以登陆到系统,同时系统为这部分用户对应产生一条数据,该数据包括有两个键值对信息,分别是user_id和random_id及其对应的值,这两个键值对也会保存在客户端的本地Cookie文件中,同时将客户端Cookie验证标记字段值设置为“1”.
客户端Cookie验证标记字段值为“1”时,使用Cookie文件中保存的这两个键值对信息进行安全认证,具体为,读取客户端本地的Cookie文件中键为user_id的Value值,建立安全信道,读取客户端本地的Cookie文件中键random_id的Value值,进行第二身份认证;
当用户通过第二身份认证后,客户端本地保存包含有这两个键值对的Cookie文件,键为user_id和键为random_id,后续第二身份验证过程中因为这部分用户客户端本地的Cookie文件中由于有链为user_id的值,所以可以建立安全信道,有random_id的值,所以可以通过第二身份认证,所以即使该用户的身份信息泄露,盗取者在新的电脑上没有Cookie文件情况下也是不能通过验证的,这里就先验证了用户,再验证了Cookie。
上述技术方案中,生成系统参数的步骤包括:
步骤a.产生素数阶为q的两个群:(G1’+),(G2’·),以及双曲线映射e:G1×G1→G2’
步骤b.随机产生主密钥计算相应的公钥P0=s0P,其中P为G1的生成元,P∈G1
步骤是两个安全哈希函数;
保密s0,公开系统参数{G1,G2,e,P,P0,H1,H2}。
上述技术方案中,第三身份认证包括以下步骤
用户根据需求申请第三身份认证,用户在客户端上传自己的主机设备信息D1,该设备信息包括硬盘序列号X1、主板序列号X2,客户端通过安全信道使用对称密钥SK加密,将D1加密后上传给服务器,D2=E(D1,SK),服务器使用对称密钥SK解密,从中取出该设备信息D1,D1=D(D2,SK),将D1哈希散列之后得到H3=Hash(D1),H3与数据库中预存的数据进行比对,如果数据库中没有该数据,则拒绝用户的请求,否则通过第三身份认证,开放系统全部资源接口。
本发明还提供了一种基于Cookie和DR身份密码体制的多重身份认证方法的存储介质。
本发明还提供了一种基于Cookie和DR身份密码体制的多重身份认证装置,包括:
第一身份认证模块:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;
第二身份认证模块:数据库内设置有客户端Cookie验证标记字段,用户根据需求发起第二身份认证时,
当客户端Cookie验证标记字段的值为“0”则直接使用用户信息进行验证,验证通过则会在服务器数据库生成一条包含两个键值对的数据,在客户端生成也包含这两个键值对信息的Cookie文件,客户端通过Cookie文件信息建立安全信道,同时将数据库内的客户端Cookie验证标记字段的值设置为“1”;
当客户端Cookie生成标记字值为“1”则客户端需要通过Cookie文件信息建立安全信道;
此后用户的认证过程中上传的所有信息都会通过该安全信道传输;
第二身份认证通过后,用户可以访问到系统的核心资源;
第三身份认证模块:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源。
其他现有技术介绍:
Cookie以”名称-值“的键值对形式进行设置,还包括以下属性,失效时间(expires/max-age),有效路径(path),作用域(domain),安全属性(secure)和httponly属性。domain和path两个属性共同决定了Cookie能被哪些页面共享,生效时间决定了该Cookie的生命周期,secure属性指定后只有在使用SSL连接时Cookie才会发送给服务器。

Claims (9)

1.一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,包括以下步骤:
步骤1:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;
步骤2:数据库内设置有客户端Cookie验证标记字段,用户根据需求发起第二身份认证时,
当客户端Cookie验证标记字段的值为“0”则直接使用用户信息进行验证,验证通过则会在服务器数据库生成一条包含两个键值对的数据,在客户端生成也包含这两个键值对信息的Cookie文件,客户端通过Cookie文件信息建立安全信道,同时将数据库内的客户端Cookie验证标记字段的值设置为“1”;
当客户端Cookie生成标记字值为“1”则客户端需要通过Cookie文件信息建立安全信道;
此后用户的认证过程中上传的所有信息都会通过该安全信道传输;
第二身份认证通过后,用户可以访问到系统的核心资源;
步骤3:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源;
使用Cookie文件建立安全信道的步骤如下:
步骤a.客户端向服务器发出建立安全信道请求;
步骤b.服务器接收到请求后,通过用户ID找到服务器数据库内对应的数据,从数据库中找到user_id的Value值,使用哈希函数散列Value值得到哈希值h1=HASH(Value),使用哈希值h1生成对称密钥SK,服务器使用用户ID作为随机种子,使用动态随机因子产生器生成动态随机因子r1,使用对称密钥SK加密r1得到密文M2=E(r1,SK),并发送给客户端;
步骤c.客户端在接收到服务器返回的密文M2后,从存储到本地Cookie文件中取出键为user_id的对应的Value值,使用哈希函数散列该值,得到哈希值h2=HASH(Value),使用哈希值h2生成对称密钥SK,使用对称密钥SK从M2中得到明文r2=D(M2,SK),客户端再使用对称密钥SK加密r2,得到密文M3=E(r2,SK),将密文M3发送给服务器;
步骤d.服务器使用步骤b中的对称密钥SK从M3得到明文r3=D(M3,SK),将r3和r1对比,不一致则向客户端发出拒绝信息,一致则向客户端发出建立安全信道成功信息,客户端和服务器使用相同的对称密钥SK进行数据传输。
2.根据权利要求1所述的一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,步骤1包括:
步骤1.1.客户端向服务器发出证书请求;
步骤1.2.服务器向客户端发送一个数字证书,该数字证书包含一个公钥PK1;
步骤1.3.客户端使用PK1将用户上传的用户ID和PIN码加密后返回给服务器,M1=E(ID,PIN,PK1);
步骤1.4.服务器使用私钥PK2从接收到的密文M1中取出用户ID和PIN码,(ID,PIN)=D(M1,PK2),服务器通过验证用户ID和PIN码决定用户是否通过第一身份认证,如果数据库中不包含该用户信息,认证结束;如果认证通过,则开放系统公开资源接口。
3.根据权利要求1所述的一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,第二身份认证步骤如下:
步骤:2a.1、用户在客户端输入身份信息N1,包括手机号num1,身份证号num2,邮箱地址num3;
客户端使用身份信息N1向PKG申请私钥,PKG验证用户身份信息,验证通过后PKG向服务器发送动态随机因子请求信息,PKG生成系统参数,系统参数包括{,其中,/>、/>是两个群,H1、H2是两个哈希函数,/>是生成元,/>代表的是一个映射,/>是公钥;
步骤:2a.2.服务器收到PKG的请求信息后,产生动态随机因子,将t返回给PKG;
步骤:2a.3.PKG使用服务器返回的t,将随机产生的主密钥和用户身份信息N1产生私钥S,S=(t+/>)Q,Q=/>(N1),将私钥S发送给客户端;
步骤:2a.4.客户端使用私钥S对Cookie中键为random_id的Value值r进行签名得到签名N2,N2=(r)S,客户端使用对称密钥加密用户身份信息N1和签名N2得到M4=E(N1,N2,SK),然后通过安全信道将M4发送给服务器,M4=E(N1,N2,SK),其中SK为对称密钥;
步骤:2a.5.服务器使用对称密钥SK解密密文M4,从中取出身份信息(N1,N2)=D(M4,SK),在服务器的数据库中验证该用户的身份信息N1,验证通过则使用用户身份信息生成公钥,使用公钥/>验证签名N2,取出r,和服务器数据库中存储的信息中的random_id的Value值进行比较,如果一致则通过第二身份认证,开放给用户核心资源接口。
4.根据权利要求1所述的一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,步骤2的中服务器生成Cookie数据步骤如下:
管理员通过在服务器数据库中预设用户信息,这些用户信息是能通过第二身份认证用户的身份信息;
服务器数据库中还预设有初始值为“0”的客户端Cookie验证标记字段,
当客户端Cookie验证标记字段值为“0”时,在客户端上传身份信息就可以登陆到系统,同时系统为这部分用户对应产生一条数据,该数据包括有两个键值对信息,分别是user_id和random_id及其对应的值,这两个键值对也会保存在客户端的本地Cookie文件中,同时将客户端Cookie验证标记字段值设置为“1”,
客户端Cookie验证标记字段值为“1”时,使用Cookie文件中保存的这两个键值对信息进行安全认证,具体为,读取客户端本地的Cookie文件中键为user_id的Value值,建立安全信道,读取客户端本地的Cookie文件中键random_id的Value值,进行第二身份认证;
当用户通过第二身份认证后,客户端本地保存包含有这两个键值对的Cookie文件,键为user_id和键为random_id,后续第二身份验证过程中因为这部分用户客户端本地的Cookie文件中由于有键为user_id的值,所以可以建立安全信道,有random_id的值,所以可以通过第二身份认证。
5.根据权利要求1所述的一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,生成系统参数的步骤包括:
步骤a.产生素数阶为q的两个群:,以及双曲线映射e:/>
步骤b.随机产生主密钥,计算相应的公钥/>,其中P为/>的生成元,P∈/>;
步骤c. 是两个安全哈希函数;
保密,公开系统参数{/>
6.根据权利要求1所述的一种基于Cookie和DR身份密码体制的多重身份认证方法,其特征在于,第三身份认证包括以下步骤
用户根据需求申请第三身份认证,用户在客户端上传自己的主机设备信息D1,该设备信息包括硬盘序列号X1、主板序列号X2,客户端通过安全信道使用对称密钥SK加密,将D1加密后上传给服务器,D2=E(D1,SK),服务器使用对称密钥SK解密,从中取出该设备信息D1,D1=D(D2,SK),将D1哈希散列之后得到H3=Hash(D1),H3与数据库中预存的数据进行比对,如果数据库中没有该数据,则拒绝用户的请求,否则通过第三身份认证,开放系统全部资源接口。
7.一种存储介质,其特征在于,存有指令,该指令被处理器执行时,实现如权利要求1-6任意一项所述的一种基于Cookie和DR身份密码体制的多重身份认证方法。
8.一种基于Cookie和DR身份密码体制的多重身份认证装置,其特征在于,包括:
第一身份认证模块:用户使用用户账号和PIN码进行第一身份认证,在通过第一身份认证之后,可以访问到系统的公开资源;
第二身份认证模块:数据库内设置有客户端Cookie验证标记字段,用户根据需求发起第二身份认证时,
当客户端Cookie验证标记字段的值为“0”则直接使用用户信息进行验证,验证通过则会在服务器数据库生成一条包含两个键值对的数据,在客户端生成也包含这两个键值对信息的Cookie文件,客户端通过Cookie文件信息建立安全信道,同时将数据库内的客户端Cookie验证标记字段的值设置为“1”;
当客户端Cookie生成标记字值为“1”则客户端需要通过Cookie文件信息建立安全信道;
此后用户的认证过程中上传的所有信息都会通过该安全信道传输;
第二身份认证通过后,用户可以访问到系统的核心资源;
第三身份认证模块:用户根据需求使用设备信息进行第三身份认证,通过后用户可以访问到系统的敏感资源;
使用Cookie文件建立安全信道的步骤如下:
步骤a.客户端向服务器发出建立安全信道请求;
步骤b.服务器接收到请求后,通过用户ID找到服务器数据库内对应的数据,从数据库中找到user_id的Value值,使用哈希函数散列Value值得到哈希值h1=HASH(Value),使用哈希值h1生成对称密钥SK,服务器使用用户ID作为随机种子,使用动态随机因子产生器生成动态随机因子r1,使用对称密钥SK加密r1得到密文M2=E(r1,SK),并发送给客户端;
步骤c.客户端在接收到服务器返回的密文M2后,从存储到本地Cookie文件中取出键为user_id的对应的Value值,使用哈希函数散列该值,得到哈希值h2=HASH(Value),使用哈希值h2生成对称密钥SK,使用对称密钥SK从M2中得到明文r2=D(M2,SK),客户端再使用对称密钥SK加密r2,得到密文M3=E(r2,SK),将密文M3发送给服务器;
步骤d.服务器使用步骤b中的对称密钥SK从M3得到明文r3=D(M3,SK),将r3和r1对比,不一致则向客户端发出拒绝信息,一致则向客户端发出建立安全信道成功信息,客户端和服务器使用相同的对称密钥SK进行数据传输。
9.根据权利要求8所述的一种基于Cookie和DR身份密码体制的多重身份认证装置,其特征在于,服务器生成Cookie数据:
管理员通过在服务器数据库中预设用户信息,这些用户信息是能通过第二身份认证用户的身份信息;
服务器数据库中还预设有初始值为“0”的客户端Cookie验证标记字段,
当客户端Cookie验证标记字段值为“0”时,在客户端上传身份信息就可以登陆到系统,同时系统为这部分用户对应产生一条数据,该数据包括有两个键值对信息,分别是user_id和random_id及其对应的值,这两个键值对也会保存在客户端的本地Cookie文件中,同时将客户端Cookie验证标记字段值设置为“1”,
客户端Cookie验证标记字段值为“1”时,使用Cookie文件中保存的这两个键值对信息进行安全认证,具体为,读取客户端本地的Cookie文件中键为user_id的Value值,建立安全信道,读取客户端本地的Cookie文件中键random_id的Value值,进行第二身份认证;
当用户通过第二身份认证后,客户端本地保存包含有这两个键值对的Cookie文件,键为user_id和键为random_id,后续第二身份验证过程中因为这部分用户客户端本地的Cookie文件中由于有键为user_id的值,所以可以建立安全信道,有random_id的值。
CN202111023305.0A 2021-09-01 2021-09-01 基于Cookie和DR身份密码体制的多重身份认证方法及装置 Active CN113726523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111023305.0A CN113726523B (zh) 2021-09-01 2021-09-01 基于Cookie和DR身份密码体制的多重身份认证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111023305.0A CN113726523B (zh) 2021-09-01 2021-09-01 基于Cookie和DR身份密码体制的多重身份认证方法及装置

Publications (2)

Publication Number Publication Date
CN113726523A CN113726523A (zh) 2021-11-30
CN113726523B true CN113726523B (zh) 2023-09-01

Family

ID=78680744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111023305.0A Active CN113726523B (zh) 2021-09-01 2021-09-01 基于Cookie和DR身份密码体制的多重身份认证方法及装置

Country Status (1)

Country Link
CN (1) CN113726523B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080050134A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
CN101510877A (zh) * 2009-02-25 2009-08-19 中国网络通信集团公司 单点登录方法和系统、通信装置
CN103139147A (zh) * 2011-11-25 2013-06-05 腾讯科技(深圳)有限公司 数据传输时进行安全性验证的方法及系统
CN103248488A (zh) * 2013-05-14 2013-08-14 顾纯祥 一种基于身份的密钥生成方法和认证方法
CN106936584A (zh) * 2017-03-08 2017-07-07 平顶山学院 一种无证书公钥密码系统的构造方法
WO2017200791A1 (en) * 2016-05-19 2017-11-23 Alibaba Group Holding Limited Method and system for secure data transmission

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158487B2 (en) * 2015-07-16 2018-12-18 Cisco Technology, Inc. Dynamic second factor authentication for cookie-based authentication
US10574692B2 (en) * 2016-05-30 2020-02-25 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements
US10587732B2 (en) * 2017-04-13 2020-03-10 International Business Machines Corporation Secure client-server communication

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
KR20080050134A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법
CN101510877A (zh) * 2009-02-25 2009-08-19 中国网络通信集团公司 单点登录方法和系统、通信装置
CN103139147A (zh) * 2011-11-25 2013-06-05 腾讯科技(深圳)有限公司 数据传输时进行安全性验证的方法及系统
CN103248488A (zh) * 2013-05-14 2013-08-14 顾纯祥 一种基于身份的密钥生成方法和认证方法
WO2017200791A1 (en) * 2016-05-19 2017-11-23 Alibaba Group Holding Limited Method and system for secure data transmission
CN106936584A (zh) * 2017-03-08 2017-07-07 平顶山学院 一种无证书公钥密码系统的构造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于身份的混合加密方案;萧萍;;工业仪表与自动化装置(01);全文 *

Also Published As

Publication number Publication date
CN113726523A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN107810617B (zh) 机密认证和供应
US9847882B2 (en) Multiple factor authentication in an identity certificate service
CN109614818B (zh) 可授权的基于身份的带关键词搜索加密方法
US7688975B2 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
US20170214664A1 (en) Secure connections for low power devices
WO2019085531A1 (zh) 一种终端联网认证的方法和装置
US20030196084A1 (en) System and method for secure wireless communications using PKI
CN101212293A (zh) 一种身份认证方法及系统
US20130151853A1 (en) Systems and methods for secure peer-to-peer communications
EP2414983B1 (en) Secure Data System
CN113079022B (zh) 一种基于sm2密钥协商机制的安全传输方法和系统
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
WO2018030289A1 (ja) Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
Chattaraj et al. HEAP: an efficient and fault-tolerant authentication and key exchange protocol for Hadoop-assisted big data platform
KR100668446B1 (ko) 안전한 인증정보 이동방법
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
CN107566393A (zh) 一种基于受信任证书的动态权限验证系统及方法
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
US20090319778A1 (en) User authentication system and method without password
CN114091009A (zh) 利用分布式身份标识建立安全链接的方法
CN106230840A (zh) 一种高安全性的口令认证方法
WO2008039227A1 (en) System and method for facilitating secure online transactions
CN113726523B (zh) 基于Cookie和DR身份密码体制的多重身份认证方法及装置
CN115473655A (zh) 接入网络的终端认证方法、装置及存储介质
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법

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