背景技术
市场上支持远程访问的智能家居中通常有一个中控机或者服务器来供用户操作和进行信息传递。当用户用手机来操作家庭设备时,先由手机发出命令,中控机接收命令后进行基本的命令识别后转发给相应设备节点,再由设备节点控制设备。但是,因为中控机暴露在网络中,所以很容易受到黑客攻击入侵造成信息泄露或信息丢失。为防止被黑客入侵获取信息,一般都需要在信息传播过程中进行加密。一种加密方法是用传统的加密算法或者基于PKI的一般公钥加密体制基于身份的方式进行加密。但是这种加密方式对于当前发展的信息破解以及新的攻击方式还存在很多不足。另一种加密方式是由支持远程访问的智能中控机提供的由设备到用户手机的点到点的加密,但此时中控机也无法对密文操作,也就是无法实现对命令的基本识别,甚至于信息是发给哪个节点都无法获知。
目前出现了一种新型的加密方式,可以现有实现在第三方在不解密条件下实现检测或者验证密文中是否含有某些关键字而非解密。该加密方式采用Boneh等人提出的带关键字搜索公钥加密方案(简称PEKS),它能够让用户搜索加密了的关键字并且不泄露原始数据的秘密信息。20101023874号专利(基于可搜索密文的WSN数据安全处理方法)提出一种可搜索的密文技术,但是上述方案不提供解密关键字和解密消息的服务,同时也无法抵抗选择密文攻击。Baek,Safavi-Naini和Susilo强调的方案的安全性要求仅仅关注了密文中PEKS部分的安全性,没有关注PKE密文和PEKS密文相结合的安全性。也就是无法抵抗CCA(选择密文攻击的安全性攻击)。事实上,PEKS+PKE安全性不等同于PEKSD方案的CCA安全。密文的结合往往会引出对IND-CCA安全的加密方案的可延展攻击(malleability-style attacks)。比如说,当接收到PKE/PEKS挑战密文CPKE||CPEKS后,攻击者能够产生另外一个合法的密文CPKE||C'PEKS,其中C'PEKS=PEKS(pkA,w')是用不同的关键字w'加密得到的合法的PEKS密文。对CPKE||C'PEKS做解密查询,攻击者得到了明文m。
综上所述,当前的公钥加密方案(PKE)无法实现对密文的搜索功能,而当前的PEKS方案(包括专利“基于可搜索密文的WSN数据安全处理方法”)无法实现对密文的解密以及关键字解密的功能,同时不能抵抗选择密文攻击,无法适用于智能家居的安全访问控制。
发明内容
为了弥补上述智能家居安全访问控制上的缺陷,本发明提出一种解决智能家居信息传递过程中,中控机对用户的加密数据在不解密的条件下进行搜索并且发送给用户,而只有拥有私钥的用户才可以解密相应的密文,同时拥有私钥的用户可以解密出敏感家居信息(包括核心数据以及关键字内容),且整个过程中不会泄漏敏感家居信息任何人(包括中控机)的基于可搜索密文的家居安全访问方法及其系统。
其技术方案为,一种基于可搜索密文的智能家居安全访问方法,在家居信息传输时,与家居设备连接的控制器将家居信息m和关键字w一起进行加密,加密后的密文C在中控机核实访问者身份后传输到访问者的移动终端,最后由移动终端进行解密,在家居信息传输时中控机只能对密文C进行关键字检索运算而无法对家居信息进行解密,其主要步骤有:
(1)用户利用安全参数λ结合密钥对算法keygen(λ)生成公私钥对,公钥pk、私钥sk;
(2)控制器传输家居信息时,控制器采用带关键字检索的公钥加密算法PEKS将家居信息m和关键字w一起加密,输入公钥pk、关键字w,生成可用于关键字w检索的密文C,C=PEKS(pk,w),在加密完毕后,控制器将密文C传送给中控机;
(3)用户在读取家居信息时,移动终端以用户的私钥sk和关键字w作为输入,运行陷门产生算法trapdoor(sk,w),生成关键字的陷门Tw,并将陷门发送给中控机;
(4)中控机收到陷门后,对密文C执行测试,将关键字w的陷门Tw和一个测试密文C′=PEKS(pk,w')输入关键字检索算法Test(Tw,C′),只有结果为w=w'时,中控机才会将家居信息m的密文C发送给用户的移动终端;
(5)移动终端在接收到家居信息的密文C后,对密文进行解密运算,将私钥sk和家居信息的密文C输入算法PEKSD(sk,C),得到家居信息m和关键字w。
一种用于基于可搜索密文的智能家居安全访问方法的系统,所述系统包括家居设备,与家居设备连接的控制器,与控制器连接的中控机以及与中控机连接的移动终端。
本发明提供了智能家居中中控机可以检测或者验证密文中是否含有特定关键字而非解密密文,即通过密文搜索技术实现密文数据筛选,并发送给相应的用户,相比目前的技术,本发明有如下优点:抗选择密文攻击安全;IND-CKA安全,抗选择关键字攻击;本发明不仅提供给服务者(中控机)可以对密文进行关键字搜索,同时拥有私钥的用户可以对密文解密出关键字,同时解密出消息,并且测试和解密算法是完美一致的,即本方案可以保证解密出的关键字和测试出的关键字是吻合的。相比于传统的PKE(公钥加密,如RSA,ECC)方案,本发明可以对密文中的关键字进行搜索。
具体实施方式
下面参照附图对本发明做进一步说明。
结合图1,本发明方法的一种实施方式。一种基于可搜索密文的智能家居安全访问方法,在家居信息传输时,与家居设备连接的控制器将家居信息m和关键字w一起进行加密,加密后的密文C在中控机核实访问者身份后传输到访问者的移动终端,最后由移动终端进行解密,在家居信息传输时中控机只能对密文C进行关键字检索运算而无法对家居信息进行解密,其主要步骤有:
(1)、用户利用安全参数λ结合密钥对算法keygen(λ)生成公私钥对(公钥pk、私钥sk);
(2)、控制器传输家居信息时,控制器采用带关键字检索的公钥加密算法PEKS将家居信息m和关键字w一起加密,输入公钥pk、关键字w,生成可用于关键字w检索的密文C,C=PEKS(pk,w),在加密完毕后,控制器将密文C传送给中控机;
(3)、用户在读取家居信息时,移动终端以用户的私钥sk和关键字w作为输入,运行陷门产生算法trapdoor(sk,w),生成关键字的陷门Tw,并将陷门发送给中控机;
(4)、中控机收到陷门后,对密文C执行测试,将关键字w的陷门Tw和测试密文C′=PEKS(pk,w')输入关键字检索算法Test(Tw,C′),只有结果为w=w'时,中控机才会将家居信息的密文C发送给用户的移动终端;
(5)、移动终端在接收到家居信息的密文C后,对密文进行解密运算,将私钥sk和家居信息的密文C输入算法PEKSD(sk,C),得到家居信息m和关键字w。
本发明中,对于KeyGen(λ)产生的所有的接收者的公私钥对(pk,sk),所有的用w加密的可能密文C,所有的陷门Tw=Trapdoor(sk,w)。
唯一的区别是PEKSD(sk,C)中的测试等式Test(Tw,C)中的 因此有:
参照图2,本发明系统的一种实施例。所述系统包括家居设备,与家居设备连接的控制器,与控制器连接的中控机以及与中控机连接的移动终端。
比如用户需要在热水器温度到60度时提醒到用户A手机。设备(热水器,灯,电器等)连接控制器,控制器连接中控机,中控机提供给手机的远程访问。根据上面的例子,热水器控制器在温度到60度时,它把温度信息,比如60度作为消息内容进行加密,同时把“温度”作为关键字一起加密,即关键字w=“温度”,消息m=“60度”,即C=·PEKS(pk,w):。用户A用私钥执行陷门产生算法产生陷门Tw其中w=“温度”,并发送给中控机,中控机在收到陷门后,可以对密文执行测试算法,如果测试结果是正确,则中控机发送相应密文给用户A的手机上,此时用户用自己的私钥在手机端解密密文来获得相应的关键字“温度”以及消息明文“60度”。显然在这一过程中,任意第三者(包括中控机)都不知道关于关键字以及消息明文的任何家居信息,也就是中控机并不知道里面的内容是温度是60度的任何家居信息。
以上所述,为本发明的较佳实施案例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。