CN110198295A - 安全认证方法和装置及存储介质 - Google Patents

安全认证方法和装置及存储介质 Download PDF

Info

Publication number
CN110198295A
CN110198295A CN201810350361.7A CN201810350361A CN110198295A CN 110198295 A CN110198295 A CN 110198295A CN 201810350361 A CN201810350361 A CN 201810350361A CN 110198295 A CN110198295 A CN 110198295A
Authority
CN
China
Prior art keywords
message
request
user
request message
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.)
Pending
Application number
CN201810350361.7A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810350361.7A priority Critical patent/CN110198295A/zh
Publication of CN110198295A publication Critical patent/CN110198295A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

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)

Abstract

本发明公开了一种安全认证方法和装置及存储介质。其中,该方法包括:使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;使用对称密钥对所述目标内容中包括的报文内容进行加密,得到加密内容;将包含所述用户签名和所述加密内容的请求报文发送给接收端,以使所述接收端对所述请求报文进行安全认证,其中,所述请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,所述请求报文还包含所述用户标识,所述非对称密钥和所述对称密钥与所述目标用户的用户标识具有唯一的对应关系。本发明解决了由于对称密钥在传输的过程中被截获,造成报文传输安全性较差的技术问题。

Description

安全认证方法和装置及存储介质
技术领域
本发明涉及计算机领域,具体而言,涉及一种安全认证方法和装置及存储介质。
背景技术
目前,数据开放平台的安全认证方式为:客户端使用事先分配的对称密钥对要传输的内容进行加密,数据开放平台使用和客户端相同的对称密钥对接收到的报文进行解密:如果解密成功,则根据解密的内容进行对应的业务处理;如果解密失败,则认为是非法请求,无法通过认证。
由于报文内容使用对称密钥进行加密,对称密钥在传输的过程中容易被截获,因此存在报文传输安全性较差的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种安全认证方法和装置及存储介质,以至少解决由于对称密钥在传输的过程中被截获,造成报文传输安全性较差的技术问题。
根据本发明实施例的一个方面,提供了一种安全认证方法,包括:使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;使用对称密钥对所述目标内容中包括的报文内容进行加密,得到加密内容;将包含所述用户签名和所述加密内容的请求报文发送给接收端,以使所述接收端对所述请求报文进行安全认证,其中,所述请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,所述请求报文还包含所述用户标识,所述非对称密钥和所述对称密钥与所述目标用户的用户标识具有唯一的对应关系。
根据本发明实施例的另一个方面,提供了一种安全认证方法,包括:接收发送端发送的请求报文;使用对称密钥对所述请求报文中包含的报文内容进行解密,得到解密内容,其中,所述请求报文还包括:与所述发送端对应的目标用户的用户标识、用户签名,所述用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,所述用户标识与所述非对称密钥和所述对称密钥具有唯一的一一对应关系;使用所述非对称密钥中的私钥对所述用户签名进行解密,得到所述第一消息摘要;对包含所述解密内容的目标内容进行消息摘要运算,得到第二消息摘要;使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证。
根据本发明实施例的又一个方面,提供了一种安全认证装置,包括:第一加密单元,用于使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;第二加密单元,用于使用对称密钥对所述目标内容中包括的报文内容进行加密,得到加密内容;发送单元,用于将包含所述用户签名和所述加密内容的请求报文发送给接收端,以使所述接收端对所述请求报文进行安全认证,其中,所述请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,所述请求报文还包含所述用户标识,所述非对称密钥和所述对称密钥与所述目标用户的用户标识具有唯一的对应关系。
根据本发明实施例的又一个方面,提供了一种安全认证装置,包括:接收单元,用于接收发送端发送的请求报文;第一解密单元,用于使用对称密钥对所述请求报文中包含的报文内容进行解密,得到解密内容,其中,所述请求报文还包括:与所述发送端对应的目标用户的用户标识、用户签名,所述用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,所述用户标识与所述非对称密钥和所述对称密钥具有唯一的一一对应关系;第二解密单元,用于使用所述非对称密钥中的私钥对所述用户签名进行解密,得到所述第一消息摘要;运算单元,用于对包含所述解密内容的目标内容进行消息摘要运算,得到第二消息摘要;认证单元,用于使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的方法。
在本发明实施例中,采用对称密钥和非对称密钥结合进行安全认证的方式,通过使用非对称密钥中的公钥对包含报文内容的目标内容的消息摘要进行加密,得到用户签名;使用对称密钥对报文内容进行加密,得到加密内容;将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,由于使用非对称密钥和对称密钥分别对包括报文内容的目标内容的消息摘要和报文内容进行加密,结合了非对称密钥安全性高和对称密钥加密速度快的特点,在达到防御报文内容被篡改的目的的同时,减少了对安全认证效率的影响,从而实现了提高报文传输安全性的技术效果,进而解决了由于对称密钥在传输的过程中被截获,造成报文传输安全性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种安全认证方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的安全认证方法的流程示意图;
图3是根据本发明实施例的一种可选的待发送报文的示意图;
图4是根据本发明实施例的另一种可选的安全认证方法的流程示意图;
图5是根据本发明实施例的又一种可选的安全认证方法的流程示意图;
图6是根据本发明实施例的一种可选的安全认证装置的结构示意图;
图7是根据本发明实施例的另一种可选的安全认证装置的结构示意图;
图8是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种安全认证方法。可选地,上述安全认证方法可以但不限于应用于如图1所示的应用环境中。如图1所示,发送端服务器102通过网络104与接收端服务器106之间进行报文数据交互。发送端服务器102(或者接收端服务器106)使用非对称密钥中的公钥(或者私钥)对目标内容的消息摘要进行加密,得到用户签名;使用对称密钥对报文内容进行加密,得到加密内容;将包含用户签名和加密内容的请求报文(或者响应报文)通过网络104发送给接收端服务器106(或者发送端服务器102),以使接收端服务器106(或者发送端服务器102)对请求报文(或者响应报文)进行安全认证,其中,请求报文用于请求与发送端服务器102对应的目标用户的用户标识相关联的目标数据(或者,响应报文发送与发送端服务器102对应的目标用户的用户标识相关联的目标数据),请求报文(或者响应报文)还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。
可选地,在本实施例中,发送端服务器102可以通过网络108与用户终端110之间进行数据交互,向用户终端110发送其请求的数据。
可选地,在本实施例中,上述用户终端可以包括但不限于以下至少之一:移动终端、平板电脑、电脑等。上述网络可以包括但不限于有线网络、无线网络,其中,该有线网络包括:局域网、城域网、广域网及其它实现有线通信的网络,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述发送端服务器可以包括但不限于以下至少之一:PC机及其他用于请求数据并响应数据请求的设备,上述接收端服务器可以包括但不限于以下至少之一:PC机及其他用于提供数据服务的设备。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,如图2所示,上述安全认证方法可以包括:
S202,使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;
S204,使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容;
S206,将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。
可选地,上述安全认证方法可以但不限于发送端与接收端之间进行报文数据交互的过程。例如,数据开放平台与客户服务器之间报文数据的交互过程,或服务器与用户终端之间报文数据的交互过程,或用户终端之间报文数据的交互过程。上述数据开放平台可以是医疗领域数据开放平台、计算机领域数据开放平台。以上只是一种示例,在此不做具体限定。
例如,以医疗领域数据开放平台为例进行说明。随着互联网医疗的快速发展,互联网中医疗数据在快速增加。医疗领域的数据常常会涉及患者个人信息,相比一般互联网数据具有天然的敏感性。在数据业务平台与客户服务器(数据业务平台的合作机构的服务器)进行报文交互的过程中,客户服务器使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容;将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。
需要说明的是,在相关技术中,发送端使用事先分配的对称密钥对请求报文中的报文内容进行加密,接收端使用相同的对称密钥进行解密,以对请求报文进行安全认证。采用上述方法,报文内容使用对称密钥进行加密,如果加密密钥在传递或者发布的过程中被截获,则报文内容存在被篡改的风险。而在本申请中,通过使用非对称密钥中的公钥对包含报文内容的目标内容的消息摘要进行加密,得到用户签名;使用对称密钥对报文内容进行加密,得到加密内容;将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系,通过多维度、多层次加密相结合方式,结合了非对称密钥安全性高和对称密钥加密速度快的特点,在达到防御报文内容被篡改的同时,减少了对安全认证效率的影响,可以提高报文传输的安全性,解决了由于对称密钥在传输的过程中被截获,造成报文传输安全性较差的问题。
进一步地,通信的双方各持有非对称密钥对中的一个密钥(请求报文的发送端持有非对称密钥中的公钥,请求报文的接收端持有非对称密钥中的私钥),并使用持有的密钥对消息摘要进行加密,以生成发送报文(请求报文或响应报文);使用持有的密钥对接收报文(请求报文或响应报文)的用户签名进行解密,以对接收报文进行安全认证。
可选地,请求报文可以包括但不限于以下部分:用户ID(APPID)、用户签名(SIGN)和内容(CONTENT)。上述各部分可以分别与请求报文的APPID字段、SIGN字段和CONTENT字段对应。下面分别对各部分进行说明。
(1)APPID,用于标识各用户。
请求报文的APPID字段可以是一个64位字符串。对于数据开放平台,用户可以是与数据开放平台具有特定关系的机构的服务器,特定关系可以包括但不限于:合作关系、上下属关系等。
(2)SIGN,目标内容的签名,可以用于确定请求的合法性,具有不可抵赖性。
(3)CONTENT,对实际请求正文进行加密后得到的内容。
可选地,为保证信道传输的安全,实际请求正文(或响应正文)可以用json(JavaScript Object Notation)格式组成。
可选地,在本实施例中,可以使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名。
非对称密钥为使用非对称加密算法对报文进行加密时所使用的密钥。非对称加密算法使用一对密钥进行加解密。非对称加密使用这对密钥中一个进行加密,只能由另一个进行解密。非对称密钥中的公钥可以发送给任何需要的终端,非对称密钥中的私钥只能由安全的一方保管,不需要通过网络发送,因此可以提高数据的安全性。上述非对称加密算法可以包括但不限于:
(1)RSA(Rivest-Shamir-Adleman)加密算法;
(2)数字签名加密算法(Digital Signature Algorithm,简称为DSA);
(3)椭圆曲线(Elliptic Curve Cryptography,简称为ECC)加密算法。
可选地,在使用非对称密钥中的公钥对目标内容的消息摘要进行加密之前,可以根据消息摘要算法对目标内容进行消息摘要运算,得到目标内容的消息摘要。消息摘要算法可以包括但不限于:
(1)消息摘要算法(Message-Digest Algorithm,简称为MD),例如,MD2,MD5;
(2)安全哈希算法(Secure Hash Algorithm,简称为SHA),例如,SHA-1,SHA-224,SHA-256,SHA-384,SHA-512等;
(3)消息验证码(Message Authentication Code,简称为MAC)。
可选地,请求报文还可以包括:时间戳(Time-Stamp,简称为TS),用于标识生成请求报文的时间。该时间可以是开始生成请求报文时的时间,也可以是请求报文生成完成时的时间。该时间戳可以是发起请求时的UNIX时间戳。在生成请求报文的时间戳之后,TS可以被填写至请求报文的TS字段,以便在请求报文加、解密时使用。由于TS无法被修改,TS可用于请求报文接收端对请求报文时间的有效性进行安全认证。
例如,在接收端接收到请求报文时,验证接收到的请求报文中携带的时间戳与当前时间的差值是否在某个阈值范围以内(目标阈值,例如,该时间戳和当前时间差距在5秒内,该目标阈值越大,容错性越高)。若在,则认证通过,若不在,则认证不通过。
可选地,时间戳可以在对目标内容进行加密之前生成。时间戳可以作为目标内容的一部分,与报文内容一起通过消息摘要运算,生成用户签名。
可选地,在本实施例中,可以使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容。
可选地,对称密钥为使用对称加密算法对报文进行加密时所使用的密钥。对称加密算法使用同一个密钥进行加密和解密。上述对称加密算法可以包括但不限于:
(1)高级加密标准(Advanced Encryption Standard,简称为AES);
(2)数据加密标准(Data Encryption Standard,简称为DES);
(3)3DES(Triple DES)。
可选地,生成的加密内容可以被填写至请求报文的CONTENT字段。
可选地,请求报文还可以包括:请求类型(req_type)字段。该字段可以为请求报文中的独立字段,也可以是CONTENT字段中的一部分,除了请求类型字段外,CONTENT字段还可以包括:请求体(req_body)字段,使用对称密钥进行加密的可以是写入请求体字段中的报文内容。上述仅是一种示例,本实施例中对此不作限定。
可选地,请求类型字段可以用于标识请求业务的类型,请求类型与请求报文的发送端所请求的目标数据相对应,用于使请求报文的接收端对请求报文的发送端所对应的目标用户是否具有访问该请求类型的访问权项进行判断。在接收到请求报文之后,接收端可以根据请求报文中请求类型字段中的内容,确定发送端请求的请求类型。接收端可以根据APPID以及请求类型,对该APPID是否具有该请求类型的访问权限进行判断,如果该APPID具有访问权限,则认证通过,否则,认证不通过。
具体结合以下示例进行说明。请求报文的接收端为医疗领域数据开放平台,发送端为与该数据开放平台的外部合作机构的服务器。发送端发送用于请求A患者的血糖数据的请求报文。请求报文的报文内容部分包括:请求类型和请求体两个字段,其中,A患者的标识可以写入报文内容中的请求体字段中,“血糖”可以写入报文内容的请求类型字段中。
可选地,在本实施例中,将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。在生成请求报文时,可以分别生成报文的各部分并填写至对应字段,也可以首先生成所有部分,再对应地填写至各字段,以生成请求报文。
可选地,发送端可以在生成请求报文时,通过目标编码算法(例如,BASE64算法、哈夫曼编码算法等)对用户签名及加密内容进行编码。此时,在执行编码操作之后,将编码后的用户签名填写至请求报文的SIGN字段,将编码后的加密信息填写至请求报文的CONTENT字段,以生成请求报文。发送端也可以在生成请求报文之后,通过目标编码算法对生成的请求报文进行编码,并将编码后的请求报文发送给接收端。
可选地,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系,每个目标用户的用户标识具有唯一的非对称密钥和对称密钥,不同的用户标识所对应的非对称密钥和对称密钥均是不同的。
可选地,在使用非对称密钥中的公钥对目标内容的消息摘要进行加密之前,请求报文的发送端可以向请求报文的接收端发送注册请求,并接收该接收端响应上述注册请求为目标用户所分配的用户标识、非对称密钥中的公钥和对称密钥。
可选地,请求报文中还可以包括:发送端的IP地址,上述IP地址可以作为一个单独的字段,也可以写入报文内容部分。具体写入的位置,可以根据需要进行设定,本实施例中对此不做具体限定。
可选地,在将包含用户签名和加密内容的请求报文发送给接收端之后,还可以接收请求报文的接收端对请求报文进行安全认证通过后发送响应报文,其中,响应报文携带有目标数据。
可选地,响应报文的格式、生成及发送过程可以与请求报文类似,区别在于响应报文中可以不包括:请求类型字段和IP地址,在此不作赘述。
通过本实施例,通过使用非对称密钥中的公钥对包含报文内容的目标内容的消息摘要进行加密,得到用户签名,使用对称密钥对报文内容进行加密,得到加密内容,并将包括该用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,可以达到防御报文内容被篡改的目的,提高报文传输的安全性。
作为一种可选的方案,在使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名之前,上述方法还包括:
S1,生成请求报文的时间戳,其中,目标内容还包括时间戳。
通过本实施例,在待发送报文中携带TS时间戳,以使接收端校验请求时间的有效性,从而避免了网络劫持请求重放导致的安全隐患,提高了报文传输的安全性。
作为一种可选的方案,请求报文还包含:请求类型字段,其中,请求类型与目标数据相对应,用于使接收端对目标用户是否具有访问请求类型的访问权项进行判断。
通过本实施例,通过设置请求类型字段,可以对不同用户的请求类型的权限范围进行限定,从而提供了对用户的分级管理,进而提高了用户管理的效率。
作为一种可选的方案,在使用非对称密钥中的公钥对目标内容的消息摘要进行加密之前,上述方法还包括:
S1,向接收端发送注册请求;
S2,接收上述接收端响应注册请求为目标用户所分配的用户标识、公钥和对称密钥。
通过本实施例,通过请求-响应的方式为目标用户分配唯一的用户标识、非对称密钥和对称密钥,非对称密钥和对称密钥与用户标识之间具备唯一的对应关系,可以保证用户之间的数据隔离度,提高密钥管理的效率。
作为一种可选的方案,在将包含用户签名和加密内容的请求报文发送给接收端之后,上述方法还包括:
S1,接收上述接收端对请求报文进行安全认证通过后发送响应报文,其中,响应报文携带有目标数据。
通过本实施例,通过接收端对请求报文进行安全认证,在安全认证通过之后向发送端发送携带有发送端请求的目标数据的响应报文,从而安全认证通过之后才发送响应报文的方式,提高了数据传输的安全性。
为说明方案的整个流程交互,下面结合具体示例对本实施例中的安全认证方法进行具体说明。
在本示例中,该安全认证方法应用在:医疗领域数据开放平台(以下简称数据开放平台)与客户服务器(外部合作机构的服务器,外部客户)进行数据交换,对数据传输安全性有较高要求的场景。数据开放平台通过HTTP协议与外部客户进行通信。数据开放平台同时提供两种数据交互方式:(1)向客户主动推送数据;(2)客户主动拉取数据。
本示例中,目标内容包括:报文内容和时间戳,报文内容包括:请求类型和请求体。采用的非对称加密算法为:RSA加密算法,对称加密算法为:AES加密算法。消息摘要算法为:MD5,编码方式为:BASE64算法。
在接入新用户(新的外部客户)时,需要为每个用户分配唯一的APPID,AES密钥,RSA公钥和私钥,并将属于该用户的数据(与该用户具有关联关系的数据)与其APPID进行关联。为了保证多用户之间的数据隔离,为每个APPID分配的AES密钥和RSA密钥都是不同的。同时,对于不同类型的请求,服务器(数据开放平台侧)需要给对应的APPID分配不同的权限。用户使用分配得到的APPID和密钥根据约定的报文格式生成请求报文,服务器收到请求报文后按照相应的格式返回同样加密的响应报文。
对于请求报文,请求报文中各字段的含义及生成方法如表1所示。
表1
每个请求报文包含:APPID、TS、SIGN、CONTENT四部分,其中,
(1)APPID,为一个64位字符串;
(2)TS,为发起请求时的UNIX时间戳;
(3)SIGN,首先通过请求内容加时间戳(即,CONTENT+SIGN)进行MD5运算,然后对所得MD5值进行RSA公钥加密后,再用BASE64算法进行编码,得到用户签名字段值SIGN;
(4)CONTENT,由要传输的内容进行AES加密,然后将到的结果再进行BASE64编码后得到,保证数据传输的安全性。
在生成请求报文之后,将请求报文发送至服务器,已请求对应的业务。
在生成请求报文时,客户端(客户服务器侧)可以通过依次填写APPID、TS、SIGN和CONTENT的方式,生成请求报文,并将生成的请求报文发送给服务器。
对于响应报文,响应报文中各字段的含义及生成方法如表2所示。
表2
每个响应报文包含:APPID、TS、SIGN、CONTENT四部分,其中,
(1)APPID,为一个64位字符串,为发起请求的APPID;
(2)TS,为发起响应时的UNIX时间戳;
(3)SIGN,首先通过响应内容加时间戳(即,CONTENT+SIGN)进行MD5运算,然后对所得MD5值进行RSA私钥加密之后,再用BASE64算法进行编码,得到用户签名字段值SIGN;
(4)CONTENT,由要传输的内容进行AES加密,然后将到的结果再进行BASE64编码后得到,保证数据传输的安全性。
待发送报文(请求报文或响应报文)的一个示例如图3所示。
当服务器处理完相应的请求,按照如下步骤生成上述响应报文并返回给客户端:
S1,服务器在APPID字段中填写发起请求的APPID;
S2,服务器在TS字段填写生成响应时的时间戳;
S3,服务器在SIGN字段填SIGN;
SIGN的生成规则与请求报文中SIGN的规则相同。
S4,服务器在CONTENT字段填CONTENT。
CONTENT为响应的具体内容,CONTENT的生成规则与请求报文中CONTENT的规则相同。
同时,对于分属于不同合作机构的数据,数据开放平台进行数据推送或响应请求时都会进行数据归属校验。
在本示例中,生成用户签名时使用MD5算法计算请求内容和时间戳的MD5值,保证了请求内容的不可篡改性;同时利用RSA(1024-bit)加密用户签名,通过较小的代价获得的较高的安全性。
需要说明的是,上述示例仅用于说明本实施例的安全认证方法,而不应对该方法造成限定。
根据本发明实施例的另一个方面,还提供了一种安全认证方法。可选地,上述安全认证方法可以但不限于应用于如图1所示的应用环境中。实现步骤可以参照上述实施例,本实施例中不再赘述。
可选地,在本实施例中,作为一种可选的实施方式,如图4所示,上述安全认证方法可以包括:
S402,接收发送端发送的请求报文;
S404,使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容,其中,请求报文还包括:与发送端对应的目标用户的用户标识、用户签名,用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,用户标识与非对称密钥和对称密钥具有唯一的一一对应关系;
S406,使用非对称密钥中的私钥对用户签名进行解密,得到第一消息摘要;
S408,对包含解密内容的目标内容进行消息摘要运算,得到第二消息摘要;
S410,使用第一消息摘要与第二消息摘要,对请求报文进行安全认证。
可选地,上述安全认证方法可以但不限于发送端与接收端之间进行报文数据交互的过程。例如数据开放平台与客户服务器之间报文数据的交互过程,或服务器与用户终端之间报文数据的交互过程,或用户终端之间报文数据的交互过程。其中,上述数据开放平台可以是医疗领域数据开放平台、计算机领域数据开放平台。以上只是一种示例,在此不做具体限定。
需要说明的是,在相关技术中,发送端使用事先分配的对称密钥对报文内容进行加密,接收端使用和发送端相同的对称密钥进行解密,以请求报文进行安全认证。采用上述方法,使用对称密钥加密报文内容,如果加密密钥在传递或者发布的过程中被截获,则报文内容存在被篡改的风险。而在本申请中,通过对称密钥对请求报文中的报文内容进行解密,得到解密内容;采用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要,对包含解密内容的目标内容进行消息摘要计算,得到第二消息摘要,并使用第一消息摘要与第二消息摘要,对请求报文进行安全认证,通过多维度、多层次解密校验相结合方式,结合了非对称密钥安全性高和对称密钥加密速度快的特点,在达到防御报文内容被篡改的同时,减少了对安全认证效率的影响,可以提高报文传输的安全性,解决了由于对称密钥在传输的过程中被截获,造成报文传输安全性较差的问题。
进一步地,通信的双方各持有非对称密钥对中的一个密钥(请求报文的发送端持有非对称密钥中的公钥,请求报文的接收端持有非对称密钥中的私钥),并使用持有的密钥对消息摘要进行加密,以生成发送报文(请求报文或响应报文);使用持有的密钥对接收报文(请求报文或响应报文)的用户签名进行解密,以对接收报文进行安全认证。
可选地,在本实施例中,接收发送端发送的请求报文。
可选地,在使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容之前,可以对请求报文的IP来源进行安全认证:从请求报文中提取出发送端的IP地址;使用IP地址与指定IP列表,对IP地址的合法性进行安全认证,其中,指定IP列表为预先记录的允许进行访问的IP地址的列表。
可选地,指定IP列表可以由请求报文的接收端事先登记,也可以由其他设备主动向接收端推送,还可以由接收端从其他设备或者数据库中获取。可以在向新用户分配APPID时,由该用户处接收的报文中提出报文的IP地址,对APPID与IP地址之间的对应关系或仅对IP地址进行登记,从而更新指定IP列表。指定IP列表还可以由管理设备进行指定,或者由用户进行指定。上述仅为示例,本实施例中对此不作限定。
可选地,在对请求报文的IP来源进行安全认证之后,可以对请求报文中的APPID进行安全认证:从请求报文中提取出目标用户的APPID;使用提取的APPID与指定APPID列表,对APPID的合法性进行安全认证,其中,指定APPID列表为预先记录的已分配的APPID。
可选地,指定APPID列表可以由请求报文的接收端事先登记,也可以由其他设备向接收端推送,还可以由该接收端从其他设备或者数据库中获取。可以在向新用户分配APPID时,对分配的IPPID地址进行登记,从而更新指定APPID列表。上述仅为示例,本实施例中对此不作限定。
可选地,在对目标内容进行消息摘要运算,得到第二消息摘要之前,可以提取接收报文中的时间戳,其中,目标内容还包括时间戳;使用提取的时间戳,对请求报文的有效性进行安全认证。时间戳,用于标识发送端生成请求报文的时间。由于TS无法被修改,TS可用于对报文时间的有效性安全认证。
例如,在接收端接收到该请求报文时,验证报文中携带的时间戳与当前时间的差值是否在某个阈值(目标阈值,例如,例如,该时间戳和当前时间的差距在5秒内,该目标阈值越大,容错性越高)范围内。若在,则认证通过,若不在,则认证不通过。
可选地,在本实施例中,使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容,其中,请求报文还包括:与发送端对应的目标用户的用户标识、用户签名,用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,用户标识与非对称密钥和对称密钥具有唯一的一一对应关系。
可选地,用户标识、非对称密钥和对称密钥可以是由接收端根据发送端发送的注册请求为目标用户分配的,也可以是由其他设备为发送端分配完成之后向接收端发送的。例如,接收端可以接收发送端发送的注册请求;响应该注册请求,为目标用户分配用户标识、非对称密钥和对称密钥;保存用户标识、非对称密钥中的私钥和对称密钥;将分配的用户标识、非对称密钥中的公钥和对称密钥发送给接收端。
可选地,在使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容之前,可以首先通过解码算法对请求报文的报文内容进行解码。
可选地,报文内容为经请求报文的发送端进行对称加密处理后的内容,该内容可以携带在请求报文的CONTENT字段中。对称密钥为使用对称加密算法对报文进行加解密时所使用的密钥。对称加密算法使用同一个密钥进行加密和解密。
可选地,在本实施例中,使用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要。
可选地,在使用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要之前,可以通过解码算法对接收报文的用户签名进行解码。
可选地,在接收到请求报文之后,获取请求报文中的用户签名,该用户签名是由请求报文的发送端对目标内容进行消息摘要运算后得到第一消息摘要,使用非对称密钥中的公钥对第一消息摘要进行加密后得到。使用非对称密钥对中的私钥对请求报文中的用户签名进行解密,即可得到第一消息摘要。
可选地,在本实施例中,对包含解密内容的目标内容进行消息摘要运算,得到第二消息摘要;使用第一消息摘要与第二消息摘要,对请求报文进行安全认证。
由于发送端和接收端采用相同的摘要计算方式对目标内容进行消息摘要运算,如果发送端的目标内容和接收端的目标内容相同,则生成的两个摘要也是相同的,可以基于两个消息摘要,对请求报文进行安全认证。
可选地,在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,在认证通过的情况下,提取请求报文中的请求类型字段,得到与请求报文所请求的目标数据所对应的请求类型;使用用户标识,判断目标用户是否具有访问请求类型的访问权限;在目标用户具有访问请求类型的访问权限的情况下,允许目标用户访问目标数据。
可选地,请求报文可以包括:请求类型字段。该字段可以是请求报文中的独立字段,也可以是CONTENT字段中的一部分,除了请求类型字段之外,CONTENT字段还可以包括:请求体字段。进行对称加密的可以是CONTENT字段中的所有内容,也可以是写入请求体字段中的报文内容。上述仅是一种示例,本实施例中对此不作限定。
可选地,请求类型字段可以用于标识请求业务的请求类型,以便对待发送报文的发送端的请求权限进行校验。接收端可以根据请求报文中请求类型字段中的内容,确定发送端请求的请求类型。接收端可以根据APPID以及请求类型,对该APPID的业务权限进行安全认证,如果该APPID具有操作该请求类型的权限,则认证通过,否则,认证不通过。
具体结合以下示例进行说明。请求报文的接收端为医疗领域数据开放平台,发送端为与该数据开放平台的外部合作机构的服务器。请求报文中请求类型字段的内容为“血糖”,医疗领域数据开放平台可以根据请求类型“血糖”,判断请求报文中的APPID是否具有访问“血糖”类型数据的权限。
可选地,可以将属于目标用户的数据与用户标识进行关联,得到目标用户的关联数据,其中,属于目标用户的数据为通过目标用户提交的数据;在请求报文所请求的目标数据属于关联数据的情况下,允许目标用户访问目标数据。
具体结合以下示例进行说明。请求报文的接收端为医疗领域数据开放平台,发送端为与该数据开放平台的外部合作机构的服务器。A患者的血糖数据通过目标用户提交,将该数据与目标用户的用户标识相关联。发送端请求A患者的血糖数据。则请求的是目标用户的关联数据,允许目标用户访问该数据。
可选地,在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,在对请求报文进行安全认证通过的情况下,向发送端发送响应报文,其中,响应报文中携带有请求报文请求的目标数据。
可选地,接收端向发送端发送与其关联数据可以是由接收端主动向发送端推送的。上述主动推送可以是周期触发的,也可以是条件触发的。具体的触发方式可以根据需要进行设定,本实施例中对此不做具体限定。
可选地,在接收到响应报文之后,响应报文的接收端(即,请求报文的发送端)通过与前述类似的方式对响应报文进行安全认证,区别可以在于:不进行IP来源和请求类型的安全认证,在此不作赘述。
通过本实施例,采用对称密钥对请求报文中的报文内容进行解密,得到解密内容;采用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要,对包含解密内容的目标内容进行消息摘要计算,得到第二消息摘要,并使用第一消息摘要与第二消息摘要,对请求报文进行安全认证,结合了非对称密钥安全性高和对称密钥加密速度快的特点,在达到防御报文内容被篡改的目的的同时,减少了对安全认证效率的影响,可以提高报文传输的安全性。
作为一种可选的方案,在使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容使之前,上述方法还包括:
S1,从请求报文中提取出发送端的IP地址;
S2,使用IP地址与指定IP列表,对IP地址的合法性进行安全认证,其中,指定IP列表为预先记录的允许进行访问的IP地址的列表。
通过本实施例,对请求报文的来源IP进行校验,进一步提高了报文传输的安全性。
作为一种可选的方案,在对目标内容进行消息摘要运算,得到第二消息摘要之前,上述方法还包括:
S1,提取请求报文中的时间戳,其中,目标内容还包括时间戳;
S2,使用时间戳,对请求报文的有效性进行安全认证。
通过本实施例,使用请求报文中携带的TS时间戳,对请求报文发送时间的有效性进行校验,在报文层面防御网络重放攻击,从而避免了网络劫持请求重放导致的安全隐患,提高了报文传输的安全性。
作为一种可选的方案,在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,上述方法还包括:
S1,提取请求报文中的请求类型字段,得到与请求报文所请求的目标数据所对应的请求类型;
S2,使用用户标识,判断目标用户是否具有访问请求类型的访问权限;
S3,在目标用户具有访问请求类型的访问权限的情况下,允许目标用户访问目标数据。
例如,在请求报文的CONTENT字段中,包括请求类型字段,请求类型字段中携带有请求业务类型的标识信息,根据用户标识和该标识信息,接收端对目标用户是否具有对请求业务进行操作的权限。
通过本实施例,通过设置请求类型字段,可以对不同用户的请求类型的权限范围进行限定,从而提供了对用户的分级管理,进而提高了用户管理的效率。
作为一种可选的方案,在接收发送端发送的请求报文之前,上述方法还包括:
S1,接收发送端发送的注册请求;
S2,响应注册请求为目标用户分配用户标识、非对称密钥和对称密钥;
S3,保存用户标识、非对称密钥中的私钥和对称密钥;
S4,将分配的用户标识、非对称密钥中的公钥和对称密钥发送给接收端。
通过本实施例,通过请求-响应的方式为目标用户分配唯一的用户标识、非对称密钥和对称密钥,非对称密钥和对称密钥与用户标识之间具备唯一的对应关系,可以保证用户之间的数据隔离,提高密钥管理的效率。
作为一种可选的方案,
在接收发送端发送的请求报文之前,上述方法还包括:将属于目标用户的数据与用户标识进行关联,得到目标用户的关联数据,其中,属于目标用户的数据为通过目标用户提交的数据;
在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,上述方法还包括:在请求报文所请求的目标数据属于关联数据的情况下,允许目标用户访问目标数据。
通过本实施例,通过将通过目标用户提交的数据与该目标用户的用户标识进行关联,并在请求的数据属于目标用户的关联数据的请求下允许目标用户访问请求的数据,可以保证用户数据之间的隔离度,提高用户数据的安全性。
作为一种可选的方案,在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,上述方法还包括:
在对请求报文进行安全认证通过的情况下,向发送端发送响应报文,其中,响应报文中携带有请求报文请求的目标数据。
通过本实施例,对请求报文进行安全认证,在安全认证通过之后向发送端发送携带有发送端请求的目标数据的响应报文,从而安全认证通过之后才发送响应报文的方式,提高了数据传输的安全性。
为说明方案的整个流程交互,下面结合具体示例对本实施例中的安全认证方法进行具体说明。
在本示例中,该安全认证方法应用在:医疗领域数据开放平台(以下简称数据开放平台)与客户服务器(外部合作机构的服务器,外部客户)进行数据交换,对数据传输安全性有较高要求的场景。数据开放平台通过HTTP协议与外部客户进行通信。数据开放平台同时提供两种数据交互方式:(1)向客户主动推送数据;(2)客户主动拉取数据。
在本示例中,目标内容包括:报文内容和时间戳,报文内容包括:请求类型和请求体。采用的非对称加密算法为:RSA加密算法,对称加密算法为:AES加密算法。消息摘要算法为:MD5,编码方式为:BASE64算法,接收报文为请求报文。
如图5所示,服务端(数据开放平台侧)接收到请求报文后,对收到请求报文进行安全认证:依次校验请求IP来源的合法性、APPID的合法性、请求时间戳的有效性、用户签名的合法性、权限校验。只有上述认证都合法的情况下,才进行相应的业务处理;如果有一项认证没有通过,则直接认定为非法请求,上述安全认证方法的具体步骤如下:
S502,对请求的IP来源进行合法性校验,判断该IP是否为合法IP,如果是,执行S504,否则,确定为非法请求,结束;
在判断IP地址是否为合法IP时,只有在事先登记的指定IP列表中的来源IP才能访问,校验成功。
S504,对请求的APPID进行合法性校验,判断该APPID是否为合法APPID,如果是,执行S506,否则,确定为非法请求,结束。
在判断APPID是否为合法APPID时,只有已分配的APPID才能校验成功。
S506,对请求报文的时间戳时效进行校验,判断时间戳是否在有效时间范围内,如果是,执行S508,否则,确定为非法请求,结束。
在判断请求的时间戳是否在有效时间范围时,只有与当前时间的差值在目标阈值内的时间戳,才能校验成功。
S508,对请求内容CONTENT进行BASE64解码,再进行AES解密。
S510,对签名进行校验,判断报文内容是否被篡改,如果是,确定为非法请求,结束;如果否,执行S512。
对SIGN(签名)进行BASE64解码,用RSA私钥解密得到MD5值;然后将请求内容密文(报文内容)进行AES解密得到请求原文(解密内容),然后将请求原文加请求时间戳TS进行MD5运算得到的结果,与SIGN解密得到的结果比较,如果二者一致则是合法请求,否则为非法请求。
S512,对APPID的权限进行校验,判断该APPID是否有对应的操作权限,如果是,执行S514;如果否,确定为非法请求,结束。
根据解密后的请求内容(解密内容)中的req_type字段,判断该APPID是否有相应的权限。可以基于业务类型字段(请求类型字段)中的业务类型(请求类型)与预置的APPID对应业务权限的对应表,进行业务权限的判断。
S514,安全校验通过,进行业务处理。
上述示例仅用于说明本实施例的安全认证方法,而不应对该方法造成限定。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例的又一个方面,还提供了一种用于实施上述安全认证方法的安全认证装置,如图6所示,该装置包括:
(1)第一加密单元602,用于使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;
(2)第二加密单元604,用于使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容;
(3)发送单元606,用于将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。
可选地,上述安全认证装置可以但不限于发送端与接收端之间进行报文数据交互的过程。例如数据开放平台与客户服务器之间报文数据的交互过程,或者服务器与用户终端之间报文数据的交互过程,或者用户终端与用户终端之间报文数据的交互过程。其中,上述数据开放平台可以是医疗领域数据开放平台、计算机领域数据开放平台。以上只是一种示例,在此不做具体限定。
可选地,请求报文可以包括但不限于以下部分:APPID、SIGN和CONTENT。上述各部分可以分别与请求报文的APPID字段、SIGN字段和CONTENT字段对应。
可选地,在本实施例中,使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名。
可选地,在使用非对称密钥中的公钥对目标内容的消息摘要进行加密之前,可以对目标内容进行消息摘要运算,得到目标内容的消息摘要。消息摘要可以是根据消息摘要算法对目标内容进行消息摘要运算得到的。
可选地,请求报文还可以包括:时间戳。该时间可以是开始生成请求报文时的时间,也可以是请求报文生成完成时的时间。该时间戳可以是发起请求时的UNIX时间戳。在生成请求报文的时间戳之后,TS可以被填写至请求报文的TS字段,以便在请求报文加、解密时使用。由于TS无法被修改,TS可用于报文接收端对报文时间的有效性进行安全认证。
可选地,时间戳可以在对目标内容进行加密之前生成。时间戳可以作为目标内容的一部分,与报文内容一起通过消息摘要运算,生成用户签名。
可选地,在本实施例中,可以使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容。
可选地,对称密钥为使用对称加密算法对报文进行加密时所使用的密钥。对称加密算法使用同一个密钥进行加密和解密。
可选地,生成的加密内容可以填写至请求报文的CONTENT字段。
可选地,请求报文还可以包括,请求类型字段。请求类型字段可以用于标识请求业务的类型,请求类型与请求报文的发送端所请求的目标数据相对应,用于使请求报文的接收端对请求报文的发送端所对应的目标用户是否具有访问该请求类型的访问权项进行判断。在接收到请求报文之后,接收端可以根据请求报文中请求类型字段中的内容,确定发送端请求的请求类型。接收端可以根据APPID以及请求类型,对该APPID是否具有该请求类型的访问权限进行判断,如果该APPID具有访问权限,则认证通过,否则,认证不通过。
可选地,在本实施例中,将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。在生成请求报文时,可以分别生成报文的各部分并填写至对应字段,也可以首先生成所有部分,再对应地填写至各字段,以生成请求报文。
可选地,发送端可以在生成请求报文时,通过目标编码算法对用户签名及加密内容进行编码。此时,在执行编码操作之后,将编码后的用户签名填写至请求报文的SIGN字段,将编码后的加密信息填写至请求报文的CONTENT字段,以生成请求报文。发送端也可以在生成请求报文之后,通过目标编码算法对生成的请求报文进行编码,并将编码后的请求报文发送给接收端。
可选地,在使用非对称密钥中的公钥对目标内容的消息摘要进行加密之前,请求报文的发送端可以向请求报文的接收端发送注册请求,并接收该接收端响应上述注册请求为目标用户所分配的用户标识、非对称密钥中的公钥和对称密钥。
可选地,请求报文中还可以包括:发送端的IP地址,上述IP地址可以作为一个单独的字段,也可以写入报文内容部分。具体写入的位置,可以根据需要进行设定,对此不做具体限定。
可选地,在将包含用户签名和加密内容的请求报文发送给接收端之后,还可以接收请求报文的接收端对请求报文进行安全认证通过后发送响应报文,其中,响应报文携带有目标数据。
通过本实施例,通过使用非对称密钥中的公钥对包含报文内容的目标内容的消息摘要进行加密,得到用户签名,使用对称密钥对报文内容进行加密,得到加密内容,并将包括该用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,可以达到防御报文内容被篡改的目的,提高报文传输的安全性。
作为一种可选的方案,上述装置还包括:
生成单元,用于在使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名之前,生成请求报文的时间戳,其中,目标内容还包括时间戳。
通过本实施例,在待发送报文中携带TS时间戳,以使接收端校验请求时间的有效性,从而避免了网络劫持请求重放导致的安全隐患,提高了报文传输的安全性。
作为一种可选的方案,上述装置还包括:接收单元,其中,
(1)发送单元,还用于向接收端发送注册请求;
(2)第一接收单元,用于接收上述接收端响应注册请求为目标用户所分配的用户标识、公钥和对称密钥。
通过本实施例,通过请求-响应的方式为目标用户分配唯一的用户标识、非对称密钥和对称密钥,非对称密钥和对称密钥与用户标识之间具备唯一的对应关系,可以保证用户之间的数据隔离,提高密钥管理的效率。
作为一种可选的方案,上述装置还包括:
第二接收单元,用于在将包含用户签名和加密内容的请求报文发送给接收端之后,接收上述接收端对请求报文进行安全认证通过后发送响应报文,其中,响应报文携带有目标数据。
通过本实施例,通过接收端对请求报文进行安全认证,在安全认证通过之后向发送端发送携带有发送端请求的目标数据的响应报文,从而安全认证通过之后才发送响应报文的方式,提高了数据传输的安全性。
根据本发明实施例的又一个方面,还提供了一种用于实施上述安全认证方法的安全认证装置,如图7所示,该装置包括:
(1)接收单元702,用于接收发送端发送的请求报文;
(2)第一解密单元704,用于使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容,其中,请求报文还包括:与发送端对应的目标用户的用户标识、用户签名,用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,用户标识与非对称密钥和对称密钥具有唯一的一一对应关系;
(3)第二解密单元706,用于使用非对称密钥中的私钥对用户签名进行解密,得到第一消息摘要;
(4)运算单元708,用于对包含解密内容的目标内容进行消息摘要运算,得到第二消息摘要;
(5)认证单元710,用于使用第一消息摘要与第二消息摘要,对请求报文的进行安全认证。
可选地,在本实施例中,接收发送端发送的请求报文。
可选地,在使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容之前,可以对请求报文的IP来源进行安全认证:从请求报文中提取出发送端的IP地址;使用IP地址与指定IP列表,对IP地址的合法性进行安全认证,其中,指定IP列表为预先记录的允许进行访问的IP地址的列表。
可选地,指定IP列表可以由请求报文的接收端事先登记,也可以由其他设备主动向接收端推送,还可以由接收端从其他设备或者数据库中获取。可以在向新用户分配APPID时,由该用户处接收的报文中提出报文的IP地址,对APPID与IP地址之间的对应关系或仅对IP地址进行登记,从而更新指定IP列表。指定IP列表还可以由管理设备进行指定,或者由用户进行指定。上述仅为示例,本实施例中对此不作限定。
可选地,在对请求报文的IP来源进行安全认证之后,可以对请求报文中的APPID进行安全认证:从请求报文中提取出目标用户的APPID;使用提取的APPID与指定APPID列表,对APPID的合法性进行安全认证,其中,指定APPID列表为预先记录的已分配的APPID。
可选地,指定APPID列表可以由请求报文的接收端事先登记,也可以由其他设备向接收端推送,还可以由该接收端从其他设备或者数据库中获取。可以在向新用户分配APPID时,对分配的IPPID地址进行登记,从而更新指定APPID列表。上述仅为示例,本实施例中对此不作限定。
可选地,在对目标内容进行消息摘要运算,得到第二消息摘要之前,可以提取接收报文中的时间戳,其中,目标内容还包括时间戳;使用提取的时间戳,对请求报文的有效性进行安全认证。
可选地,在本实施例中,使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容,其中,请求报文还包括:与发送端对应的目标用户的用户标识、用户签名,用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,用户标识与非对称密钥和对称密钥具有唯一的一一对应关系。
可选地,用户标识、非对称密钥和对称密钥可以是由接收端根据发送端发送的注册请求为目标用户分配的,也可以是由其他设备为发送端分配完成之后向接收端发送的。例如,接收端可以接收发送端发送的注册请求;响应该注册请求,为目标用户分配用户标识、非对称密钥和对称密钥;保存用户标识、非对称密钥中的私钥和对称密钥;将分配的用户标识、非对称密钥中的公钥和对称密钥发送给接收端。
可选地,在使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容之前,可以首先通过解码算法对请求报文的报文内容进行解码。
可选地,报文内容为经请求报文的发送端进行对称加密处理后的内容,该内容可以携带在请求报文的CONTENT字段中。对称密钥为使用对称加密算法对报文进行加解密时所使用的密钥。对称加密算法使用同一个密钥进行加密和解密。
可选地,在本实施例中,使用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要。
可选地,在使用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要之前,可以通过解码算法对接收报文的用户签名进行解码。
可选地,在接收到请求报文之后,获取请求报文中的用户签名,该用户签名是由请求报文的发送端对目标内容进行消息摘要运算后得到第一消息摘要,使用非对称密钥中的公钥对第一消息摘要进行加密后得到。使用非对称密钥对中的私钥对请求报文中的用户签名进行解密,即可得到第一消息摘要。
可选地,在本实施例中,对包含解密内容的目标内容进行消息摘要运算,得到第二消息摘要;使用第一消息摘要与第二消息摘要,对请求报文进行安全认证。
由于发送端和接收端采用相同的摘要计算方式对目标内容进行消息摘要运算,如果发送端的目标消息和接收端的目标消息相同,则生成的第两个摘要也是相同的,可以基于两个消息摘要,对请求报文进行安全认证。
可选地,在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,在认证通过的情况下,提取请求报文中的请求类型字段,得到与请求报文所请求的目标数据所对应的请求类型;使用用户标识,判断目标用户是否具有访问请求类型的访问权限;在目标用户具有访问请求类型的访问权限的情况下,允许目标用户访问目标数据。
可选地,请求报文可以包括:请求类型字段。该字段可以是请求报文中的独立字段,也可以是CONTENT字段中的一部分,除了请求类型字段之外,CONTENT字段还可以包括:请求体字段。进行对称加密的可以是CONTENT字段中的所有内容,也可以是写入请求体字段中的报文内容。上述仅是一种示例,本实施例中对此不作限定。
可选地,请求类型字段可以用于标识请求业务的请求类型,以便对待发送报文的发送端的请求权限进行校验。接收端可以根据请求报文中请求类型字段中的内容,确定发送端请求的请求类型。接收端可以根据APPID以及请求类型,对该APPID的业务权限进行安全认证,如果该APPID具有操作该请求类型的权限,则认证通过,否则,认证不通过。
可选地,可以将属于目标用户的数据与用户标识进行关联,得到目标用户的关联数据,其中,属于目标用户的数据为通过目标用户提交的数据;在请求报文所请求的目标数据属于关联数据的情况下,允许目标用户访问目标数据。
可选地,在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,在对请求报文进行安全认证通过的情况下,向发送端发送响应报文,其中,响应报文中携带有请求报文请求的目标数据。
可选地,接收端向发送端发送其关联数据可以是由接收端主动向发送端推送的。上述主动推送可以是周期触发的,也可以是条件触发的。具体的触发方式可以根据需要进行设定,本实施例中对此不做具体限定。
可选地,在接收到响应报文之后,响应报文的接收端(即,请求报文的发送端)通过与前述类似的方式对响应报文进行安全认证,区别可以在于:不进行IP来源和请求类型的安全认证,在此不作赘述。
通过本实施例,采用对称密钥对请求报文中的报文内容进行解密,得到解密内容;采用非对称密钥中的私钥对请求报文中的用户签名进行解密,得到第一消息摘要,对包含解密内容的目标内容进行消息摘要计算,得到第二消息摘要,并使用第一消息摘要与第二消息摘要,对请求报文进行安全认证,结合了非对称密钥安全性高和对称密钥加密速度快的特点,在达到防御报文内容被篡改的目的的同时,减少了对安全认证效率的影响,可以提高报文传输的安全性。
作为一种可选的方案,上述装置还包括:第一提取单元,其中,
(1)第一提取单元,用于在使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容使之前,从请求报文中提取出发送端的IP地址;
(2)认证单元710,还用于使用IP地址与指定IP列表,对IP地址的合法性进行安全认证,其中,指定IP列表为预先记录的允许进行访问的IP地址的列表。
通过本实施例,对请求报文的来源IP进行校验,进一步提高了报文传输的安全性。
作为一种可选的方案,上述装置还包括:第二提取单元,其中,
(1)第二提取单元,用于在对目标内容进行消息摘要运算,得到第二消息摘要之前,提取请求报文中的时间戳,其中,目标内容还包括时间戳;
(2)认证单元710,还用于使用时间戳,对请求报文的有效性进行安全认证。
通过本实施例,使用请求报文中携带的TS时间戳,对请求报文发送时间的有效性进行校验,在报文层面防御网络重放攻击,从而避免了网络劫持请求重放导致的安全隐患,提高了报文传输的安全性。
作为一种可选的方案,上述装置还包括:
(1)第三提取单元,用于在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,提取请求报文中的请求类型字段,得到与请求报文所请求的目标数据所对应的请求类型;
(2)判断单元,用于使用用户标识,判断目标用户是否具有访问请求类型的访问权限;
(3)第一允许单元,用于在目标用户具有访问请求类型的访问权限的情况下,允许目标用户访问目标数据。
通过本实施例,通过设置请求类型字段,可以对不同用户的请求类型的权限范围进行限定,从而提供了对用户的分级管理,进而提高了用户管理的效率。
作为一种可选的方案,上述装置还包括:分配单元,保存单元和第一发送单元,其中,
(1)接收单元702,还用于接收发送端发送的注册请求;
(2)分配单元,用于响应注册请求为目标用户分配用户标识、非对称密钥和对称密钥;
(3)保存单元,用于保存用户标识、非对称密钥中的私钥和对称密钥;
(4)第一发送单元,用于将分配的用户标识、非对称密钥中的公钥和对称密钥发送给接收端。
通过本实施例,通过请求-响应的方式为目标用户分配唯一的用户标识、非对称密钥和对称密钥,非对称密钥和对称密钥与用户标识之间具备唯一的对应关系,可以保证用户之间的数据隔离,提高密钥管理的效率。
作为一种可选的方案,上述装置还包括:
(1)关联单元,用于在接收发送端发送的请求报文之前,将属于目标用户的数据与用户标识进行关联,得到目标用户的关联数据,其中,属于目标用户的数据为通过目标用户提交的数据;
(2)第二允许单元,用于在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,在请求报文所请求的目标数据属于关联数据的情况下,允许目标用户访问目标数据。
通过本实施例,通过将通过目标用户提交的数据与该目标用户的用户标识进行关联,并在请求的数据属于目标用户的关联数据的请求下允许目标用户访问请求的数据,可以保证用户数据之间的隔离度,提高用户数据的安全性。
作为一种可选的方案,上述装置还包括:
第二发送单元,用于在使用第一消息摘要与第二消息摘要,对请求报文进行安全认证之后,在对请求报文进行安全认证通过的情况下,向发送端发送响应报文,其中,响应报文中携带有请求报文请求的目标数据。
通过本实施例,对请求报文进行安全认证,在安全认证通过之后向发送端发送携带有发送端请求的目标数据的响应报文,从而安全认证通过之后才发送响应报文的方式,提高了数据传输的安全性。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;
S2,使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容;
S3,将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收发送端发送的请求报文;
S2,使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容,其中,请求报文还包括:与发送端对应的目标用户的用户标识、用户签名,用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,用户标识与非对称密钥和对称密钥具有唯一的一一对应关系;
S3,使用非对称密钥中的私钥对用户签名进行解密,得到第一消息摘要;
S4,对包含解密内容的目标内容进行消息摘要运算,得到第二消息摘要;
S5,使用第一消息摘要与第二消息摘要,对请求报文进行安全认证。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述安全认证方法的电子装置,如图8所示,该电子装置包括:处理器802、存储器804、用户接口806、传输装置808等。该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;
S2,使用对称密钥对目标内容中包括的报文内容进行加密,得到加密内容;
S3,将包含用户签名和加密内容的请求报文发送给接收端,以使接收端对请求报文进行安全认证,其中,请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,请求报文还包含用户标识,非对称密钥和对称密钥与目标用户的用户标识具有唯一的对应关系。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收发送端发送的请求报文;
S2,使用对称密钥对请求报文中包含的报文内容进行解密,得到解密内容,其中,请求报文还包括:与发送端对应的目标用户的用户标识、用户签名,用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,用户标识与非对称密钥和对称密钥具有唯一的一一对应关系;
S3,使用非对称密钥中的私钥对用户签名进行解密,得到第一消息摘要;
S4,对包含解密内容的目标内容进行消息摘要运算,得到第二消息摘要;
S5,使用第一消息摘要与第二消息摘要,对请求报文进行安全认证。
可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
其中,存储器804可用于存储软件程序以及模块,如本发明实施例中的安全认证方法和装置对应的程序指令/模块,处理器802通过运行存储在存储器804内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述安全认证方法。存储器804可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器804可进一步包括相对于处理器802远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置808用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置808包括一个网络适配器,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置808为射频模块,其用于通过无线方式与互联网进行通讯。
用户接口806,用于获取输入的操作指令(例如用于获取数据的命令等)。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种安全认证方法,其特征在于,包括:
使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;
使用对称密钥对所述目标内容中包括的报文内容进行加密,得到加密内容;
将包含所述用户签名和所述加密内容的请求报文发送给接收端,以使所述接收端对所述请求报文进行安全认证,其中,所述请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,所述请求报文还包含所述用户标识,所述非对称密钥和所述对称密钥与所述目标用户的用户标识具有唯一的对应关系。
2.根据权利要求1所述的方法,其特征在于,在使用所述非对称密钥中的所述公钥对所述目标内容的消息摘要进行加密,得到所述用户签名之前,所述方法还包括:
生成所述请求报文的时间戳,其中,所述目标内容还包括所述时间戳。
3.根据权利要求1中所述的方法,其特征在于,所述请求报文还包含:请求类型字段,其中,所述请求类型与所述目标数据相对应,用于使所述接收端对所述目标用户是否具有访问所述请求类型的访问权项进行判断。
4.根据权利要求1所述的方法,其特征在于,在使用所述非对称密钥中的公钥对目标内容的消息摘要进行加密之前,所述方法还包括:
向所述接收端发送注册请求;
接收所述接收端响应所述注册请求为所述目标用户所分配的所述用户标识、所述公钥和所述对称密钥。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在将包含所述用户签名和所述加密内容的请求报文发送给所述接收端之后,所述方法还包括:
接收所述接收端对所述请求报文进行安全认证通过后发送响应报文,其中,所述响应报文携带有所述目标数据。
6.一种安全认证方法,其特征在于,包括:
接收发送端发送的请求报文;
使用对称密钥对所述请求报文中包含的报文内容进行解密,得到解密内容,其中,所述请求报文还包括:与所述发送端对应的目标用户的用户标识、用户签名,所述用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,所述用户标识与所述非对称密钥和所述对称密钥具有唯一的一一对应关系;
使用所述非对称密钥中的私钥对所述用户签名进行解密,得到所述第一消息摘要;
对包含所述解密内容的目标内容进行消息摘要运算,得到第二消息摘要;
使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证。
7.根据权利要求6中所述的方法,其特征在于,在使用所述对称密钥对所述请求报文中包含的所述报文内容进行解密,得到所述解密内容使之前,所述方法还包括:
从所述请求报文中提取出所述发送端的IP地址;
使用所述IP地址与指定IP列表,对所述IP地址的合法性进行安全认证,其中,所述指定IP列表为预先记录的允许进行访问的IP地址的列表。
8.根据权利要求6中所述的方法,其特征在于,在对所述目标内容进行消息摘要运算,得到所述第二消息摘要之前,所述方法还包括:
提取所述请求报文中的时间戳,其中,所述目标内容还包括所述时间戳;
使用所述时间戳,对所述请求报文的有效性进行安全认证。
9.根据权利要求6中所述的方法,其特征在于,在使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证之后,所述方法还包括:
提取所述请求报文中的请求类型字段,得到与所述请求报文所请求的目标数据所对应的请求类型;
使用所述用户标识,判断所述目标用户是否具有访问所述请求类型的访问权限;
在所述目标用户具有访问所述请求类型的访问权限的情况下,允许所述目标用户访问所述目标数据。
10.根据权利要求6中所述的方法,其特征在于,在接收所述发送端发送的所述请求报文之前,所述方法还包括:
接收所述发送端发送的注册请求;
响应所述注册请求为所述目标用户分配所述用户标识、所述非对称密钥和所述对称密钥;
保存所述用户标识、所述非对称密钥中的私钥和所述对称密钥;
将分配的所述用户标识、所述非对称密钥中的公钥和所述对称密钥发送给所述发送端。
11.根据权利要求10中所述的方法,其特征在于,
在接收所述发送端发送的所述请求报文之前,所述方法还包括:将属于所述目标用户的数据与所述用户标识进行关联,得到所述目标用户的关联数据,其中,属于所述目标用户的数据为通过所述目标用户提交的数据;
在使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证之后,所述方法还包括:在所述请求报文所请求的目标数据属于所述关联数据的情况下,允许所述目标用户访问所述目标数据。
12.根据权利要求6至11中任一项所述的方法,其特征在于,在使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证之后,所述方法还包括:
在对所述请求报文进行安全认证通过的情况下,向所述发送端发送响应报文,其中,所述响应报文中携带有所述请求报文请求的目标数据。
13.一种安全认证装置,其特征在于,包括:
第一加密单元,用于使用非对称密钥中的公钥对目标内容的消息摘要进行加密,得到用户签名;
第二加密单元,用于使用对称密钥对所述目标内容中包括的报文内容进行加密,得到加密内容;
发送单元,用于将包含所述用户签名和所述加密内容的请求报文发送给接收端,以使所述接收端对所述请求报文进行安全认证,其中,所述请求报文用于请求与发送端对应的目标用户的用户标识相关联的目标数据,所述请求报文还包含所述用户标识,所述非对称密钥和所述对称密钥与所述目标用户的用户标识具有唯一的对应关系。
14.一种安全认证装置,其特征在于,包括:
接收单元,用于接收发送端发送的请求报文;
第一解密单元,用于使用对称密钥对所述请求报文中包含的报文内容进行解密,得到解密内容,其中,所述请求报文还包括:与所述发送端对应的目标用户的用户标识、用户签名,所述用户签名由使用非对称密钥中的公钥对第一消息摘要进行加密得到,其中,所述用户标识与所述非对称密钥和所述对称密钥具有唯一的一一对应关系;
第二解密单元,用于使用所述非对称密钥中的私钥对所述用户签名进行解密,得到所述第一消息摘要;
运算单元,用于对包含所述解密内容的目标内容进行消息摘要运算,得到第二消息摘要;
认证单元,用于使用所述第一消息摘要与所述第二消息摘要,对所述请求报文进行安全认证。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的方法。
CN201810350361.7A 2018-04-18 2018-04-18 安全认证方法和装置及存储介质 Pending CN110198295A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810350361.7A CN110198295A (zh) 2018-04-18 2018-04-18 安全认证方法和装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810350361.7A CN110198295A (zh) 2018-04-18 2018-04-18 安全认证方法和装置及存储介质

Publications (1)

Publication Number Publication Date
CN110198295A true CN110198295A (zh) 2019-09-03

Family

ID=67751057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810350361.7A Pending CN110198295A (zh) 2018-04-18 2018-04-18 安全认证方法和装置及存储介质

Country Status (1)

Country Link
CN (1) CN110198295A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855622A (zh) * 2019-10-17 2020-02-28 上海海加网络科技有限公司 一种分布式系统敏感数据传输保护方法及装置
CN110890965A (zh) * 2019-12-10 2020-03-17 天津华云软件有限公司 数据加密方法、装置、数据解密方法及装置
CN111162899A (zh) * 2020-01-13 2020-05-15 成都安联云防保安服务有限公司 一种安全风险隐患数据加密传输方法
CN111510455A (zh) * 2020-04-16 2020-08-07 神州数码融信软件有限公司 一种请求报文认证及数据传输方法
CN112230889A (zh) * 2020-10-16 2021-01-15 湖南皖湘科技有限公司 一种制作软件开发编码规范的方法
CN112511295A (zh) * 2020-11-12 2021-03-16 银联商务股份有限公司 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112818330A (zh) * 2021-04-19 2021-05-18 北京华益精点生物技术有限公司 血糖仪软件授权方法、系统及血糖仪
CN113098824A (zh) * 2019-12-23 2021-07-09 中国移动通信集团山西有限公司 Cxf框架的请求报文传输方法、装置、系统、设备和介质
CN113468569A (zh) * 2021-07-13 2021-10-01 京东科技控股股份有限公司 数据加密方法及装置、数据解密方法及装置
CN114499849A (zh) * 2022-01-27 2022-05-13 王立娟 一种服务用户终端、安全传输系统及方法
CN114499875A (zh) * 2021-12-31 2022-05-13 兴业消费金融股份公司 业务数据处理方法、装置、计算机设备和存储介质
CN115086079A (zh) * 2022-07-27 2022-09-20 远江盛邦(北京)网络安全科技股份有限公司 防止报文攻击的单包认证方法、装置、电子设备及介质
CN116208428A (zh) * 2023-04-27 2023-06-02 中科信工创新技术(北京)有限公司 一种传输文件的方法、系统、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287192A (zh) * 2007-04-13 2008-10-15 联想(北京)有限公司 非接触式应用升级的方法、设备、应用下载中心和系统
CN102185691A (zh) * 2011-03-31 2011-09-14 中山大学深圳研究院 基于数字家庭的综合业务卡信息加密方法
CN104424446A (zh) * 2013-08-21 2015-03-18 中外建设信息有限责任公司 一种安全认证和传输的方法和系统
US9288059B2 (en) * 2013-09-10 2016-03-15 M2M And Iot Technologies, Llc Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287192A (zh) * 2007-04-13 2008-10-15 联想(北京)有限公司 非接触式应用升级的方法、设备、应用下载中心和系统
CN102185691A (zh) * 2011-03-31 2011-09-14 中山大学深圳研究院 基于数字家庭的综合业务卡信息加密方法
CN104424446A (zh) * 2013-08-21 2015-03-18 中外建设信息有限责任公司 一种安全认证和传输的方法和系统
US9288059B2 (en) * 2013-09-10 2016-03-15 M2M And Iot Technologies, Llc Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855622A (zh) * 2019-10-17 2020-02-28 上海海加网络科技有限公司 一种分布式系统敏感数据传输保护方法及装置
CN110890965A (zh) * 2019-12-10 2020-03-17 天津华云软件有限公司 数据加密方法、装置、数据解密方法及装置
CN113098824A (zh) * 2019-12-23 2021-07-09 中国移动通信集团山西有限公司 Cxf框架的请求报文传输方法、装置、系统、设备和介质
CN111162899A (zh) * 2020-01-13 2020-05-15 成都安联云防保安服务有限公司 一种安全风险隐患数据加密传输方法
CN111510455B (zh) * 2020-04-16 2022-06-10 神州数码融信软件有限公司 一种请求报文认证及数据传输方法
CN111510455A (zh) * 2020-04-16 2020-08-07 神州数码融信软件有限公司 一种请求报文认证及数据传输方法
CN112230889A (zh) * 2020-10-16 2021-01-15 湖南皖湘科技有限公司 一种制作软件开发编码规范的方法
CN112511295A (zh) * 2020-11-12 2021-03-16 银联商务股份有限公司 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112511295B (zh) * 2020-11-12 2022-11-22 银联商务股份有限公司 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112818330A (zh) * 2021-04-19 2021-05-18 北京华益精点生物技术有限公司 血糖仪软件授权方法、系统及血糖仪
CN113468569A (zh) * 2021-07-13 2021-10-01 京东科技控股股份有限公司 数据加密方法及装置、数据解密方法及装置
CN114499875A (zh) * 2021-12-31 2022-05-13 兴业消费金融股份公司 业务数据处理方法、装置、计算机设备和存储介质
CN114499875B (zh) * 2021-12-31 2024-05-10 兴业消费金融股份公司 业务数据处理方法、装置、计算机设备和存储介质
CN114499849A (zh) * 2022-01-27 2022-05-13 王立娟 一种服务用户终端、安全传输系统及方法
CN115086079A (zh) * 2022-07-27 2022-09-20 远江盛邦(北京)网络安全科技股份有限公司 防止报文攻击的单包认证方法、装置、电子设备及介质
CN116208428A (zh) * 2023-04-27 2023-06-02 中科信工创新技术(北京)有限公司 一种传输文件的方法、系统、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN110198295A (zh) 安全认证方法和装置及存储介质
US10785019B2 (en) Data transmission method and apparatus
CN109309565B (zh) 一种安全认证的方法及装置
CN103763631B (zh) 认证方法、服务器和电视机
US9467430B2 (en) Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware
US9887838B2 (en) Method and device for secure communications over a network using a hardware security engine
JP6399382B2 (ja) 認証システム
CN104219228B (zh) 一种用户注册、用户识别方法及系统
CN109040149A (zh) 密钥协商方法、云服务器、设备、存储介质以及系统
CN108347419A (zh) 数据传输方法和装置
CN105162599B (zh) 一种数据传输系统及其传输方法
CN108173644A (zh) 数据传输加密方法、装置、存储介质、设备及服务器
CN104639516A (zh) 身份认证方法、设备及系统
JP2019530265A (ja) グラフィックコード情報を提供及び取得する方法及び装置並びに端末
CN106941404B (zh) 密钥保护方法及装置
US11057196B2 (en) Establishing shared key data for wireless pairing
CN103166931A (zh) 一种安全传输数据方法,装置和系统
CN114362993B (zh) 一种区块链辅助的车联网安全认证方法
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
CN108809633B (zh) 一种身份认证的方法、装置及系统
US20150100789A1 (en) Proof Of Device Genuineness
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN109150526A (zh) 密钥协商方法、设备、终端、存储介质以及系统
TWI526871B (zh) Server, user device, and user device and server interaction method

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190903

RJ01 Rejection of invention patent application after publication