CN109981667A - 一种用户数据传输方法和装置 - Google Patents

一种用户数据传输方法和装置 Download PDF

Info

Publication number
CN109981667A
CN109981667A CN201910257966.6A CN201910257966A CN109981667A CN 109981667 A CN109981667 A CN 109981667A CN 201910257966 A CN201910257966 A CN 201910257966A CN 109981667 A CN109981667 A CN 109981667A
Authority
CN
China
Prior art keywords
data
user
ciphertext
verification
target user
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
Application number
CN201910257966.6A
Other languages
English (en)
Other versions
CN109981667B (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.)
Beijing Wikipedia Technology Co Ltd
Original Assignee
Beijing Wikipedia Technology 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 Beijing Wikipedia Technology Co Ltd filed Critical Beijing Wikipedia Technology Co Ltd
Priority to CN201910257966.6A priority Critical patent/CN109981667B/zh
Publication of CN109981667A publication Critical patent/CN109981667A/zh
Application granted granted Critical
Publication of CN109981667B publication Critical patent/CN109981667B/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
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

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

一种用户数据传输方法和装置
技术领域
本申请实施例涉及通信领域,特别涉及一种用户数据传输方法和装置。
背景技术
在互联网越来越普及,互联网应用也越来越繁多的今天,越来越多的人们加入这个潮流中来,也有一些不法之徒嗅到了“商机”,通过互联网的各种途径窃取用户的信息,谋取利益。
目前,安全级别很高的信息处理需要硬件参与,例如银行,硬件成本非常的高,开发周期也会变长。大多互联网公司***间用户接入采用的是OAuth(开放鉴权)+OpenId(开放标识)的方式,不仅仅实现这种登录认证以及身份识别方式需要投入很多资源和时间,并且也爆出了很多漏洞,比如影响比较大的有“隐蔽重定向”漏洞,虽然不是OAuth协议本身的问题,但是需要对协议和各种检验熟之又熟,否则会留下安全隐患,导致不法之徒有机可乘。
申请内容
有鉴于此,本发明实施例提供了一种用户数据传输方法和装置,能够以便捷的方式保证用户数据传输的安全。
为此,一方面,本申请实施例提供了一种用户数据传输方法,应用于数据提供方,包括:基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据;对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,以便数据使用方基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
可选地,基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,包括:基于约定数字签名算法并使用数据提供方私钥对目标用户数据进行处理得到第一数字签名作为第一校验数据。
可选地,基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,包括:使用数据提供方私钥对目标用户数据的预定部分进行处理得到第二数字签名作为第一校验数据。
可选地,对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,包括:使用数据使用方公钥对目标用户数据和第一校验数据进行加密并将得到的密文发送给数据使用方。
可选地,对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,包括:使用随机密钥对目标用户数据和第一校验数据进行加密得到第一密文;使用数据使用方公钥对随机密钥进行加密得到第二密文;将第一密文和第二密文发按预定格式进行组装后送给数据使用方。
可选地,目标用户数据是通过对如下数据进行组装而得到的:数据使用方在数据提供方处的唯一应用标识和用户信息数据;或唯一应用标识、用户信息数据以及用户数据协议版本、操作信息代码、时间戳这三种数据中的至少一种。
另一方面,本发明实施例提供了一种用户数据传输装置,应用于数据提供方,包括:安全处理单元,其配置为基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,并对目标用户数据和第一校验数据进行加密得到密文;通信单元,其配置为将所述密文发送给数据使用方,以便数据使用方基于数据使用方私钥获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
再一方面,本发明实施例提供了一种用户数据传输装置,应用于数据提供方,包括处理器,所述处理器配置为运行预定的计算机指令以执行上述任一实施例的应用于数据提供方的用户数据传输方法。
另一方面,本发明实施例提供了一种用户数据传输方法,应用于数据使用方,包括:从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验。
可选地,第一校验数据为数字签名,则使用数据提供方公钥对第一校验数据进行校验,包括:基于目标用户数据并使用数据提供方公钥对第一校验数据进行验签。
可选地,第一校验数据为数字签名,则使用数据提供方公钥对第一校验数据进行校验,包括:基于目标用户数据的预定部分并使用数据提供方公钥对第一校验数据进行验签。
可选地,基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,包括:使用数据使用方私钥对所述密文进行解密得到目标用户数据和第一校验数据。
可选地,所述密文包括第一密文和第二密文,其中,基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,包括:使用数据使用方私钥对第二密文进行解密得到随机密钥;使用随机密钥对第一密文解密得到目标用户数据和第一校验数据。
可选地,目标用户数据是通过对如下数据进行组装而得到的:数据使用方在数据提供方处的唯一应用标识和用户信息数据;或唯一应用标识、用户信息数据以及用户数据协议版本、操作信息代码、时间戳这三种数据中的至少一种。
再一方面,本发明实施例提供了一种用户数据传输装置,其作为数据使用方,该装置包括:通信单元,其配置为从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;处理单元,其配置为基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验。
另一方面,本发明实施例提供了一种用户数据传输装置,其作为数据使用方,所述装置包括处理器,所述处理器配置为运行预定的计算机指令以执行上述任一实施例的应用于作为数据使用方的数据使用方的用户数据传输方法。
通过本发明实施例的用户数据传输方法和装置,能够利用数据提供方的公私钥和数据使用方的公私钥进行用户数据的校验和加密传输,实现了用户数据传输的双向验证,从而能够有效地保证用户数据的传输安全。
附图说明
图1为本发明的用户数据传输方法的一个实施例的示意性流程图。
图2为本发明的用户数据传输方法的另一实施例的示意性流程图。
图3为本发明的用户数据传输方法的另一实施例的示意性流程图。
图4为本发明的用户数据传输方法的另一实施例的示意性流程图。
图5为本发明的用户数据传输方法的另一实施例的示意性流程图。
图6A为本发明的用户数据传输方法的另一实施例的示意性流程图。
图6B为本发明的用户数据传输方法的另一实施例的示意性流程图。
图6C为本发明的用户数据传输方法的另一实施例的示意性流程图。
图7为本发明的用户数据传输装置的一个实施例的示意性框图。
图8为本发明的用户数据传输装置的另一实施例的示意性框图。
图9为本发明的用户数据传输方法的一个实施例的示意性流程图。
图10为本发明的用户数据传输方法的另一实施例的示意性流程图。
图11为本发明的用户数据传输方法的另一实施例的示意性流程图。
图12为本发明的用户数据传输方法的另一实施例的示意性流程图。
图13为本发明的用户数据传输方法的另一实施例的示意性流程图。
图14为本发明的用户数据传输方法的另一实施例的示意性流程图。
图15为本发明的用户数据传输装置的另一实施例的示意性框图。
图16为本发明的用户数据传输装置的另一实施例的示意性框图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,下述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
下面,结合附图详细的说明本申请实施例。
图1为本发明的用户数据传输方法的一个实施例的示意性流程图。本发明实施例的用户数据传输方法应用于数据提供方。如图1所示,本发明实施例的用户数据传输方法包括:
S11:基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据;
S12:对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,以便数据使用方基于数据使用方私钥从密文获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
在本发明的实施例中,数据提供方可以是用户数据的拥有方,数据使用方可以为用户数据的使用方。作为一个具体的实施例,数据使用方例如可以是一个服务器,数据提供方可以是另一服务器,两者由不同的运营商进行操作。作为另一个具体的实施例,数据使用方例如可以是安装在用户终端上的应用,该应用与数据使用方的应用服务器连接,数据提供方可以为另一服务器并且与数据使用方进行通信。
在传输用户数据之前,数据使用方需要预先生成一对公私钥,将其中的公钥提交给数据提供方;数据提供方也需要预先生成一对公私钥,并为数据使用方生成或分配一个唯一标识,用以表示是哪个数据使用方请求使用用户数据,并将该公钥和唯一标识提交给该数据使用方。
用户数据可以包括数据使用方在数据提供方处的唯一标识和用户信息数据。当数据使用方为应用时,该唯一标识可以是唯一应用标识,如AppId。用户信息数据例如可以包括用户在数据提供方处的唯一标识,该唯一标识可以与用户在数据提供方处的登录信息、数字资源、个人资料信息等关联存储。例如,在数据提供方为第三方登录服务器的情况下,数据使用方得到用户信息数据后,每次用户通过登录数据提供方来登录数据使用方时,数据使用方可以通过校验从数据提供方发来的用户信息数据来确定用户已经通过了数据提供方的登录验证,从而使得用户在数据使用方进入登录状态。
在本发明实施例中,数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,第一校验数据用于数据使用方对数据提供方进行验证,因为数据使用方只有使用正确的数据提供方公钥才能对第一校验数据进行验证通过。数据提供方将第一校验数据和目标用户数据一同加密得到密文并发送给数据使用方,是为了对数据使用方进行验证,因为只有特定的数据使用方才持有密文解密过程所需的私钥,才能从密文中得到目标用户数据和第一校验数据。如此,实现了数据使用方和数据提供方之间的双向验证。
本发明实施例的用户数据传输方法通过利用提供方的公私钥和数据使用方的公私钥实现了用户数据的校验和加密传输,实现了用户数据传输的双向验证,从而能够有效地保证用户数据的安全。在将本发明实施例的方案应用于第三方登录时,即便不法分子截获了用户数据,由于他们并没有数据使用方的私钥,也不能够解密获得用户数据的明文数据,而且用户数据也无法被篡改或仿冒,从而有效地避免了不法分子对“隐蔽重定向”漏洞的利用。
图2为本发明的用户数据传输方法的另一实施例的示意性流程图。如图2所示,本发明实施例的用户数据传输方法包括:
S21:基于约定数字签名算法并使用数据提供方私钥对目标用户数据进行处理得到第一数字签名作为第一校验数据。
S22:使用数据使用方公钥对目标用户数据和第一数字签名进行加密并将得到的密文发送给数据使用方,以便数据使用方基于数据使用方私钥从密文获得目标用户数据和第一数字签名并使用数据提供方公钥对第一数字签名进行校验。
在本发明的实施例中,数据提供方使用约定的数字签名算法对目标用户数据进行数字签名处理得到第一数字签名。约定的数字签名算法可以是任意的,例如DSA签名算法或RSA签名算法等。然后数据提供方对目标用户数据和第一数字签名进行加密后发送给数据使用方,例如数据提供方可以使用数据使用方的公钥来对目标用户数据和第一数字签名进行加密后发送给数据使用方。数据使用方接收到数据密文后,能够基于数据使用方私钥从数据密文获得目标用户数据和第一数字签名,从而数据使用方能够基于目标用户数据并使用数据提供方公钥对第一数字签名进行验证,如果对第一数字签名验证通过,则认为目标用户数据为可信数据,否则认为目标用户数据已经被非法篡改或者是仿冒数据,弃用该目标用户数据。
通过本发明实施例,用户数据提供方用自己的私钥对目标用户数据进行了数字签名,数据使用方可以使用数据提供方公钥对数字签名进行验签,以确保用户数据在任何中间传输过程中未被篡改。
图3为本发明的用户数据传输方法的另一实施例的示意性流程图。如图3所示,本发明实施例的用户数据传输方法包括:
S31:基于约定数字签名算法并使用数据提供方私钥对目标用户数据进行处理得到第一数字签名作为第一校验数据。
S32:使用随机密钥对目标用户数据和第一校验数据进行加密得到第一密文;
S33:使用数据使用方公钥对随机密钥进行加密得到第二密文;
S34:将第一密文和第二密文按预定格式进行组装后发送给数据使用方。
在本发明的实施例中,随机密钥可以为任意的,例如由机器生成的伪随机密钥。本发明实施例中,使用随机密钥对目标用户数据和第一校验数据进行加密得到第一密文,可以是任意的,例如可以是对目标用户数据和第一校验数据作为整体加密,也可以对其中的一者或部分进行加密,然后对整体再次加密。此外,还可以对目标用户数据和第一校验数据的预定部分进行多次加密。本发明实施例中,使用数据使用方公钥对随机密钥进行加密得到第二密文,也可以是任意的方式,例如,利用数据使用方公钥对随机密钥加密,可以是利用数据使用方公钥对随机密钥进行部分加密,也可以对随机密钥进行全部加密。
在本发明实施例中,数据提供方将第一密文和第二密文按预定格式进行组装后发送给数据使用方,使得数据使用方能够按照预定格式从中提取出第一密文和第二密文,从而使用数据使用方的私钥对第二密文解密得到随机密钥。
在本发明一个实施例中,第一校验数据可以是数字签名。目标用户数据在传输之前,数据提供方事先对目标用户数据进行安全处理,用自己的私钥对目标用户数据进行签名,然后生成一个随机密钥作为对称密钥,用该密钥将“目标用户数据+数字签名”加密,然后用数据使用方的公钥将随机密钥加密,然后将加密的目标用户数据、数字签名、密钥的密文按照预定格式打包在一起发送给数据使用方。
本发明实施例在这个过程中同样实现了数据提供方和数据使用方之间的双向验证,数据提供方用自己的私钥对目标用户数据进行了签名,防止任何中间传输过程中目标用户数据被篡改,因为只有数据提供方拥有用于签名的这个私钥;而且数据提供方用数据使用方的公钥对目标用户数据和数字签名加了密或者用数据使用方的公钥对用于加密目标用户数据的密钥进行了加密,从而能够防止在任何中间传输途径被解密看到明文数据,因为只有数据使用方拥有解密过程所需的私钥。在此过程中保证了数据密文,不可被篡改,不可被仿冒,即便被窃取也获得不到用户数据的明文信息,有效的保证了数据的安全,避免了“隐蔽重定向”等漏洞。
图4为本发明的用户数据传输方法的另一实施例的示意性流程图。如图4所示,本发明实施例的用户数据传输方法包括:
S41:使用数据提供方私钥对目标用户数据的预定部分进行处理得到第二数字签名作为第一校验数据。
S42:使用数据使用方公钥对目标用户数据和第一校验数据进行加密并将得到的密文发送给数据使用方。
在本发明的实施例中,数据提供方使用数据提供方私钥对目标用户数据的预定部分进行处理得到第二数字签名作为第一校验数据其中预定部分是任意约定的。数据使用方得到密文后,基于目标用户数据的预定部分并使用数据提供方公钥对第二数字签名进行验签。具体而言,数据使用方可在基于数据使用方私钥从密文中获得目标用户数据和第一校验数据后,使用数据提供方公钥对第一校验数据进行解密后与目标用户数据的预定部分进行比较验证,如果验证通过则认为解密得到的目标用户数据合法,否则弃用解密得到的目标用户数据。
图5为本发明的用户数据传输方法的另一实施例的示意性流程图。如图5所示,本发明实施例的用户数据传输方法包括:
S51:使用数据提供方私钥对目标用户数据的预定部分进行处理得到第二数字签名作为第一校验数据。
S52:使用随机密钥对目标用户数据和第一校验数据进行加密得到第一密文;
S53:使用数据使用方公钥对随机密钥进行加密得到第二密文;
S54:将第一密文和第二密文发按预定格式进行组装后送给数据使用方。
本发明实施例与图3所示实施例的相同之处在于,都使用了随机密钥对目标用户数据和第一校验数据进行加密,并使用数据接收方公钥对随机密钥进行了加密,不同之处在于,本发明实施例中的第一校验数据的生成方式采用了如图4所示实施例中的方式,具体过程在此不再赘述。
需要说明的是,以上实施例中第一校验数据以数字签名为例,但本发明不限于此。例如,第一校验数据还可以是通过使用数据提供方私钥对目标用户数据中的关键部分进行加密后生成的数据密文,数据使用方可以使用数据提供方公钥对该数据密文进行解密后将解密结果与目标用户数据中的关键部分进行对比来完成校验。
图6A-6C为本发明的用户数据传输方法的另一实施例的示意性流程图。如图6A所示,本发明实施例的用户数据传输方法包括:
S61:通过对如下数据进行组装而得到目标用户数据:唯一应用标识、用户信息数据以及用户数据协议版本、操作信息代码、时间戳这三种数据中的至少一种。
S62:基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据;
S63:对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,以便数据使用方基于数据使用方私钥从密文获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
在本发明的实施例中,具体地:
一、目标用户数据传输之前,目标用户数据的数据使用方有以下步骤:生成一对公私钥;将公钥提交给目标用户数据的数据提供方。
二、目标用户数据传输之前,目标用户数据的提供方有以下步骤:生成一对公私钥;为数据使用方生成一个全局唯一的AppId(应用标识);将公钥、AppId提交给目标用户数据的数据使用方;向目标用户数据的数据使用方公开组包协议和使用的密码学算法(本发明实施例不指明使用的具体的对称和非对称算法,但双方需要互相约定具体使用的是什么算法)。
三、目标用户数据的提供方组装目标用户数据,有以下步骤(图6B):组装AppId(唯一应用标识)+UserInfo(用户信息数据)+Version(用户数据协议版本)+Opcode(操作信息代码)+Timestamp(时间戳)得到U;用户的拥有方用自己的私钥对U签名得到SU;生成一个随机的对称密钥K加密U+SU得到EU;用数据使用方的公钥对K加密获得EK;将EK+EU组成最后数据Data发送给目标用户数据的数据使用方。
四、数据使用方获得到数据Data后,有以下步骤(图6C):将接收到的Data数据包中拆开,得到EU和EK;因为目标用户数据的数据提供方使用自己的公钥将K加密的,所以使用自己的私钥将EK解密得到对称密钥K;用K将EU解密并拆开得到U和SU;用数据提供方的公钥验证目标用户数据U的签名SU,通过验证则证明是由对方发送的用户数据Data,验证不通过则认为是被仿冒或者篡改的数据,放弃使用U;如果通过签名验证,得到U,并拆解得到的用户信息数据。
图7为本发明的用户数据传输装置的一个实施例的示意性框图。图7的用户数据传输装置应用于数据提供方,如图7所示,本发明实施例的用户数据传输装置包括:
安全处理单元71,其配置为基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,并对目标用户数据和第一校验数据进行加密得到密文,
通信单元72,其配置为将密文发送给数据使用方,以便数据使用方基于数据使用方私钥获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
在本发明的实施例中,用户数据传输装置的各单元的操作和配置与上述应用于数据提供方的用户数据传输方法相对应。
描述于本申请实施例中所涉及到的模块可以通过图7所示的硬件的方式实现,也可以通过软件的方式来实现。图8为本发明的用户数据传输装置的另一实施例的示意性框图。图8的用户数据传输装置,应用于数据提供方,如图8所示,本发明实施例的用户数据传输装置包括处理器81和存储器82,存储器82配置为存储预定的计算机指令,处理器81配置为运行存储器82中存储的预定的计算机指令以执行根据图1至图6所示实施例中的处理过程。
图9为本发明的用户数据传输方法的一个实施例的示意性流程图。图9的用户数据传输方法应用于数据使用方。如图9所示,本发明实施例的用户数据传输方法包括:
S91:从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;
S92:基于数据使用方私钥从密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验。
在本发明的实施例中,数据提供方可以是用户数据的拥有方,数据使用方可以为用户数据的使用方。作为一个具体的实施例,数据使用方例如可以是一个服务器,数据提供方可以是另一服务器,两者由不同的运营商进行操作。作为另一个具体的实施例,数据使用方例如可以是安装在用户终端上的应用,该应用与数据使用方的应用服务器连接,数据提供方可以为另一服务器并且与数据使用方进行通信。
在传输用户数据之前,数据使用方需要预先生成一对公私钥,将其中的公钥提交给数据提供方;数据提供方也需要预先生成一对公私钥,并为数据使用方生成或分配一个唯一标识,用以表示是哪个数据使用方请求使用用户数据,并将该公钥和唯一标识提交给该数据使用方。
用户数据可以包括数据使用方在数据提供方处的唯一标识和用户信息数据。当数据使用方为应用时,该唯一标识可以是唯一应用标识,如AppId。用户信息数据例如可以包括用户在数据提供方处的唯一标识,该唯一标识可以与用户在数据提供方处的登录信息、数字资源、个人资料信息等关联存储。例如,在数据提供方为第三方登录服务器的情况下,数据使用方得到用户信息数据后,每次用户通过登录数据提供方来登录数据使用方时,数据使用方可以通过校验从数据提供方发来的用户信息数据来确定用户已经通过了数据提供方的登录验证,从而使得用户在数据使用方进入登录状态。
在本发明实施例中,数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,第一校验数据用于数据使用方对数据提供方进行验证,因为数据使用方只有使用正确的数据提供方公钥才能对第一校验数据进行验证通过。数据提供方将第一校验数据和目标用户数据一同加密得到密文并发送给数据使用方,是为了对数据使用方进行验证,因为只有特定的数据使用方才持有密文解密过程所需的私钥,才能从密文中得到目标用户数据和第一校验数据。如此,实现了数据使用方和数据提供方之间的双向验证。
本发明实施例的用户数据传输方法通过利用提供方的公私钥和数据使用方的公私钥实现了用户数据的校验和加密传输,实现了用户数据传输的双向验证,从而能够有效地保证用户数据的安全。在将本发明实施例的方案应用于第三方登录时,即便不法分子截获了用户数据,由于他们并没有数据使用方的私钥,也不能够解密获得用户数据的明文数据,而且用户数据也无法被篡改或仿冒,从而有效地避免了不法分子对“隐蔽重定向”漏洞的利用。
图10为本发明的用户数据传输方法的另一实施例的示意性流程图。如图10所示,本发明实施例的用户数据传输方法包括:
S101:使用数据使用方私钥对密文进行解密得到目标用户数据和第一校验数据。
S102:基于目标用户数据并使用数据提供方公钥对第一校验数据进行验签。
在本发明的实施例中,第一校验数据为数字签名,数据使用方基于目标用户数据并使用数据提供方公钥对第一校验数据进行验签。具体而言,数据提供方利用第一约定规则使用了数据提供方私钥对目标用户数据进行处理生成第一校验数据,并且数据使用方也利用第一约定规则对目标用户数据进行处理生成第二校验数据,并且数据使用方使用数据提供方公钥对第一校验数据解密得到第三校验数据,然后将第二校验数据与第三校验数据进行对比,如果对比结果为一致,则通过验证。
例如数据提供方使用约定的数字签名算法对目标用户数据进行数字签名处理得到第一数字签名。约定的数字签名算法可以是任意的,例如DSA签名算法或RSA签名算法等。然后数据提供方对目标用户数据和第一数字签名进行加密后发送给数据使用方,例如数据提供方可以使用数据使用方的公钥来对目标用户数据和第一数字签名进行加密后发送给数据使用方。数据使用方接收到数据密文后,能够基于数据使用方私钥从数据密文获得目标用户数据和第一数字签名,从而数据使用方能够基于目标用户数据并使用数据提供方公钥对第一数字签名进行验证,如果对第一数字签名验证通过,则认为目标用户数据为可信数据,否则认为目标用户数据已经被非法篡改或者是仿冒数据,弃用该目标用户数据。
图11为本发明的用户数据传输方法的另一实施例的示意性流程图。图11的用户数据传输方法包括:
S111:使用数据使用方私钥对密文进行解密得到目标用户数据和第一校验数据。
S112:基于目标用户数据的预定部分并使用数据提供方公钥对第一校验数据进行验签。
在本发明的实施例中,数据提供方使用数据提供方私钥对目标用户数据的预定部分进行处理得到第二数字签名作为第一校验数据。数据使用方得到密文后,基于数据使用方私钥从密文中获得目标用户数据和第一校验数据后,基于目标用户数据的预定部分并使用数据提供方公钥对第一校验数据进行验签,如果验证通过则认为解密得到的目标用户数据合法,否则弃用解密得到的目标用户数据。
图12为本发明的用户数据传输方法的另一实施例的示意性流程图。如图12所示,本发明实施例的用户数据传输方法包括:
S121:使用数据使用方私钥对第二密文进行解密得到随机密钥。
S122:使用随机密钥对第一密文解密得到目标用户数据和第一校验数据;
S123:对目标用户数据进行处理生成第二校验数据,基于第二校验数据对通过使用数据提供方公钥对第一校验数据进行验签。
在本发明的实施例中,随机密钥可以为任意的,例如由机器生成的伪随机密钥。本发明实施例中,使用随机密钥对目标用户数据和第一校验数据进行加密得到第一密文,可以是任意的,例如可以是对目标用户数据和第一校验数据作为整体加密,也可以对其中的一者或部分进行加密,然后对整体再次加密。此外,还可以对目标用户数据和第一校验数据的预定部分进行多次加密。本发明实施例中,使用数据使用方公钥对随机密钥进行加密得到第二密文,也可以是任意的方式,例如,利用数据使用方公钥对随机密钥加密,可以是利用数据使用方公钥对随机密钥进行部分加密,也可以对随机密钥进行全部加密,或者可以是对随机密钥进行预定次数的加密。
在本发明实施例中,数据提供方将第一密文和第二密文按预定格式进行组装后发送给数据使用方,得数据使用方能够按照预定格式从中提取出第一密文和第二密文,从而使用数据使用方的私钥对第二密文解密得到随机密钥,进而用随机密钥对第一密文解密得到目标用户数据和第一校验数据,然后对第一校验数据进行校验。校验过程具体可以为,对目标用户数据进行处理生成第二校验数据,基于第二校验数据对通过使用数据提供方公钥对第一校验数据进行验签。生成第二校验数据的规则根据数据提供方生成第一校验数据的规则来确定,例如可以是数字签名规则对目标用户数据的预定部分生成第一校验数据等规则。
图13为本发明的用户数据传输方法的另一实施例的示意性流程图。如图13所示,本发明实施例的用户数据传输方法包括:
S131:使用数据使用方私钥对第二密文进行解密得到随机密钥;
S132:使用随机密钥对第一密文解密得到目标用户数据和第一校验数据;
S133:基于目标数据的预定部分并使用数据提供方公钥对第一校验数据进行验签。
在本发明的实施例中,预定部分都是任意约定的,在一个实施例中,例如将目标用户数据的各个部分重新编号。数据使用方获得第一密文和第二密文后,基于数据使用方私钥从密文中得到目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行解密得到第二校验数据,将第二校验数据与目标用户数据的预定部分进行比较验证,如果验证通过则认为解密得到的目标用户数据合法,否则弃用解密得到的目标用户数据。
图14为本发明的用户数据传输方法的另一实施例的示意性流程图。如图14所示,本发明实施例的用户数据传输方法包括:
S141:从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;
S142:基于数据使用方私钥从密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验;
S143:校验成功后,从目标用户数据提取如下数据:唯一应用标识和用户信息数据;或唯一应用标识、用户信息数据以及用户数据协议版本、操作信息代码、时间戳这三种数据中的至少一种。
本发明实施例的具体实现过程可参见图6A-6C所示实施例,在此省略具体描述。
图15为本发明的用户数据传输装置的另一实施例的示意性框图。如图15所示,本发明实施例的用户数据传输装置,应用于数据使用方,该用户数据传输装置包括:
通信单元151,其配置为从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;
处理单元152,其配置为基于数据使用方私钥从密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验。
在本发明的实施例中,用户数据传输装置的各单元的操作和配置与上述应用于数据使用方的用户数据传输方法相对应。
描述于本申请实施例中所涉及到的模块可以通过图15所示的硬件的方式实现,也可以通过软件的方式来实现。图16为本发明的用户数据传输装置的另一实施例的示意性框图。图16的用户数据传输装置,应用于数据使用方,该用户数据传输装置包括处理器161和存储器162,存储器162配置为存储预定的计算机指令,处理器161配置为运行存储器162中存储的预定的计算机指令以执行根据图9至图14所示实施例中的处理过程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据处理方法所应用于的电子设备,可以参考前述产品实施例中的对应描述,在此不再赘述。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

Claims (16)

1.一种用户数据传输方法,应用于数据提供方,包括:
基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据;
对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,以便数据使用方基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
2.根据权利要求1所述的用户数据传输方法,其特征在于,基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,包括:
基于约定数字签名算法并使用数据提供方私钥对目标用户数据进行处理得到第一数字签名作为第一校验数据。
3.根据权利要求1所述的用户数据传输方法,其特征在于,基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,包括:
使用数据提供方私钥对目标用户数据的预定部分进行处理得到第二数字签名作为第一校验数据。
4.根据权利要求1-3中任一项所述的用户数据传输方法,其特征在于,对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,包括:
使用数据使用方公钥对目标用户数据和第一校验数据进行加密并将得到的密文发送给数据使用方。
5.根据权利要求1-3中任一项所述的用户数据传输方法,其特征在于,对目标用户数据和第一校验数据进行加密得到密文并将密文发送给数据使用方,包括:
使用随机密钥对目标用户数据和第一校验数据进行加密得到第一密文;
使用数据使用方公钥对随机密钥进行加密得到第二密文;
将第一密文和第二密文按预定格式进行组装后发送给数据使用方。
6.根据权利要求1-5中任一项所述的用户数据传输方法,其特征在于,目标用户数据是通过对如下数据进行组装而得到的:数据使用方在数据提供方处的唯一应用标识和用户信息数据;或唯一应用标识、用户信息数据以及用户数据协议版本、操作信息代码、时间戳这三种数据中的至少一种。
7.一种用户数据传输装置,应用于数据提供方,包括:
安全处理单元,其配置为基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据,并对目标用户数据和第一校验数据进行加密得到密文;
通信单元,其配置为将所述密文发送给数据使用方,以便数据使用方基于数据使用方私钥获得目标用户数据和第一校验数据并使用数据提供方公钥对第一校验数据进行校验。
8.一种用户数据传输装置,应用于数据提供方,包括处理器,其特征在于,所述处理器配置为运行预定的计算机指令以执行根据权利要求1-6中任一项所述的方法。
9.一种用户数据传输方法,应用于数据使用方,包括:
从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;
基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验。
10.根据权利要求9所述的用户数据传输方法,其特征在于,第一校验数据为数字签名,则使用数据提供方公钥对第一校验数据进行校验,包括:
基于目标用户数据并使用数据提供方公钥对第一校验数据进行验签。
11.根据权利要求9所述的用户数据传输方法,其特征在于,第一校验数据为数字签名,则使用数据提供方公钥对第一校验数据进行校验,包括:
基于目标用户数据的预定部分并使用数据提供方公钥对第一校验数据进行验签。
12.根据权利要求9-11中任一项所述的用户数据传输方法,其特征在于,基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,包括:
使用数据使用方私钥对所述密文进行解密得到目标用户数据和第一校验数据。
13.根据权利要求9-11中任一项所述的用户数据传输方法,其特征在于,所述密文包括第一密文和第二密文,其中,基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,包括:
使用数据使用方私钥对第二密文进行解密得到随机密钥;
使用随机密钥对第一密文解密得到目标用户数据和第一校验数据。
14.根据权利要求9-11中任一项所述的用户数据传输方法,其特征在于,目标用户数据是通过对如下数据进行组装而得到的:数据使用方在数据提供方处的唯一应用标识和用户信息数据;或唯一应用标识、用户信息数据以及用户数据协议版本、操作信息代码、时间戳这三种数据中的至少一种。
15.一种用户数据传输装置,其作为数据使用方,该装置包括:
通信单元,其配置为从数据提供方获得数据提供方基于约定算法并使用数据提供方私钥对目标用户数据进行处理得到第一校验数据后对目标用户数据和第一校验数据加密生成的密文;
处理单元,其配置为基于数据使用方私钥从所述密文获得目标用户数据和第一校验数据,并使用数据提供方公钥对第一校验数据进行校验。
16.一种用户数据传输装置,其作为数据使用方,所述装置包括处理器,其特征在于,所述处理器配置为运行预定的计算机指令以执行根据权利要求9-14中任一项所述的方法。
CN201910257966.6A 2019-04-01 2019-04-01 一种用户数据传输方法和装置 Active CN109981667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910257966.6A CN109981667B (zh) 2019-04-01 2019-04-01 一种用户数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910257966.6A CN109981667B (zh) 2019-04-01 2019-04-01 一种用户数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN109981667A true CN109981667A (zh) 2019-07-05
CN109981667B CN109981667B (zh) 2020-07-03

Family

ID=67082205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910257966.6A Active CN109981667B (zh) 2019-04-01 2019-04-01 一种用户数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN109981667B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367612A (zh) * 2020-11-06 2021-02-12 歌尔科技有限公司 基于uwb的定位方法、uwb设备及定位***
CN112987581A (zh) * 2019-12-16 2021-06-18 华为技术有限公司 用于智能家居设备的控制方法及其介质和终端

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101668013A (zh) * 2009-03-30 2010-03-10 刘文祥 网络联接技术及其***
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及***、签到和支付方法
CN102006303A (zh) * 2010-12-06 2011-04-06 河海大学 用多加密方法提高数据传输安全的方法和终端
CN103684794A (zh) * 2013-12-25 2014-03-26 华南理工大学 一种基于des、rsa、sha-1加密算法的通信数据加解密方法
US20170178271A1 (en) * 2002-09-30 2017-06-22 Myport Technologies, Inc. Apparatus and method for embedding searchable information, encryption, transmission, storage and retrieval
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN108809656A (zh) * 2018-07-18 2018-11-13 陕西师范大学 一种基于双重认证防护签名的密钥交换协议构造方法
US20180332011A1 (en) * 2017-05-11 2018-11-15 Microsoft Technology Licensing, Llc Secure cryptlet tunnel
CN109245905A (zh) * 2018-11-01 2019-01-18 四川长虹电器股份有限公司 基于rsa和aes算法对消息进行数字签名及加密的方法
EP3435265A1 (de) * 2017-07-25 2019-01-30 Skidata Ag Verfahren zur sicheren authentifizierung bei mit einem server verbindbaren geräten, insbesondere bei zugangskontrollvorrichtungen oder bezahl- bzw. verkaufsautomaten eines zugangskontrollsystems
CN109347627A (zh) * 2018-09-19 2019-02-15 平安科技(深圳)有限公司 数据加解密方法、装置、计算机设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170178271A1 (en) * 2002-09-30 2017-06-22 Myport Technologies, Inc. Apparatus and method for embedding searchable information, encryption, transmission, storage and retrieval
CN101668013A (zh) * 2009-03-30 2010-03-10 刘文祥 网络联接技术及其***
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及***、签到和支付方法
CN102006303A (zh) * 2010-12-06 2011-04-06 河海大学 用多加密方法提高数据传输安全的方法和终端
CN103684794A (zh) * 2013-12-25 2014-03-26 华南理工大学 一种基于des、rsa、sha-1加密算法的通信数据加解密方法
US20180332011A1 (en) * 2017-05-11 2018-11-15 Microsoft Technology Licensing, Llc Secure cryptlet tunnel
EP3435265A1 (de) * 2017-07-25 2019-01-30 Skidata Ag Verfahren zur sicheren authentifizierung bei mit einem server verbindbaren geräten, insbesondere bei zugangskontrollvorrichtungen oder bezahl- bzw. verkaufsautomaten eines zugangskontrollsystems
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN108809656A (zh) * 2018-07-18 2018-11-13 陕西师范大学 一种基于双重认证防护签名的密钥交换协议构造方法
CN109347627A (zh) * 2018-09-19 2019-02-15 平安科技(深圳)有限公司 数据加解密方法、装置、计算机设备及存储介质
CN109245905A (zh) * 2018-11-01 2019-01-18 四川长虹电器股份有限公司 基于rsa和aes算法对消息进行数字签名及加密的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112987581A (zh) * 2019-12-16 2021-06-18 华为技术有限公司 用于智能家居设备的控制方法及其介质和终端
CN112367612A (zh) * 2020-11-06 2021-02-12 歌尔科技有限公司 基于uwb的定位方法、uwb设备及定位***

Also Published As

Publication number Publication date
CN109981667B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN109309565B (zh) 一种安全认证的方法及装置
Shirey RFC 4949: Internet Security Glossary, Version 2
US8051297B2 (en) Method for binding a security element to a mobile device
US8862889B2 (en) Protocol for controlling access to encryption keys
CN109075976A (zh) 取决于密钥认证的证书发布
CN106790090A (zh) 基于ssl的通信方法、装置及***
CN106790183A (zh) 登录凭证校验方法、装置
CN109618341A (zh) 一种数字签名认证方法、***、装置以及存储介质
CN108809633B (zh) 一种身份认证的方法、装置及***
CN106878245A (zh) 图形码信息提供、获取方法、装置及终端
CN101420302A (zh) 安全认证方法和设备
CN111130799B (zh) 一种基于tee进行https协议传输的方法及***
CN109981665A (zh) 资源提供方法及装置、资源访问方法及装置和***
CN110708162B (zh) 资源的获取方法、装置、计算机可读介质及电子设备
CN107294964B (zh) 一种信息传输的方法
Alizai et al. Key-based cookie-less session management framework for application layer security
CN116743470A (zh) 业务数据加密处理方法及装置
CN105657699A (zh) 数据安全传输方法
CN109981667A (zh) 一种用户数据传输方法和装置
CN113630238B (zh) 一种基于密码混淆的用户请求许可方法及装置
US20060129812A1 (en) Authentication for admitting parties into a network
CA2553081C (en) A method for binding a security element to a mobile device
KR102308248B1 (ko) 양자난수 기반의 양자암호화칩이 탑재된 비화게이트웨이 및 이를 이용한 IoT디바이스간 비화통신 서비스 제공방법
Han et al. Scalable and secure virtualization of HSM with ScaleTrust
Drake et al. Designing a User-Experience-First, Privacy-Respectful, high-security mutual-multifactor authentication solution

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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 124, 1 / F, building 2, yard 9, jiaogezhuang street, Nanfaxin Town, Shunyi District, Beijing

Patentee after: Beijing Wikipedia Technology Co.,Ltd.

Address before: 102200 No. 1, 120, Area C, 23 Qianqian Road, Changping Science and Technology Park, Beijing

Patentee before: Beijing Wikipedia Technology Co.,Ltd.