CN107689947A - 一种数据处理的方法和装置 - Google Patents
一种数据处理的方法和装置 Download PDFInfo
- Publication number
- CN107689947A CN107689947A CN201610640301.XA CN201610640301A CN107689947A CN 107689947 A CN107689947 A CN 107689947A CN 201610640301 A CN201610640301 A CN 201610640301A CN 107689947 A CN107689947 A CN 107689947A
- Authority
- CN
- China
- Prior art keywords
- key
- public key
- terminal device
- data
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000012545 processing Methods 0.000 title claims abstract description 100
- 238000006243 chemical reaction Methods 0.000 claims abstract description 135
- 238000004891 communication Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 29
- 239000000725 suspension Substances 0.000 claims description 4
- 230000007704 transition Effects 0.000 abstract 3
- 238000004422 calculation algorithm Methods 0.000 description 81
- 238000003672 processing method Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 29
- 230000000875 corresponding effect Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 17
- 238000013461 design Methods 0.000 description 4
- 235000019800 disodium phosphate Nutrition 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 101150050759 outI gene Proteins 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
Abstract
本发明实施例公开了一种数据处理的方法和装置,该方法包括:终端设备生成第一公钥和第一私钥;向密钥生成中心KGC发送所述第一公钥,所述第一公钥用于所述KGC或服务器生成转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据;接收所述服务器发送的第二数据,所述第二数据是所述服务器根据所述转换密钥对第一数据处理后生成的数据;根据所述第一私钥解密所述第二数据。根据本发明实施例提出的数据处理的方法和装置,无需安全信道传输密钥,主要的工作都由服务器完成,对服务器的可信任性也没有要求,从而降低了基于属性加密ABE系统对终端设备性能的要求。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据处理的方法和装置。
背景技术
ABE(Attribute-Based Encryption,属性加密)是一种基于属性进行加密的数据处理方案,ABE系统可能拥有大量数据用户(为了简洁,以下,简称为“用户”),由于私钥泄露或者用户离职等原因需要对一些用户进行吊销。间接吊销是一种常用的ABE吊销方法,通过KGC(Key Generation Center,密钥生成中心)周期性地执行密钥更新任务,使得被吊销的用户无法获得下一个周期内的私钥,从而使被吊销的用户无法解密数据。
当前,用户需要周期性地联系KGC以获取更新后的密钥,因此,密钥更新信息给用户带来的开销较大。同时,KGC需要随时在线以便通过一个安全信道将密钥信息发送给用户,且该密钥大小和系统内的用户数量相关。这对ABE系统的性能以及用户的处理能力都提出了较高的要求。
发明内容
有鉴于此,本发明实施例提供了一种数据处理的方法和装置,通过在常规的ABE系统中引入一个不需可信的服务器,使得由于用户吊销而产生的密钥更新等任务都可以代理给该服务器,从而减少了用户处理器的运算量,使得处理能力有限的用户也可以快速访问存储于云或者其它平台中的属性加密数据。同时无需使用安全信道传输密钥,降低了对ABE系统的性能要求。
一方面,本发明实施例提供了一种数据处理的方法,该方法包括:终端设备生成第一公钥和第一私钥,所述第一公钥用于加密数据,所述第一私钥用于解密所述第一公钥加密的数据;所述终端设备向密钥生成中心KGC发送所述第一公钥,所述第一公钥用于所述KGC或服务器生成转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;所述终端设备接收所述服务器发送的第二数据,所述第二数据是所述服务器根据所述转换密钥对第一数据处理后生成的数据,其中,所述第一数据是所述服务器获取的基于所述终端设备的属性结构加密的数据;所述终端设备根据所述第一私钥解密所述第二数据。
根据本发明实施例提供的数据处理的方法,终端设备生成第一公钥和第一私钥,第一公钥用于加密数据,第一私钥可以用于解密该第一公钥加密的数据。终端设备将第一公钥发送给KGC,以便于KGC或者服务器根据该第一公钥生成转换密钥,第一公钥嵌套在该转换密钥内,因此,当服务器使用该转换密钥处理基于终端设备的属性结构加密的密文后,生成的结果是第一公钥所加密的密文,终端设备持有与该第一公钥配对的第一私钥,当终端设备接收到服务器发送的部分解密的密文后,可以根据该第一私钥以及解密算法进行解密,生成明文。由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行合谋,其它设备也无法获取最终的明文。因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
可选地,所述终端设备向KGC发送第一公钥,包括:所述终端设备向所述KGC发送所述第一公钥和证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥。
终端设备在向KGC发送第一公钥时还可以向KGC发送证明信息,该证明信息用于指示该终端设备持有与第一公钥配对的第一私钥,这样,KGC就可以根据该证明信息确定生成转换密钥,如果KGC没有接收到该证明信息,则KGC可以认定第一公钥为非法公钥,并终止对第一公钥的后续处理,从而可以提高ABE系统的安全性能。
可选地,所述终端设备生成第一公钥和第一私钥,包括:所述终端设备根据系统参数和身份参数生成所述第一公钥和所述第一私钥,其中,所述系统参数为所述KGC生成的公开信息,所述身份参数为所述终端设备的标识信息。
可选地,所述终端设备根据所述第一私钥解密所述第二数据,包括:所述终端设备根据所述系统参数、所述身份参数和所述第一私钥解密所述第二数据。
另一方面,本发明实施例提供了一种数据处理的方法,该方法包括:密钥生成中心KGC从终端设备接收第一公钥,所述第一公钥用于加密数据;所述KGC根据所述第一公钥和所述终端设备的属性信息生成第二公钥,所述第二公钥用于服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;所述KGC向所述服务器发送所述第二公钥。
KGC接收到终端设备发送的第一公钥后,可以基于该第一公钥以及该终端设备的属性生成第二公钥,该第二公钥是基于终端设备的属性的公钥,可以解密基于终端设备的属性加密的数据,由于第二公钥嵌套有第一公钥,因此,使用第二公钥对基于所述终端设备的属性加密的数据进行处理后生成的数据为基于第一公钥加密的密文,终端设备可以利用终端设备所持有的第一私钥对该基于第一公钥加密的密文进行解密,其中,第一私钥是与该第一公钥配对的密钥,可以用于解密基于第一公钥加密的数据。本发明实施例中,终端设备的属性信息可以是终端设备的具体身份信息,KGC还可以根据第一公钥和终端设备的属性集生成第二公钥。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
可选地,所述KGC生成所述第二公钥后,所述方法还包括:
所述KGC根据所述第二公钥和密钥更新信息生成转换密钥或者错误提示,所述密钥更新信息用于指示所述终端设备的吊销状态,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述KGC根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述KGC根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述转换密钥转换的结果;所述KGC向所述服务器发送所述第二公钥,包括:所述KGC向所述服务器发送所述转换密钥;或者
所述KGC向所述服务器发送所述第二公钥和所述密钥更新信息,以便于所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥或者所述错误提示。
本发明实施例的数据处理的方法,通过KGC生成用于指示终端设备是否被吊销的密钥更新信息,并根据该密钥更新信息和第二公钥生成转换密钥或者错误结果,从而可以确保未被吊销的终端设备可以获取加密数据,被吊销的终端设备不能获取加密数据,进而提高了系统的安全性能。
可选地,所述KGC生成所述第二公钥前,所述方法还包括:所述KGC从所述终端设备接收证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥;所述KGC根据所述证明信息确定生成所述第二公钥。
终端设备在向KGC发送第一公钥时还可以向KGC发送证明信息,该证明信息用于指示该终端设备持有与第一公钥配对的第一私钥,这样,KGC就可以根据该证明信息确定生成第二公钥,如果KGC没有接收到该证明信息,则KGC可以认定第一公钥为非法公钥,并终止对第一公钥的后续处理,从而可以提高ABE系统的安全性能。
可选地,所述KGC根据所述第一公钥和所述终端设备的属性信息生成第二公钥,包括:所述KGC根据所述第一公钥、所述终端设备的属性信息、系统参数、主密钥和所述KGC的内部状态信息生成所述第二公钥和更新后的所述内部状态信息,其中,所述系统参数是所述KGC生成的公开信息,所述主密钥是所述KGC生成的私钥。
可选地,所述KGC根据所述第二公钥和所述密钥更新信息生成所述转换密钥,包括:所述KGC根据所述第二公钥、所述密钥更新信息、所述系统参数和所述身份参数生成所述转换密钥,其中,所述密钥更新信息指示所述终端设备未被吊销。
再一方面,本发明实施例提供了一种数据处理的方法,该方法包括:服务器从密钥生成中心KGC接收第二公钥,所述第二公钥用于将基于终端设备的属性结构加密的数据转换成基于所述终端设备生成的第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;所述服务器获取第一数据,所述第一数据是基于所述终端设备的属性结构加密的数据;所述服务器根据所述第二公钥将所述第一数据转换成第二数据,所述第二数据为基于所述第一公钥加密的数据;所述服务器向所述终端设备发送所述第二数据,以便于所述终端设备根据所述第一私钥解密所述第二数据。
本发明实施例提供的数据处理的方法中,第二公钥为KGC基于第一公钥和终端设备的属性信息生成的公钥,第二公钥是基于终端设备的属性的公钥,可以解密基于终端设备的属性加密的数据,由于第二公钥嵌套有第一公钥,因此,使用第二公钥对基于所述终端设备的属性加密的数据进行处理后生成的数据为基于第一公钥加密的密文,终端设备可以利用终端设备所持有的第一私钥对第二数据进行解密,其中,第一私钥是与终端设备生成的密钥,可以用于解密基于第一公钥加密的数据。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
可选地,所述服务器接收所述第二公钥后,所述方法还包括:所述服务器从所述KGC接收密钥更新信息,其中,所述密钥更新信息用于指示所述终端设备的吊销状态;所述服务器根据所述第二公钥和所述密钥更新信息生成转换密钥或者错误提示,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述服务器根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据;所述服务器根据所述第二公钥将所述第一数据转换成第二数据,包括:所述服务器根据所述转换密钥将所述第一数据转换成所述第二数据。
本发明实施例的数据处理的方法,通过接收KGC生成的用于指示终端设备是否被吊销的密钥更新信息,并根据该密钥更新信息和第二公钥生成转换密钥或者错误结果,从而可以确保未被吊销的终端设备可以获取加密数据,被吊销的终端设备不能获取加密数据,进而提高了系统的安全性能。
可选地,所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥,包括:所述服务器根据所述第二公钥、所述密钥更新信息、系统参数和身份参数生成所述转换密钥,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息。
可选地,所述服务器根据所述转换密钥将所述第一数据转换成第二数据,包括:所述服务器根据所述转换密钥、系统参数、所述终端设备的属性信息、身份参数和时间参数将所述第一数据转换成所述第二数据,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息,所述时间参数用于指示所述服务器可以使用所述转换密钥的时间。
再一方面,本发明实施例提供了一种数据处理的装置,该装置可以实现上述方面所涉及方法中终端设备所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的单元或模块。
在一种可能的设计中,该装置的结构中包括处理器和通信接口,该处理器被配置为支持该装置执行上述方法中终端设备相应的功能。该通信接口用于支持该装置与其他装置之间的通信。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。
再一方面,本发明实施例提供了一种数据处理的装置,该装置可以实现上述方面所涉及方法中KGC所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的单元或模块。
在一种可能的设计中,该装置的结构中包括处理器和通信接口,该处理器被配置为支持该装置执行上述方法中KGC相应的功能。该通信接口用于支持该装置与其他装置之间的通信。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。
再一方面,本发明实施例提供了一种数据处理的装置,该装置可以实现上述方面所涉及方法中服务器所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的单元或模块。
在一种可能的设计中,该装置的结构中包括处理器和通信接口,该处理器被配置为支持该装置执行上述方法中服务器相应的功能。该通信接口用于支持该装置与其他装置之间的通信。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。
再一方面,本发明实施例提供了一种数据处理的装置,该装置包括上述方面所述的KGC和服务器。
再一方面,本发明实施例提供了一种通信系统,该通信系统包括上述方面所述的终端设备、KGC和服务器。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述终端设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述KGC所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
相比于现有技术,根据本发明实施例提供的数据处理的方法,终端设备不需要向其它设备发送完全解密密文所需要的密钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是适用本发明实施例的一种可能的系统架构的示意图;
图2是适用本发明实施例的KUNodes算法的示意性图;
图3是本发明实施例提供的一种数据处理的方法的示意图;
图4是本发明实施例提供的另一种数据处理的方法的示意图;
图5是本发明实施例提供的再一种数据处理的方法的示意图;
图6是适用本发明实施例的一种二叉树的示意图;
图7是适用本发明实施例的另一种二叉树的示意图;
图8A是本发明实施例提供的一种可能的终端设备的示意图;
图8B是本发明实施例提供的另一种可能的终端设备的示意图;
图9A是本发明实施例提供的一种可能的KGC的示意图;
图9B是本发明实施例提供的另一种可能的KGC的示意图;
图10A是本发明实施例提供的一种可能的服务器的示意图;
图10B是本发明实施例提供的另一种可能的服务器的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例描述的系统架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
图1为本发明实施例提供的一种SR-ABE(Server-Aided Revocable Attribute-Based Encryption,服务器帮助下的可吊销属性加密)的系统架构的示意图。如图1所示,该系统架构包括:终端设备(即,数据用户)110、KGC120、服务器130、云140和数据提供端150,该系统架构的一种可能工作流程如下所述。
步骤1,KGC120在系统初始化时运行Setup(初始化)算法,生成系统公开参数;
步骤2,终端设备110运行UserKG(用户密钥生成)算法生成一对用户公私钥对,其中,该用户私钥可以解密该用户公钥加密的数据,所述终端设备110保存用户私钥,将用户公钥发送给KGC120;
步骤3,KGC120根据所述用户公钥、系统公开参数、终端设备110的属性信息以及PubKG(公钥生成)算法生成一个基于属性的公钥,并将该基于属性的公钥发送给服务器130;
步骤4,KGC120周期性地执行TKeyUp(密钥更新)算法为终端设备110生成密钥更新信息,并将该密钥更新信息发送给服务器130;
步骤5,数据提供端150运行Encrypt(加密)算法对其提供的数据按照某个设定的存取结构和时间段值进行加密,并将加密生成的密文上传到云140,其中,该存取结构是基于属性的存取结构;
步骤6,终端设备110从云140获取密文,并将该密文转发给服务器130;
步骤7,如果密钥更新信息指示终端设备110未被吊销,则服务器130可以根据所述基于属性的公钥和所述密钥更新信息通过TranKG(转换密钥生成)算法生成转换密钥,该转换密钥用于处理所述密文;
步骤8,服务器130根据该转换密钥运行Transform(转换)算法,将从终端设备110获取的密文进行部分解密,并将部分解密的结果发送给终端设备110,其中,终端设备110的属性满足所述密文的存取结构的要求;
步骤9,终端设备110根据所保存的用户私钥运行Decrypt(解密)算法,将部分解密的结果进行完全解密生成明文;
步骤10,如果终端设备110需要被吊销,则KGC120可以运行Revoke(吊销)算法生成更新后的密钥更新信息,该更新后的密钥更新信息指示终端设备110已被吊销,使得服务器无法根据基于终端设备110的属性的公钥生成转换密钥,从而使终端设备110无法继续获取数据。
在图1所示的系统架构中,由于转换密钥是基于终端设备110的用户公钥生成的密钥,因此,服务器130利用转换密钥对基于属性加密的密文进行转换处理后,生成的部分解密的密文是基于所述用户公钥加密的密文,只能通过终端110持有的用户私钥来解密所述部分解密的密文,这样,即使部分解密的密文被其它设备获取,其它设备也无法解密,从而保证了数据的安全。
上述适用本发明实施例的系统架构仅是举例说明,本发明实施例还可应用于其它系统架构,例如,图1中所示的KGC120和服务器130在某些场景中可以作为一台硬件设备的不同功能模块存在,再例如,终端设备110可以向服务器130发送指示信息,该指示信息用于指示终端设备110所需的密文,服务器130可以根据该指示信息从云140中获取相应的密文。
还应理解,图1示出的各个设备或模块的数量和名称仅是示意性举例,不代表本发明实施例的应用场景局限于图1所示的场景。
为了方便理解本发明实施例,下面,首先对与本发明相关的要素进行简要介绍。
双线性配对(Bilinear Pairing):G和G1是两个阶为素数p的乘法群,g是G的生成元。一个可以进行有效计算的映射如果满足以下条件,就称其为一个双线性配对映射:
双线性性:对任何
非退化性:这1指G1的单位元。
判断性(q-1)假设:对于任何概率多项式时间算法,给定
该算法难以区分和这里q是一个给定的整数,g是群G的生成元,而是独立、均匀选取的随机数,是一个可计算的双线性配对映射。
存取结构:记P={P1,...,Pn}为一主体集合。一个族称为是单调的是指它满足以下条件:对于P的任意两个子集B和C,只要B∈A且就有C∈A。一个单调的存取结构就是一个单调的、P的某非空子集构成的族A,即族A中的元素称为授权集,P的子集但不是A的元素则称为非授权集。
LSSS(Linear Secret Sharing Scheme,线性秘密共享):记P={P1,...,Pn}为一主体集合,M为一个l行n列的矩阵,ρ:{1,...,l}→P是一个把矩阵M的每一行映射到P中某一主体的标记函数。主体集P上的一个秘密共享方案Π就是满足以下条件的、Zp上的一个线性秘密共享:
P中每个主体的秘密份额是Zp上的一个向量;
存在一个l行n列的矩阵M(称为秘密共享Π的份额生成矩阵),使得对于x=1,...,l,矩阵M的第x行通过标记函数ρ对应于主体ρ(i)。对于需要共享的秘密μ∈Zp和随机选取的数r2,...,rn∈Zp,记列向量则就是秘密共享方案Π下分享秘密μ所得到的l个秘密共享份额。而就是主体ρ(i)得到的共享份额。
每个LSSS都具有线性恢复的性质。假设Π是对应于某存取结构A的线性秘密共享。对于一个授权集A,定义指标集那么向量(1,0,...,0)属于矩阵M按指标I索引的所有行所扩充形成的空间内,且存在常数集{wi∈Zp}i∈I使得:对于根据Π生成的某个秘密μ的任何有效秘密共享份额{vi},秘密μ都可以按恢复出来。而且,这些常数{wi}可以在以份额生成矩阵M大小的多项式时间内计算出来。
另一方面,对一个非授权集A’,就不存在这样的常数集{wi}。进一步,如果令I’={i|ρ(i)∈A’},那么存在一个向量使得其首个分量w1可以是Zp中的任何非零元素但对任何i∈I’,这里Mi是矩阵M的第i行。
访问控制策略也可以用单调的布尔公式来描述。线性秘密共享(LSSS)存取结构更一般化,而且可从布尔公式表示导出。也就是说,有标准的方法将任何单调的布尔公式转化为对应的线性秘密共享份额生成矩阵M。同时,布尔公式可以表示为访问控制树,其中内部节点对应于AND门和OR门,而叶节点则对应于属性。对应LSSS秘密共享份额生成矩阵M的行数就是访问控制树叶节点数,也即属性总数。
二叉树和KUNodes算法
如图2所示,记BT为有N个叶节点的二叉树,对应于N个用户。令root为二叉树BT的根节点。对叶节点θ,用Path(θ)表示从θ到root路径上所有节点的集合(包含θ和root本身)。若θ不是叶节点,则用θl和θr分别表示θ的左、右子节点。假设树中的节点都唯一编码为字符串,而树由其节点的表述来定义。算法KUNodes用来计算需要进行密钥更新的最小节点集以使得只有时间段t未被吊销的用户才能解密该时间段内生成的密文。该算法以二叉树BT、吊销列表rl及时间段值t为输入,输出BT中的一个最小节点集使得吊销列表rl中的任何节点没有任何祖先(包含节点自己)在该集合内,而其他节点(即所有未吊销节点)有且仅有一个祖先(包含节点自己)在该集合内。注意时间段t时的吊销列表rl包含所有该时间段及之前被吊销的所有用户。图2中给出了KUNodes算法的工作示意。该算法首先将所有被吊销节点的所有祖先节点标记为被吊销节点,然后输出这些被吊销节点的未被吊销子节点。KUNodes严格描述如下:
下面,将结合图3至图5,详细描述本发明实施例提供的数据处理的方法。
图3示出了根据本发明一实施例的数据处理的方法的示意性流程图,如图3所示,该方法300包括:
S310,终端设备生成第一公钥和第一私钥,所述第一公钥用于加密数据,所述第一私钥用于解密所述第一公钥加密的数据;
S320,所述终端设备向密钥生成中心KGC发送所述第一公钥,所述第一公钥用于所述KGC或服务器生成转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;
S330,所述终端设备接收所述服务器发送的第二数据,所述第二数据是所述服务器根据所述转换密钥对第一数据处理后生成的数据,其中,所述第一数据是所述服务器获取的基于所述终端设备的属性结构进行加密生成的数据;
S340,所述终端设备根据所述第一私钥解密所述第二数据。
本发明实施例中,终端设备可以是物联网(Internet of Things,IoT)中的终端设备,也可以机器与机器(Machine to Machine,M2M)通信系统中的终端设备或无线传感器(Wireless Sensor Network,WSN)网络中的终端设备,还可以是其它类型的终端设备。
终端设备生成的第一公钥和第一私钥成对出现,第一公钥可以用于加密数据,第一私钥可以用于解密该第一公钥加密的数据。终端设备将第一公钥发送给KGC,以便于KGC或者服务器根据该第一公钥生成转换密钥,该转换密钥是基于终端设备的属性(终端设备的属性基于终端设备的用户的属性,例如,用户被吊销时,终端设备的属性也随之改变)的密钥,并且第一公钥嵌套在该转换密钥内,因此,当服务器使用该转换密钥处理基于终端设备的属性结构加密的密文(即,第一数据)后,生成的结果是与第一公钥绑定的部分解密的密文(即,第二数据),实际上该部分解密的密文是被第一公钥所加密的密文,终端设备持有与该第一公钥配对的第一私钥,当终端设备接收到服务器发送的部分解密的密文后,可以根据该第一私钥以及解密算法进行解密,生成明文。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
可选地,所述终端设备向KGC发送第一公钥,包括:
S321,所述终端设备向所述KGC发送所述第一公钥和证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥。
终端设备在向KGC发送第一公钥时还可以向KGC发送证明信息,该证明信息用于指示该终端设备持有与第一公钥配对的第一私钥,这样,KGC就可以根据该证明信息确定生成转换密钥,如果KGC没有接收到该证明信息,则KGC可以认定第一公钥为非法公钥,并终止对第一公钥的后续处理,从而可以提高ABE系统的安全性能。
可选地,所述终端设备生成第一公钥和第一私钥,包括:
S311,所述终端设备根据系统参数和身份参数生成所述第一公钥和所述第一私钥,其中,所述系统参数为所述KGC生成的公开信息,所述身份参数为所述终端设备的标识信息。
系统参数是KGC生成的公开信息,系统中任意一个设备都可以获取到,例如,该系统参数可以是KGC输入安全参数λ并执行ABE的系统设定算法生成的,(par,msk)←ABE.Setup(1λ),其中,par是系统参数,msk是主密钥,ABE.Setup为基于属性加密的系统设定算法。
终端设备可以根据系统公开参数par、用户身份id(即,身份参数)以及ElGamal密钥生成算法生产终端设备密钥对(即,第一公钥和第一私钥):(skid,pkid)←ElGamal.KeyGen(1λ),其中,skid为第一私钥,pkid为第一公钥,ElGamal.KeyGen为ElGamal密钥生成算法。
可选地,所述终端设备根据所述第一私钥解密所述第二数据,包括:
S341,所述终端设备根据系统参数、身份参数和所述第一私钥解密所述第二数据,其中,所述系统参数为所述KGC生成的公开信息,所述身份参数为所述终端设备的标识信息。
终端设备可以根据系统参数par,用户身份id,第一私钥skid、转换密文(即,第二数据)CT’以及ElGamal解密算法输出明文(即,目标数据):m’←ElGamal.Dec(skid,CT’),其中,ElGamal.Dec为ElGamal解密算法,m’为明文。
上述实施例仅是举例说明,本发明实施例不限于此,任何可以生成第一公钥、第一私钥的算法以及解密第二数据的算法都落入本发明的保护范围。
本发明实施例的数据处理的方法,终端设备生成公私钥对,将公钥发送给KGC,以便于生成转换密钥,转换密钥用于所述服务器将基于所述终端设备的属性加密的数据转换成基于所述公钥加密的数据,只有该终端设备可以利用自己持有的私钥解密所述基于所述公钥加密的数据,从而,无需使用安全信道传输私钥,对服务器的安全性能也无要求,此外,由于终端设备所持有的私钥可以为一常数,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
上面结合图3从终端设备的角度详细描述了根据本发明实施例的数据处理的方法,下面,将结合图4,从KGC的角度详细描述根据本发明实施例的数据处理的方法。
图4示出了根据本发明另一实施例的数据处理的方法的示意性流程图,如图4所示,该方法400包括:
S410,密钥生成中心KGC从终端设备接收第一公钥,所述第一公钥用于加密数据;
S420,所述KGC根据所述第一公钥和所述终端设备的属性信息生成第二公钥,所述第二公钥用于服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的的第一私钥解密所述基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;
S430,所述KGC向所述服务器发送所述第二公钥。
KGC接收到终端设备发送的第一公钥后,可以基于该第一公钥以及该终端设备的属性生成第二公钥,该第二公钥是基于终端设备的属性的公钥,可以解密基于终端设备的属性加密的数据,由于第二公钥嵌套有第一公钥,因此,使用第二公钥对基于所述终端设备的属性加密的数据进行处理后生成的数据为基于第一公钥加密的密文,终端设备可以利用终端设备所持有的第一私钥对该基于第一公钥加密的密文进行解密,其中,第一私钥是与该第一公钥配对的密钥,可以用于解密基于第一公钥加密的数据。本发明实施例中,终端设备的属性信息可以是终端设备的具体身份(id)信息,KGC还可以根据第一公钥和终端设备的属性集(即,多个属性的集合)生成第二公钥。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
可选地,所述KGC生成所述第二公钥后,所述方法还包括:
S421,所述KGC根据所述第二公钥和密钥更新信息生成转换密钥或者错误提示,所述密钥更新信息用于指示所述终端设备的吊销状态,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述KGC根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述KGC根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述转换密钥转换的结果;所述KGC向所述服务器发送所述第二公钥,包括:S422,所述KGC向所述服务器发送所述转换密钥;或者
S423,所述KGC向所述服务器发送所述第二公钥和所述密钥更新信息,以便于所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥或者所述错误提示。
如果终端设备当前为未被吊销状态,则KGC可以根据指示终端设备未被吊销的吊销列表生成密钥更新信息,该密钥更新信息用于指示终端未被吊销,并根据第二公钥和该密钥更新信息生成转换密钥,该转换密钥仍是基于终端设备的属性的密钥,并且嵌套有第一公钥,KGC将转换密钥发送给服务器,服务器可以利用该转换密钥将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的的第一私钥解密所述转换密钥转换的结果。
或者,KGC也可以将第二公钥和指示终端设备未被吊销的密钥更新信息发送给服务器,以便于服务器根据第二公钥和该密钥更新信息生成所述转换密钥。
如果终端设备当前为被吊销状态,则KGC可以根据指示终端设备被吊销的吊销列表生成密钥更新信息,所述密钥更新信息用于指示终端设备已被吊销,则KGC根据该密钥更新信息和第二公钥生成错误提示。
或者,KGC也可以将第二公钥和指示终端设备被吊销的密钥更新信息发送给服务器,以便于服务器根据第二公钥和该密钥更新信息生成所述错误提示。
本发明实施例的数据处理的方法,通过KGC生成用于指示终端设备是否未被吊销的密钥更新信息,并根据该密钥更新信息和第二公钥生成转换密钥,从而可以确保未被吊销的终端设备可以获取加密数据,被吊销的终端设备不能获取加密数据,进而提高了系统的安全性能。
可选地,所述KGC生成所述第二公钥前,所述方法400还包括:
S411,所述KGC从所述终端设备接收证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥;
S412,所述KGC根据所述证明信息确定生成所述第二公钥。
终端设备在向KGC发送第一公钥时还可以向KGC发送证明信息,该证明信息用于指示该终端设备持有与第一公钥配对的第一私钥,这样,KGC就可以根据该证明信息确定生成第二公钥,如果KGC没有接收到该证明信息,则KGC可以认定第一公钥为非法公钥,并终止对第一公钥的后续处理,从而可以提高ABE系统的安全性能。
可选地,所述KGC根据所述第一公钥和所述终端设备的属性信息生成第二公钥,包括:
S426,所述KGC根据所述第一公钥、所述终端设备的属性信息、系统参数、主密钥和所述KGC的内部状态信息生成所述第二公钥和更新后的所述内部状态信息,其中,所述系统参数是所述KGC生成的公开信息,所述主密钥是所述KGC生成的私钥。
KGC可以在初始化时生成系统参数par和主密钥msk,例如,终端设备输入安全参数λ,并执行ABE的系统设定算法:(par,msk)←ABE.Setup(1λ),其中,ABE.Setup为基于属性加密的系统设定算法。另外,该算法准备一个初始为空吊销列表rl和状态信息st。最后输出(par,msk,rl,st)。
如果KGC确定生成第二公钥,则可以按照如下方法生成第二公钥:输入系统参数par,主密钥msk,第一公钥pkid,一个属性集合A(即,包括终端设备的多个属性信息的集合)和KGC的内部状态st,首先运行ABE的密钥生成算法来获得中间密钥skA,id←ABE.KeyGen(msk,A,id,st),其中,ABE.KeyGen为基于属性加密的密钥生成算法,然后,用ElGamal加密算法来加密中间密钥,然后输出终端设备的属性密钥(即,第二公钥):ElGamal.Enc(pkid,skA,id),其中,ElGamal.Enc为ElGamal加密算法,ElGamal加密算法可以加密中间密钥skA,id的全部内容,提高安全性能,也可以只加密中间密钥skA,id的其中一部分,减轻KGC的运算负担。
可选地,所述KGC根据所述第二公钥和所述第一密钥更新信息生成所述转换密钥,包括:
S427,所述KGC根据所述第二公钥、所述第一密钥更新信息、所述系统参数和所述身份参数生成所述转换密钥,其中,所述密钥更新信息指示所述终端设备未被吊销。
KGC可以通过如下方法生成第一密钥更新信息:输入系统参数par,主密钥msk,时间段值t,吊销列表rl和内部状态st,该算法运行ABE的密钥更新算法,输出第一密钥更新信息tkut←ABE.KeyUpdate(msk,rl,t,st),其中,ABE.KeyUpdate为基于属性加密的密钥更新算法,所述吊销列表rl包括所述终端设备,内部状态st会被密钥更新算法所更改。
进而KGC可以通过如下方法生成转换密钥:输入系统参数par,用户身份id(即,身份参数),第二密钥和第一密钥更新信息tkut,输出转换密钥
上述实施例仅是举例说明,本发明实施例不限于此,任何可以生成第二公钥、第一密钥更新信息以及转换密钥的算法都落入本发明的保护范围。
本发明实施例的数据处理的方法,KGC接收终端设备发送的第一公钥,并根据第一公钥生成基于终端设备的属性的第二公钥,从而可以将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,只有该终端设备可以利用自己持有的第一私钥解密所述基于所述第一公钥加密的数据,从而,无需使用安全信道传输私钥,对服务器的安全性能也无要求,此外,由于终端设备所持有的私钥可以为一常数,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
上面结合图4从KGC的角度详细描述了根据本发明实施例的数据处理的方法,下面,将结合图4,从服务器的角度详细描述根据本发明实施例的数据处理的方法。
图5示出了根据本发明再一实施例的数据处理的方法的示意性流程图,如图5所示,该方法500包括:
S510,服务器从密钥生成中心KGC接收第二公钥,所述第二公钥用于将基于终端设备的属性结构加密的数据转换成基于所述终端设备生成的第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;
S520,所述服务器获取第一数据,所述第一数据是基于所述终端设备的属性结构加密的数据;
S530,所述服务器根据所述第二公钥将所述第一数据转换成第二数据,所述第二数据为基于所述第一公钥加密的数据;
S540,所述服务器向所述终端设备发送所述第二数据,以便于所述终端设备根据所述第一私钥解密所述第二数据。
本发明实施例中,第二公钥为KGC基于第一公钥和终端设备的属性信息生成的公钥,第二公钥是基于终端设备的属性的公钥,可以解密基于终端设备的属性加密的数据,由于第二公钥嵌套有第一公钥,因此,使用第二公钥对基于所述终端设备的属性加密的数据(即,第一数据)进行处理后生成的数据为基于第一公钥加密的密文(即,第二数据),终端设备可以利用终端设备所持有的第一私钥对第二数据进行解密,其中,第一私钥是终端设备生成的与该第一公钥配对的密钥,可以用于解密基于第一公钥加密的数据。
在本发明实施例中,第二公钥可以是KGC基于第一公钥和终端设备的属性信息生成的公钥,也可以是KGC基于第一公钥、终端设备的属性信息和密钥更新信息生成的公钥(也可称为“转换密钥”),其中该密钥更新信息用于指示终端设备未被吊销。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
可选地,所述服务器接收所述第二公钥后,所述方法500还包括:
S511,所述服务器从所述KGC接收密钥更新信息,其中,所述密钥更新信息用于指示所述终端设备的吊销状态;
S512,所述服务器根据所述第二公钥和所述密钥更新信息生成转换密钥或者错误提示,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述服务器根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据;
所述服务器根据所述第二公钥将所述第一数据转换成第二数据,包括:
S531,所述服务器根据所述转换密钥将所述第一数据转换成所述第二数据。
如果终端设备当前为未被吊销状态,则KGC可以根据指示终端设备未被吊销的吊销列表生成密钥更新信息,该密钥更新信息用于指示终端未被吊销,服务器可以根据第二公钥和该密钥更新信息生成转换密钥,该转换密钥仍是基于终端设备的属性的密钥,并且嵌套有第一公钥,服务器可以利用该转换密钥将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的的第一私钥解密所述转换密钥转换的结果。
如果终端设备当前为被吊销状态,则KGC可以根据指示终端设备被吊销的吊销列表生成密钥更新信息,所述密钥更新信息用于指示终端设备已被吊销,服务器可以根据该密钥更新信息和第二公钥生成错误提示。
本发明实施例的数据处理的方法,通过接收KGC生成的用于指示终端设备未被吊销的密钥更新信息,并根据该密钥更新信息和第二公钥生成转换密钥,从而可以确保未被吊销的终端设备可以获取加密数据,被吊销的终端设备不能获取加密数据,进而提高了系统的安全性能。
可选地,所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥,包括:
S515,所述服务器根据所述第二公钥、所述密钥更新信息、系统参数和身份参数生成所述转换密钥,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息。
系统参数是KGC生成的公开信息,系统中任意一个设备都可以获取到,例如,该系统参数可以是KGC输入安全参数λ并执行ABE的系统设定算法生成的,(par,msk)←ABE.Setup(1λ),其中,par是系统参数,msk是主密钥,ABE.Setup为基于属性加密的系统设定算法。
服务器可以通过如下方法生成转换密钥:输入系统参数par,用户身份id(即,身份参数),第二密钥和第一密钥更新信息tkut,输出转换密钥
可选地,所述服务器根据所述转换密钥将所述第一数据转换成第二数据,包括:
S532,所述服务器根据所述转换密钥、系统参数、所述终端设备的属性信息、身份参数和时间参数将所述第一数据转换成所述第二数据,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息,所述时间参数用于指示所述终端设备在当前时刻所述转换密钥可以使用。
服务器可以通过以下方法将第一数据转换成第二数据:输入系统参数par,用户身份id(即,身份参数),属性集合A,转换密钥tkid,t和密文CT(即,第一数据),该算法运行ABE的解密算法,输出转换密文 其中,ABE.Dec为基于属性加密的解密算法,为转换密钥。
上述实施例仅是举例说明,本发明实施例不限于此,任何可以生成转换密钥以及根据转换密钥将第一数据转换为第二数据的算法都落入本发明的保护范围。
本发明实施例的数据处理的方法,服务器从KGC接收第二公钥,该第二公钥可以是KGC基于第一密钥更新信息生成的公钥(即,转换密钥),该第一密钥更新信息用于指示终端设备未被吊销,该第二公钥也可以是KGC没有基于所述第一密钥更新信息生成的公钥,服务器可以根据该第二公钥将基于所述终端设备的属性加密的数据转换成基于第一公钥加密的数据,只有该终端设备可以利用自己持有的第一私钥解密所述基于所述第一公钥加密的数据,从而,无需使用安全信道传输私钥,对服务器的安全性能也无要求,此外,由于终端设备所持有的私钥可以为一常数,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
下面,再举出两个根据本发明实施例的数据处理的方法的具体实施方式。
实施例一
令G是一个具有素数阶p的群。为保证离散对数问题足够困难,p建议不短于512比特。表示双线性对,而g是G的生成元。本发明所提出的服务器帮助下的可吊销ABE包含如下算法:
Setup.以安全参数1λ为输入,该算法随机选取阶为素数p的群G及其生成元g∈G。另外,该算法随机选取u,h,u0,h0,w,v∈G,α∈Zp.令rl是初始为空的表以存储被吊销的用户,而BT是有至少N个叶结点的二叉树。定义将任意数值y∈Zp映射到G中元素的两个函数F1和F2如下:F1(y)=uyh,F2(y)=u0 yh0。最后,系统主私钥msk=α,系统公开参数为 以及表rl和状态信息st=BT。
UserKG.以系统参数par和某身份id为输入,该算法随机选取β∈Zp,并为用户id输出用户私钥、公钥对(skid,pkid)=(β,gβ)。
PubKG.该算法以系统公开参数par、主私钥msk、身份id及其用户公钥pkid、该用户的属性集A和状态信息st为输入。记A1,…,Ak为属性集A的各个属性。该算法首先从二叉树BT中选取一个未定义的节点θ,并把身份信息id存储于该节点。随后,对于每个节点x∈Path(θ)执行以下步骤:
从节点x获取gx。若对于x尚未定义该数值,则随机选取gx∈G,并将gx存储于节点x。之后,计算gx'=pkid α/gx。
随机选取rx,rx,1,...,rx,k∈Zp,并计算
最后,该算法输出用户属性公钥和更新后的st。
TKeyUp.该算法以系统公开参数par、主私钥msk、一个时间段值t,吊销列表rl和状态信息st为输入。对于每个节点x∈KUNodes(BT,rl,t),获取其对应的gx。然后随机选sx∈Zp,输出转换密钥更新信息tkut={x,Qx,1,Qx,2}x∈KUNodes(BT,rl,t)。其中,
TranKG.该算法以系统公开参数par、某身份id及其用户属性公钥转换密钥更新信息tkut为输入。记Path(θ)为I及KUNodes(BT,rl,t)为J。该算法先将解析为将tkut解析为{x,Qx,1,Qx,2}x∈J。若I∩J=Φ,即I和J的交集为空,该算法返回⊥(表示该用户已被吊销,转换密钥生成出错,即“错误提示”)。否则,对每个节点x∈I∩J,该算法随机选取rx',rx,1',…,rx,k',sx'∈Zp,并为用户id输出转换密钥 其中,
Encrypt.该算法以系统公开参数par、某线性秘密共享访问控制结构(M,ρ)、某时间段值t及消息m为输入,随机选取一向量 其中,μ是用于加密消息的秘密指数。对每个i=1到l,计算 其中Mi是M的第i行。另外,再随机选取μ1,…,μl∈Zp后,输出密文其中
C1=gμ,
C5=F2(t)μ.
Transform.该算法以系统公开参数par、身份id及对应用户转换密钥tkid,t、用户属性集A、时间段值t及带有访问控制结构(M,ρ)的密文CT为输入。假设A满足访问存取结构(M,ρ)。记I为I={i:ρ(i)∈A},而{wi∈Zp}i∈I为一系列常数值使得只要{vi}是某秘密μ按照(M,ρ)所得到的有效秘密共享分额,则有该算法将密文CT解析为 如果属性集A和转换密钥tkid,t不满足CT中所给出的存取结构(M,ρ),就输出特别符号⊥表明转换失败。否则,就按下式输出转换后密文(即部分解密密文)CT’=(C0’,C0):
Decrypt.该算法以系统公开参数par、身份id及对应用户私钥skid、转换后的密文CT’=(C0’,C0)为输入。若C0’或C0不属于群G1,则输出操作失败。否则,按下式计算并输入明文消息:
Revoke.该算法以身份值id,时间段值t,吊销名单rl及状态信息st为输入。对所有与身份id相关联的节点x,将(x,t)添加到rl,然后输出更新后的吊销名单rl。
通过定义选择明文攻击不可区分性(IND-CPA)安全模型,可以定义SR-ABE的安全性。其中通过给出攻击算法和挑战算法,形式化地考虑现实中可能的安全威胁和攻击者在标准ABE安全中的能力。而攻击者可以获取其所选取的数据用户的私钥和公开的用户属性密钥。这时,对于被挑战的访问控制结构,攻击者不应该得到有关加密信息的任何部分信息。另外,安全模型中允许攻击者可访问周期性密钥更新信息、不同时间段的转换密钥信息已经可按攻击者自己的需要吊销用户的能力。这时,对于属性满足被挑战的访问控制结构而已被吊销的任何用户,若加密时该用户已被吊销,则攻击者不应该得到有关加密信息的任何部分信息。
在判断性(q-1)假设下,本发明实施例所提出的服务器帮助下的可吊销ABE方案是上述选择性IND-CPA安全定义下标准模型中可证明安全的。
实施例二
首先对本实施例所使用的符号进行说明。
Tt:我们将使用二叉树进行时间段管理。假设Q是在叶节点存储所有时间戳(上界为q)的二叉树。例如,对于q=8的情况下,树Q如图6所示。根节点被命名为r-“*”,其中r=log2q=3。左侧的每一个子节点,第一个*由0代替;右侧的每一个子节点,第一个*被1替换。整个树的节点可以这样命名。
对于每一个密文,Tt仅包括时间t与所有时间大于t的节点的组合。例如,如果当前时间是3(二进制表示为011),那么Tt={011,1**}包括叶节点3-7。如果当前时间是5(二进制表示为101),那么Tt={101,11*}包括叶节点5-7。很容易可以看到,Tt的最大尺寸等于树的高度(等于log2q)。因此,一个用户在时间4(二进制是100)的密钥可以解密上述的第一个密文(时间戳3-7),但不可以解密上述的第二个密文(时间戳5-7)。
Path(ID):我们将使用一棵树U进行撤销管理,并使用身份ID标记叶节点。关于一组叶结点V,函数U(V)返回一个(确定性选定的)U的节点的集合,使得叶节点v的一些祖先是包含在U(V)当且仅当v∈V。这样的函数存在,并且可以在多项式时间中(Ⅴ的尺寸和ID的大小)来计算。定义字符串ID从U的根到叶vID(包括根和叶)的节点集合为Path(ID)。
如图7所示,图7示出的树U代表所有用户,假设V={000,011}是一组被撤销的用户。那么U(V)={000,00*,0**,***,011,01*}(其中包含000和011的祖先)。另外Path(011)={011,01*,0**,***}(其中包含从根到011的路径)。
ωi,b:我们将使用ωi,b来描述与时间段相关的属性。此处索引i用来表示在树的级层。根为第0级,其子节点为第1级等等。最大的等级是r=log2q。索引b是0或1,表示在第i级的值。例如,对于时间=101,该组相关的属性={ω1,1,ω2,0,ω3,1}。
(By,βy):时间y的访问控制策略。假如B是一个2r行(r+1)列的矩阵,其为一个2乘2的全为1的矩阵沿对角线级联而成;而其他地方的值为0。下面是r=3时的例子:
标记矩阵B的行为b1,0,b1,1,b2,0,b2,1,…,br,0,br,1按降序排列。对于矩阵B的所有行,定义标签β为β(bi,d)=ωi,d。现在我们为时间y定义访问控制策略(By,βy)。对于每个属于[1,…,r]的索引i,如果在第i级的相应的y值(表示为y[i])不是*,我们将从矩阵B中消除行bi,y[i],从而得到矩阵By。例如r=3和y=01*,矩阵By和标签βy(由下面的箭头表示)是:
注意一组属性S满足(By,βy)当且仅当:(1)对所有的i使得y[i]不等于*,则ωi,y[i]包含在S之内;及(2)对所有的i使得y[i]=*,则ωi,0或ωi,1包含在S之内。
(M,ρ)V(By,βy):我们使用符号(M,ρ)V(By,βy)表示两个LSSS策略(M,ρ)与(By,βy)的组合,即通过顺序添加行By到矩阵M(并填充为相同长度)而生成的LSSS策略。
实施例二的具体实施方式如下:
Setup(1λ):输入安全参数λ,选择一个阶N=p1p2p3的双线性群G(阶等于三个随机素数相乘,达到安全强度λ)。随机选择α,α∈ZN与并准备一个初始为空吊销列表rl和状态st。对所有i,随机选择设定msk=(α,X3),
par=(N,g,ga,e(g,g)α,{Ti=gsi for all i})
它输出(par,msk,rl,st)。
UserKG(par,id):输入系统公开参数par和用户身份id,随机选择β∈ZN,输出skid=β,pkid=gβ。
PubKG(par,msk,id,pkid,A,st):输入系统公开参数par,主密钥msk,用户公钥pkid,一个属性集合A和KGC的内部状态st,对所有x∈Path(id),计算:
在内部状态st查找(x,αx)。如果不存在,则随机选择αx∈ZN,并把(x,αx)保存在st。
随机选择tx∈ZN,计算:
输出
TKeyUp(par,msk,t,rl,st):输入系统公开参数par,主密钥msk,时间段t,吊销列表rl和内部状态st,对所有x∈U(rl)(吊销列表的树),计算:
表示集S={ωi,t[i]:i∈[r]}为时间相关的属性。
在内部状态st查找(x,αx)。如果不存在,则随机选择αx∈ZN,并把(x,αx)保存在st。
随机选择tx∈ZN,计算:
输出
输入系统公开参数par,用户身份id,公共属性密钥和密钥更新信息tkut,假如用户身份id不在tkut的rl之内,那么必定有一个节点x既属于U(rl)又属于Path(id)。对于此x,相应的密钥更新信息是:
输出tkid,t=(SK0,SK1)。
Encrypt(par,(M,ρ),t,m):输入系统公开参数par,访问控制策略(M,ρ),时间t和明文m,为所有y∈Tt,建立LSSS控制策略随机选择v=(s,v2,…,vn)∈ZN n和ri∈ZN(所有i∈[n])。计算:
输出密文CTt=({Cy,Cy′,{Cy,i,Dy,i}i∈[n]:for all y∈Tt},(M,ρ))。
Transform(par,id,A,tkid,t’,CTt):输入系统公开参数par,用户身份id,属性集合A,转换密钥tkid,t’和密文CTt;如果t’≥t,那么存在y∈Tt,使得y是t’的祖先。对于此y,在密文CTt提取(Cy,Cy′,{Cy,i,Dy,i}i∈[n])。表示tkid,t’=(SK0,SK1),其中SK0={Kx,0,{Kx,i,0:i∈A},K*x,0}和SK1={Kx,1,{Kx,i,1:i∈A},K*x,1}。
首先,计算ωi∈ZN使得然后计算:
上述两个数值使得我们可以计算同样地,我们可以使用SK1如下计算出
最后输出CT’=(Cy,CT’0,CT’1)。
Decrypt(par,id,skid,CT’):输入系统公开参数par,用户身份id,用户私钥skid=β和转换密文CT’=(Cy,CT’0,CT’1),输出明文
Revoke(id,t,rl):输入吊销用户身份id、时间段t、吊销列表rl和状态信息st,将{(id,t)}添加到rl作为更新后的吊销列表rl输出。
本发明实施例还可以作以下扩展:
扩展1:选择密文攻击不可区分(IND-CCA安全)下的方案.本发明提出的上述SR-ABE方案只满足较弱的IND-CPA安全性。利用现有的几种普适性方法,可以将IND-CPA安全的加密方案转化为IND-CCA安全的。
比如,1999年提出的Fujisaki-Okamoto方法就可以将本发明提出的基于属性或身份的IND-CPA安全加密方案提升为IND-CCA安全的。利用一个IND-CCA安全的对称钥加解密方案(E,D)和两个哈希函数G和H,该方法加密时进行如下操作:(1)加密一个消息m时,先选取一个随机数r,然后利随机数G(r)使用ABE把r作为消息加密,生成C1=ABE.Enc(r;G(r));(2)再利用对称秘钥H(r)加密消息m,即生成C2=E(H(r),m);(3)最后输出密文(C1,C2)。解密密文(C1,C2)时操作如下:(1)通过ABE解密C1得到r;(2)计算出ABE.Enc(r;G(r))并比较该值是否等于C1,否则返回錯误;(3)若步骤(2)成功,则使用对称钥H(r)解密C2得到消息m。
再比如,2011年提出的Yamada-Attrapadung-Hanaoka-Kunihiro方法也可以将本发明提出的基于属性的IND-CPA安全加密方案提升为IND-CCA安全的。利用一个一次性签名方案(S,V),该方法加密时进行如下操作:(1)加密一个消息m时,先随机生成一对一次性签名方案公私钥(vk,sk);(2)把vk加原来的访问控制策略Y得到新的访问控制策略Y’(例如Y’=Y or vk);(3)由此计算出密文为(C1,C2,vk),其中C1为利用ABE和访问控制策略Y’把消息m加密后的输出,C2为利用sk把C1进行一次性签名的输出。解密时进行如下操作:(1)利用vk和C1验证一次性签名C2,如不通过返回錯误;(2)若一次性签名C2通过验证,怎使用ABE解密C1得到消息m。
扩展2:加密长数据.为提高加密长数据时的效率,可以在本专利提出的属性加密方案的算法Encrypt中用一个对称密钥k替代消息m,然后用k按对称加密的方式加密长数据本身。这样用户收到服务器部分解密的结果后,利用自己的长期私钥即可解恢复出对称密钥k,然后利用k按所使用的对称加密算法最终解密出长数据。
扩展3:服务器帮助下的可吊销密钥策略属性加密方案(SR-KP-ABE).基于文献[1](N.Attrapadung and H.Imai.Attribute-based encryption supporting direct/indirect revocation modes.In Cryptography and Coding,12th IMA InternationalConference,Cryptography and Coding 2009,Cirencester,UK,December 15-17,2009.Proceedings,volume 5921of Lecture Notes in Computer Science,pages 278–300.Springer,2009.)提出的间接吊销KP-ABE,利用上述实施例中所使用的技术,可以得到一个服务器帮助下的可吊销KP-ABE方案。简要描述如下:
Setup算法与文献[1]相同,但不需要设置参数ax。
将上述UserKG算法直接添加到文献[1]的方案中。
通过设定将文献[1]中的KeyGen算法变为PubKG算法。
KeyUpdate算法、Encrypt算法和Revoke算法与文献[1]中的相同。
将文献[1]中的带有解密结果的Decrypt算法作为所需添加的Transform算法。
最后,把文献[1]的Decrypt算法替换为上述SR-ABE方案中的Decrypt算法。
扩展4:服务器帮助下的可吊销基于身份加密(SR-IBE).文献[2](B.Qin,R.H.Deng,Y.Li,and S.Liu.Server-aided revocable identity-based encryption.InComputer Security-ESORICS 2015-20th European Symposium on Research inComputer Security,Vienna,Austria,September 21-25,2015,Proceedings,Part I,volume 9326of Lecture Notes in Computer Science,pages 286–304.Springer,2015)提出SR-IBE方案以减轻由于吊销而导致的用户工作量增加,但该方案的效率还不够好。一方面,需要安全信道来给系统内的所有用户传递私钥,而安全信道的建立不容易。另一方面,用户解密时的计算量可以进一步缩减。具体来说,文献[2]提出的SR-IBE可改进如下:
设置g1=gα以及主私钥为α。
用上述SR-ABE中的UserKG算法替代文献[2]中的PrivKG算法。
将文献[2]中的gx,1=hα/gx,2定义为gx,1=pkid α/gx,2。
按照扩展1和扩展2所描述的方法,本发明实施例提供的数据处理的方法可以被扩展为IND-CCA2安全的,或使用对称密码技术支持长消息加密,或既IND-CCA2安全又支持长消息加密。
此外,扩展3所述的方法也可被扩展成IND-CCA2安全,或使用对称密码技术支持长消息加密,或既支持IND-CCA2安全又支持长消息加密。扩展4所述的方法可被扩展成IND-CCA2安全,或使用对称密码技术支持长消息加密,或既支持IND-CCA2安全又支持长消息加密。
另外,在本发明实施例中,通过使用ElGamal加密与任何满足某种以下性质的可吊销属性加密来构造。其中PubKG算法包括利用ElGamal加密所有或部分基于属性的密钥;Transform算法运行ABE.Dec算法解密;Decrypt算法运行ElGamal.Dec算法解密。上述一般性构造中使用的可吊销属性加密须满足以下性质:
ElGamal.Dec(skid,ABE.Dec(pkid A,tkut,CT))=ABE.Dec(ElGamal.Dec(skid,pkid A),tkut,CT)。这意味着ElGamal解密和可吊销属性解密的顺序可以互换。
上述实施例主要从各个装置之间交互的角度对本发明实施例的方案进行了介绍。可以理解的是,各个装置,例如终端设备、密钥生成中心、服务器等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对终端设备、密钥生成中心和服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图8A示出了上述实施例中所涉及的终端设备的一种可能的结构示意图。终端设备800包括:处理单元802和通信单元803。处理单元802用于对终端设备800的动作进行控制管理,例如,处理单元802用于支持终端设备800执行图1的步骤2和步骤9,处理单元802还可以用于支持终端设备800执行图3的S310和S340,和/或用于本文所描述的技术的其它过程。通信单元803用于支持终端设备800与其它网络实体的通信,例如与图1中示出的KGC120或服务器130之间的通信。终端设备800还可以包括存储单元801,用于存储终端设备500的程序代码和数据。
其中,处理单元802可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元803可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元801可以是存储器。
当处理单元802为处理器,通信单元803为通信接口,存储单元801为存储器时,本发明实施例所涉及的终端设备可以为图8B所示的终端设备。
参阅图8B所示,该终端设备810包括:处理器812、通信接口813、存储器811。可选的,终端设备810还可以包括总线814。其中,通信接口813、处理器812以及存储器811可以通过总线814相互连接;总线814可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。所述总线814可以分为地址总线、数据总线、控制总线等。为便于表示,图8B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
因此,本发明实施例提供的终端设备,可以生成第一公钥和第一私钥,第一公钥用于加密数据,第一私钥可以用于解密该第一公钥加密的数据。终端设备将第一公钥发送给KGC,以便于KGC或者服务器根据该第一公钥生成转换密钥,第一公钥嵌套在该转换密钥内,因此,当服务器使用该转换密钥处理基于终端设备的属性结构加密的密文后,生成的结果是第一公钥所加密的密文,终端设备持有与该第一公钥配对的第一私钥,当终端设备接收到服务器发送的部分解密的密文后,可以根据该第一私钥以及解密算法进行解密,生成明文。由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
在采用集成的单元的情况下,图9A示出了上述实施例中所涉及的KGC的一种可能的结构示意图。KGC900包括:处理单元902和通信单元903。处理单元902用于对KGC900的动作进行控制管理,例如,处理单元902用于支持KGC900执行图1的步骤1、步骤3、步骤4和步骤10,处理单元902还可以用于支持KGC900执行图4的S420,和/或用于本文所描述的技术的其它过程。通信单元903用于支持KGC900与其它网络实体的通信,例如与图1中示出的终端设备110或服务器130之间的通信。KGC900还可以包括存储单元901,用于存储KGC900的程序代码和数据。
其中,处理单元902可以是处理器或控制器,例如可以是中央处理器CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元903可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元901可以是存储器。
当处理单元902为处理器,通信单元903为通信接口,存储单元901为存储器时,本发明实施例所涉及的KGC可以为图9B所示的KGC。
参阅图9B所示,该KGC910包括:处理器912、通信接口913、存储器911。可选的,KGC910还可以包括总线914。其中,通信接口913、处理器912以及存储器911可以通过总线914相互连接;总线914可以是PCI总线或EISA总线等。所述总线914可以分为地址总线、数据总线、控制总线等。为便于表示,图9B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
因此,本发明实施例提供的KGC,可以基于该第一公钥以及该终端设备的属性生成第二公钥,该第二公钥是基于终端设备的属性的公钥,可以解密基于终端设备的属性加密的数据,由于第二公钥嵌套有第一公钥,因此,使用第二公钥对基于所述终端设备的属性加密的数据进行处理后生成的数据为基于第一公钥加密的密文,终端设备可以利用终端设备所持有的第一私钥对该基于第一公钥加密的密文进行解密,其中,第一私钥是与该第一公钥配对的密钥,可以用于解密基于第一公钥加密的数据。本发明实施例中,终端设备的属性信息可以是终端设备的具体身份信息,KGC还可以根据第一公钥和终端设备的属性集生成第二公钥。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,因此,本发明实施例的数据处理的方法无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例的数据处理的方法对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
在采用集成的单元的情况下,图10A示出了上述实施例中所涉及的服务器的一种可能的结构示意图。服务器1000包括:处理单元1002和通信单元1003。处理单元1002用于对服务器1000的动作进行控制管理,例如,处理单元1002用于支持服务器1000执行图1的步骤7和步骤8,处理单元1002还可以用于支持服务器1000执行图5的S530,和/或用于本文所描述的技术的其它过程。通信单元1003用于支持服务器1000与其它网络实体的通信,例如与图1中示出的终端设备110或KGC120之间的通信。服务器1000还可以包括存储单元1001,用于存储服务器1000的程序代码和数据。
其中,处理单元1002可以是处理器或控制器,例如可以是中央处理器CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1003可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元1001可以是存储器。
当处理单元1002为处理器,通信单元1003为通信接口,存储单元1001为存储器时,本发明实施例所涉及的服务器可以为图10B所示的服务器。
参阅图10B所示,该服务器1010包括:处理器1012、通信接口1013、存储器1011。可选的,服务器1010还可以包括总线1014。其中,通信接口1013、处理器1012以及存储器1011可以通过总线1014相互连接;总线1014可以是PCI总线或EISA总线等。所述总线914可以分为地址总线、数据总线、控制总线等。为便于表示,图10B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施中,第二公钥为KGC基于第一公钥和终端设备的属性信息生成的公钥,第二公钥是基于终端设备的属性的公钥,可以解密基于终端设备的属性加密的数据,由于第二公钥嵌套有第一公钥,因此,使用第二公钥对基于所述终端设备的属性加密的数据进行处理后生成的数据为基于第一公钥加密的密文,终端设备可以利用终端设备所持有的第一私钥对第二数据进行解密,其中,第一私钥是与终端设备生成的密钥,可以用于解密基于第一公钥加密的数据。
由于第一私钥一直被终端设备所持有,不需要向其它设备发送该第一私钥,本发明实施例无需使用安全信道;此外,由于服务器对第一数据进行处理后得到的结果仍是密文,即使服务器与其它设备进行了合谋,其它设备也无法获取最终的明文,因此,本发明实施例对服务器的安全性能也没有任何要求;再次,本发明实施例的第一私钥可以是一个常数,终端设备在根据第一私钥进行解密运算时只需执行一次幂指运算即可获得明文,避免了其它技术方案中消耗大量计算资源的双线性对运算,从而降低了对终端设备的处理能力的需求,提高了终端设备的资源利用率。
在本发明实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于终端设备或KGC或服务器中。当然,处理器和存储介质也可以作为分立组件存在于终端设备或KGC或服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (26)
1.一种数据处理的方法,其特征在于,所述方法包括:
终端设备生成第一公钥和第一私钥,所述第一公钥用于加密数据,所述第一私钥用于解密所述第一公钥加密的数据;
所述终端设备向密钥生成中心KGC发送所述第一公钥,所述第一公钥用于所述KGC或服务器生成转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;
所述终端设备接收所述服务器发送的第二数据,所述第二数据是所述服务器根据所述转换密钥对第一数据处理后生成的数据,其中,所述第一数据是所述服务器获取的基于所述终端设备的属性结构加密的数据;
所述终端设备根据所述第一私钥解密所述第二数据。
2.根据权利要求1所述的方法,其特征在于,所述终端设备向KGC发送第一公钥,包括:
所述终端设备向所述KGC发送所述第一公钥和证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥。
3.根据权利要求1或2所述的方法,其特征在于,所述终端设备生成第一公钥和第一私钥,包括:
所述终端设备根据系统参数和身份参数生成所述第一公钥和所述第一私钥,其中,所述系统参数为所述KGC生成的公开信息,所述身份参数为所述终端设备的标识信息。
4.根据权利要求3所述的方法,其特征在于,所述终端设备根据所述第一私钥解密所述第二数据,包括:
所述终端设备根据所述系统参数、所述身份参数和所述第一私钥解密所述第二数据。
5.一种数据处理的方法,其特征在于,所述方法包括:
密钥生成中心KGC从终端设备接收第一公钥,所述第一公钥用于加密数据;
所述KGC根据所述第一公钥和所述终端设备的属性信息生成第二公钥,所述第二公钥用于服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;
所述KGC向所述服务器发送所述第二公钥。
6.根据权利要求5所述的方法,其特征在于,所述KGC生成所述第二公钥后,所述方法还包括:
所述KGC根据所述第二公钥和密钥更新信息生成转换密钥或者错误提示,所述密钥更新信息用于指示所述终端设备的吊销状态,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述KGC根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述KGC根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述转换密钥转换的结果;所述KGC向所述服务器发送所述第二公钥,包括:所述KGC向所述服务器发送所述转换密钥;或者
所述KGC向所述服务器发送所述第二公钥和所述密钥更新信息,以便于所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥或者所述错误提示。
7.根据权利要求5或6所述的方法,其特征在于,所述KGC生成所述第二公钥前,所述方法还包括:
所述KGC从所述终端设备接收证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥;
所述KGC根据所述证明信息确定生成所述第二公钥。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述KGC根据所述第一公钥和所述终端设备的属性信息生成第二公钥,包括:
所述KGC根据所述第一公钥、所述终端设备的属性信息、系统参数、主密钥和所述KGC的内部状态信息生成所述第二公钥和更新后的所述内部状态信息,其中,所述系统参数是所述KGC生成的公开信息,所述主密钥是所述KGC生成的私钥。
9.根据权利要求8所述的方法,其特征在于,所述KGC根据所述第二公钥和所述密钥更新信息生成所述转换密钥,包括:
所述KGC根据所述第二公钥、所述密钥更新信息、所述系统参数和所述身份参数生成所述转换密钥,其中,所述密钥更新信息指示所述终端设备未被吊销。
10.一种数据处理的方法,其特征在于,所述方法包括:
服务器从密钥生成中心KGC接收第二公钥,所述第二公钥用于将基于终端设备的属性结构加密的数据转换成基于所述终端设备生成的第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;
所述服务器获取第一数据,所述第一数据是基于所述终端设备的属性结构加密的数据;
所述服务器根据所述第二公钥将所述第一数据转换成第二数据,所述第二数据为基于所述第一公钥加密的数据;
所述服务器向所述终端设备发送所述第二数据,以便于所述终端设备根据所述第一私钥解密所述第二数据。
11.根据权利要求10所述的方法,其特征在于,所述服务器接收所述第二公钥后,所述方法还包括:
所述服务器从所述KGC接收密钥更新信息,其中,所述密钥更新信息用于指示所述终端设备的吊销状态;
所述服务器根据所述第二公钥和所述密钥更新信息生成转换密钥或者错误提示,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述服务器根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据;
所述服务器根据所述第二公钥将所述第一数据转换成第二数据,包括:
所述服务器根据所述转换密钥将所述第一数据转换成所述第二数据。
12.根据权利要求11所述的方法,其特征在于,所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥,包括:
所述服务器根据所述第二公钥、所述密钥更新信息、系统参数和身份参数生成所述转换密钥,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息。
13.根据权利要求12所述的方法,其特征在于,所述服务器根据所述转换密钥将所述第一数据转换成第二数据,包括:
所述服务器根据所述转换密钥、系统参数、所述终端设备的属性信息、身份参数和时间参数将所述第一数据转换成所述第二数据,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息,所述时间参数用于指示所述服务器可以使用所述转换密钥的时间。
14.一种数据处理的装置,其特征在于,包括:处理单元和通信单元,
所述处理单元用于生成第一公钥和第一私钥,所述第一公钥用于加密数据,所述第一私钥用于解密所述第一公钥加密的数据;以及通过所述通信单元向密钥生成中心KGC发送所述第一公钥,所述第一公钥用于所述KGC或服务器生成转换密钥,所述转换密钥用于所述服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;以及通过所述通信单元接收所述服务器发送的第二数据,所述第二数据是所述服务器根据所述转换密钥对第一数据处理后生成的数据,其中,所述第一数据是所述服务器获取的基于所述终端设备的属性结构加密的数据;以及根据所述第一私钥解密所述第二数据。
15.根据权利要求14所述的装置,其特征在于,通信单元还用于:向所述KGC发送所述第一公钥和证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥。
16.根据权利要求14或15所述的装置,其特征在于,所述处理单元具体用于:根据系统参数和身份参数生成所述第一公钥和所述第一私钥,其中,所述系统参数为所述KGC生成的公开信息,所述身份参数为所述终端设备的标识信息。
17.根据权利要求16所述的装置,其特征在于,所述处理单元具体用于:根据所述系统参数、所述身份参数和所述第一私钥解密所述第二数据。
18.一种数据处理的装置,其特征在于,包括:处理单元和通信单元,
所述处理单元用于通过所述通信单元从终端设备接收第一公钥,所述第一公钥用于加密数据;以及根据所述第一公钥和所述终端设备的属性信息生成第二公钥,所述第二公钥用于服务器将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述基于所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;以及通过所述通信单元向所述服务器发送所述第二公钥。
19.根据权利要求18所述的装置,其特征在于,所述处理单元生成所述第二公钥后,
所述处理单元还用于根据所述第二公钥和密钥更新信息生成转换密钥或者错误提示,所述密钥更新信息用于指示所述终端设备的吊销状态,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述处理单元根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述处理单元根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述处理单元将基于所述终端设备的属性加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述转换密钥转换的结果;以及通过所述通信单元向所述服务器发送所述转换密钥;或者
所述处理单元还用于通过所述通信单元向所述服务器发送所述第二公钥和所述密钥更新信息,以便于所述服务器根据所述第二公钥和所述密钥更新信息生成所述转换密钥或者所述错误提示。
20.根据权利要求18或19所述的装置,其特征在于,所述处理单元还用于通过所述通信单元从所述终端设备接收证明信息,所述证明信息用于指示所述终端设备存储有所述第一私钥;以及根据所述证明信息确定生成所述第二公钥。
21.根据权利要求18至20中任一项所述的装置,其特征在于,所述处理单元具体用于:根据所述第一公钥、所述终端设备的属性信息、系统参数、主密钥和所述装置的内部状态信息生成所述第二公钥和更新后的所述内部状态信息,其中,所述系统参数是所述处理单元生成的公开信息,所述主密钥是所述处理单元生成的私钥。
22.根据权利要求21所述的装置,其特征在于,所述处理单元具体用于:根据所述第二公钥、所述密钥更新信息、所述系统参数和所述身份参数生成所述转换密钥,其中,所述密钥更新信息指示所述终端设备未被吊销。
23.一种数据处理的装置,其特征在于,包括:处理单元和通信单元,
所述处理单元用于通过所述通信单元从密钥生成中心KGC接收第二公钥,所述第二公钥用于将基于终端设备的属性结构加密的数据转换成基于所述终端设备生成的第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述第一公钥加密的数据,其中,所述属性结构用于指示访问数据需要满足的条件;以及通过所述通信单元获取第一数据,所述第一数据是基于所述终端设备的属性结构加密的数据;以及根据所述第二公钥将所述第一数据转换成第二数据,所述第二数据为基于所述第一公钥加密的数据;以及通过所述通信单元向所述终端设备发送所述第二数据,以便于所述终端设备根据所述第一私钥解密所述第二数据。
24.根据权利要求23所述的装置,其特征在于,所述处理单元通过所述通信单元接收所述第二公钥后,所述处理单元还用于:通过所述通信单元从所述KGC接收密钥更新信息,其中,所述密钥更新信息用于指示所述终端设备的吊销状态;以及根据所述第二公钥和所述密钥更新信息生成转换密钥或者错误提示,其中,当所述密钥更新信息指示所述终端设备被吊销时,所述处理单元根据所述第二公钥和所述密钥更新信息生成所述错误提示,当所述密钥更新信息指示所述终端设备未被吊销时,所述处理单元根据所述第二公钥和所述密钥更新信息生成所述转换密钥,所述转换密钥用于所述处理单元将基于所述终端设备的属性结构加密的数据转换成基于所述第一公钥加密的数据,以便于所述终端设备根据所述终端设备生成的第一私钥解密所述转换密钥转换的结果;以及根据所述转换密钥将所述第一数据转换成所述第二数据。
25.根据权利要求24所述的装置,其特征在于,所述处理单元具体用于:根据所述第二公钥、所述密钥更新信息、系统参数和身份参数生成所述转换密钥,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息。
26.根据权利要求25所述的装置,其特征在于,所述处理单元具体用于:根据所述转换密钥、系统参数、所述终端设备的属性信息、身份参数和时间参数将所述第一数据转换成所述第二数据,其中,所述系统参数是所述KGC生成的公开信息,所述身份参数是所述终端设备的标识信息,所述时间参数用于指示所述装置可以使用所述转换密钥的时间。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610640301.XA CN107689947B (zh) | 2016-08-05 | 2016-08-05 | 一种数据处理的方法和装置 |
PCT/SG2017/050114 WO2018026322A1 (zh) | 2016-08-05 | 2017-03-09 | 一种数据处理的方法和装置 |
EP17837325.4A EP3487118A4 (en) | 2016-08-05 | 2017-06-30 | METHOD AND DEVICE FOR DATA PROCESSING |
KR1020197006164A KR20190035835A (ko) | 2016-08-05 | 2017-06-30 | 데이터 처리 방법 및 디바이스 |
PCT/SG2017/050328 WO2018026323A1 (zh) | 2016-08-05 | 2017-06-30 | 一种数据处理的方法和装置 |
JP2019528015A JP2019531673A (ja) | 2016-08-05 | 2017-06-30 | データ処理方法および装置 |
US16/262,674 US10868670B2 (en) | 2016-08-05 | 2019-01-30 | Data processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610640301.XA CN107689947B (zh) | 2016-08-05 | 2016-08-05 | 一种数据处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107689947A true CN107689947A (zh) | 2018-02-13 |
CN107689947B CN107689947B (zh) | 2021-03-30 |
Family
ID=61073109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610640301.XA Active CN107689947B (zh) | 2016-08-05 | 2016-08-05 | 一种数据处理的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10868670B2 (zh) |
EP (1) | EP3487118A4 (zh) |
JP (1) | JP2019531673A (zh) |
KR (1) | KR20190035835A (zh) |
CN (1) | CN107689947B (zh) |
WO (2) | WO2018026322A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660381A (zh) * | 2018-10-25 | 2019-04-19 | 中国平安人寿保险股份有限公司 | 分布式管理方法、装置、服务器及存储介质 |
CN109872787A (zh) * | 2019-02-02 | 2019-06-11 | 上海龙健信息技术科技有限公司 | 一种分布式数据发布与订阅方法 |
CN110278078A (zh) * | 2019-06-17 | 2019-09-24 | 矩阵元技术(深圳)有限公司 | 一种数据处理方法、装置及系统 |
CN110400164A (zh) * | 2019-05-13 | 2019-11-01 | 腾讯科技(北京)有限公司 | 数据确定方法和装置、存储介质及电子装置 |
TWI697807B (zh) * | 2017-12-13 | 2020-07-01 | 台達電子工業股份有限公司 | 具安控機制的傳輸系統及方法 |
CN112039663A (zh) * | 2020-08-27 | 2020-12-04 | 深圳供电局有限公司 | 一种数据的传输方法及系统 |
CN112418853A (zh) * | 2020-09-22 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于区块链的交易数据加密方法及装置 |
CN113515538A (zh) * | 2021-06-08 | 2021-10-19 | 四川新网银行股份有限公司 | 一种基于多方安全计算的机构间隐私数据查询及预警方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039609A (zh) * | 2018-08-24 | 2018-12-18 | 深圳美图创新科技有限公司 | 密钥导入终端的方法及终端 |
JP7097581B2 (ja) * | 2018-09-25 | 2022-07-08 | 日本電信電話株式会社 | 通信システム、サーバ装置、通信方法、及びプログラム |
CN111030801A (zh) * | 2019-10-25 | 2020-04-17 | 武汉大学 | 一种多方分布式的sm9密钥生成、密文解密方法与介质 |
CN111010276A (zh) * | 2019-10-25 | 2020-04-14 | 武汉大学 | 一种多方联合sm9密钥生成、密文解密方法与介质 |
CN111294793A (zh) * | 2019-12-30 | 2020-06-16 | 国网北京市电力公司 | 一种无线传感网中身份认证的数据隐私保护方法 |
CN112104454B (zh) * | 2020-08-11 | 2023-04-07 | 东方红卫星移动通信有限公司 | 一种数据安全传输方法及系统 |
US11799634B2 (en) | 2020-09-30 | 2023-10-24 | Qatar Foundation For Education, Science And Community Development | Mesh network for resource-constrained devices |
CN113489585B (zh) * | 2021-07-02 | 2023-12-05 | 北京明朝万达科技股份有限公司 | 终端设备的身份认证方法、系统、存储介质、电子设备 |
CN113346997B (zh) * | 2021-08-05 | 2021-11-02 | 北京紫光青藤微系统有限公司 | 用于物联网设备通信的方法及装置、物联网设备、服务器 |
CN114189339B (zh) * | 2021-12-07 | 2024-01-26 | 贵州亨达集团信息安全技术有限公司 | 一种支持并行密钥隔离的无证书聚合签名方法及系统 |
KR102629617B1 (ko) * | 2021-12-23 | 2024-01-29 | 재단법인대구경북과학기술원 | 속성 기반 접근 제어를 지원하는 실시간 IoT 데이터 공유 시스템 및 그 방법 |
CN114401426B (zh) * | 2021-12-31 | 2023-05-05 | 珠海迈科智能科技股份有限公司 | 一种动态密钥的生成方法及其系统 |
CN117235682B (zh) * | 2023-11-15 | 2024-05-28 | 张家港金典软件有限公司 | 一种基于智能企业管理平台的企业数据共享方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1918931A (zh) * | 2004-02-11 | 2007-02-21 | 法国电信公司 | 通过移动终端发送公钥 |
US20120300936A1 (en) * | 2011-05-24 | 2012-11-29 | Zeutro, Llc | Outsourcing the Decryption of Functional Encryption Ciphertexts |
CN102882685A (zh) * | 2012-09-27 | 2013-01-16 | 东莞宇龙通信科技有限公司 | 身份认证系统及其方法 |
CN104022868A (zh) * | 2014-02-18 | 2014-09-03 | 杭州师范大学 | 一种基于密文策略的属性基加密的外包解密方法 |
CN104486315A (zh) * | 2014-12-08 | 2015-04-01 | 北京航空航天大学 | 一种基于内容属性的可撤销密钥外包解密方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2748591B1 (fr) * | 1996-05-07 | 1998-06-05 | France Telecom | Procede de realisation d'une transaction electronique securisee a double signature |
EP0856968A3 (en) * | 1997-01-24 | 2000-12-06 | Nec Corporation | Encryption key processing system to be incorporated into data recovery system or key setting system for generating encryption key |
CA2271178A1 (en) | 1999-05-06 | 1999-07-06 | Connotech Experts-Conseils Inc. | Server-side public key cryptography apparatus with private key protection and isolation from public networks |
JP5135070B2 (ja) | 2008-06-12 | 2013-01-30 | 株式会社エヌ・ティ・ティ・データ | 暗号文復号権限委譲システム |
CN102713996A (zh) * | 2010-01-13 | 2012-10-03 | 三菱电机株式会社 | 隐匿检索系统以及公开参数生成装置以及加密装置以及用户秘密密钥生成装置以及查询发布装置以及检索装置以及计算机程序以及隐匿检索方法以及公开参数生成方法以及加密方法以及用户秘密密钥生成方法以及查询发布方法以及检索方法 |
JP6182080B2 (ja) | 2014-01-20 | 2017-08-16 | 日本電信電話株式会社 | 認証システム、プログラム |
CN107251480B (zh) * | 2015-02-20 | 2018-07-10 | 三菱电机株式会社 | 数据保管装置、数据更新系统和数据处理方法 |
US10498537B2 (en) * | 2016-08-01 | 2019-12-03 | Institute For Development And Research In Banking Technology (Drbt) | System and method for providing secure collaborative software as a service (SaaS) attestation service for authentication in cloud computing |
-
2016
- 2016-08-05 CN CN201610640301.XA patent/CN107689947B/zh active Active
-
2017
- 2017-03-09 WO PCT/SG2017/050114 patent/WO2018026322A1/zh active Application Filing
- 2017-06-30 EP EP17837325.4A patent/EP3487118A4/en active Pending
- 2017-06-30 WO PCT/SG2017/050328 patent/WO2018026323A1/zh unknown
- 2017-06-30 JP JP2019528015A patent/JP2019531673A/ja active Pending
- 2017-06-30 KR KR1020197006164A patent/KR20190035835A/ko not_active Application Discontinuation
-
2019
- 2019-01-30 US US16/262,674 patent/US10868670B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1918931A (zh) * | 2004-02-11 | 2007-02-21 | 法国电信公司 | 通过移动终端发送公钥 |
US20120300936A1 (en) * | 2011-05-24 | 2012-11-29 | Zeutro, Llc | Outsourcing the Decryption of Functional Encryption Ciphertexts |
CN102882685A (zh) * | 2012-09-27 | 2013-01-16 | 东莞宇龙通信科技有限公司 | 身份认证系统及其方法 |
CN104022868A (zh) * | 2014-02-18 | 2014-09-03 | 杭州师范大学 | 一种基于密文策略的属性基加密的外包解密方法 |
CN104486315A (zh) * | 2014-12-08 | 2015-04-01 | 北京航空航天大学 | 一种基于内容属性的可撤销密钥外包解密方法 |
Non-Patent Citations (2)
Title |
---|
QIN B等: "Attribute-Based Encryption with Efficient Verifiable Outsourced decryption", 《IEEE》 * |
QIN,B等: "Server-Aided Revocable Identity-Based Encryption", 《IEEE》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI697807B (zh) * | 2017-12-13 | 2020-07-01 | 台達電子工業股份有限公司 | 具安控機制的傳輸系統及方法 |
CN109660381A (zh) * | 2018-10-25 | 2019-04-19 | 中国平安人寿保险股份有限公司 | 分布式管理方法、装置、服务器及存储介质 |
CN109872787A (zh) * | 2019-02-02 | 2019-06-11 | 上海龙健信息技术科技有限公司 | 一种分布式数据发布与订阅方法 |
CN110400164A (zh) * | 2019-05-13 | 2019-11-01 | 腾讯科技(北京)有限公司 | 数据确定方法和装置、存储介质及电子装置 |
CN110400164B (zh) * | 2019-05-13 | 2024-06-14 | 腾讯科技(北京)有限公司 | 数据确定方法和装置、存储介质及电子装置 |
CN110278078A (zh) * | 2019-06-17 | 2019-09-24 | 矩阵元技术(深圳)有限公司 | 一种数据处理方法、装置及系统 |
CN112039663A (zh) * | 2020-08-27 | 2020-12-04 | 深圳供电局有限公司 | 一种数据的传输方法及系统 |
CN112039663B (zh) * | 2020-08-27 | 2023-08-04 | 深圳供电局有限公司 | 一种数据的传输方法及系统 |
CN112418853A (zh) * | 2020-09-22 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于区块链的交易数据加密方法及装置 |
CN113515538A (zh) * | 2021-06-08 | 2021-10-19 | 四川新网银行股份有限公司 | 一种基于多方安全计算的机构间隐私数据查询及预警方法 |
CN113515538B (zh) * | 2021-06-08 | 2023-07-07 | 四川新网银行股份有限公司 | 一种基于多方安全计算的机构间隐私数据查询及预警方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3487118A4 (en) | 2019-07-24 |
EP3487118A1 (en) | 2019-05-22 |
WO2018026322A1 (zh) | 2018-02-08 |
CN107689947B (zh) | 2021-03-30 |
WO2018026323A1 (zh) | 2018-02-08 |
US20190173668A1 (en) | 2019-06-06 |
JP2019531673A (ja) | 2019-10-31 |
US10868670B2 (en) | 2020-12-15 |
KR20190035835A (ko) | 2019-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107689947B (zh) | 一种数据处理的方法和装置 | |
US11050557B2 (en) | Key agreement devices and method | |
CN110419194B (zh) | 密钥交换设备和方法 | |
EP2936731B1 (en) | Managed secure computations on encrypted data | |
EP3987711B1 (en) | Authenticated lattice-based key agreement or key encapsulation | |
WO2018071195A1 (en) | Method and system for quantum key distribution based on trusted computing | |
CN105721153B (zh) | 基于认证信息的密钥交换系统及方法 | |
US10027475B2 (en) | Key agreement device and method | |
US9686075B2 (en) | Key sharing network device and configuration thereof | |
CN108183791B (zh) | 应用于云环境下的智能终端数据安全处理方法及系统 | |
US11563566B2 (en) | Key splitting | |
KR100989185B1 (ko) | Rsa기반 패스워드 인증을 통한 세션키 분배방법 | |
CN112291179B (zh) | 一种实现设备认证的方法、系统及装置 | |
US20160301526A1 (en) | System for sharing a cryptographic key | |
CN110784314A (zh) | 无证书的加密信息处理方法 | |
CN113726517A (zh) | 一种信息共享方法及装置 | |
Eshghi et al. | Security Enhancement of Wireless Sensor Networks: A Hybrid Efficient Encryption Algorithm Approach | |
CN114362926B (zh) | 基于密钥池的量子保密通信网络密钥管理通信系统及方法 | |
TWI405450B (zh) | Password authentication method | |
JP2014017763A (ja) | 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム | |
Alagarsamy et al. | Exponentiated multiple message communication using certificateless signcryption for mobile network security | |
SOWJANYA et al. | IMPLEMENTATION OF DNA CRYPTOGRAPHY IN CLOUD COMPUTING AND USING SOCKET PROGRAMMING | |
CN117040860A (zh) | 网络节点数据流通验证方法、装置、设备及存储介质 | |
CN116614301A (zh) | 基于格自主路径代理生成及重加密与解密的方法、系统 | |
CN115378666A (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 |