CN112311746B - 数据共享方法、装置和计算机存储介质 - Google Patents

数据共享方法、装置和计算机存储介质 Download PDF

Info

Publication number
CN112311746B
CN112311746B CN201910714749.5A CN201910714749A CN112311746B CN 112311746 B CN112311746 B CN 112311746B CN 201910714749 A CN201910714749 A CN 201910714749A CN 112311746 B CN112311746 B CN 112311746B
Authority
CN
China
Prior art keywords
key
ciphertext
index
target
plaintext
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
CN201910714749.5A
Other languages
English (en)
Other versions
CN112311746A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910714749.5A priority Critical patent/CN112311746B/zh
Publication of CN112311746A publication Critical patent/CN112311746A/zh
Application granted granted Critical
Publication of CN112311746B publication Critical patent/CN112311746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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/0471Network 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 applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种数据共享方法及相关设备,具体可以应用于智能车辆以及无人驾驶车辆,实现车辆的远程安全诊断,其中的方法包括服务器接收第一设备发送的文件集合,该文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;服务器接收第二设备发送的查询陷门并根据该查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;服务器利用重代理加密密钥,对该目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,并将该目标密文文件和目标第一密钥重加密密文发送至第二设备。本申请可以应用于智能驾驶、智能家居、云存储文件共享等多个技术领域,用于实现相应领域的数据安全访问。

Description

数据共享方法、装置和计算机存储介质
技术领域
本发明涉及数据共享技术领域,尤其涉及一种数据共享方法及相关设备。
背景技术
随着互联网技术的迅速发展,大量的企业与个人选择将数据存储到云服务器上。云存储服务能够为用户提供庞大的计算资源、存储空间和灵活的共享模式,其便捷、快捷和按需可用的网络访问方式,使得用户可以随时随地访问资源,从而使得用户能够很大程度节约本地的存储资源和在本地进行数据管理、系统维护的开销。然而,由于云存储服务的远程特性,其带来的安全问题也引起了人们的关注。用户通常很难控制云服务提供商乃至一些未经授权的非法用户对存储数据进行访问,无法保证用户的隐私及数据的安全性。
为了保证共享数据的安全性和隐私性,防止共享数据被云服务提供商或非法用户获得,将共享数据进行加密处理后以密文形式存储在云服务器成为一种较为有效的技术手段。然而,在密文存储和共享的过程中仍然存在共享效率较低、安全性较差的问题。例如,当数据主人将多个共享数据存储在云服务器上,数据用户需要从上述多个共享数据中获得自己所需要的目标共享数据,则需要从大量的经过加密的共享数据中进行查找,导致查找复杂度高、效率低;并且,由于共享数据经过了加密处理,因此,数据用户需要从数据主人处获得相应的解密密钥才能进行解密,因而导致共享数据的解密密钥在传输过程中以及在数据用户处存在可能被泄露的风险,最终,导致用户的共享数据的安全性低。因此,在数据共享场景中,如何同时保证共享数据共享的高效性以及安全性是亟待解决的问题。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据共享方法及相关设备,提升了数据共享过程中共享效率和安全性。
第一方面,本发明实施例提供了一种数据共享方法,可包括:
服务器接收第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
所述服务器接收第二设备发送的查询陷门,所述查询陷门为所述第一设备授权所述第二设备获得的;
所述服务器根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;
所述服务器利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,所述重代理加密密钥为所述第一设备针对所述第二设备生成的;
所述服务器将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
本发明实施例中,第一设备在上传共享文件(包括N个明文文件)之前,分别对该N个明文文件进行加密得到N个密文文件,并利用可搜索加密算法建立用于快速检索每个密文文件的索引,且分别对N个索引进行加密得到N个索引密文,使得第二设备在第一设备授予文件共享权限的情况下,可利用合法的查询陷门在服务器上快速查找到目标密文文件。即第一设备提供的密文文件和对应的索引密文,使得服务器无法窃听用户的明文数据(包括共享文件和对应的索引),但是可以根据查询陷门返回目标密文文件,这样既保证了用户数据的安全和隐私,又保证了文件查询和共享效率。进一步地,由于第一设备对共享文件进行了加密,则第二设备需要获得对应的解密密钥,才能最终获得目标明文文件。但若第一设备将解密密钥(即第一密钥)通过服务器明文传输给第二设备,则又可能存在解密密钥被服务器窃听导致共享文件被泄露的问题,并且,假如该解密密钥一旦泄露,那么非法获取到该解密密钥的设备也可以非法获得该目标密文文件。因此,在本发明实施例中,第一设备基于密文间的一种密钥转换机制即重代理加密,在不泄漏自己私钥(包括不泄露给服务器,甚至不泄露给第二设备)的前提下,让服务器将经过第一设备公钥加密的解密密钥(目标第一密钥密文)通过重代理加密转化为经过第二设备公钥加密的解密密钥(目标第一密钥重加密密文),使得第二设备无需获知第一设备的私钥,即可利用自己的私钥进行密文文件的解密,从而最终获得目标密文文件的明文,并且,由于该解密过程需要第二设备的私钥参与,而其他设备没有该第二设备的私钥,因此无法对密文文件进行解密,也因此只有第二设备才可以对其进行解密,即每次只有经过第一设备授权的查询设备,才有权限获得对应的明文文件,进而实现了共享文件的安全访问控制。其中,又由于本发明实施例中利用重代理加密算法是针对数据量较小的解密密钥(即目标第一密钥密文)进行重加密,而非对数据量较大的密文文件本身(即目标密文文件)进行重加密,因而极大的减少了服务器上的重代理加密计算量,也减少了第二设备在解密过程中的计算量,不仅提升了共享文件的查找效率,同时也保证了共享文件的隐私和安全,极大的提升了文件共享的体验。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。本发明实施例中,对N个明文文件分别利用不同的第一密钥(对称密钥),并利用对称加密算法进行加密。由于N个明文文件自身的数据相较于解密密钥(即第一密钥)的数据量更为庞大,因此,利用对称加密算法对文件本身进行加密,而对解密密钥利用公钥进行非对称加密,不仅减小了共享文件的整体加密复杂度、提升了加密效率,并且同时保证了共享文件的安全性。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥;所述查询陷门为使用所述第一设备授权的所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文。本发明实施例中,对于索引明文的加密,可以使用对称密钥,对应的查询陷门也用使用相同的对称密钥即可。其中,查询陷门可以是由第一设备生成后发送给第二设备,也可以是由第一设备生成保密陷门发给第二设备之后由第二设备生成,即对于第一文件的被分享者第二设备来说,必须在第一设备的授权下,才可以利用合法的查询陷门进行对应密文文件的查询获取。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为所述第一设备的第一公钥;所述查询陷门为使用所述第一设备授权的第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥,所述目标索引明文为所述目标索引密文对应的索引明文。本发明实施例中,对于索引明文的加密,也可以使用非对称秘钥即第一公钥进行加密,对应的查询陷门则使用对应的私钥生成即可。其中,查询陷门可以是由第一设备生成后发送给第二设备,也可以是由第一设备生成保密陷门发给第二设备之后由第二设备生成,即对于第一文件的被分享者第二设备来说,必须在第一设备的授权下,才可以利用合法的查询陷门进行对应密文文件的查询获取。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。本发明实施例中,对共享文件的解密密钥即数据量较小的第一密钥利用公钥进行非对称加密,以提升重代理加密的效率,减小了共享文件的整体加密复杂度、提升了加密效率,也同时保证了共享文件的安全性。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。本发明实施例中,采用基于密文间的一种密钥转换机制即重代理加密,在不泄漏第一设备私钥(包括不泄露给服务器,甚至不泄露给第二设备)的前提下,让服务器将经过第一设备公钥加密的解密密钥(目标第一密钥密文)通过重代理加密转化为经过第二设备公钥加密的解密密钥(目标第一密钥重加密密文),使得第二设备无需获知第一设备的私钥,即可利用自己的私钥进行密文文件的解密,从而最终获得目标密文文件的明文。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。本发明实施例中,重代理加密密钥不仅与第一设备的私钥和第二设备的公钥有关,并且还与要加密的索引明文有关,避免第二设备在不法获得所有的密文文件的情况下,且获得了一次重代理加密密钥之后,即可以一次性解开所有密文文件的安全隐患。
在一种可能的实现方式中,所述服务器将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备之前,还包括:所述服务器向所述第二设备发起身份认证挑战,在所述身份认证挑战通过的情况下,将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。本发明实施例中,服务器在向第二设备发送对应的密文文件和密钥密文之前还进一步的再次确认该第二设备的合法身份,避免不合法的设备截获了相关的查询陷门从而冒充该第二设备非法获取对应的密文文件和密钥的重加密密文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。本发明实施例中,当应用于车辆诊断场景中,当第一设备为智能车辆需要进行维修时,则可以通过将诊断数据上传到对应的云服务器中进行共享,当需要维修师傅进行诊断时,则通过将查询陷门授权给对应的第二设备,从而使得第二设备可以获取到对应的车辆诊断密文文件并安全解密,进而进行车辆诊断。
第二方面,本发明实施例提供了一种数据共享方法,可包括:
第一设备向服务器发送文件集合,所述文件集合包括N个密文文件、N个索引密文和N 个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
所述第一设备授权第二设备获得与目标索引密文匹配的查询陷门,以及将针对所述第二设备生成的重代理加密密钥发送至所述服务器,所述重代理加密密钥用于对所述目标索引密文对应的目标第一密钥密文进行重加密。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述第一设备向服务器发送文件集合之前,包括:所述第一设备将N个明文文件分别利用所述N个第一密钥中对应的第一密钥加密得到所述N个密文文件。
在一种可能的实现方式中,所述第一设备向服务器发送文件集合之前,还包括:所述第一设备将N个索引明文分别利用第二密钥加密得到所述N个索引密文,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述第一设备授权第二设备获得与目标索引密文匹配的查询陷门,包括:所述第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述第一设备授权第二设备获得与目标索引密文匹配的查询陷门,包括:所述第一设备使用所述第二密钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述保密陷门用于所述第二设备使用所述保密陷门和目标索引明文生成所述查询陷门,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,其特征在于,所述方法还包括:所述第一设备将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述第一设备将针对所述第二设备生成的重代理加密密钥发送至所述服务器,包括:所述第一设备使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述第一设备将针对所述第二设备生成的重代理加密密钥发送至所述服务器,包括:所述第一设备使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第三方面,本发明实施例提供了一种数据共享方法,可包括:
第二设备在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;所述服务器上存储有所述第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;所述查询陷门用于从所述N个索引密文中查找匹配的目标索引密文;
所述第二设备接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文;其中,所述目标第一密钥重加密密文为所述服务器利用重代理加密密钥,对所述目标密文文件对应的目标第一密钥密文进行重加密得到的,所述重代理加密密钥为所述第一设备针对所述第二设备生成的。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述第二设备在第一设备的授权下获得查询陷门,包括:所述第二设备接收所述第一设备发送的所述查询陷门,所述查询陷门为所述第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述查询陷门为所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述第二设备在第一设备的授权下获得查询陷门,包括:所述第二设备接收所述第一设备发送的保密陷门,并使用所述保密陷门和目标索引明文,利用陷门生成算法生成所述查询陷门,所述保密陷门为所述第一设备使用所述第二密钥生成的,或者,所述保密陷门为所述第一设备使用第一私钥生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述方法还包括:所述第二设备利用与所述第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件。
在一种可能的实现方式中,所述方法还包括:所述第二设备接收所述服务器发起的身份认证挑战,在所述身份认证挑战通过的情况下,所述第二设备接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第四方面,本发明实施例提供了一种数据共享装置,应用于服务器,所述装置可包括:
第一接收单元,用于接收第一设备发送的文件集合,所述文件集合包括N个密文文件、 N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述 N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
第二接收单元,用于接收第二设备发送的查询陷门,所述查询陷门为所述第一设备授权所述第二设备获得的;
确定单元,用于根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;
重加密单元,用于利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,所述重代理加密密钥为所述第一设备针对所述第二设备生成的;
发送单元,用于将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥;所述查询陷门为使用所述第一设备授权的所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为所述第一设备的第一公钥;所述查询陷门为使用所述第一设备授权的第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述装置还包括:身份认证单元,用于在将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备之前,向所述第二设备发起身份认证挑战,在所述身份认证挑战通过的情况下,将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第五方面,本发明实施例提供了一种数据共享装置,可应用于第一设备,所述装置可包括:
发送单元,用于向服务器发送文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
授权单元,用于授权第二设备获得与目标索引密文匹配的查询陷门,以及将针对所述第二设备生成的重代理加密密钥发送至所述服务器,所述重代理加密密钥用于对所述目标索引密文对应的目标第一密钥密文进行重加密。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述装置,还包括:第一加密单元,用于将N个明文文件分别利用所述N个第一密钥中对应的第一密钥加密得到所述N个密文文件。
在一种可能的实现方式中,所述装置,还包括:第二加密单元,用于将N个索引明文分别利用第二密钥加密得到所述N个索引密文,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述授权单元,具体用于:
使用所述第二密钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述授权单元,具体用于:
使用所述第二密钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述保密陷门用于所述第二设备使用所述保密陷门和目标索引明文生成所述查询陷门,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述装置,还包括:
第三加密单元,用于将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述授权单元,具体用于:
所述第一设备使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述授权单元,具体用于:
使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
第六方面,本发明实施例提供了一种数据共享装置,所述装置可应用于第二设备,所述装置可包括:
查询单元,用于在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;所述服务器上存储有所述第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;所述查询陷门用于从所述N个索引密文中查找匹配的目标索引密文;
接收单元,用于接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文;其中,所述目标第一密钥重加密密文为所述服务器利用重代理加密密钥,对所述目标密文文件对应的目标第一密钥密文进行重加密得到的,所述重代理加密密钥为所述第一设备针对所述第二设备生成的。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述查询单元,具体用于:所述第二设备接收所述第一设备发送的所述查询陷门,所述查询陷门为所述第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述查询陷门为所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述查询单元,具体用于:接收所述第一设备发送的保密陷门,并使用所述保密陷门和目标索引明文,利用陷门生成算法生成所述查询陷门,所述保密陷门为所述第一设备使用所述第二密钥生成的,或者,所述保密陷门为所述第一设备使用第一私钥生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述装置还包括:解密单元,用于利用与所述第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件。
在一种可能的实现方式中,所述装置还包括:身份认证单元,用于接收所述服务器发起的身份认证挑战,在所述身份认证挑战通过的情况下,接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第七方面,本发明实施例提供了一种服务器,可包括:处理器和存储器;其中
所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
接收第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
接收第二设备发送的查询陷门,所述查询陷门为所述第一设备授权所述第二设备获得的;
根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;
利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,所述重代理加密密钥为所述第一设备针对所述第二设备生成的;
将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥;所述查询陷门为使用所述第一设备授权的所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为所述第一设备的第一公钥;所述查询陷门为使用所述第一设备授权的第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第八方面,本发明实施例提供了一种设备,所述设备为第一设备,可包括:处理器和存储器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
向服务器发送文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
授权第二设备获得与目标索引密文匹配的查询陷门,以及将针对所述第二设备生成的重代理加密密钥发送至所述服务器,所述重代理加密密钥用于对所述目标索引密文对应的目标第一密钥密文进行重加密。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述处理器还用于:在向服务器发送文件集合之前,将N个明文文件分别利用所述N个第一密钥中对应的第一密钥加密得到所述N个密文文件。
在一种可能的实现方式中,所述处理器还用于:在向服务器发送文件集合之前,将N个索引明文分别利用第二密钥加密得到所述N个索引密文,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述处理器具体用于:使用所述第二密钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述目标索引明文为所述目标索引密文对应的索引明文;或者,使用第一私钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述处理器具体用于:使用所述第二密钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述保密陷门用于所述第二设备使用所述保密陷门和目标索引明文生成所述查询陷门,所述目标索引明文为所述目标索引密文对应的索引明文;或者,使用第一私钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,其特征在于,所述处理器还用于:在向服务器发送文件集合之前,将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述处理器具体用于:使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述处理器具体用于:使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第九方面,本发明实施例提供了一种设备,所述设备为第二设备,可包括:处理器和存储器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;所述服务器上存储有所述第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;所述查询陷门用于从所述N个索引密文中查找匹配的目标索引密文;
接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文;其中,所述目标第一密钥重加密密文为所述服务器利用重代理加密密钥,对所述目标密文文件对应的目标第一密钥密文进行重加密得到的,所述重代理加密密钥为所述第一设备针对所述第二设备生成的。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述处理器具体用于:接收所述第一设备发送的所述查询陷门,所述查询陷门为所述第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述查询陷门为所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述处理器具体用于:接收所述第一设备发送的保密陷门,并使用所述保密陷门和目标索引明文,利用陷门生成算法生成所述查询陷门,所述保密陷门为所述第一设备使用所述第二密钥生成的,或者,所述保密陷门为所述第一设备使用第一私钥生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述处理器还用于:利用与所述第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件。
在一种可能的实现方式中,所述处理器还用于:接收所述服务器发起的身份认证挑战,在所述身份认证挑战通过的情况下,接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
第十方面,本申请提供一种服务器,该终端设备具有实现上述第一方面提供的任意一种数据共享方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第十一方面,本申请提供一种第一设备,该第一设备具有实现上述第二方面提供的任意一种数据共享方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第十二方面,本申请提供一种第二设备,该第一设备具有实现上述第三方面提供的任意一种数据共享方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第十三方面,本申请提供一种服务器,该服务器中包括处理器,处理器被配置为支持该终端设备执行第一方面提供的任意一种数据共享方法中相应的功能。该服务器还可以包括存储器,存储器用于与处理器耦合,其保存该服务器必要的程序指令和数据。该服务器还可以包括通信接口,用于该服务器与其他设备或通信网络通信。
第十四方面,本申请提供一种第一设备,该第一设备中包括处理器,处理器被配置为支持该第一设备执行第二方面提供的任意一种数据共享方法中相应的功能。该第一设备还可以包括存储器,存储器用于与处理器耦合,其保存该第一设备必要的程序指令和数据。该第一设备还可以包括通信接口,用于该第一设备与其他设备或通信网络通信。
第十五方面,本申请提供一种第二设备,该第二设备中包括处理器,处理器被配置为支持该第二设备执行第三方面提供的任意一种数据共享方法中相应的功能。该第二设备还可以包括存储器,存储器用于与处理器耦合,其保存该第二设备必要的程序指令和数据。该第二设备还可以包括通信接口,用于该第二设备与其他设备或通信网络通信。
第十六方面,本申请提供一种计算机存储介质,用于储存为上述第一方面提供的服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第十七方面,本申请提供一种计算机存储介质,用于储存为上述第二方面提供的第一设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第十八方面,本申请提供一种计算机存储介质,用于储存为上述第三方面提供的第二设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
第十九方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被服务器执行时,使得服务器可以执行上述第一方面中任意一项的数据共享方法中服务器所执行的流程。
第二十方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被第一设备执行时,使得第一设备可以执行上述第二方面中任意一项的数据共享方法中第一设备所执行的流程。
第二十一方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被第二设备执行时,使得第二设备可以执行上述第三方面中任意一项的数据共享方法中智能设备所执行的流程。
第二十二方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器实现上述第一方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第二十三方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持第一设备实现上述第二方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存第一设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第二十四方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持第二设备实现上述第三方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存第二设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1为本发明实施例提供的一种基于云存储文件共享系统的架构图。
图2为本发明实施例提供的一种基于物联网的设备监测系统的架构图。
图3为本发明实施例提供的一种车辆远程安全诊断系统的就架构图。
图4为本发明实施例提供的一种数据共享方法的流程示意图。
图5为本发明实施例提供的另一种数据共享方法的流程示意图。
图6为本发明实施例提供的一种车辆上传共享文件至服务器的示意图。
图7为本发明实施例提供的一种车辆授权维修师以及服务器的示意图。
图8为本发明实施例提供的一种服务器处理维修师的查询请求及查询陷门的示意图。
图9为本发明实施例提供的一种维修师解密目标文件的示意图。
图10为本发明实施例提供的一种远程车辆诊断的系统流程图。
图11为本发明实施例提供的一种数据共享装置的结构示意图。
图12为本发明实施例提供的另一种数据共享装置的结构示意图。
图13为本发明实施例提供的又一种数据共享装置的结构示意图。
图14为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)车辆诊断,在车辆领域,车辆诊断是指当车辆出现故障时,利用诊断数据来支持车辆维修。当车辆出现故障后典型的车辆维修过程通常包括两步:诊断:在此步,维修师(mechanic) 分析从车辆收集来的数据以便了解车辆出了什么故障。恢复:该步是根据诊断的结果,执行必要的动作去修复出现的故障。
(2)远程车辆诊断(Remote Automotive Diagnostics,RAD)指的是无需物理连接车辆而读取车辆诊断数据的能力,例如,通过互联网/云及时进行车辆诊断。为了实现RAD,现在的联网车配备了把车上诊断数据传送到一个中心服务器的功能,例如一个部署在车厂或是第三方供应商的云服务器;在那里数据被分析以便查找可能的故障及做维修预报。
(3)电子控制单元(Electronic Control Unit,ECU),从用途上讲则是汽车专用微机控制器。它和普通的电脑一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。
(4)原厂设备制造商(Original Equipment Manufacturer,OEM),通常翻译成“贴牌生产”或“定牌生产”。原指由采购方提供设备和技术,由制造方提供人力和场地,采购方负责销售,制造方负责生产的一种现代流行生产方式,但是经常由采购方提供品牌和授权,允许制造方生产贴有该品牌的产品。
(5)诊断数据包括数据故障排除代码(Data Troubleshoot Codes,DTCs)),一个DTC是一个字母后带4个数字,每个部分都有自己的定义。DTC不仅代表车的错误信息,也代表出错的位置,例如传感器线路故障,气缸1点火出错等等。RAD收集读取的数据不只局限于DTCs,其他的数据如车速,油门角度,每升油公里数,引擎制冷剂温度,引擎转速,行驶的里程,轮胎压力,轮胎温度等也会被收集。也可进一步包括车厂的定制化参数如OEM特定的实时数据请求及错误代码。车厂也收集别的数据如驾驶行为数据;一旦与典型的诊断数据结合,这些数据会助于车厂做预测性维护,如预测轮胎的更换时间。
(6)单向陷门函数,是有一个陷门的一类特殊单向函数。单向陷门函数包含两个明显特征:一是单向性,二是存在陷门。所谓单向性,也称不可逆性,即对于一个函数y=f(x),若已知x要计算出y很容易,但是已知y要计算出x=f^(-1)(y)则很困难。单向函数的命名就是源于其只有一个方向能够计算。所谓陷门,也成为后门。对于单向函数,若存在一个z使得知道z则可以很容易地计算出x=f^(-1)(y),而不知道z则无法计算出x=f^(-1)(y),则称函数 y=f(x)为单向陷门函数,而z称为陷门。
(7)密码散列函数(Cryptographic hash function),又译为加密散列函数,是散列函数的一种。它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。这样的单向函数被称为“现代密码学的驮马”。这种散列函数的输入数据,通常被称为消息(message),而它的输出结果,经常被称为消息摘要(message digest)或摘要(digest)。在信息安全中,有许多重要的应用,都使用了密码散列函数来实现,例如数字签名,消息认证码。
(8)车载自动诊断系统(On Board Diagnostics,OBD),为汽车故障诊断而延伸出来的一种检测系统。OBD能在汽车运行过程中实时监测发动机电控系统及车辆的其它功能模块的工作状况,如有发现工况异常,则根据特定的算法判断出具体的故障,并以诊断故障代码 (Diagnostic Trouble Codes,DTC)的形式存储在系统内的存储器上。系统自诊断后得到的有用信息可以为车辆的维修和保养提供帮助,维修人员可以利用汽车原厂专用仪器读取故障码,从而可以对故障进行快速定位,以便于对车辆的修理,减少人工诊断的时间。
为了便于理解本发明实施例,以下示例性列举本申请中数据共享方法所应用的数据共享系统的场景,可以理解的是,当本申请中的数据共享方法应用到不同的场景中时,第一设备和第二设备可以分别对应不同类型的设备,并且对应的共享数据也是不同类型,以下示例性列举三种场景。
场景一,基于云存储的文件共享场景:
请参阅图1,图1为本发明实施例提供的一种基于云存储文件共享系统的架构图,该系统中包括服务器、用户A的设备(即本申请中的第一设备)和用户B的设备(即本申请中的第二设备)。例如,第一设备为文件分享用户A所使用的设备,如手机、电脑、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、可穿戴设备等任何可以上传共享文件的设备,第二设备为需要获得共享文件的用户B所使用的设备,其设备类型可以与A的设备相同也可以不同,此处不作具体限定。可以理解的是,在该系统中,可以有一个或多个用户A上传自己允许共享/访问的文件;对应地,也可以有一个或多个用户B下载某一个用户A的共享文件,或者分别下载多个用户A的共享文件等等。在上述文件共享过程中,任意一个用户A需要将共享文件加密传送到云服务器,以避免窃听,并且,这些文件上传至云服务器之后也需以加密形式存储,以防数据窃取和针对云的内部攻击,进一步地,当用户A授权某用户B访问其上传的某个目标密文文件时,则需要保证有且只有该授权用户B可快速的查询并获得该目标密文文件。
由此,产生了如下需求:允许合法且授权的用户B及时高效地查询云服务器上存储的其被允许访问的目标密文文件,且最终能够解密并安全获得目标密文文件对应的明文文件。
场景二,基于物联网的监测场景:
请参阅图2,图2为本发明实施例提供的一种基于物联网的设备监测系统的架构图,该系统中包括服务器(图2中以物联网服务器为例)、多个待监测设备(即本申请中的第一设备,图1中以智能家电、智能水电气表、智能视频监控为例),和至少一个监测设备(即本申请中的第二设备,例如为相关安防监管人员的专用设备)。当待监测设备将自身所采集的各类数据,经过加密上传至服务器后,服务器安全存储各类智能家居的数据,比如包括智能家电采集的家电运行数据、智能水电气表采集的家庭的水电气表读数、智能视频监控采集的家庭视频监控文件等。当有相关大数据分析或者是合法监管部门由于执法需求,或者该用户自己的家庭成员需要监护自己家人的看护情况,或者查询自己家庭的电器数据等,则需要在经过授权后安全快速的查找并获得对应的监测数据。
由此,产生了如下需求:允许多个家庭用户,或者相关的执法部分、监管部门,及时高效地查询云服务器上存储的加密后的智能家居的监测数据,且最终能够解密并安全获得加密监测数据的明文数据。
场景三,基于云服务的车辆远程诊断场景:
请参见图3,图3是本发明实施例提供的一种车辆远程安全诊断系统的架构图,该系统中包括待诊断车辆(即本申请中的第一设备)、服务器和诊断设备(即本申请中的第二设备),一个或多个用户的待诊断车辆可以分别通过互联网/云及时将车辆诊断数据上传至服务器(例如一个部署在车厂或是第三方供应商的云服务器),服务器则可以接收并安全存储该车辆诊断数据,诊断设备则可以通过互联网/云及时从服务器处获得上述车辆诊断数据,相关维修人员通过该诊断设备获取车辆诊断数据,分析以便查找可能的故障及做维修预报。而待诊断车辆和诊断设备之间也可以通过Wi-Fi和移动网络等进行通信以传递上述过程中所需要的一些必要信息(例如诊断设备的公钥、用于查找某个诊断数据的查询令牌等)。其中,诊断设备可以有多个,例如不同类型的诊断问题对应不同的诊断设备,如车辆电源系统故障诊断设备、发动机系统故障诊断设备、传动系统故障诊断设备、转向系统故障诊断设备、行走系统故障诊断设备、电气系统故障诊断设备等。
一方面,为了分析和诊断车辆的故障,维修方需要远程读取车辆的诊断数据,而远程收集的诊断数据是私密数据,并且,诊断数据不但包括用于车辆维修的数据也包括关于车辆开发和生产的数据。这些与开发生产有关的数据比较敏感,应该只有当车辆出现意外问题时才允许专家读取。相反,供应商的数据可能会有知识产权问题,因此OEM不能读取。例如,原厂设备制造商OEM需保密其特定的诊断指令和反馈、驾驶行为数据等。因此诊断数据需要加密传送到云服务器以避免窃听,并且,这些数据存在云服务器上也需加密以防数据窃取和针对云的内部攻击。另一方面,诊断数据会有多类用户,例如车厂、工程师、维修师等,车厂需要运营数据,如检查某型号车的里程表现;工程师需要详细的电子控制单元ECU数据,如在开发和生产过程中的维修错误;维修师可能只需要读取DTC数据去完成诊断和维修。如果允许一个维修师读取所有的诊断数据可能会引起不必要的干预及可能的知识产权侵权。
由此,产生了如下需求:允许不同的用户(如车厂、工程师、维修师)及时高效地查询云服务器上车辆诊断数据,并且需要提供一种机制来限制数据的安全读取,只允许授权的用户(如车厂、工程师、维修师)读取本次维修服务所需要的诊断数据,特定的维修师/工程师只能获取需要部分诊断数据,例如,空调维修不需要动力相关的诊断数据。因此,这些不同类型的数据用户需要查询云服务器以取得各自所需要的数据。
可以理解的是,图1、图2和图3中的应用场景的只是本发明实施例中的几种示例性的应用场景,本申请中的数据共享方法还可以应用于例如,基于云服务的智能医疗信息管理场景、基于云服务的企业信息管理场景、基于云服务的智能教育场景等,其它场景及举例将不再一一列举和赘述。
参见图4,图4是本发明实施例提供的一种数据共享方法的流程示意图,该数据共享方法可应用于上述图1、图2或图3中所述的系统架构中,下面将结合附图4从第一设备、服务器和第二设备的交互侧进行描述,并主要以车辆远程诊断场景为例(即第一设备为车辆或车辆内部的部件、第二设备为维修师的诊断设备)进行描述。该方法可以包括以下步骤S404- 步骤S410;可选的,该方法还可进一步的包括步骤S401-步骤S403以及步骤S411,请参见图5,图5是本发明实施例提供的另一种数据共享方法的流程示意图。其中
步骤S401:第一设备将N个明文文件分别利用所述N个第一密钥中对应的第一密钥加密得到所述N个密文文件。
具体地,由于在数据共享中,服务器作为代理人,第一设备不能完全信任服务器,因此需要将自己的数据在本地进行加密后再发送至服务器中进行存储,这样,服务器便无法获得共享数据的明文信息,从而降低了数据的泄露风险。因此,本发明实施例中的第一设备将需要共享的N个明文文件进行加密处理,且针对N个明文文件分别采用N个不同的第一密钥进行加密,避免使用相同的加密密钥导致文件容易被一次性非法获取的风险。
可选的,所述N个第一密钥均为对称密钥,即第一设备可通过N个不同的对称密钥(第一密钥)分别对N个不同的明文文件进行加密处理,得到N个密文文件,其中,利用对称加密对数据量较大的明文文件进行对称加密可以有效的减少计算量和计算复杂度,有利于提升文件的加密效率以及对应的解密效率。根据对称加密算法的特点,可理解的,该密文文件的解密密钥即为对应的对称密钥第一密钥。
步骤S402:第一设备将N个索引明文分别利用第二密钥加密得到所述N个索引密文。
具体地,第一设备可基于可搜索加密(Searchable Encryption,SE)算法为所述N个密文文件分别建立对应的索引明文(也可称之为关键词),每个索引明文在无需解密密文文件的条件下即可索引对应的密文文件,即可快速查找对应的密文文件。进一步地,第一设备对每个索引明文分别利用第二密钥进行加密得到N个索引密文。可选的,针对N个不同索引明文进行加密的第二密钥可使用相同的第二密钥。进一步可选的,对索引明文进行加密的第二密钥为对称密钥,或者对索引明文进行加密的第二密钥为所述第一设备的第一公钥。也即是第一设备可以使用对称密钥结合对称加密算法对N个索引明文分别进行加密,也可以使用第一设备的公钥对N个索引明文分别进行加密,本发明实施例对此不作具体限定,可以理解的是,对应的被授权用户(即第二设备)用于查找某个索引密文的查询陷门也相应的使用对应的对称密钥或者加密公钥对应的私钥即可。
在上述步骤S402中,当建立了上述可搜索的索引之后,若被授权的第二设备需要获得某个目标文件时,则无需下载全部N个文件,因此不会占用大量网络带宽,避免造成服务器堵塞,同时,也无需服务器对所有文件解密避免占用大量本地计算资源。不仅为用户节省大量的网络和计算开销,而且充分利用了云端服务器庞大的计算资源进行密文上的索引查找。并且,由于只有合法用户才具有基于索引检索能力,而服务器无法窃听用户的个人数据,但却可以根据查询请求返回对应的目标密文文件,所以既保证了用户数据的安全和隐私,又可以提升查询效率。
步骤S403:第一设备将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
具体地,第一设备针对上述步骤S401中对N个明文文件的N个解密密钥即N个第一密钥进行加密。可选的,针对N个第一密钥可采用同一个第三密钥进行加密,所述第三密钥为所述第一设备的第二公钥,即采用第一设备的另一个公钥(区别于前述步骤S402中的第一公钥)对N个第一密钥分别进行加密。可以理解的是,上述S401、S402和S403三个步骤之间没有绝对的先后执行顺序,本发明实施例对上述三个步骤之间的执行先后顺序不作具体限定。
在本发明实施例中,通过对数据量大的明文文件采用计算量较小的对称密钥(即第一密钥)进行对称加密,而对该数据量较小的第一密钥则利用计算量较大且安全性更好的公钥(即第三密钥)进行非对称加密,不仅提升了加解密效率,同时也保证了密文文件的安全性。若假设明文文件(例如为诊断数据)是通过云服务器直接分发给某个被授权的固定用户(可称为订户),则此时诊断数据可直接使用该订户的公钥加密(即非对称加密),即此时文件集合中无需携带第一密钥,因为解密密钥即为该订户的私钥,但是,该情况下,也只有该订户可用使用其私钥解密,而同样的数据若需要分享给不同的订户则需要经过多次加密才能实现共享,且由于公钥加密计算量大,使得这种方式不仅无法提供细粒化的访问控制,计算成本也很高。而本发明实施例中,由于该第三密钥为第一设备的公钥而非第二设备的公钥,也即是说本发明实施例中针对第一密钥的加密,是使用非定向的加密方式,即考虑到第一设备在上传文件集合时无法获知后续会有哪些设备需要查询访问、或者说第一设备不确定哪些设备具有查询访问的权限,因此,先统一使用自身的第二公钥进行加密,后续当确定某个第二设备需要访问时,再将第一密钥密文通过重代理加密的方式(详细描述可参见后续步骤S405)转换为针对某个第二设备专属可以解密的第一密钥密文,不仅实现了访问控制,也极大的提升了共享效率。需要强调说明的是,此处假若通过第一设备在确定某个第二设备需要查询目标文件后,将所述第一密钥密文从服务器上下载来,再在本地利用该第二设备的公钥进行非对称加密的方式,虽然也可以实现将密钥密文转换为针对该第二设备专属可解的情况,但是该方法需要第一设备下载密钥密文、在本地解密密钥密文和重新加密密钥以及再次上传至服务等操作,当有多个第二设备甚至是大量第二设备需要进行上述查询访问时,则第一设备需要进行大量上述操作,显然非常繁琐、且效率低,而本发明实施例中通过将上述繁琐过程采用重代理加密的方法,将大量计算转移至计算能力更强的服务器上进行,极大的提升了共享效率,也保证了共享的安全性。具体地实现见后续相关描述,此处暂不详述。
综上,本发明实施例中先通过采用对称密钥对明文文件进行加密,不针对某个订户,再通过在后续的重代理加密对应的解密密钥的过程,将该进行通用加密的密文文件转化为针对某个授权用户所专属的密文文件,实现了针对不同用户之间的访问控制,有效的实现了数据共享,且极大的提升了共享效率和安全性。
例如,如图6所示,图6为本发明实施例提供的一种车辆上传共享文件至服务器的示意图。假设,第一设备为车辆(V),第二设备为维修师(M)所使用的设备,N个明文文件均为该车辆(V)的诊断数据。在系统起始化阶段,车辆V生成用于重代理加密的长期公私钥对(pkV, skV)及相应的公钥证书(CertV);维修师M即第二设备侧(后续简称维修师M)取得能力证明 (CertM),用于证明该维修师有能力修理某车型或是某特定故障(如空调维修)。维修师也产生自己的用于重代理加密的长期公私钥对(pkM,skM)并取得相应的公钥证书;云服务器例如为客户/服务器模式(Client/Server,C/S)可由OEM或是第三方布置。在车辆V上传诊断数据之前,对于诊断数据Di(即本申请中的文件集合中的N个明文文件),包括D1、D2、D3、D4、D5、 D6、……DN做如下加密处理:
(1)车辆V从每一个诊断数据Di中提取索引(或称之为关键字),并使用密钥Kindx(即本申请中的第二密钥,例如该第二密钥为对称密钥)生成可查询索引I1、I2、I3、I4、I5、I6、…… Ii、……IN(即本申请中的N个索引密文)。
(2)车辆V随机生成N个密钥KEnc(即本申请中的N个第一密钥),并利用上述N个密钥KEnc结合对称密钥算法例如高级加密标准(Advanced Encryption Standard,AES)分别加密诊断数据Di,产生密文Ci,包括密文文件C1、C2、C3、C4、C5、C6、……CN(即本申请中的N个第一密文文件)。
(3)车辆V基于重代理加密(proxy re-encryption)算法,利用车辆V的长期公钥pkV (即本申请中的第二公钥)加密N个KEnc生成N个密文EKEnc(即本申请中的N个第一密钥密文)。
(4)车辆V向服务器上传(Ii,EKEnc,Ci)即本申请中的文件集合,其中i=1、2、3、4、5、……、N。
步骤S404:第一设备向服务器发送文件集合;服务器接收第一设备发送的文件集合。
具体地,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件。即第一设备向服务器上传N个需要共享的文件时,其需要将该N个共享文件的密文文件,用于检索该密文文件的索引,以及用于解密该密文文件的密钥均上传至服务器,由于需要保证上述所有信息在传输过程中以及存储过程中的安全,因此上述文件、索引以及密钥均需要以密文形式上传和存储。并且每个需共享的密文文件都有对应索引和密钥。可选的,所述文件集合中包含的N个密文文件、N个索引密文和N个第一密钥密文可以根据上述步骤S401-步骤S403中得到,此处不再赘述。
步骤S405:第一设备授权第二设备获得与目标索引密文匹配的查询陷门。步骤S406:第一设备将针对第二设备生成的重代理加密密钥发送至所述服务器。
具体地,当第一设备需要向第二设备共享文件,或者第二设备需要获得第一设备的某个共享文件时,则第一设备需要向第二设备授予查询文件索引的权限(包括授权获得查询陷门) 以及对应文件的解密权限(包括生成针对该第二设备的重代理加密密钥)。例如,第二设备需要获得某个文件时,则需要向第一设备或者第一设备的服务设备发起请求(本发明实施例对于具体向谁发送请求不作具体限定),且该请求中需要携带该第二设备的公钥,以便于后续第一设备根据该第二设备的公钥生成针对该第二设备的重代理加密密钥。因此,第一设备在接收到该第二设备的相关请求之后,或者该第一设备主动授权第二设备的相关文件获得权限的情况下,该第一设备授权第二设备获得与目标索引密文匹配的查询陷门,并且将针对第二设备生成的重代理加密密钥发送至所述服务器。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。例如,车辆部件为待诊断的设备,如车辆电源系统、发动机系统、传动系统、转向系统、行走系统、电气系统等,上述系统均可以将自身的运行数据、故障数据或诊断数据通过智能车辆的ECU上传至云服务器,进而进行后续的诊断数据存储、诊断查询、故障修复等过程。本发明实施例中,当应用于车辆诊断场景中,当第一设备为智能车辆需要进行维修时,则可以通过将诊断数据上传到对应的云服务器中进行共享,当需要维修师傅进行诊断时,则通过将查询陷门授权给对应的第二设备,从而使得第二设备可以获取到对应的车辆诊断密文文件并安全解密,进而进行车辆诊断。
在上述步骤S405中,关于第一设备如何授权第二设备获得与目标索引密文匹配的查询陷门的具体实施方式,可以根据实际的场景需求有多种可能的实现方式,以下提供两种示例性的实施方式:
方式一,第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第二设备接收所述第一设备发送的所述查询陷门,其中,所述目标索引明文为所述目标索引密文对应的索引明文,所述第二密钥为对称密钥。或者,所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第二密钥为所述第一设备的第一公钥,所述第一私钥为所述第二密钥对应的私钥。即本发明实施例中,对于索引明文的加密,可以使用对称密钥,则对应的查询陷门也用使用相同的对称密钥即可;或者,对于索引明文的加密,也可以使用非对称秘钥即第一公钥进行加密,对应的查询陷门则使用对应的私钥即第一私钥生成即可。
方式二,第一设备使用所述第二密钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述第二设备接收所述第一设备发送的保密陷门,并使用所述保密陷门和目标索引明文,利用陷门生成算法生成所述查询陷门,所述目标索引明文为所述目标索引密文对应的索引明文,所述第二密钥为对称密钥;或者,所述保密陷门为所述第一设备使用第一私钥生成的,所述第二密钥为所述第一设备的第一公钥,所述第一私钥为所述第二密钥对应的私钥。即本发明实施例中,对于索引明文的加密,可以使用对称密钥,则对应的查询陷门也用使用相同的对称密钥即可;或者,对于索引明文的加密,也可以使用非对称秘钥即第一公钥进行加密,对应的查询陷门则使用对应的私钥即第一私钥生成即可。进一步地,查询陷门可以是由第一设备生成后发送给第二设备,也可以是由第一设备生成保密陷门发给第二设备之后由第二设备生成,即对于第一文件的被分享者第二设备来说,必须在第一设备的授权下,才可以利用合法的查询陷门进行对应密文文件的查询获取。
例如,若第一设备使用公钥(即本申请中的第二密钥,例如该第二密钥为第一公钥)来实现查询索引的功能,在系统起始化阶段,车辆V生成用于可搜索加密的公私钥对,即(pk, sk)←KeyGen(1k)。在诊断数据加密和存储阶段,车辆V使用第一公钥pk代替前述Kindx生成查询索引:从数据Di中提取索引关键字KWi,生成可查询索引Ii←IndxGen(pk,KWi),在车辆维修阶段的车生成授权证明阶段,车辆V使用私钥sk为维修师生成对应于关键字KWM的查询token(STM),STM←SearchToken(sk,KWM)。
在上述步骤S406中,关于第一设备如何将针对第二设备生成的重代理加密密钥发送至所述服务器的具体实施方式,可以根据实际的场景需求有多种可能的实现方式,以下提供两种示例性的实施方式:
方式一:第一设备使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。即重代理加密具体是利用第一设备的私钥(该私钥对应于上述对第一密钥进行加密的第三密钥即第一设备的第二公钥)和第二设备的公钥生成。本发明实施例中,采用基于密文间的一种密钥转换机制即重代理加密,在不泄漏第一设备私钥(包括不泄露给服务器,甚至不泄露给第二设备)的前提下,让服务器将经过第一设备公钥加密的解密密钥 (目标第一密钥密文)通过重代理加密转化为经过第二设备公钥加密的解密密钥(目标第一密钥重加密密文),使得第二设备无需获知第一设备的私钥,即可利用自己的私钥进行密文文件的解密,从而最终获得目标密文文件的明文。
方式二:第一设备使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。重代理加密具体还可以利用第一设备的私钥和第二设备的公钥以及目标索引明文生成。本发明实施例中,重代理加密密钥不仅与第一设备的私钥和第二设备的公钥有关,并且还与要加密的索引明文有关,避免第二设备在不法获得所有的密文文件的情况下,且获得了一次重代理加密密钥之后,即可以一次性解开所有密文文件的安全隐患。
例如,第一设备使用细粒化的重代理加密密钥(proxy re-encryption)机制来实现重代理加密功能。在上述方式一对应的重代理加密机制中,委托者A(即本申请中的第一设备)所有的密钥密文(即第一密钥密文)都可被re-encryption key rkA→B转换成被委者(即本申请中的第二设备)的密文,相对比的,上述方式二对应的细粒化的重代理加密可实现细粒化的转换:委托者A的密文关联一个关键字KW,即Enc(pkv,KEnc,KW);而从委托者A到受委者B 的re-encryption key关联另一个关键字KW’,即
Figure GDA0003290503610000201
只有当KW=KW’时,委托者A的密文Enc(pkv,KEnc,KW)才能被重代理加密成受委托者B的密文,即在上述的实施例中使用方式二中的细粒化的重代理加密机制以替代方式一中的重代理加密机制,可以限制重代理机制的转换范围,例如,可以避免某个之前合法但后续变为非法的用户,在非法获取了所有的密文文件之后,利用自己之前合法的私钥对重代理加密后的密钥密文进行解密,进而获得密钥明文,最终可以非法解密所有的密文文件;也可以避免某个黑客在攻破某个设备的查询陷门以及合法私钥之后,一次性拿到所有的密文文件并利用攻破后的私钥进行破解,最终非法获得所有的明文文件,上述方式二相较于方式一的重代理加密机制进一步增强了数据共享的安全性。
步骤S407:第二设备在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;服务器接收第二设备发送的查询陷门。
例如,如图7所示,图7为本发明实施例提供的一种车辆授权维修师以及服务器的示意图。车辆V生成授权证明可以包括如下步骤:
(1)车辆V利用维修师的公钥证书CertM验证维修师M的能力。例如,车辆V可以是从维修师处获取CertM,或者是在预订维修服务时事先获取的。
(2)可选的,车辆V为维修师M定义读取权限APM(access policy)。
(3)车辆V使用Kindx(即本申请中的第二密钥)为维修师M生成对应于目标索引KWM的search token(STM)即本申请中的查询陷门,以查询用于本次维修任务的加密诊断数据,并将STM发送给维修师M。
(4)车辆V利用维修师M的长期公钥pkM(即本申请中的第二设备的公钥)及车自己的公私钥对(pkV,skV)即本申请中的第一设备的第二公钥和对应的私钥,计算重代理加密密钥 (re-encryption key)rkV->M,并与读取权限APM一起送给云服务器。
(5)之后,维修师M则可以根据上述车辆V的授权,发送数据查询请求及查询token(STM)
给云服务器。
步骤S408:服务器根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文。
具体地,服务器根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文。当第二设备将经过第一设备授权而获得的查询陷门发送至服务器进行目标文件的查找时,则该服务器利用相应的查询陷门从所述N个索引密文中查找对应的目标索引密文,根据该目标索引密文可以确定对应的目标密文文件以及对应的目标第一密钥密文。
在一种可能的实现方式中,服务器将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备之前,还向所述第二设备发起身份认证挑战,在所述身份认证挑战通过的情况下,再将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。在本发明实施例中,服务器在向第二设备发送对应的密文文件和密钥密文之前除了可以验证第二设备的读取权限,还可以进一步的再次确认该第二设备的合法身份,避免不合法的设备截获了相关的查询陷门从而冒充该第二设备非法获取对应的密文文件和密钥的重加密密文。
步骤S409:服务器利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文。
具体地,服务器根据第二设备发送的第二查询陷门确定对应的目标密文文件以及对应的目标第一密钥密文之后,则利用之前从第一设备处获得的重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文。该重加密的目的在于将经过第一设备公钥加密的第一密钥密文转化为第二设备的公钥加密的第一密钥重加密密文,如此一来,不仅避免第二设备需要获知第一设备的私钥才可以对目标第一密钥密文进行解密,而且还由于该重代理加密密钥是由第一设备利用自身的私钥和第二设备的公钥生成的,因此,只有拥有该公钥对应的私钥的第二设备,才可以对该经过该重代理加密密钥加密的第一密钥重加密密文进行解密,也即是实现并支持数据访问控制,即只有经过授权的第二设备才可以读取当前目标密文文件。
步骤S410:服务器将所述目标密文文件和所述目标第一密钥重加密密文发送至第二设备;第二设备接收服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文。
具体地,服务器将所述目标密文文件和所述目标第一密钥重加密密文发送至第二设备;第二设备接收服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文。至此完成了文件高效的安全共享的过程。
例如,如图8所示,图8为本发明实施例提供的一种服务器处理维修师的查询请求及查询陷门的示意图,云服务器处理维修师的查询请求,可以包括如下步骤:
(1)云服务器对维修师M进行必要的身份验证,然后检验读取权限APM
(2)云服务器使用查询陷门STM查询加密索引I,从加密数据C(C1,C2,..,Cn)中获取相应的查询结果CM(即本申请中的目标密文文件)。
(3)云服务器使用重代理加密密钥(re-encryption key)(rkV->M)重加密相应的EKEnc(即本申请中的目标第一密钥密文)生成重加密密文EKM(即本申请中的目标第一密钥重加密密文),此时,该EKM只能由维修师M解密,其他维修师由于没有维修师M的私钥则无法解密。
(4)云服务器回送查询结果CM(即本申请中的目标密文文件)及重代理加密密文EKM(本申请中的目标第一密钥重加密密文)给维修师M。
步骤S411:第二设备利用与第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件。
具体地,由于重代理加密密钥是基于第一设备的公私钥和第二设备的公钥生成的,因此,第二设备利用自己的私钥即可以解密第一密钥重加密密文,并利用解密后获得的第一密钥,对目标密文文件进行解密,从而获得对应的目标明文文件。
例如,如图9所示,图9为本发明实施例提供的一种维修师解密目标文件的示意图。维修师M解密包括如下步骤:
(1)维修师M用自己的长期密钥skM解密重代理加密密文EKM获得KEnc
(2)维修师M接着用KEnc解密CM获得相应的诊断数据,即本申请中的目标明文文件DM
在车辆远程维修场景中,本发明实施例不但安全地收集诊断数据并存储在远程云服务器上,而且根据所需提供受控的读取诊断数据权限给不同的维修师。维修师可查询加密数据,无需服务器解密数据,减少处理成本。另外,可搜索加密算法searchableencryption允许在不解密的情况下做大数据分析,对车辆的预测性维护来说具有非常理想的效果。
综上,请参见图10,图10为本发明实施例提供的一种远程车辆诊断的系统流程图,本申请采用可搜索加密(searchable encryption)和重代理加密(proxy re-encryption)的组合来构建安全远程诊断系统。其中,Searchable encryption用来实现加密数据查询,而proxy re-encryption 用于受限的诊断数据读取。系统工作的流程可大致如下:
①车辆将诊断文件,包括诊断数据、数据索引、数据解密密钥以加密形式存放在云服务器上.
②当车辆需要维修时,车辆(即第一设备侧)需要执行如下操作:
a)查询是否有合适的维修师,预定维修服务。可在线获取维修师/维修厂的证书;
b)计算对应于维修师重代理加密密钥re-encryption key并传送给云服务器;
c)根据预判的可能问题,为维修师计算查询陷门token,并传送给维修师;
③作为数据使用请求,维修师发送查询token给云服务器;
④进行必要的用户认证后,云服务器执行如下操作:
a)查询加密的诊断数据;
b)使用对应于维修师的re-encryption key重代理加密用于解密查询结果的密钥的密文,生成重加密密文(对应重加密的解密密钥);
c)返回重代理加密密文和加密的查询结果给维修师;
⑤拿到返回的加密的查询结果,维修师(即第二设备侧)执行如下操作:
a)用他的私钥解密重加密密文,得到用于解密数据的密钥;
b)用解密数据的密钥解密查询结果,得到数据明文;
c)分析数据以找出可能的故障,及准备所需的零件(这一切可以发生在车辆到达维修站之前);
d)需要说明的是,如果维修只涉及设置更新或是软件升级,那么车辆可能不需要送到维修站,而只需执行远程软件升级即可。
本发明实施例中,第一设备在上传共享文件(包括N个明文文件)之前,分别对该N个明文文件进行加密得到N个密文文件,并利用可搜索加密算法建立用于快速检索每个密文文件的索引,且分别对N个索引进行加密得到N个索引密文,使得第二设备在第一设备授予文件共享权限的情况下,可利用合法的查询陷门在服务器上快速查找到目标密文文件。即第一设备提供的密文文件和对应的索引密文,使得服务器无法窃听用户的明文数据(包括共享文件和对应的索引),但是可以根据查询陷门返回目标密文文件,这样既保证了用户数据的安全和隐私,又保证了文件查询和共享效率。进一步地,由于第一设备对共享文件进行了加密,则第二设备需要获得对应的解密密钥,才能最终获得目标明文文件。但若第一设备将解密密钥(即第一密钥)通过服务器明文传输给第二设备,则又可能存在解密密钥被服务器窃听导致共享文件被泄露的问题,并且,假如该解密密钥一旦泄露,那么非法获取到该解密密钥的设备也可以非法获得该目标密文文件。因此,在本发明实施例中,第一设备基于密文间的一种密钥转换机制即重代理加密,在不泄漏自己私钥(包括不泄露给服务器,甚至不泄露给第二设备)的前提下,让服务器将经过第一设备公钥加密的解密密钥(目标第一密钥密文)通过重代理加密转化为经过第二设备公钥加密的解密密钥(目标第一密钥重加密密文),使得第二设备无需获知第一设备的私钥,即可利用自己的私钥进行密文文件的解密,从而最终获得目标密文文件的明文,并且,由于该解密过程需要第二设备的私钥参与,而其他设备没有该第二设备的私钥,因此无法对密文文件进行解密,也因此只有第二设备才可以对其进行解密,即每次只有经过第一设备授权的查询设备,才有权限获得对应的明文文件,进而实现了共享文件的安全访问控制。其中,又由于本发明实施例中利用重代理加密算法是针对数据量较小的解密密钥(即目标第一密钥密文)进行重加密,而非对数据量较大的密文文件本身(即目标密文文件)进行重加密,因而极大的减少了服务器上的重代理加密计算量,也减少了第二设备在解密过程中的计算量,不仅提升了共享文件的查找效率,同时也保证了共享文件的隐私和安全,极大的提升了文件共享的体验。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关装置。
请参见图11,图11是本发明实施例提供的一种数据共享装置的结构示意图,该数据共享装置可应用于服务器,可选的,该数据共享装置也可以为服务器,装置10可以包括第一接收单元101、第二接收单元102、确定单元103、重加密单元104和发送单元105,其中,各个单元的详细描述如下。
第一接收单元101,用于接收第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
第二接收单元102,用于接收第二设备发送的查询陷门,所述查询陷门为所述第一设备授权所述第二设备获得的;
确定单元103,用于根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;
重加密单元104,用于利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,所述重代理加密密钥为所述第一设备针对所述第二设备生成的;
发送单元105,用于将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥;所述查询陷门为使用所述第一设备授权的所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为所述第一设备的第一公钥;所述查询陷门为使用所述第一设备授权的第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述装置还包括:身份认证单元106,用于在将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备之前,向所述第二设备发起身份认证挑战,在所述身份认证挑战通过的情况下,将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
需要说明的是,本发明实施例中所描述的数据分享装置10中各功能单元的功能可参见上述图4中所述的方法实施例中步骤S404-步骤S410的相关描述,或参见图5中所述的方法实施例中步骤S401-步骤S411的相关描述,此处不再赘述。
请参见图12,图12是本发明实施例提供的另一种数据共享装置的结构示意图,该数据共享装置20可应用于第一设备,可选的,该数据共享装置20也可以为第一设备,装置20可以包括发送单元201和授权单元202,其中,各个单元的详细描述如下。
发送单元201,用于向服务器发送文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;
授权单元202,用于授权第二设备获得与目标索引密文匹配的查询陷门,以及将针对所述第二设备生成的重代理加密密钥发送至所述服务器,所述重代理加密密钥用于对所述目标索引密文对应的目标第一密钥密文进行重加密。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述装置,还包括:
第一加密单元203,用于将N个明文文件分别利用所述N个第一密钥中对应的第一密钥加密得到所述N个密文文件。
在一种可能的实现方式中,所述装置,还包括:
第二加密单元204,用于将N个索引明文分别利用第二密钥加密得到所述N个索引密文,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述授权单元202,具体用于:
使用所述第二密钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述授权单元202,具体用于:
使用所述第二密钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述保密陷门用于所述第二设备使用所述保密陷门和目标索引明文生成所述查询陷门,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述装置,还包括:
第三加密单元205,用于将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述授权单元202,具体用于:
所述第一设备使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述授权单元202,具体用于:
使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
需要说明的是,本发明实施例中所描述的数据分享装置20中各功能单元的功能可参见上述图4中所述的方法实施例中步骤S404-步骤S410的相关描述,或参见图5中所述的方法实施例中步骤S401-步骤S411的相关描述,此处不再赘述。
请参见图13,图13是本发明实施例提供的又一种数据共享装置的结构示意图,该数据共享装置30可应用于第二设备,可选的,该数据共享装置30也可以为第二设备,装置30可以包括查询单元301和接收单元302,其中,各个单元的详细描述如下。
查询单元301,用于在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;所述服务器上存储有所述第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N 个第一密钥密文与所述N个密文文件一一对应;其中,每个索引密文解密后得到的索引明文用于索引对应的密文文件,每个第一密钥密文解密后得到的第一密钥用于解密对应的密文文件;所述查询陷门用于从所述N个索引密文中查找匹配的目标索引密文;
接收单元302,用于接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文;其中,所述目标第一密钥重加密密文为所述服务器利用重代理加密密钥,对所述目标密文文件对应的目标第一密钥密文进行重加密得到的,所述重代理加密密钥为所述第一设备针对所述第二设备生成的。
在一种可能的实现方式中,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
在一种可能的实现方式中,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
在一种可能的实现方式中,所述查询单元301,具体用于:所述第二设备接收所述第一设备发送的所述查询陷门,所述查询陷门为所述第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述查询陷门为所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述查询单元301,具体用于:接收所述第一设备发送的保密陷门,并使用所述保密陷门和目标索引明文,利用陷门生成算法生成所述查询陷门,所述保密陷门为所述第一设备使用所述第二密钥生成的,或者,所述保密陷门为所述第一设备使用第一私钥生成的,所述第一私钥为所述第二密钥对应的私钥。
在一种可能的实现方式中,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
在一种可能的实现方式中,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
在一种可能的实现方式中,所述装置还包括:解密单元303,用于利用与所述第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件。
在一种可能的实现方式中,所述装置还包括:身份认证单元304,用于接收所述服务器发起的身份认证挑战,在所述身份认证挑战通过的情况下,接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文。
在一种可能的实现方式中,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
需要说明的是,本发明实施例中所描述的数据分享装置30中各功能单元的功能可参见上述图4中所述的方法实施例中步骤S404-步骤S410的相关描述,或参见图5中所述的方法实施例中步骤S401-步骤S411的相关描述,此处不再赘述。
如图14所示,图14是本发明实施例提供的一种设备的结构示意图。本申请中的服务器、第一设备和第二设备,均可以以图14中的结构来实现,该设备40包括至少一个处理器401,至少一个存储器402、至少一个通信接口403。此外,该设备还可以包括天线等通用部件,在此不再详述。
处理器401可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口403,用于与其他设备或通信网络通信,如升级服务器、密钥服务器、车载内部的设备等。
存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory, CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器402用于存储执行以上方案的应用程序代码,并由处理器401来控制执行。所述处理器401用于执行所述存储器402中存储的应用程序代码以实现本申请中服务器、第一设备和第二设备的相关功能。
需要说明的是,本发明实施例中所描述的服务器、第一设备和第二设备的功能可参见上述图4至图5中的所述的方法实施例中的相关描述,此处不再赘述。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种数据共享方法的部分或全部步骤。
本发明实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行任意一种数据共享方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (33)

1.一种数据共享方法,其特征在于,包括:
服务器接收第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;
所述服务器接收第二设备发送的查询陷门,所述查询陷门为所述第一设备授权所述第二设备获得的;
所述服务器根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;
所述服务器利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,所述重代理加密密钥为所述第一设备针对所述第二设备生成的;
所述服务器将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
2.如权利要求1所述的方法,其特征在于,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述N个密文文件为将对应的N个明文文件分别利用所述N个第一密钥中的对应第一密钥加密得到的。
3.如权利要求1或2所述的方法,其特征在于,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥;所述查询陷门为使用所述第一设备授权的所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文。
4.如权利要求1或2所述的方法,其特征在于,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为所述第一设备的第一公钥;所述查询陷门为使用所述第一设备授权的第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥,所述目标索引明文为所述目标索引密文对应的索引明文。
5.如权利要求1-2任意一项所述的方法,其特征在于,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
6.如权利要求5所述的方法,其特征在于,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
7.如权利要求5所述的方法,其特征在于,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
8.如权利要求1-2任意一项所述的方法,其特征在于,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
9.一种数据共享方法,其特征在于,包括:
第一设备向服务器发送文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;
所述第一设备授权第二设备获得与目标索引密文匹配的查询陷门,以及将针对所述第二设备生成的重代理加密密钥发送至所述服务器,所述重代理加密密钥用于对所述目标索引密文对应的目标第一密钥密文进行重加密。
10.如权利要求9所述的方法,其特征在于,所述第一设备向服务器发送文件集合之前,还包括:所述第一设备将N个索引明文分别利用第二密钥加密得到所述N个索引密文,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
11.如权利要求10所述的方法,其特征在于,所述第一设备授权第二设备获得与目标索引密文匹配的查询陷门,包括:
所述第一设备使用所述第二密钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥以及目标索引明文,利用陷门生成算法生成所述查询陷门,并将所述查询陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
12.如权利要求10所述的方法,其特征在于,所述第一设备授权第二设备获得与目标索引密文匹配的查询陷门,包括:
所述第一设备使用所述第二密钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述保密陷门用于所述第二设备使用所述保密陷门和目标索引明文生成所述查询陷门,所述目标索引明文为所述目标索引密文对应的索引明文;或者,所述第一设备使用第一私钥生成保密陷门,并将所述保密陷门发送至所述第二设备,所述第一私钥为所述第二密钥对应的私钥。
13.如权利要求9-12任意一项所述的方法,其特征在于,所述方法还包括:
所述第一设备将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
14.如权利要求13所述的方法,其特征在于,所述第一设备将针对所述第二设备生成的重代理加密密钥发送至所述服务器,包括:
所述第一设备使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
15.如权利要求13所述的方法,其特征在于,所述第一设备将针对所述第二设备生成的重代理加密密钥发送至所述服务器,包括:
所述第一设备使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
16.一种数据共享方法,其特征在于,包括:
第二设备在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;所述服务器上存储有所述第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;
所述第二设备接收所述服务器发送的目标索引密文对应的目标密文文件和目标第一密钥重加密密文;其中,所述目标第一密钥重加密密文为所述服务器利用重代理加密密钥,对所述目标密文文件对应的目标第一密钥密文进行重加密得到的,所述重代理加密密钥为所述第一设备针对所述第二设备生成的。
17.如权利要求16所述的方法,其特征在于,所述方法还包括:
所述第二设备利用与第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件,所述第四密钥为所述第二设备的公钥。
18.一种数据共享装置,其特征在于,应用于服务器,所述装置包括:
第一接收单元,用于接收第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;
第二接收单元,用于接收第二设备发送的查询陷门,所述查询陷门为所述第一设备授权所述第二设备获得的;
确定单元,用于根据所述查询陷门从所述N个索引密文中查找匹配的目标索引密文,并确定对应的目标密文文件和目标第一密钥密文;
重加密单元,用于利用重代理加密密钥,对所述目标第一密钥密文进行重加密,得到目标第一密钥重加密密文,所述重代理加密密钥为所述第一设备针对所述第二设备生成的;
发送单元,用于将所述目标密文文件和所述目标第一密钥重加密密文发送至所述第二设备。
19.如权利要求18所述的装置,其特征在于,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为对称密钥;所述查询陷门为使用所述第一设备授权的所述第二密钥以及目标索引明文,利用陷门生成算法生成的,所述目标索引明文为所述目标索引密文对应的索引明文。
20.如权利要求18或19所述的装置,其特征在于,所述N个索引密文为将对应的N个索引明文分别利用第二密钥加密得到的,所述第二密钥为所述第一设备的第一公钥;所述查询陷门为使用所述第一设备授权的第一私钥以及目标索引明文,利用陷门生成算法生成的,所述第一私钥为所述第二密钥对应的私钥,所述目标索引明文为所述目标索引密文对应的索引明文。
21.如权利要求18-19任意一项所述的装置,其特征在于,所述N个第一密钥密文为将对应的N个第一密钥分别利用第三密钥加密得到的,所述第三密钥为所述第一设备的第二公钥。
22.如权利要求21所述的装置,其特征在于,所述重代理加密密钥为使用第二私钥和第四密钥,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
23.如权利要求21所述的装置,其特征在于,所述重代理加密密钥为使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成的,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
24.如权利要求18-19任意一项所述的装置,其特征在于,所述第一设备为智能车辆或智能车辆内部的车辆部件,所述第二设备为车辆诊断设备,所述密文文件为车辆诊断密文文件。
25.一种数据共享装置,其特征在于,应用于第一设备,所述装置包括:
发送单元,用于向服务器发送文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;
授权单元,用于授权第二设备获得与目标索引密文匹配的查询陷门,以及将针对所述第二设备生成的重代理加密密钥发送至所述服务器,所述重代理加密密钥用于对所述目标索引密文对应的目标第一密钥密文进行重加密。
26.如权利要求25所述的装置,其特征在于,所述N个第一密钥密文对应的N个第一密钥均为对称密钥;所述装置,还包括:
第一加密单元,用于将N个明文文件分别利用所述N个第一密钥中对应的第一密钥加密得到所述N个密文文件。
27.如权利要求25或26所述的装置,其特征在于,所述装置,还包括:
第二加密单元,用于将N个索引明文分别利用第二密钥加密得到所述N个索引密文,所述第二密钥为对称密钥,或者所述第二密钥为所述第一设备的第一公钥。
28.如权利要求25-27任意一项所述的装置,其特征在于,所述装置,还包括:
第三加密单元,用于将N个第一密钥分别利用第三密钥加密得到所述N个第一密钥密文,所述第三密钥为所述第一设备的第二公钥。
29.如权利要求28所述的装置,其特征在于,所述授权单元,具体用于:
所述第一设备使用第二私钥和第四密钥,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥。
30.如权利要求28所述的装置,其特征在于,所述授权单元,具体用于:
使用第二私钥、第四密钥和目标索引明文,利用重代理密钥生成算法生成所述重代理加密密钥并发送至所述服务器,所述第二私钥为所述第三密钥对应的私钥,所述第四密钥为所述第二设备的公钥,所述目标索引明文为所述目标索引密文对应的索引明文。
31.一种数据共享装置,其特征在于,所述装置应用于第二设备,所述装置包括:
查询单元,用于在第一设备的授权下获得查询陷门,并向服务器发送所述查询陷门;所述服务器上存储有所述第一设备发送的文件集合,所述文件集合包括N个密文文件、N个索引密文和N个第一密钥密文;所述N个索引密文与所述N个密文文件一一对应,所述N个第一密钥密文与所述N个密文文件一一对应;所述查询陷门用于从所述N个索引密文中查找匹配的目标索引密文;
接收单元,用于接收所述服务器发送的所述目标索引密文对应的目标密文文件和目标第一密钥重加密密文;其中,所述目标第一密钥重加密密文为所述服务器利用重代理加密密钥,对所述目标密文文件对应的目标第一密钥密文进行重加密得到的,所述重代理加密密钥为所述第一设备针对所述第二设备生成的。
32.如权利要求31所述的装置,其特征在于,所述装置还包括:
解密单元,用于利用与第四密钥对应的私钥对所述目标第一密钥重加密密文进行解密得到目标第一密钥,再利用所述目标第一密钥对所述目标密文文件进行解密获得对应的目标明文文件,所述第四密钥为所述第二设备的公钥。
33.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求1-8任意一项所述的方法,或者实现上述权利要求9-15任意一项所述的方法,或者实现上述权利要求16-17任意一项所述的方法。
CN201910714749.5A 2019-07-31 2019-07-31 数据共享方法、装置和计算机存储介质 Active CN112311746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910714749.5A CN112311746B (zh) 2019-07-31 2019-07-31 数据共享方法、装置和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910714749.5A CN112311746B (zh) 2019-07-31 2019-07-31 数据共享方法、装置和计算机存储介质

Publications (2)

Publication Number Publication Date
CN112311746A CN112311746A (zh) 2021-02-02
CN112311746B true CN112311746B (zh) 2022-01-14

Family

ID=74486747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910714749.5A Active CN112311746B (zh) 2019-07-31 2019-07-31 数据共享方法、装置和计算机存储介质

Country Status (1)

Country Link
CN (1) CN112311746B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315778B (zh) * 2021-06-04 2022-02-11 绍兴建元电力集团有限公司 应用于隐患定位的二重加密信息安全传输方法
CN113824713B (zh) * 2021-09-17 2023-03-31 平安银行股份有限公司 一种密钥生成方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743888A (zh) * 2016-01-22 2016-07-06 河南理工大学 一种基于关键字搜索的代理重加密方案
CN109347832A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种动态数据共享方法、终端设备及代理服务器
CN109495254A (zh) * 2018-12-05 2019-03-19 广东工业大学 一种可搜索对称加密方法、装置及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3490189B1 (en) * 2016-07-19 2022-04-06 Nippon Telegraph and Telephone Corporation Communication terminals, server devices, and programs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743888A (zh) * 2016-01-22 2016-07-06 河南理工大学 一种基于关键字搜索的代理重加密方案
CN109347832A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种动态数据共享方法、终端设备及代理服务器
CN109495254A (zh) * 2018-12-05 2019-03-19 广东工业大学 一种可搜索对称加密方法、装置及设备

Also Published As

Publication number Publication date
CN112311746A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN112671798B (zh) 一种车联网中的服务请求方法、装置和系统
EP3090520B1 (en) System and method for securing machine-to-machine communications
Alladi et al. A lightweight authentication and attestation scheme for in-transit vehicles in IoV scenario
Chuang et al. TEAM: Trust-extended authentication mechanism for vehicular ad hoc networks
US11265170B2 (en) Vehicle information collection system, vehicle-mounted computer, vehicle information collection device, vehicle information collection method, and computer program
Wang et al. NOTSA: Novel OBU with three-level security architecture for internet of vehicles
CN110324335B (zh) 一种基于电子移动证书的汽车软件升级方法及系统
CN110086755B (zh) 实现物联网服务的方法、应用服务器、物联网设备和介质
KR20150074414A (ko) 펌웨어 업그레이드 방법 및 그 시스템
CN110365486B (zh) 一种证书申请方法、装置及设备
CN102118246A (zh) 在车辆和远程设备间进行非对称密钥交换的系统和方法
CN110855616B (zh) 一种数字钥匙生成系统
CN113347133B (zh) 车载设备的认证方法及装置
US10897354B2 (en) System and method for privacy-preserving data retrieval for connected power tools
CN112311746B (zh) 数据共享方法、装置和计算机存储介质
CN113542428B (zh) 车辆数据上传方法、装置、车辆、系统及存储介质
Liu et al. LVAP: Lightweight V2I authentication protocol using group communication in VANET s
CN110383755A (zh) 网络设备和可信第三方设备
Han et al. A secure and efficient V2V authentication method in heavy traffic environment
Adelin et al. Facing emerging challenges in connected vehicles: a formally proven, legislation compliant, and post-quantum ready security protocol
CN116318739A (zh) 一种电子数据交换方法及系统
Kleberger et al. Protecting vehicles against unauthorised diagnostics sessions using trusted third parties
Qin et al. Research on secured communication of intelligent connected vehicle based on digital certificate
Jiang et al. A Distributed Internet of Vehicles Data Privacy Protection Method Based on Zero-knowledge Proof and Blockchain
CN116599771B (zh) 数据分级保护传输方法及装置、存储介质和终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant