[go: up one dir, main page]

CN104735070A - Universal data sharing method for heterogeneous encryption clouds - Google Patents

Universal data sharing method for heterogeneous encryption clouds Download PDF

Info

Publication number
CN104735070A
CN104735070A CN201510136203.8A CN201510136203A CN104735070A CN 104735070 A CN104735070 A CN 104735070A CN 201510136203 A CN201510136203 A CN 201510136203A CN 104735070 A CN104735070 A CN 104735070A
Authority
CN
China
Prior art keywords
key
user
encryption
private key
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510136203.8A
Other languages
Chinese (zh)
Other versions
CN104735070B (en
Inventor
金海�
徐君
徐鹏
邹德清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201510136203.8A priority Critical patent/CN104735070B/en
Publication of CN104735070A publication Critical patent/CN104735070A/en
Application granted granted Critical
Publication of CN104735070B publication Critical patent/CN104735070B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

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

Abstract

本发明公开了一种通用的异构加密云间的数据共享方法,属于计算机安全技术领域。本发明包括:加密云存储系统内数据共享及异构加密云存储系统间数据共享。系统内数据共享,用会话密钥对数据加密,再用发送方的私钥加密会话密钥,云端使用用户授权的重加密密钥重加密会话密钥,最后将数据密文和重加密密文发送给接收方。系统间数据共享,首先为非发送端系统内的用户绑定临时身份,并生成对应的临时公私钥对,然后按照系统内共享步骤生成相应的重加密密文,再用接收方的公钥加密临时私钥,然后将已加密的临时私钥、重加密密文和数据密文发送给接收方,接收方用己方私钥解密得到临时私钥,再用临时私钥解密得到会话密钥,最后用会话密钥解密。

The invention discloses a general data sharing method among heterogeneous encrypted clouds, belonging to the technical field of computer security. The invention includes: data sharing in encrypted cloud storage systems and data sharing among heterogeneous encrypted cloud storage systems. For data sharing in the system, the data is encrypted with the session key, and then the session key is encrypted with the private key of the sender. The cloud uses the re-encryption key authorized by the user to re-encrypt the session key, and finally the data ciphertext and the re-encryption ciphertext sent to the recipient. For data sharing between systems, first bind temporary identities for users in non-sender systems, and generate corresponding temporary public-private key pairs, and then generate corresponding re-encrypted ciphertexts according to the sharing steps in the system, and then encrypt with the public key of the receiver Temporary private key, and then send the encrypted temporary private key, re-encrypted ciphertext and data ciphertext to the recipient, the recipient decrypts with its own private key to obtain the temporary private key, then decrypts with the temporary private key to obtain the session key, and finally Decrypt with session key.

Description

一种通用的异构加密云间的数据共享方法A general data sharing method among heterogeneous encrypted clouds

技术领域technical field

本发明属于计算机安全技术领域,更具体地,涉及一种通用的异构加密云间的数据共享方法。The invention belongs to the technical field of computer security, and more specifically relates to a general data sharing method among heterogeneous encryption clouds.

背景技术Background technique

在现有的云存储技术中,数据存储在用户不可控的云端,为了保护敏感数据的安全性与隐私性,通常会采用数据加密的方法来保护数据的安全。常用的对称加密方案存在安全性问题,其中,加密数据的密钥只有一个,收发双方都使用同样的密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥,这样密钥的安全性就得不到保证,因此对称加密体制不适于分布式文件存储系统。因此,为了保证云端数据的保密性与隐私性,加密云存储系统通常需要使用公钥密码体制(非对称加密体制)来加密用户的数据。目前,公钥密码体制类型繁多,主流的有基于证书加密体制(Certificate-Based Encryption,简称CBE)、基于身份加密体制(Identity-Based Encryption,简称IBE)、基于属性加密体制(Attribute-Based Encryption,简称ABE)和无证书加密体制(Certificateless Encryption,简称CLE)。In the existing cloud storage technology, data is stored in the cloud which cannot be controlled by the user. In order to protect the security and privacy of sensitive data, data encryption is usually used to protect the security of the data. Commonly used symmetric encryption schemes have security problems. Among them, there is only one key for encrypting data, and both the sending and receiving parties use the same key to encrypt and decrypt the data. This requires the decrypting party to know the encryption key in advance, so that the key The security cannot be guaranteed, so the symmetric encryption system is not suitable for distributed file storage system. Therefore, in order to ensure the confidentiality and privacy of cloud data, encrypted cloud storage systems usually need to use public key cryptography (asymmetric encryption) to encrypt user data. At present, there are many types of public key cryptosystems, the mainstream ones are Certificate-Based Encryption (CBE for short), Identity-Based Encryption (IBE for short), and Attribute-Based Encryption (Attribute-Based Encryption, ABE for short) and Certificateless Encryption (CLE for short).

代理重加密(proxy re-encryption,以下简称PRE)是一种密文间的转换机制,是由Blaze等人在1998年的欧洲密码学年会上提出的,并由Ateniese等人在2005年的网络和分布式系统安全研讨会议和2007年的美国计算机学会计算机与通信安全会议上给出了规范的形式化定义。在PRE中,一个半可信代理方通过代理授权人A产生的转换密钥RK把用授权人A的公钥PKA加密的密文转化为用被授权人(Delegate)B的公钥PKB加密的密文,在这个过程中,代理方得不到数据的明文信息,从而降低了数据泄露风险。而这两个密文所对应的明文是一样的,使授权人A和被授权人B之间实现了数据共享。PRE应用在云存储系统中,可以在保证用户数据安全性和隐私性的前提下,提高用户共享数据的灵活性。PRE是对公钥加密体制的扩展,因此相应的PRE也有多种类型,CB-PRE、IB-PRE、AB-PRE和CL-PRE。Proxy re-encryption (proxy re-encryption, hereinafter referred to as PRE) is a conversion mechanism between ciphertexts, which was proposed by Blaze et al. The formal definition of the specification was given at the Distributed System Security Symposium and the 2007 ACM Computer and Communication Security Conference. In PRE, a semi-trusted agent converts the ciphertext encrypted with the public key PKA of the authorizer A to the encrypted text encrypted with the public key PKB of the authorized person (Delegate) B through the conversion key RK generated by the agent A. In this process, the agent cannot obtain the plaintext information of the data, thereby reducing the risk of data leakage. The plaintexts corresponding to the two ciphertexts are the same, so that data sharing between the authorizer A and the authorized person B is realized. The application of PRE in the cloud storage system can improve the flexibility of users to share data on the premise of ensuring the security and privacy of user data. PRE is an extension of the public key encryption system, so there are many types of corresponding PRE, such as CB-PRE, IB-PRE, AB-PRE and CL-PRE.

不同的云存储系统很可能会采用不同的PRE方案,那么系统内部的用户之间共享数据会非常方便,而不同的PRE加密云存储系统之间的数据共享会存在问题。由于不同的PRE方案之间的密文一般是不能相互转化的,因此存在异构体制的数据共享问题。针对不同公钥加密体制之间的密文转换,目前存在一些技术尝试解决这样的问题。2007年Matsuo在“Proxyre-encryption systems for identity-based Encryption”一文中提出了混合代理重加密的概念,在其文章中提出的方案则解决了ElGamal类型的CBE到BB-IBE的密文转换。接着Matsuo的方案,又有IBE至CBE、ABE至IBE、CLE至CBE的混合代理重加密方案。此类的混合代理重加密方案能够使得使用不同公钥加密体制或者相同体制不同方案的系统之间的密文共享变得更加方便。但是,目前已有的方法或技术都是针对具体特别的密码方案进行转换,而且都需要对原加密云存储系统做或多或少的改变,并不能够完全解决目前存在的异构加密云存储系统间的密文共享问题,并且在实际应用中不能很好的部署。Different cloud storage systems are likely to adopt different PRE schemes, so it will be very convenient for users within the system to share data, but there will be problems in data sharing between different PRE encrypted cloud storage systems. Since the ciphertexts between different PRE schemes are generally not interchangeable, there is a problem of data sharing in heterogeneous systems. For the ciphertext conversion between different public key encryption systems, there are some technologies trying to solve this problem. In 2007, Matsuo proposed the concept of hybrid proxy re-encryption in the article "Proxyre-encryption systems for identity-based Encryption", and the solution proposed in his article solved the ciphertext conversion from ElGamal type CBE to BB-IBE. Following Matsuo's scheme, there is a hybrid proxy re-encryption scheme from IBE to CBE, ABE to IBE, and CLE to CBE. This kind of hybrid proxy re-encryption scheme can make it easier to share ciphertext between systems using different public key encryption schemes or different schemes of the same system. However, the existing methods or technologies are all aimed at converting specific and special encryption schemes, and all of them need to make more or less changes to the original encrypted cloud storage system, which cannot completely solve the existing heterogeneous encrypted cloud storage. There is a problem of sharing ciphertext between systems, and it cannot be deployed well in practical applications.

发明内容Contents of the invention

针对现有技术的以上缺陷或改进需求,本发明提供一种通用的异构加密云间的数据共享方法,来实现各种类型加密云之间的密文共享。本发明采用临时公私钥的方法实现了通用的异构加密云存储之间的密文数据的代理重加密方案,异构的加密云存储可以是应用了不同类型的加密体制或者是相同加密体制但不同的密码方案,而且最大程度的降低了对原有加密云系统的改动,从而提高了实用性。In view of the above defects or improvement needs of the prior art, the present invention provides a general data sharing method among heterogeneous encryption clouds to realize the sharing of ciphertext among various types of encryption clouds. The present invention adopts the method of temporary public and private keys to realize the proxy re-encryption scheme of the ciphertext data between general heterogeneous encrypted cloud storages. The heterogeneous encrypted cloud storages may apply different types of encryption systems or the same encryption system but Different password schemes, and the changes to the original encrypted cloud system are minimized, thereby improving the practicality.

本发明提供一种通用的异构加密云间的数据共享方法,包括以下步骤:The present invention provides a general data sharing method among heterogeneous encrypted clouds, comprising the following steps:

步骤1两个异构加密云系统α、β各自运行其系统初始化算法,分别生成相应的公开参数、秘密参数对(MPα,MSα)和(MPβ,MSβ),其中,MP表示主公开参数;MS表示主秘密参数;并选取对称加密算法(K,SE,SD)作为用户数据加密算法,其中,K表示对称密钥空间;SE和SD分别表示对称加密和解密算法;Step 1. The two heterogeneous encryption cloud systems α and β respectively run their system initialization algorithms to generate corresponding public parameter and secret parameter pairs (MP α , MS α ) and (MP β , MS β ), where MP represents the main Public parameters; MS represents the master secret parameter; and selects the symmetric encryption algorithm (K, SE, SD) as the user data encryption algorithm, wherein K represents the symmetric key space; SE and SD represent the symmetric encryption and decryption algorithms respectively;

步骤2所述α、β系统各自的密钥生成中心为其系统内部的用户分发公私钥对(PK,SK),其中,PK表示用户的公钥;SK表示用户的私钥;The respective key generation centers of the α and β systems described in step 2 distribute public-private key pairs (PK, SK) to users within the system, where PK represents the public key of the user; SK represents the private key of the user;

步骤3所述β系统内第一用户为明文数据M生成会话对称密钥k,运行对称加密算法加密所述明文数据M得到密文数据CA,1,运行加密算法生成所述会话对称密钥k对应的密钥密文CA,2,然后将所述密文数据CA,1和所述密钥密文CA,2上传至云端存储;In step 3, the first user in the β system generates a session symmetric key k for the plaintext data M, runs a symmetric encryption algorithm to encrypt the plaintext data M to obtain ciphertext data C A,1 , and runs an encryption algorithm to generate the session symmetric key The key ciphertext CA, 2 corresponding to k, and then upload the ciphertext data CA, 1 and the key ciphertext CA , 2 to cloud storage;

步骤4判断所述密文数据CA,1是自取或是共享,若所述β系统内第一用户自己取用所述密文数据CA,1则执行步骤5,否则执行步骤6;Step 4 judges whether the ciphertext data CA, 1 is self-acquiring or shared, if the first user in the β system accesses the ciphertext data CA, 1, then perform step 5, otherwise perform step 6;

步骤5所述β系统内第一用户从所述云端下载所述密文数据CA,1和所述密钥密文CA,2,运行解密算法得到所述会话对称密钥k,再运行对称解密算法解密所述密文数据CA,1得到所述明文数据M;In step 5, the first user in the β system downloads the ciphertext data C A,1 and the key ciphertext C A,2 from the cloud, runs a decryption algorithm to obtain the session symmetric key k, and then runs The symmetric decryption algorithm decrypts the ciphertext data CA,1 to obtain the plaintext data M;

步骤6判断接收方与所述β系统内第一用户是否在同一系统中,若是则执行步骤7,否则执行步骤8;Step 6: judging whether the receiver and the first user in the β system are in the same system, if so, execute step 7, otherwise execute step 8;

步骤7所述β系统内第一用户首先运行重加密密钥生成算法生成重加密密钥并将其发送至所述云端;再由所述云端运行重加密算法生成重加密密钥密文C’A;所述接收方从所述云端取回所述β系统内第一用户的共享数据(CA,1,C’A),运行重加密密文解密算法得到所述会话对称密钥k,再运行对称解密算法解密所述密文数据CA,1得到所述明文数据M;The first user in the β system described in step 7 first runs the re-encryption key generation algorithm to generate a re-encryption key and send it to the cloud; then run the re-encryption algorithm on the cloud to generate the re-encryption key ciphertext C'A ; the recipient retrieves the shared data of the first user in the β system from the cloud ( CA, 1 , C'A ), run the re-encrypted ciphertext decryption algorithm to obtain the session symmetric key k, and then run the symmetric decryption algorithm to decrypt the ciphertext data CA, 1 to obtain the plaintext data M;

步骤8若接收方为所述α系统内第一用户,为所述α系统内第一用户生成临时公私钥(PKt,SKt)并生成系统间重加密密钥其中,PKt表示临时公钥;SKt表示临时私钥;Step 8: If the recipient is the first user in the α system, generate a temporary public-private key (PK t , SK t ) for the first user in the α system and generate an inter-system re-encryption key Among them, PK t represents the temporary public key; SK t represents the temporary private key;

步骤9所述云端解析所述系统间重加密密钥得到临时重加密密钥运行重加密算法得到重加密密钥密文C’,将系统间重加密密文{C’,Cα}发送给所述α系统内第一用户;In step 9, the cloud analyzes the inter-system re-encryption key get temporary re-encryption key Run the re-encryption algorithm to obtain the re-encryption key ciphertext C', and send the inter-system re-encryption ciphertext {C', C α } to the first user in the α system;

步骤10所述α系统内第一用户获取到所述重加密密文{C’,Cα},先解析得到临时密钥密文Cα,运行所述α系统的解密算法得到所述临时私钥SKt,再运行所述β系统的重加密密文解密算法得到所述会话对称密钥k,最后运行对称解密算法解密所述密文数据CA,1得到所述明文数据M。In step 10, the first user in the α system obtains the re-encrypted ciphertext {C', C α }, first parses to obtain the temporary key ciphertext C α , and runs the decryption algorithm of the α system to obtain the temporary private key key SK t , and then run the re-encryption ciphertext decryption algorithm of the β system to obtain the session symmetric key k, and finally run the symmetric decryption algorithm to decrypt the ciphertext data CA,1 to obtain the plaintext data M.

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:Generally speaking, compared with the prior art, the above technical solution conceived by the present invention has the following beneficial effects:

(1)异构加密云数据共享的通用性。将此方案应用在现有系统中时,该系统采用的无论是何种代理重加密方案,用户需要安全共享其数据给系统外部用户时,只要该接收用户所在系统是采用的公钥密码体制,均可实现这一数据共享操作;(1) The versatility of heterogeneous encrypted cloud data sharing. When this scheme is applied to the existing system, no matter what kind of proxy re-encryption scheme is adopted by the system, when the user needs to securely share its data with the external users of the system, as long as the receiving user’s system adopts the public key cryptosystem, This data sharing operation can be realized;

(2)方案部署的便捷性。由于本技术方案在扩展原有PRE加密存储系统时不需要对原有正在运行的系统中的参数或者数据做修改,最大限度的保持了原有代理加密云存储系统的优势,因此在部署此技术方案时具有很强的便捷性。(2) The convenience of program deployment. Since this technical solution does not need to modify the parameters or data in the original running system when expanding the original PRE encrypted storage system, it maintains the advantages of the original proxy encrypted cloud storage system to the greatest extent, so when deploying this technology It is very convenient when planning.

附图说明Description of drawings

图1为本发明通用的异构加密云间的数据共享方法的流程图;Fig. 1 is the flowchart of the data sharing method among general heterogeneous encrypted clouds of the present invention;

图2为本发明系统间重加密密钥生成的交互流程图。Fig. 2 is an interactive flow chart of inter-system re-encryption key generation in the present invention.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.

图1所示为本发明通用的异构加密云间的数据共享方法的流程图,具体包括以下步骤:Fig. 1 shows the flow chart of the data sharing method among general heterogeneous encrypted clouds of the present invention, specifically comprises the following steps:

步骤1系统初始化。在本发明实施例中有两个加密云系统α、β,其中,系统α例如采用基于无证书的代理重加密方案CL-PRE,由算法(Setupα,PartialSKGenα,PKGenα,SKGenα,Encα,Dec-1α,RKα,ReEncα,Dec-2α)组成,各算法分别为方案初始化、部分私钥生成、公钥生成、私钥生成、加密、原始解密、重加密密钥生成、重加密、重加密密文解密;系统β例如采用基于身份的代理重加密方案IB-PRE,由算法(Setupβ,Extracβ,Encβ,Dec-1β,RKβ,ReEncβ,Dec-2β)组成,各算法分别为方案初始化、密钥生成、加密、原始解密、重加密密钥生成、重加密、重加密密文解密。α、β两个系统各自运行系统初始化算法(例如Setup(1k)算法)并分别生成相应的公开参数、秘密参数对(MPα,MSα)和(MPβ,MSβ),其中,MP表示主公开参数;MS表示主秘密参数;并选取对称加密算法(K,SE,SD)作为用户数据加密算法,其中,K表示对称密钥空间;SE和SD分别表示对称加密和解密算法。Step 1 System initialization. In the embodiment of the present invention, there are two encryption cloud systems α, β, wherein, system α adopts the certificateless proxy re-encryption scheme CL-PRE, for example, by the algorithm (Setup α , PartialSKGen α , PKGen α , SKGen α , Enc α , Dec-1 α , RK α , ReEnc α , Dec-2 α ), each algorithm is program initialization, partial private key generation, public key generation, private key generation, encryption, original decryption, re-encryption key generation , re-encryption, and re-encryption ciphertext decryption; system β, for example, adopts the identity-based proxy re-encryption scheme IB-PRE, by the algorithm (Setup β , Extrac β , Enc β , Dec-1 β , RK β , ReEnc β , Dec- 2 β ), each algorithm is scheme initialization, key generation, encryption, original decryption, re-encryption key generation, re-encryption, and re-encryption ciphertext decryption. The two systems α and β each run the system initialization algorithm (such as the Setup(1 k ) algorithm) and generate corresponding public and secret parameter pairs (MP α , MS α ) and (MP β , MS β ), respectively, where MP Indicates the main public parameter; MS indicates the main secret parameter; and selects the symmetric encryption algorithm (K, SE, SD) as the user data encryption algorithm, where K represents the symmetric key space; SE and SD represent the symmetric encryption and decryption algorithms respectively.

步骤2密钥分发。α、β系统各自的密钥生成中心(Key GeneratingCenter,以下简称KGC)运行Extrac(MPx,MSx,auxx)算法为其系统内部的用户分发公私钥对(PK,SK),其中,PK表示用户的公钥;SK表示用户的私钥;aux是用户的辅助信息(例如:身份信息、属性信息,对于传统代理重加密则是随机数等);x={α,β}。详细如下:用户A向所在系统β的密钥分发机构KGCβ提交自己的身份信息IDA作为公钥,KGCβ运行Extracβ算法为其生成私钥SKA,则其公私钥对为(IDA,SKA)。类似地,β系统中用户B获取其公私钥对(IDB,SKB)。用户C向所在系统α的密钥分发机构KGCα提交自己的身份信息IDC,KGCα运行算法PartialSKGenα为其生成部分私钥DKc,用户C再选取一个主公开参数MPα确定的代数结构内的随机数r结合身份信息IDC和部分私钥DKc分别运行算法PKGenα和SKGenα生成公私钥对(PKC,SKC)。Step 2 key distribution. The respective Key Generation Centers (Key Generating Center, hereinafter referred to as KGC) of the α and β systems run the Extrac (MP x , MS x , aux x ) algorithm to distribute public-private key pairs (PK, SK) to users within the system, where PK Represents the user's public key; SK represents the user's private key; aux is the user's auxiliary information (for example: identity information, attribute information, random numbers for traditional proxy re-encryption, etc.); x={α, β}. The details are as follows: User A submits his identity information ID A as a public key to KGC β , the key distribution organization of the system β, and KGC β runs the Extrac β algorithm to generate a private key SK A for him, then his public-private key pair is (ID A , SK A ). Similarly, user B in the β system obtains its public-private key pair (ID B , SK B ). User C submits his identity information ID C to the key distribution organization KGC α of the system α , and KGC α runs the algorithm PartialSKGen α to generate a partial private key DK c , and user C selects an algebraic structure determined by the main public parameter MP α Run the algorithm PKGen α and SKGen α respectively to generate the public-private key pair (PK C , SK C ) by combining the random number r in the identity information ID C and the partial private key DK c .

步骤3加密数据并上传。用户A欲将明文数据M上传至云端,首先为明文数据M生成会话对称密钥k,运行对称加密算法SE(k,M)得到密文数据CA,1,运行加密算法Enc(MPβ,IDA,k)生成会话对称密钥k对应的密钥密文CA,2,然后将密文数据CA,1和密钥密文CA,2上传至云端存储。Step 3 encrypt data and upload. User A wants to upload the plaintext data M to the cloud, firstly generate a session symmetric key k for the plaintext data M, run the symmetric encryption algorithm SE(k, M) to obtain the ciphertext data C A, 1 , run the encryption algorithm Enc(MP β , ID A , k) Generate the key ciphertext CA , 2 corresponding to the session symmetric key k, and then upload the ciphertext data CA , 1 and the key ciphertext CA, 2 to the cloud storage.

步骤4判断密文数据CA,1是自取或是共享,若用户A自己取用密文数据则执行步骤5,否则执行步骤6,即共享数据给他人。Step 4 judges whether the ciphertext data CA, 1 is self-collected or shared. If user A accesses the ciphertext data by himself, go to step 5, otherwise go to step 6, that is, share the data with others.

步骤5下载密文数据CA,1及密钥密文CA,2并解密。若用户A需要使用明文数据M时,从云端下载密文数据CA,1和密钥密文CA,2,然后运行解密算法Dec-1β(MPβ,SKA,CA,2)得到会话对称密钥k,再运行对称解密算法SD(k,CA,1)得到明文数据M。Step 5: Download and decrypt the ciphertext data CA, 1 and key ciphertext CA, 2 . If user A needs to use plaintext data M, download ciphertext data C A, 1 and key ciphertext C A, 2 from the cloud, and then run the decryption algorithm Dec-1 β (MP β , SK A , C A, 2 ) Get the session symmetric key k, and then run the symmetric decryption algorithm SD(k, CA , 1 ) to get the plaintext data M.

步骤6判断接收方与发送者(即用户A)是否在同一系统中,若接收方与发送者在同一系统内则执行步骤7,否则执行步骤8,即共享给系统外部用户。Step 6 judges whether the receiver and the sender (namely user A) are in the same system, if the receiver and the sender are in the same system, go to step 7, otherwise go to step 8, that is, share it with users outside the system.

步骤7共享系统内部用户。用户A欲将自己存放在云端的数据共享给与其在同一系统中的用户B。用户A首先运行重加密密钥生成算法RKβ(MPβ,PKB,SKA)生成重加密密钥并将其发送至云端;再由云端运行重加密算法ReEncβ(CA,2)生成重加密密钥密文C’A;用户B从云端取回用户A的共享数据(CA,1,C’A),运行重加密密文解密算法Dec-2β(MPβ,SKB,C’A)得到会话对称密钥k,再运行对称解密算法SD(k,CA,1)得到明文数据M。Step 7 Share the internal users of the system. User A wants to share the data stored in the cloud with user B in the same system. User A first runs the re-encryption key generation algorithm RK β (MP β , PK B , SK A ) to generate a re-encryption key and send it to the cloud; then run the re-encryption algorithm ReEnc β ( C A, 2 ) Generate re-encryption key ciphertext C'A; user B retrieves user A's shared data (C A, 1 , C' A ) from the cloud, and runs re-encryption ciphertext decryption algorithm Dec-2 β ( MP β , SK B , C' A ) to obtain the session symmetric key k, and then run the symmetric decryption algorithm SD(k, CA , 1 ) to obtain the plaintext data M.

步骤8用户A欲将数据共享给α系统内的用户C,为用户C生成临时公私钥的流程如图2所示,具体包括以下子步骤:Step 8. User A wants to share data with user C in the α system. The process of generating temporary public and private keys for user C is shown in Figure 2, which specifically includes the following sub-steps:

(8-1)用户A首先随机选取一个临时的辅助信息Auxt以标识临时用户。具体的,即为β系统中的身份信息IDt,将其发送给β系统的KGCβ(8-1) User A first randomly selects a temporary auxiliary information Aux t to identify the temporary user. Specifically, it is the identity information ID t in the β system, which is sent to the KGC β of the β system;

(8-2)KGCβ运行密钥生成算法Extracβ(MPβ,MSβ,IDt)为该身份信息生成对应的临时公私钥(PKt,SKt)并发送给用户A,其中,PKt表示临时公钥;SKt表示临时私钥;(8-2) KGC β runs the key generation algorithm Extrac β (MP β , MS β , ID t ) to generate a corresponding temporary public-private key (PK t , SK t ) for the identity information and sends it to user A, where PK t represents the temporary public key; SK t represents the temporary private key;

(8-3)用户A运行重加密密钥生成算法RKβ(MPβ,PKt,SKA)生成临时重加密密钥 (8-3) User A runs the re-encryption key generation algorithm RK β (MP β , PK t , SK A ) to generate a temporary re-encryption key

(8-4)用户A运行α系统的加密算法Encα(MPα,PKC,SKt)将临时私钥加密得到临时密钥密文Cα(8-4) User A runs the encryption algorithm Enc α (MP α , PK C , SK t ) of the α system to encrypt the temporary private key to obtain the temporary key ciphertext C α ;

(8-5)将系统间重加密密钥发送给云端。(8-5) Re-encrypt the key between systems sent to the cloud.

步骤9云端解析系统间重加密密钥得到临时重加密密钥运行重加密算法ReEncβ(CA,2)得到重加密密钥密文C’,将系统间重加密密文{C’,Cα}发送给用户C。Step 9 Cloud analysis inter-system re-encryption key get temporary re-encryption key Run the re-encryption algorithm ReEnc β ( C A, 2 ) Obtain the re-encryption key ciphertext C', and send the inter-system re-encryption ciphertext {C', C α } to user C.

步骤10用户C获取到系统间重加密密文{C’,Cα},先解析得到临时密钥密文Cα,运行α系统的解密算法Dec-1α(MPα,SKC,Cα)得到临时私钥SKt,再运行β系统的重加密密文解密算法Dec-2β(MPβ,SKt,C’)得到会话对称密钥k,最后运行对称解密算法SD(k,CA,1)得到明文数据M。Step 10 User C obtains the inter-system re-encrypted ciphertext {C', C α }, first parses to obtain the temporary key ciphertext C α , and runs the decryption algorithm Dec-1 α (MP α , SK C , C α ) to obtain the temporary private key SK t , and then run the re-encrypted ciphertext decryption algorithm Dec-2 β (MP β , SK t , C') of the β system to obtain the session symmetric key k, and finally run the symmetric decryption algorithm SD(k, C A, 1 ) Obtain plaintext data M.

本发明中的代理重加密方案包括但不局限于所列的类型:传统的基于PKI的代理重加密PKI-PRE、基于身份的代理重加密IB-PRE、基于属性的代理重加密AB-PRE和基于无证书的代理重加密CL-PRE。α、β系统采用的两个异构代理重加密方案,可以是上述类型方案之间的所有组合;也包括同一类型中,不同实例化方案之间的所有组合,实例化方案即各算法的计算细节具体化的类型方案;也包括同一实例化方案但采用了不同的安全参数、公开参数的实现方案之间的所有组合,实现方案即安全参数、公开参数具体化的实例化方案。Proxy re-encryption schemes in the present invention include but are not limited to listed types: traditional PKI-based proxy re-encryption PKI-PRE, identity-based proxy re-encryption IB-PRE, attribute-based proxy re-encryption AB-PRE and Certificateless proxy re-encryption based on CL-PRE. The two heterogeneous proxy re-encryption schemes adopted by the α and β systems can be all combinations of the above-mentioned types of schemes; it also includes all combinations of different instantiation schemes in the same type. The instantiation scheme is the calculation of each algorithm The specific type scheme of the details; it also includes all combinations of the same instantiation scheme but using different security parameters and public parameters. The implementation scheme is the instantiation scheme of the security parameters and public parameters.

本发明可拓展为PRE加密云存储到PKE加密云存储的数据安全共享。即PRE加密云存储系统中的用户可将其数据安全共享给与PRE异构的PKE加密云存储系统中另一个用户,反之不可。PRE方案是PKE在功能性上的扩展,将上述实施例中α中的方案替换为PKE加密方案即可。此时PRE与PKE的异构表现为:在密钥生成算法采用了不同的密钥方案,或者采用了相同的密钥方案,但使用了不同的安全参数、公开参数。The present invention can be extended to data security sharing from PRE encrypted cloud storage to PKE encrypted cloud storage. That is, users in the PRE encrypted cloud storage system can safely share their data with another user in the PKE encrypted cloud storage system that is heterogeneous with PRE, and vice versa. The PRE scheme is a functional extension of PKE, and the scheme in α in the above embodiment can be replaced with the PKE encryption scheme. At this time, the heterogeneity of PRE and PKE is represented by: different key schemes are adopted in the key generation algorithm, or the same key scheme is adopted, but different security parameters and public parameters are used.

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。It is easy for those skilled in the art to understand that the above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention, All should be included within the protection scope of the present invention.

Claims (3)

1. general isomery adds the data sharing method between Miyun, it is characterized in that, comprising:
Step 1 two its system initialization algorithms of each self-operating of isomery encryption cloud system α, β, generate corresponding openly parameter, secret parameter respectively to (MP α, MS α) and (MP β, MS β), wherein, MP represents that Your Majesty opens parameter; MS represents main secret parameter; And choose symmetric encipherment algorithm (K, SE, SD) as ciphering user data algorithm, wherein, K represents symmetric key space; SE and SD represents symmetric cryptography and decipherment algorithm respectively;
α, beta system key generation centre separately described in step 2 is that the user of its internal system distributes public private key pair (PK, SK), and wherein, PK represents the PKI of user; SK represents the private key of user;
In beta system described in step 3, first user is that clear data M generates session symmetric key k, and operation symmetric encipherment algorithm is encrypted described clear data M and obtained encrypt data C a, 1, run cryptographic algorithm and generate key ciphertext C corresponding to described session symmetric key k a, 2, then by described encrypt data C a, 1with described key ciphertext C a, 2be uploaded to high in the clouds to store;
Step 4 judges described encrypt data C a, 1ask for or share, if first user oneself takes described encrypt data C in described beta system a, 1then perform step 5, otherwise perform step 6;
In beta system described in step 5, first user downloads described encrypt data C from described high in the clouds a, 1with described key ciphertext C a, 2, run decipherment algorithm and obtain described session symmetric key k, the symmetrical decipherment algorithm that reruns deciphers described encrypt data C a, 1obtain described clear data M;
Step 6 to judge in recipient and described beta system first user whether in same system, if then perform step 7, otherwise performs step 8;
In beta system described in step 7, first first user runs re-encrypted private key generating algorithm and generates re-encrypted private key RK β, A → B, and send it to described high in the clouds; Run re-encryption algorithm by described high in the clouds again and generate re-encrypted private key ciphertext C ' a; Described recipient fetches the shared data (C of first user in described beta system from described high in the clouds a, 1, C ' a), run re-encryption decrypt ciphertext algorithm and obtain described session symmetric key k, the symmetrical decipherment algorithm that reruns deciphers described encrypt data C a, 1obtain described clear data M;
If step 8 recipient is first user in described α system, for first user in described α system generates interim public and private key (PK t, SK t) and re-encrypted private key RK between generation system a → C, wherein, PK trepresent temporary public key; SK trepresent temporary private;
Re-encrypted private key RK between described system is resolved in high in the clouds described in step 9 a → Cobtain interim re-encrypted private key RK β, A → PKt, run re-encryption algorithm and obtain re-encrypted private key ciphertext C ', by re-encryption ciphertext between system C ', C αsend to first user in described α system;
In α system described in step 10 first user get described re-encryption ciphertext C ', C α, first resolve and obtain temporary key ciphertext C α, the decipherment algorithm running described α system obtains described temporary private SK t, the re-encryption decrypt ciphertext algorithm of the described beta system that reruns obtains described session symmetric key k, finally runs symmetrical decipherment algorithm and deciphers described encrypt data C a, 1obtain described clear data M.
2. the method for claim 1, is characterized in that, in described step 2, the user in described beta system is to the cipher key distribution mechanism KGC of described system β βsubmit the identity information ID of oneself to aas PKI, the cipher key distribution mechanism KGC of described system β βfor it generates private key SK a, then its public private key pair is (ID a, SK a); The intrasystem user of described α is to the cipher key distribution mechanism KGC of described system α αsubmit the identity information ID of oneself to c, the cipher key distribution mechanism KGC of described system α αfor its generating portion private key DK c, the intrasystem user of described α chooses a Your Majesty again and opens parameter MP αrandom number r in the Algebraic Structure determined is in conjunction with described identity information ID cwith described part private key DK cgenerate public private key pair (PK c, SK c).
3. method as claimed in claim 1 or 2, it is characterized in that, described step 8 comprises following sub-step:
(8-1) the supplementary Aux that in described beta system, first user random selecting one is interim tto identify casual user, send it to the key generation centre KGC of described beta system β;
(8-2) the key generation centre KGC of described beta system βrunning key schedule is described interim supplementary Aux tgenerate corresponding interim public and private key (PK t, SK t) and send to first user in described beta system;
(8-3) in described beta system, first user runs re-encrypted private key generating algorithm and generates interim re-encrypted private key RK β, A → PKt;
(8-4) in described beta system, first user runs the cryptographic algorithm of described α system by described temporary private SK tencryption obtains temporary key ciphertext C α;
(8-5) by re-encrypted private key RK between described system a → C={ RK β, A → PKt, C αsend to described high in the clouds.
CN201510136203.8A 2015-03-26 2015-03-26 A kind of data sharing method between general isomery encryption cloud Expired - Fee Related CN104735070B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510136203.8A CN104735070B (en) 2015-03-26 2015-03-26 A kind of data sharing method between general isomery encryption cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510136203.8A CN104735070B (en) 2015-03-26 2015-03-26 A kind of data sharing method between general isomery encryption cloud

Publications (2)

Publication Number Publication Date
CN104735070A true CN104735070A (en) 2015-06-24
CN104735070B CN104735070B (en) 2017-12-08

Family

ID=53458505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510136203.8A Expired - Fee Related CN104735070B (en) 2015-03-26 2015-03-26 A kind of data sharing method between general isomery encryption cloud

Country Status (1)

Country Link
CN (1) CN104735070B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373346A (en) * 2015-10-23 2016-03-02 成都卫士通信息产业股份有限公司 Virtual storage method and virtual storage device
CN107086912A (en) * 2017-04-10 2017-08-22 国家电网公司 Ciphertext conversion method, decryption method and system in a heterogeneous storage system
CN108156232A (en) * 2017-12-22 2018-06-12 王轶捷 Data sharing method and device
CN109413092A (en) * 2018-11-20 2019-03-01 国网浙江省电力有限公司电力科学研究院 A kind of key isomery defence method
US10250385B2 (en) * 2016-02-18 2019-04-02 Cloud9 Technologies, LLC Customer call logging data privacy in cloud infrastructure
CN110310117A (en) * 2019-06-25 2019-10-08 杭州趣链科技有限公司 A kind of secure data method of commerce based on proxy re-encryption
CN110493263A (en) * 2019-09-17 2019-11-22 北京元安物联技术有限公司 Gateway offline authentication method, apparatus, system and computer readable storage medium
CN110505233A (en) * 2019-08-29 2019-11-26 苏州同济区块链研究院有限公司 A kind of method of anti-conspiracy/secret protection proxy re-encryption
CN110610102A (en) * 2019-09-23 2019-12-24 郑州师范学院 A data access method, device and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655508A (en) * 2012-04-19 2012-09-05 华中科技大学 Method for protecting privacy data of users in cloud environment
CN103647642A (en) * 2013-11-15 2014-03-19 河海大学 Certificate-based agent heavy encryption method and system
CN103685532A (en) * 2013-12-20 2014-03-26 代玉松 Safety guarantee system and method used during data transmission process among enterprises based on cloud service
CN103905557A (en) * 2014-04-09 2014-07-02 曙光云计算技术有限公司 Data storage method and device used for cloud environment and downloading method and device
CN103916477A (en) * 2014-04-09 2014-07-09 曙光云计算技术有限公司 Data storage method and device and data downloading method and device for cloud environment
CN103957109A (en) * 2014-05-22 2014-07-30 武汉大学 Cloud data privacy protection security re-encryption method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655508A (en) * 2012-04-19 2012-09-05 华中科技大学 Method for protecting privacy data of users in cloud environment
CN103647642A (en) * 2013-11-15 2014-03-19 河海大学 Certificate-based agent heavy encryption method and system
CN103685532A (en) * 2013-12-20 2014-03-26 代玉松 Safety guarantee system and method used during data transmission process among enterprises based on cloud service
CN103905557A (en) * 2014-04-09 2014-07-02 曙光云计算技术有限公司 Data storage method and device used for cloud environment and downloading method and device
CN103916477A (en) * 2014-04-09 2014-07-09 曙光云计算技术有限公司 Data storage method and device and data downloading method and device for cloud environment
CN103957109A (en) * 2014-05-22 2014-07-30 武汉大学 Cloud data privacy protection security re-encryption method

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HENG HE,RUIXUAN LI,XINHUA DONG,ZHAO ZHANG: "Secure, Efficient and Fine-Grained Data Access Control Mechanism for P2P Storage Cloud", 《IEEE TRANSACTIONS ON CLOUD COMPUTING》 *
KAITAI LIANG,MAN HO AU,JOSEPH K. LIU,WILLY SUSILO ETC.: "A DFA-Based Functional Proxy Re-encryption Scheme for Secure Public Cloud Data Sharing", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 *
P. PRAVEEN CHANDAR,D. MUTKURAMAN,M. RATHINRAI: "Hierarchical attribute based proxy re-encryption access control in cloud computing", 《2014 INTERNATIONAL CONFERENCE ON CIRCUITS, POWER AND COMPUTING TECHNOLOGIES》 *
董新华,李瑞轩,何亨,周湾湾,薛正元,王聪: "一种大数据平台敏感数据安全共享的框架", 《科技导报》 *
陈宏武: "基于代理重加密优化算法的云用户数据隐私保护机制", 《中国优秀硕士论文全文数据库》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373346B (en) * 2015-10-23 2018-06-29 成都卫士通信息产业股份有限公司 A kind of virtualization storage method and storage device
CN105373346A (en) * 2015-10-23 2016-03-02 成都卫士通信息产业股份有限公司 Virtual storage method and virtual storage device
US10250385B2 (en) * 2016-02-18 2019-04-02 Cloud9 Technologies, LLC Customer call logging data privacy in cloud infrastructure
CN107086912B (en) * 2017-04-10 2020-02-07 国家电网公司 Ciphertext conversion method, decryption method and system in heterogeneous storage system
CN107086912A (en) * 2017-04-10 2017-08-22 国家电网公司 Ciphertext conversion method, decryption method and system in a heterogeneous storage system
CN108156232A (en) * 2017-12-22 2018-06-12 王轶捷 Data sharing method and device
CN109413092A (en) * 2018-11-20 2019-03-01 国网浙江省电力有限公司电力科学研究院 A kind of key isomery defence method
CN110310117A (en) * 2019-06-25 2019-10-08 杭州趣链科技有限公司 A kind of secure data method of commerce based on proxy re-encryption
CN110505233A (en) * 2019-08-29 2019-11-26 苏州同济区块链研究院有限公司 A kind of method of anti-conspiracy/secret protection proxy re-encryption
CN110493263A (en) * 2019-09-17 2019-11-22 北京元安物联技术有限公司 Gateway offline authentication method, apparatus, system and computer readable storage medium
CN110493263B (en) * 2019-09-17 2022-05-24 北京元安物联技术有限公司 Gateway offline authentication method, device and system and computer readable storage medium
CN110610102A (en) * 2019-09-23 2019-12-24 郑州师范学院 A data access method, device and system
CN110610102B (en) * 2019-09-23 2021-06-25 郑州师范学院 A data access method, device and system

Also Published As

Publication number Publication date
CN104735070B (en) 2017-12-08

Similar Documents

Publication Publication Date Title
CN104735070B (en) A kind of data sharing method between general isomery encryption cloud
CN102624522B (en) A kind of key encryption method based on file attribute
CN103957109B (en) A kind of cloud data-privacy protects safe re-encryption method
CN104113408B (en) It is a kind of realize the revocation of timely user property based on ciphertext policy ABE encryption method
CN103107992B (en) Multistage authority management method for cloud storage enciphered data sharing
JP6115573B2 (en) Cryptographic system, data storage system, and apparatus and method used therefor
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
JP2023101776A (en) Computer-implemented system and method for advanced security, fast encryption and transmission of data
CN104158880B (en) User-end cloud data sharing solution
CN105933345B (en) A Verifiable Outsourcing Attribute-Based Encryption Method Based on Linear Secret Sharing
JP2003298568A (en) Authenticated identification-based cryptosystem with no key escrow
CN109246098A (en) A method of support the synchronous ciphertext of backup server to compare
CN109873699A (en) A Revocable Identity Public Key Encryption Method
Kaaniche et al. ID based cryptography for cloud data storage
CN106878322B (en) A kind of encryption and decryption method of fixed length ciphertext and key based on attribute
CN104519071A (en) Group encryption and decryption method and system with selection and exclusion functions
CN104539610A (en) Agent re-encryption method for improving outsourced encrypted data sharing function
CN109614792A (en) A kind of hierarchial file structure key management method
CN106713349B (en) Inter-group proxy re-encryption method capable of resisting attack of selecting cipher text
CN101710879A (en) Novel identity-based privacy enhanced mail forwarding system
CN106790259A (en) A kind of asymmetric across cryptographic system re-encryption, decryption method and system
CN107682158B (en) A Managed Authenticated Encryption Method
CN108337084A (en) A kind of key distribution system, method and device
CN101964039B (en) Encryption protection method and system of copyright object
CN104639319A (en) Identity-based proxy re-encryption method and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171208