CN107580003A - Secure certificate-less searchable public-key encryption scheme for industrial internet of things - Google Patents

Secure certificate-less searchable public-key encryption scheme for industrial internet of things Download PDF

Info

Publication number
CN107580003A
CN107580003A CN201711042726.1A CN201711042726A CN107580003A CN 107580003 A CN107580003 A CN 107580003A CN 201711042726 A CN201711042726 A CN 201711042726A CN 107580003 A CN107580003 A CN 107580003A
Authority
CN
China
Prior art keywords
server
user
data
generate
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711042726.1A
Other languages
Chinese (zh)
Inventor
陈建铭
吴祖扬
孟超
王景行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Shenzhen
Original Assignee
Harbin Institute of Technology Shenzhen
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 Harbin Institute of Technology Shenzhen filed Critical Harbin Institute of Technology Shenzhen
Priority to CN201711042726.1A priority Critical patent/CN107580003A/en
Publication of CN107580003A publication Critical patent/CN107580003A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

Public key cryptography scheme is can search for without certificate the invention discloses a kind of provable security under industrial environment of internet of things, it comprises the following steps:A, registration phase:Data consumer generates respective public key and private key with Cloud Server under the assistance of key generation centre;B, data encryption stage:Ciphertext is simultaneously uploaded to Cloud Server by data owner's encryption keyword.C, retrieval phase:Data consumer generates the trapdoor for retrieval and is sent to Cloud Server, and Cloud Server is received after the trapdoor of user, it will ciphertext is retrieved, and the result of retrieval is returned into user.The present invention is directed to the keyword guessing attack that malicious server and external attacker be present in industrial Internet of Things cloud storage and proposes new solution, and the provable offline keyword guessing attack that can keep out external attacker and malicious server, there is higher safe class in similar security protocol.

Description

工业物联网环境下安全的无证书可搜索公钥加密方案Secure certificate-less searchable public-key encryption scheme for industrial internet of things

技术领域technical field

本发明提出了一种在工业物联网环境下可证明安全的无证书可搜索公钥加密方案。The present invention proposes a certificate-free searchable public key encryption scheme that can be proven safe in the industrial Internet of Things environment.

背景技术Background technique

随着工业物联网(IIoT)的快速发展,工业物联网(IIoT)云存储技术受到越来越多的企业及个人用户的青睐。典型的工业物联网(IIoT)云存储网络环境如图1所示:在该环境中,企业收集工业生产及操作中的数据,同时传感器收集外界信息,这些数据会通过网络上传至云端服务器,并同计算服务器与存储服务器进行交互。然而,云端数据不在企业及个人用户的监管中,因此为了防止隐私信息泄露,数据在上传至云端之前需要进行加密。这就产生了一个新的问题:因云服务器没有解密数据的密钥,所以当数据使用者想要检索云端数据时云服务器无法做出回应。With the rapid development of the Industrial Internet of Things (IIoT), cloud storage technology of the Industrial Internet of Things (IIoT) is favored by more and more enterprises and individual users. A typical Industrial Internet of Things (IIoT) cloud storage network environment is shown in Figure 1: In this environment, enterprises collect data in industrial production and operation, while sensors collect external information, and these data will be uploaded to cloud servers through the network, and Interact with computing servers and storage servers. However, cloud data is not under the supervision of enterprises and individual users, so in order to prevent the leakage of private information, the data needs to be encrypted before uploading to the cloud. This creates a new problem: because the cloud server does not have the key to decrypt the data, the cloud server cannot respond when the data user wants to retrieve the cloud data.

针对这个问题,许多学者提出了大量的解决方案。但在目前的很多研究中,很多方案都被证明有安全性的问题,而没有安全性问题的很多都采用传统的公钥加密方案,而这会带来证书的管理问题以及秘钥交换问题,不太适用于工业物联网(IIoT)环境中。最近有人提出的无需安全通道的多关键字可搜索加密(SCF-MCLPEKS)方案采用无证书公钥加密系统,解决了证书管理以及密钥托管的问题,但是却无法抵挡离线关键字猜测攻击。因此当遇到恶意服务器或外部攻击者监听了公开信道的情况时,数据使用者查询请求中的私密信息将会泄露,进而存储于云端的加密数据也会泄露。Aiming at this problem, many scholars have proposed a large number of solutions. However, in many current researches, many schemes have been proved to have security problems, and many without security problems use traditional public key encryption schemes, which will bring about certificate management problems and secret key exchange problems. Less applicable in Industrial Internet of Things (IIoT) environments. The recently proposed multi-keyword searchable encryption without secure channel (SCF-MCLPEKS) scheme uses a certificateless public key encryption system to solve the problems of certificate management and key escrow, but it cannot resist offline keyword guessing attacks. Therefore, when a malicious server or an external attacker monitors the public channel, the private information in the query request of the data user will be leaked, and the encrypted data stored in the cloud will also be leaked.

发明内容Contents of the invention

本发明要解决的技术问题是克服现有方案无法抵挡外部攻击者或者恶意服务器进行离线关键字攻击的缺陷,提供一种在工业物联网环境下确保陷门安全的无证书可搜索公钥加密方案。The technical problem to be solved by the present invention is to overcome the defect that existing schemes cannot withstand offline keyword attacks by external attackers or malicious servers, and provide a certificate-free searchable public key encryption scheme that ensures trapdoor security in the industrial Internet of Things environment .

为了解决上述技术问题,本发明基于图2的架构进行拓展研究:首先,数据拥有者使用服务器的公钥和数据使用者的公钥对关键字进行加密并上传至云端。然后,数据使用者使用服务器的公钥对关键字进行运算,生成用于检索的陷门并通过公开信道发送到云服务器,云服务器收到陷门之后,会对密文进行检索并将结果返回给用户。在本发明中,由于在检索阶段,数据使用者生成检索用的陷门时,使用了服务器的公钥,因此,由于攻击者无法获取指定服务器的私钥,也就无法实施离线关键字猜测攻击,从而保证了用户数据的隐私。In order to solve the above-mentioned technical problems, the present invention conducts extended research based on the architecture of Figure 2: first, the data owner uses the public key of the server and the public key of the data user to encrypt the keyword and upload it to the cloud. Then, the data user uses the server's public key to perform calculations on keywords, generates a trapdoor for retrieval and sends it to the cloud server through an open channel. After receiving the trapdoor, the cloud server retrieves the ciphertext and returns the result to the user. In the present invention, since the public key of the server is used when the data user generates the trapdoor for retrieval in the retrieval phase, the attacker cannot obtain the private key of the specified server, and thus cannot implement an offline keyword guessing attack , thereby ensuring the privacy of user data.

根据以上原理,本发明提供了如下的技术方案:According to above principle, the present invention provides following technical scheme:

本发明提供一种在工业物联网环境下可证安全的无证书可搜索公钥加密方案,包括以下步骤:The present invention provides a provably safe searchable public key encryption scheme without a certificate under the environment of the Industrial Internet of Things, comprising the following steps:

A、注册阶段:数据使用者服务器(Cloud server)在密钥生成中心(KGC)的协助下生成各自的公钥与私钥;A. Registration phase: data users The server (Cloud server) generates its own public key and private key with the assistance of the Key Generation Center (KGC);

A1: 系统设置:该函数由密钥生成中心(KGC)执行,用来生成一些系统参数。A1: System Settings: This function is executed by the Key Generation Center (KGC) to generate some system parameters.

1)输入:一个安全参数k,选择一个双线性映射e: G1×G1→G21) Input: a security parameter k , choose a bilinear map e : G 1 ×G 1 →G 2 .

2)随机选择sZ q *PG 1,并计算出P pub =sP2) Randomly select sZ q * and PG 1 , and calculate P pub = sP .

3)设置主密钥msk=s,并输出公开参数param3) Set the master key msk = s , and output the public parameter param :

param ={k, G1, G2, e, q, P,P pub , H 1, H 2 },其中H 1, H 2是2个不同的哈希函数。H 1:{0,1}*→G1, H 2: {0,1}*→G1. param ={ k , G 1 , G 2 , e , q , P , P pub , H 1 , H 2 }, where H 1 , H 2 are 2 different hash functions. H 1 : {0,1} * →G 1 , H 2 : {0,1} * →G 1 .

A2: 生成部分私钥:该函数由密钥生成中心(KGC)执行,用来生成服务器或用户的部分私钥。A2: Generate a partial private key: This function is executed by the Key Generation Center (KGC) to generate a partial private key of the server or user.

1)计算:Q S =H 1(ID S ), Q R =H 1(ID R )。1) Calculation: Q S = H 1 ( ID S ), Q R = H 1 ( ID R ).

2)计算D S =s∙Q S , D R =s∙Q R 2) Calculate D S = s∙Q S , D R = s∙Q R .

3)分别发送D S , D R 给服务器和用户。 3 ) Send DS and DR to the server and user respectively .

A3: 生成秘密值:该函数由服务器或用户执行,用来生成服务器或用户的另一部分私钥。A3: Generate secret value: This function is executed by the server or user to generate another part of the private key of the server or user.

1)服务器随机选择一个数x S 1) The server randomly selects a number x S .

2)用户随机选择一个数x R 2) The user randomly selects a number x R .

A4: 设定私钥:该函数由服务器或用户执行,用来生成服务器或用户的私钥。A4: Set private key: This function is executed by the server or user to generate the private key of the server or user.

1)服务器设置自己的私钥为:SK S ={SK S,1,SK S,2 }={x S , D S }。1) The server sets its own private key as: SK S ={ SK S ,1 , SK S ,2 }={ x S , D S }.

2)用户设置自己的私钥为:SK R ={SK R,1,SK R,2 }={x R , D R }。2) The user sets his own private key as: SK R ={ SK R, 1 , SK R ,2 }={ x R , D R }.

A5: 设定公钥:该函数由服务器或用户执行,用来生成服务器或用户的公钥。A5: Set public key: This function is executed by the server or user to generate the public key of the server or user.

1)服务器设置自己的公钥为:PK S =x S P 1) The server sets its own public key as: PK S = x S P

2)用户设置自己的公钥为:PK R =x R P2) The user sets his own public key as: PK R = x R P .

B、数据加密阶段:B. Data encryption stage:

加密关键字(SCF-MCLPEKS+):该函数由数据拥有者执行,用来加密关键字。如果数据拥有者想发送他的数据给数据使用者,则他可以用下面的方法对关键字集合W进行加密:Encrypted Keyword (SCF-MCLPEKS + ): This function is executed by the data owner to encrypt the key word. If the data owner wants to send his data to the data user, he can encrypt the keyword set W in the following way:

1)对每个关键字w i W,选择一个随机数r i 1) For each keyword w i W , choose a random number r i ,

2)计算Q R =H 1(ID R )。2) Calculate Q R = H 1 ( ID R ).

3)计算U i ,V i , K i 如下:3) Calculate U i , V i , K i as follows:

U i =e(r i H 2(w i ), PK R )∙e(r i Q R , P pub ), U i = e ( r i H 2 ( w i ), PK R )∙ e ( r i Q R , P pub ),

V i =r i PK S , V i = r i PK S ,

K i =r i P. K i = r i P .

4)设置密文为:C={C i },其中C i ={U i , V i , K i }。4) Set the ciphertext as: C ={ C i }, where C i ={ U i , V i , K i }.

C、检索阶段:C. Retrieval stage:

C1:生成陷门:该函数由数据使用者执行,用来生成检索用的陷门。如果数据的使用者想要检索带有关键字w的某个密文,则他可以按照下面的方法生成检索用的陷门:C1: Generate trapdoor: This function is executed by the data user to generate a trapdoor for retrieval. If the user of the data wants to retrieve a certain ciphertext with the keyword w , he can generate a trapdoor for retrieval according to the following method:

1)计算选择一个随机数r1) Calculate and choose a random number r .

2)设置陷门T w 为:T w ={T 1,T 2},其中,T 1,T 2如下:2) Set trapdoor T w as: T w ={ T 1 , T 2 }, where T 1 , T 2 are as follows:

T 1= D R + x R H 2(w)+rP, T 1 = D R + x R H 2 ( w ) + rP ,

T 2=rPK S . T 2 = rPK S .

(8) 测试: 该函数由服务器执行,用来测试密文C和陷门T w 是否匹配。(8) Test: This function is executed by the server to test whether the ciphertext C and the trapdoor T w match.

1) 对每一个密文C i C,计算U=(U i ) xS 1) For each ciphertext C i C , calculate U = ( U i ) xS .

2) 验证:e(T 1,V i )=Ue(K i , T 2)。如果成立,返回1,否则,返回0.2) Verification: e ( T 1 , V i ) = Ue ( K i , T 2 ). If true, return 1, otherwise, return 0.

如果w=w i ,则我们可以得到:If w = w i , then we can get:

e(T 1,V i ) e ( T 1 , V i )

= e(D R + x R H 2(w)+rP,r i PK S )= e ( D R + x R H 2 ( w ) + rP , r i PK S )

= e(x R H 2(w),r i PK S )∙ e(D R ,r i PK S )∙ e(rP,r i PK S )= e ( x R H 2 ( w ), r i PK S )∙ e ( D R , r i PK S )∙ e ( rP , r i PK S )

= e(r i H 2(w),x R PK S )∙ e(sQ R ,r i PK S )∙ e(r i P,rPK S ).= e ( r i H 2 ( w ), x R PK S )∙ e ( sQ R , r i PK S )∙ e ( r i P , rPK S ).

= [e(r i H 2(w),x R P)∙ e(r i Q R ,sP)] xS e(K i , T 2)= [ e ( r i H 2 ( w ), x R P )∙ e ( r i Q R , sP )] xS e ( K i , T 2 )

= (U i ) xS e(K i , T 2).= ( U i ) x S e ( K i , T 2 ).

本发明所达到的有益效果是:The beneficial effects achieved by the present invention are:

针对工业物联网(IIoT)云存储环境中加密数据私密信息的保护问题提出了一种可证安全的无证书可搜索公钥加密方案。可以证明本方案能够抵挡离线关键字猜测攻击,能够很好的保护加密数据,在同类的无证书公钥可搜索加密方案中具有更高的安全等级。并且本方案在效率上也比较高,具有很强的实用性,因此可适用于工业物联网(IIoT)云存储环境中。Aiming at the protection of encrypted data private information in the cloud storage environment of Industrial Internet of Things (IIoT), a provably secure searchable public key encryption scheme without certificates is proposed. It can be proved that this scheme can resist offline keyword guessing attacks, can protect encrypted data very well, and has a higher security level in similar certificateless public key searchable encryption schemes. Moreover, this solution is also relatively high in efficiency and has strong practicability, so it can be applied to the cloud storage environment of the Industrial Internet of Things (IIoT).

附图说明Description of drawings

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:The accompanying drawings are used to provide a further understanding of the present invention, and constitute a part of the description, and are used together with the embodiments of the present invention to explain the present invention, and do not constitute a limitation to the present invention. In the attached picture:

图1展示了典型的工业物联网(IIoT)云存储网络环境。Figure 1 shows a typical Industrial Internet of Things (IIoT) cloud storage network environment.

图2展示了本发明所采用的基本流程。Figure 2 shows the basic process used by the present invention.

具体实施方式detailed description

以下结合附图2对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。The preferred embodiments of the present invention will be described below with reference to the accompanying drawing 2. It should be understood that the preferred embodiments described here are only used to illustrate and explain the present invention, and are not intended to limit the present invention.

一种在工业物联网环境下可证安全的无证书可搜索公钥加密方案,其包括以下步骤:A provably secure searchable public key encryption scheme without a certificate under the industrial Internet of Things environment, which includes the following steps:

A、注册阶段:数据使用者服务器(Cloud server)在KGC的协助下生成各自的公钥与私钥;A. Registration phase: data users The server (Cloud server) generates its own public key and private key with the assistance of KGC;

A1: 系统设置:该函数由密钥生成中心(KGC)执行,用来生成一些系统参数。A1: System Settings: This function is executed by the Key Generation Center (KGC) to generate some system parameters.

1)输入:一个安全参数k,选择一个双线性映射e: G1×G1→G21) Input: a security parameter k , choose a bilinear map e : G 1 ×G 1 →G 2 .

2)随机选择sZ q *PG 1,并计算出P pub =sP2) Randomly select sZ q * and PG 1 , and calculate P pub = sP .

3)设置主密钥msk=s,并输出公开参数param3) Set the master key msk = s , and output the public parameter param :

param ={k, G1, G2, e, q, P,P pub , H 1, H 2 },其中H 1, H 2是2个不同的哈希函数。H 1:{0,1}*→G1, H 2: {0,1}*→G1. param ={ k , G 1 , G 2 , e , q , P , P pub , H 1 , H 2 }, where H 1 , H 2 are 2 different hash functions. H 1 : {0,1} * →G 1 , H 2 : {0,1} * →G 1 .

A2: 生成部分私钥:该函数由密钥生成中心(KGC)执行,用来生成服务器或用户的部分私钥。A2: Generate a partial private key: This function is executed by the Key Generation Center (KGC) to generate a partial private key of the server or user.

1)计算:Q S =H 1(ID S ), Q R =H 1(ID R )。1) Calculation: Q S = H 1 ( ID S ), Q R = H 1 ( ID R ).

2)计算D S =s∙Q S , D R =s∙Q R 2) Calculate D S = s∙Q S , D R = s∙Q R .

3)分别发送D S , D R 给服务器和用户。 3 ) Send DS and DR to the server and user respectively .

A3: 生成秘密值:该函数由服务器或用户执行,用来生成服务器或用户的另一部分私钥。A3: Generate secret value: This function is executed by the server or user to generate another part of the private key of the server or user.

1)服务器随机选择一个数x S 1) The server randomly selects a number x S .

2)用户随机选择一个数x R 2) The user randomly selects a number x R .

A4: 设定私钥:该函数由服务器或用户执行,用来生成服务器或用户的私钥。A4: Set private key: This function is executed by the server or user to generate the private key of the server or user.

1)服务器设置自己的私钥为:SK S ={SK S,1,SK S,2 }={x S , D S }。1) The server sets its own private key as: SK S ={ SK S ,1 , SK S ,2 }={ x S , D S }.

2)用户设置自己的私钥为:SK R ={SK R,1,SK R,2 }={x R , D R }。2) The user sets his own private key as: SK R ={ SK R, 1 , SK R ,2 }={ x R , D R }.

A5: 设定公钥:该函数由服务器或用户执行,用来生成服务器或用户的公钥。A5: Set public key: This function is executed by the server or user to generate the public key of the server or user.

1)服务器设置自己的公钥为:PK S =x S P 1) The server sets its own public key as: PK S = x S P

2)用户设置自己的公钥为:PK R =x R P2) The user sets his own public key as: PK R = x R P .

B、数据加密阶段:B. Data encryption stage:

加密关键字(SCF-MCLPEKS+):该函数由数据拥有者执行,用来加密关键字。如果数据拥有者想发送他的数据给数据使用者,则他可以用下面的方法对关键字集合W进行加密:Encrypted Keyword (SCF-MCLPEKS + ): This function is executed by the data owner to encrypt the key word. If the data owner wants to send his data to the data user, he can encrypt the keyword set W in the following way:

1)对每个关键字w i W,选择一个随机数r i 1) For each keyword w i W , choose a random number r i ,

2)计算Q R =H 1(ID R )。2) Calculate Q R = H 1 ( ID R ).

3)计算U i ,V i , K i 如下:3) Calculate U i , V i , K i as follows:

U i =e(r i H 2(w i ), PK R )∙e(r i Q R , P pub ), U i = e ( r i H 2 ( w i ), PK R )∙ e ( r i Q R , P pub ),

V i =r i PK S , V i = r i PK S ,

K i =r i P. K i = r i P .

4)设置密文为:C={C i },其中C i ={U i , V i , K i }。4) Set the ciphertext as: C ={ C i }, where C i ={ U i , V i , K i }.

C、检索阶段:C. Retrieval stage:

C1:生成陷门:该函数由数据使用者执行,用来生成检索用的陷门。如果数据的使用者想要检索带有关键字w的某个密文,则他可以按照下面的方法生成检索用的陷门:C1: Generate trapdoor: This function is executed by the data user to generate a trapdoor for retrieval. If the user of the data wants to retrieve a certain ciphertext with the keyword w , he can generate a trapdoor for retrieval according to the following method:

1)计算选择一个随机数r1) Calculate and choose a random number r .

2)设置陷门T w 为:T w ={T 1,T 2},其中,T 1,T 2如下:2) Set trapdoor T w as: T w ={ T 1 , T 2 }, where T 1 , T 2 are as follows:

T 1= D R + x R H 2(w)+rP, T 1 = D R + x R H 2 ( w ) + rP ,

T 2=rPK S . T 2 = rPK S .

(8) 测试: 该函数由服务器执行,用来测试密文C和陷门T w 是否匹配。(8) Test: This function is executed by the server to test whether the ciphertext C and the trapdoor T w match.

1) 对每一个密文C i C,计算U=(U i ) xS 1) For each ciphertext C i C , calculate U = ( U i ) xS .

2) 验证:e(T 1,V i )=Ue(K i , T 2)。如果成立,返回1,否则,返回0.2) Verification: e ( T 1 , V i ) = Ue ( K i , T 2 ). If true, return 1, otherwise, return 0.

如果w=w i ,则我们可以得到:If w = w i , then we can get:

e(T 1,V i ) e ( T 1 , V i )

= e(D R + x R H 2(w)+rP,r i PK S )= e ( D R + x R H 2 ( w ) + rP , r i PK S )

= e(x R H 2(w),r i PK S )∙ e(D R ,r i PK S )∙ e(rP,r i PK S )= e ( x R H 2 ( w ), r i PK S )∙ e ( D R , r i PK S )∙ e ( rP , r i PK S )

= e(r i H 2(w),x R PK S )∙ e(sQ R ,r i PK S )∙ e(r i P,rPK S ).= e ( r i H 2 ( w ), x R PK S )∙ e ( sQ R , r i PK S )∙ e ( r i P , rPK S ).

= [e(r i H 2(w),x R P)∙ e(r i Q R ,sP)] xS e(K i , T 2)= [ e ( r i H 2 ( w ), x R P )∙ e ( r i Q R , sP )] xS e ( K i , T 2 )

= (U i ) xS e(K i , T 2)。= ( U i ) x S e ( K i , T 2 ).

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。Finally, it should be noted that: the above is only a preferred embodiment of the present invention, and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, for those skilled in the art, it still The technical solutions recorded in the foregoing embodiments may be modified, or some technical features thereof may be equivalently replaced. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims (2)

1.一种在工业物联网环境下安全的无证书可搜索公钥加密方案,其特征在于,包括以下步骤:1. A safe searchable public key encryption scheme without a certificate under the Industrial Internet of Things environment, characterized in that, comprising the following steps: 首先,数据拥有者使用服务器的公钥和数据使用者的公钥对关键字进行加密并上传至云端;First, the data owner uses the public key of the server and the public key of the data user to encrypt the keyword and upload it to the cloud; 然后,数据使用者使用服务器的公钥对关键字进行运算,生成用于检索的陷门并通过公开信道发送到云服务器,云服务器收到陷门之后,会对密文进行检索并将结果返回给用户。Then, the data user uses the server's public key to perform calculations on keywords, generates a trapdoor for retrieval and sends it to the cloud server through an open channel. After receiving the trapdoor, the cloud server retrieves the ciphertext and returns the result to the user. 2.根据权利要求1所述的一种在工业物联网环境下安全的无证书可搜索公钥加密方案,其特征在于,该方案具体包括以下步骤:2. A security-free certificate-free searchable public key encryption scheme under the Industrial Internet of Things environment according to claim 1, characterized in that the scheme specifically comprises the following steps: A、注册阶段:数据使用者与云服务器在密钥生成中心)的协助下生成各自的公钥与私钥;A. Registration stage: the data user and the cloud server generate their respective public and private keys with the assistance of the key generation center; A1: 设置:该函数由密钥生成中心执行,用来生成一些系统参数;A1: Setting: This function is executed by the key generation center to generate some system parameters; 1)输入:一个安全参数k,选择一个双线性映射e: G1×G1→G21) Input: a security parameter k , select a bilinear map e : G 1 ×G 1 →G 2 ; 2)随机选择sZ q *PG 1,并计算出P pub =sP2) Randomly select sZ q * and PG 1 , and calculate P pub = sP ; 3)设置主密钥msk=s,并输出公开参数param3) Set the master key msk = s , and output the public parameter param : param ={k, G1, G2, e, q, P,P pub , H 1, H 2 },其中H 1, H 2是2个不同的哈希函数;H 1:{0,1}*→G1, H 2: {0,1}*→G1 param ={ k , G 1 , G 2 , e , q , P , P pub , H 1 , H 2 }, where H 1 , H 2 are 2 different hash functions; H 1 :{0,1} * →G 1 , H 2 : {0,1} * →G 1 ; A2: 生成部分私钥:该函数由密钥生成中心执行,用来生成服务器或用户的部分私钥;A2: Generate a partial private key: This function is executed by the key generation center to generate a partial private key of the server or user; 1)计算:Q S =H 1(ID S ), Q R =H 1(ID R );1) Calculation: Q S = H 1 ( ID S ), Q R = H 1 ( ID R ); 2)计算D S =s∙Q S , D R =s∙Q R 2) Calculate D S = s∙Q S , D R = s∙Q R ; 3)分别发送D S , D R 给服务器和用户; 3 ) Send DS and DR to the server and user respectively; A3: 生成秘密值:该函数由服务器或用户执行,用来生成服务器或用户的另一部分私钥;A3: Generate secret value: This function is executed by the server or user to generate another part of the private key of the server or user; 1)服务器随机选择一个数x S 1) The server randomly selects a number x S ; 2)用户随机选择一个数x R 2) The user randomly selects a number x R ; A4: 设定私钥:该函数由服务器或用户执行,用来生成服务器或用户的私钥;A4: Set private key: This function is executed by the server or user to generate the private key of the server or user; 1)服务器设置自己的私钥为:SK S ={SK S,1,SK S,2 }={x S , D S };1) The server sets its own private key as: SK S ={ SK S ,1 , SK S ,2 }={ x S , D S }; 2)用户设置自己的私钥为:SK R ={SK R,1,SK R,2 }={x R , D R };2) The user sets his own private key as: SK R ={ SK R, 1 , SK R ,2 }={ x R , D R }; A5: 设定公钥:该函数由服务器或用户执行,用来生成服务器或用户的公钥;A5: Set public key: This function is executed by the server or user to generate the public key of the server or user; 1)服务器设置自己的公钥为:PK S =x S P; 1) The server sets its own public key as: PK S = x S P; 2)用户设置自己的公钥为:PK R =x R P2) The user sets his own public key as: PK R = x R P ; B、数据加密阶段:B. Data encryption stage: 加密关键字(SCF-MCLPEKS+):该函数由数据拥有者执行,用来加密关键字;如果数据拥有者想发送他的数据给数据使用者,则他可以用下面的方法对关键字集合W进行加密:Encrypted keywords (SCF-MCLPEKS + ): This function is executed by the data owner to encrypt keywords; if the data owner wants to send his data to the data user, he can use the following method to set the keyword W To encrypt: 1)对每个关键字w i W,选择一个随机数r i 1) For each keyword w i W , choose a random number r i , 2)计算Q R =H 1(ID R );2) Calculate Q R = H 1 ( ID R ); 3)计算U i ,V i , K i 如下:3) Calculate U i , V i , K i as follows: U i =e(r i H 2(w i ), PK R )∙e(r i Q R , P pub ), U i = e ( r i H 2 ( w i ), PK R )∙ e ( r i Q R , P pub ), V i =r i PK S , V i = r i PK S , K i =r i P K i = r i P ; 4)设置密文为:C={C i },其中C i ={U i , V i , K i };4) Set the ciphertext as: C ={ C i }, where C i ={ U i , V i , K i }; C、检索阶段:C. Retrieval stage: C1:生成陷门:该函数由数据使用者执行,用来生成检索用的陷门;如果数据的使用者想要检索带有关键字w的某个密文,则他可以按照下面的方法生成检索用的陷门:C1: Generate trapdoor: This function is executed by the data user to generate a trapdoor for retrieval; if the data user wants to retrieve a certain ciphertext with the keyword w , he can generate it according to the following method Trapdoor for retrieval: 1)计算选择一个随机数r1) Calculate and select a random number r ; 2)设置陷门T w 为:T w ={T 1,T 2},其中,T 1,T 2如下:2) Set trapdoor T w as: T w ={ T 1 , T 2 }, where T 1 , T 2 are as follows: T 1= D R + x R H 2(w)+rP, T 1 = D R + x R H 2 ( w ) + rP , T 2=rPK S T 2 = rPK S ; (8) 测试: 该函数由服务器执行,用来测试密文C和陷门T w 是否匹配;(8) Test: This function is executed by the server to test whether the ciphertext C and the trapdoor T w match; 1) 对每一个密文C i C,计算U=(U i ) xS 1) For each ciphertext C i C , calculate U = ( U i ) xS ; 2) 验证:e(T 1,V i )=Ue(K i , T 2);如果成立,返回1,否则,返回0;2) Verification: e ( T 1 , V i )= Ue ( K i , T 2 ); if true, return 1, otherwise, return 0; 如果w=w i ,则我们可以得到:If w = w i , then we can get: e(T 1,V i ) e ( T 1 , V i ) = e(D R + x R H 2(w)+rP,r i PK S )= e ( D R + x R H 2 ( w ) + rP , r i PK S ) = e(x R H 2(w),r i PK S )∙ e(D R ,r i PK S )∙ e(rP,r i PK S )= e ( x R H 2 ( w ), r i PK S )∙ e ( D R , r i PK S )∙ e ( rP , r i PK S ) = e(r i H 2(w),x R PK S )∙ e(sQ R ,r i PK S )∙ e(r i P,rPK S ).= e ( r i H 2 ( w ), x R PK S )∙ e ( sQ R , r i PK S )∙ e ( r i P , rPK S ). = [e(r i H 2(w),x R P)∙ e(r i Q R ,sP)] xS e(K i , T 2)= [ e ( r i H 2 ( w ), x R P )∙ e ( r i Q R , sP )] xS e ( K i , T 2 ) = (U i ) xS e(K i , T 2)。= ( U i ) x S e ( K i , T 2 ).
CN201711042726.1A 2017-10-31 2017-10-31 Secure certificate-less searchable public-key encryption scheme for industrial internet of things Pending CN107580003A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711042726.1A CN107580003A (en) 2017-10-31 2017-10-31 Secure certificate-less searchable public-key encryption scheme for industrial internet of things

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711042726.1A CN107580003A (en) 2017-10-31 2017-10-31 Secure certificate-less searchable public-key encryption scheme for industrial internet of things

Publications (1)

Publication Number Publication Date
CN107580003A true CN107580003A (en) 2018-01-12

Family

ID=61041443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711042726.1A Pending CN107580003A (en) 2017-10-31 2017-10-31 Secure certificate-less searchable public-key encryption scheme for industrial internet of things

Country Status (1)

Country Link
CN (1) CN107580003A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924103A (en) * 2018-06-22 2018-11-30 广东石油化工学院 The on-line/off-line of identity-based towards cloud storage can search for encryption method
CN112564923A (en) * 2021-03-01 2021-03-26 南京信息工程大学 Certificateless-based secure network connection handshake method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540669A (en) * 2008-03-20 2009-09-23 深圳市奥联科技有限公司 Method for distributing keys and protecting information for wireless mobile communication network
CN105282167A (en) * 2015-11-06 2016-01-27 福建工程学院 Searchable certificateless public key encryption method
US20160028538A1 (en) * 2014-07-23 2016-01-28 Samsung Sds Co., Ltd. Apparatus and method for generating key

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540669A (en) * 2008-03-20 2009-09-23 深圳市奥联科技有限公司 Method for distributing keys and protecting information for wireless mobile communication network
US20160028538A1 (en) * 2014-07-23 2016-01-28 Samsung Sds Co., Ltd. Apparatus and method for generating key
CN105282167A (en) * 2015-11-06 2016-01-27 福建工程学院 Searchable certificateless public key encryption method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马米米,何德彪等: "《大数据环境下支持多关键字的可搜索公钥加密方案》", 《南京信息工程大学学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924103A (en) * 2018-06-22 2018-11-30 广东石油化工学院 The on-line/off-line of identity-based towards cloud storage can search for encryption method
CN108924103B (en) * 2018-06-22 2021-04-16 广东石油化工学院 Identity-based online/offline searchable encryption method for cloud storage
CN112564923A (en) * 2021-03-01 2021-03-26 南京信息工程大学 Certificateless-based secure network connection handshake method
CN112564923B (en) * 2021-03-01 2021-05-11 南京信息工程大学 A certificateless secure network connection handshake method

Similar Documents

Publication Publication Date Title
Li et al. Full verifiability for outsourced decryption in attribute based encryption
Liu et al. Efficient verifiable public key encryption with keyword search based on KP-ABE
CN109086615A (en) A kind of support multiple key search public key encryption method of anti-keyword guessing attack
Badsha et al. Blocynfo-share: Blockchain based cybersecurity information sharing with fine grained access control
CN106161428B (en) A kind of ciphertext can comparison of equalization encryption attribute method
CN104320393B (en) The controllable efficient attribute base proxy re-encryption method of re-encryption
CN112989375B (en) A Hierarchical Optimization Encryption Lossless Privacy Protection Method
CN105071937B (en) Ciphertext policy ABE base encryption method with the revocation of efficient attribute
CN105323061B (en) It is a kind of can keyword search outsourcing key generate and decryption attribute based system and decryption method
CN106549753B (en) A kind of encryption method that the support ciphertext of identity-based compares
CN104301108B (en) It is a kind of from identity-based environment to the label decryption method without certificate environment
CN104038349A (en) Effective and verifiable public key searching encryption method based on KP-ABE
CN110933033B (en) Cross-domain access control method for multiple IoT domains in smart city environment
CN104158880B (en) User-end cloud data sharing solution
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
CN105933345B (en) A Verifiable Outsourcing Attribute-Based Encryption Method Based on Linear Secret Sharing
CN106059763A (en) Attribute-based multi-mechanism hierarchical ciphertext-policy weight encryption method under cloud environment
Liang et al. Efficient multi-function data sharing and searching mechanism for cloud-based encrypted data
CN111431705A (en) A Password Reverse Firewall Approach for Searchable Encryption
Ling et al. Group id-based encryption with equality test
CN106878322A (en) An Encryption and Decryption Method Based on Attribute-Based Fixed-length Ciphertext and Key
CN108965824B (en) CPK-based video surveillance method, system, camera, server and client
CN115484095B (en) Fine granularity access control method based on blockchain in cloud-edge cooperative environment
CN111294793A (en) Data privacy protection method for identity authentication in wireless sensor network
CN107580003A (en) Secure certificate-less searchable public-key encryption scheme for industrial internet of things

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180112

RJ01 Rejection of invention patent application after publication