1.一种基于区块链的智能家居数据安全存储审计方法,其特征在于,应用于包括智能家居设备、家庭智能网关、云服务器和第三方审计机构的架构,所述方法包括:S1:系统初始化,包括确定系统公开参数,智能家居设备使用混淆后的身份注册获得无证书公私钥对,云服务器、第三方审计、家庭智能网关注册获得对应的公钥和私钥,并将与之对应的公钥公开;
S2:智能家居设备通过各种传感器收集智能家居中的隐私数据并进行加密生成密文,并利用智能家居设备的私钥生成密文的无证书签名,将生成的密文和无证书签名发送给家庭智能网关;
S3:家庭智能网关将智能家居设备的无证书签名进行聚合,并将密文和生成的聚合签名发送给云服务器,聚合签名通过云服务器的验证后,家庭智能网关做哈希标签用于数据完整性审计,生成加密数据存储事务并将其上链;
S4:第三方审计从云服务器中申请审计指定密文,将云上下载的密文计算哈希标签构造MHT树获得来自云服务器的审计根哈希,生成云服务器审计事务并将其上链;家庭智能网关使用本地指定密文的哈希标签构造MHT树得到本地审计根哈希,并将其上链;
S5:智能合约调用审计函数验证来自云服务器的审计根哈希和来自家庭智能网关的本地审计根哈希是否一致判断云服务器中的数据完整性。
2.如权利要求1所述的智能家居数据安全存储审计方法,其特征在于,步骤S1包括:S1.1:给定安全参数,KGC取一个大素数并选择基于大素数的椭圆曲线加法群以及群的一个生成元,选择抵抗碰撞的杂凑函数,取一个随机值作为系统主密钥并秘密保存,由系统主密钥计算得出系统公钥然后将系统参数公开;
S1.2:智能家居设备选择一个随机值作为自己的秘密值秘密保存,用于生成智能家居设备的公私钥对,通过秘密值计算得到部分公钥,并将由设备的硬件地址进行混淆后得到的身份ID和计算得到的部分公钥合并发送给KGC;
S1.3:KGC收到消息后,选择一个随机值计算智能家居设备的剩余部分公钥以及部分私钥,然后通过安全信道将剩余部分公钥和部分私钥发送给设备;
S1.4:智能家居设备验证部分私钥的正确性,通过验证后生成完整的公私钥对;
S1.5:智能家居设备将完整的公钥发送给家庭智能网关;
S1.6:家庭智能网关生成自己的公私钥对并公开公钥;
S1.7:云服务器生成自己的公私钥对并公开公钥;
S1.8:第三方审计生成自己的公私钥对并公开公钥。
3.如权利要求2所述的智能家居数据安全存储审计方法,其特征在于,步骤S1.2身份ID的获取方式为:
其中,IDi表示第i个智能家居设备的ID,αi表示智能家居设备选择的一个随机值,Ppub表示系统公钥,Ti表示混淆身份的有效期,MACi表示第i个智能家居设备的硬件地址,H0()表示哈希函数。
4.如权利要求1所述的智能家居数据安全存储审计方法,其特征在于,步骤S2包括:S2.1:通过设备传感器收集智能家居隐私数据;
S2.2:智能家居设备使用自己的公钥将收集到的隐私数据加密,形成密文S2.3:智能家居设备使用私钥形成密文的无证书签名;
S2.4:智能家居设备将生成的密文和无证书签名发送给家庭智能网关。
5.如权利要求1所述的智能家居数据安全存储审计方法,其特征在于,步骤S3包括:S3.1:家庭智能网关对智能家居设备生成的无证书签名进行验证;
S3.2:当签名验证通过后,家庭智能网关使用云服务器的公钥对无证书签名进行聚合,得到无证书聚合签名;
S3.3:家庭智能网关将密文构成的集合和无证书聚合签名发送给云服务器;
S3.4:云服务器通过验证无证书聚合签名的正确性来判断密文的正确性;
S3.5:当判断密文正确时,家庭智能网关生成加密数据存储事务,加密数据存储事务的内容包含网关ID、网关公钥、时间戳、加密数据的无证书聚合签名以及一个判断事务是否通过验证的标志位;
S3.6:家庭智能网关使用自己的私钥对加密数据存储事务进行签名;
S3.7:家庭智能网关将加密数据存储事务与基于加密数据存储事务生成的签名上传到区块链;
S3.8:区块链上的矿工通过验证事务签名判断事务正确性,如果通过验证则修改标志位并将事务上链;
S3.9:家庭智能网关为每一个密文生成标签并保存在本地。
6.如权利要1所述的智能家居数据安全存储审计方法,其特征在于,步骤S4包括:S4.1:家庭智能网关通过链上最新区块的哈希值构造伪随机数生成器,随机选择要审计的数据块,第三方审计收到家庭智能网关的委托对云服务器中的指定部分数据进行数据完整性审计;
S4.2:第三方审计请求云服务器中的指定部分密文;
S4.3:第三方审计为请求的密文块生成标签,构造MHT树并获得MHT根;
S4.4:第三方审计生成云服务器审计事务,事务包括第三方审计ID、第三方审计公钥、时间戳、构造MHT树获得的MHT根以及一个判断事务是否通过验证的标志位;
S4.5:第三方审计使用私钥对数据云服务器审计事务进行签名;
S4.6:第三方审计将云服务器审计事务与数据云服务器审计事务的签名上传到区块链;
S4.7:家庭智能网关使用相应的密文块的标签构造MHT树并获得MHT根;
S4.8:家庭智能网关生成网关审计事务,事务包括网关ID、网关公钥、时间戳、构造MHT树获得的MHT根以及一个判断事务是否通过验证的标志位;
S4.9:家庭智能网关使用自己的私钥对网关审计事务进行签名;
S4.10:家庭智能网关将网关审计事务与签名上传到区块链;
S4.11:区块链上的矿工通过验证事务签名判断事务正确性,如果通过验证则修改标志位并将事务上链。
7.如权利要1所述的智能家居数据安全存储审计方法,其特征在于,步骤S5包括:智能合约调用审计函数,通过验证来自云服务器的MHT根是否和来自家庭智能网关的MHT根一致来验证审计的正确性,如果函数返回正确,则将最终的审计记录上链,如果函数返回错误,则将审计记录将返回给家庭智能网关,然后由家庭智能网关的所有者采取措施。
8.一种基于区块链的智能家居数据安全存储审计方法,其特征在于,包括:系统初始化模块,用于系统初始化,包括确定系统公开参数,智能家居设备使用混淆后的身份注册获得无证书公私钥对,云服务器、第三方审计、家庭智能网关注册获得对应的公钥和私钥,并将与之对应的公钥公开;
无证书签名生成模块,用于智能家居设备通过各种传感器收集智能家居中的隐私数据并进行加密生成密文,并利用智能家居设备的私钥生成密文的无证书签名,将生成的密文和无证书签名发送给家庭智能网关;
加密数据存储事务生成模块,用于家庭智能网关将智能家居设备的无证书签名进行聚合,并将密文和生成的聚合签名发送给云服务器,聚合签名通过云服务器的验证后,家庭智能网关做哈希标签用于数据完整性审计,生成加密数据存储事务并将其上链;
数据完整性审计事务生成模块,用于第三方审计从云服务器中申请审计指定密文,将云上下载的密文计算哈希标签构造MHT树获得来自云服务器的审计根哈希,生成云服务器审计事务并将其上链;家庭智能网关使用本地指定密文的哈希标签构造MHT树得到本地审计根哈希,并将其上链;
智能合约自动审计模块,用于智能合约调用审计函数验证来自云服务器的审计根哈希和来自家庭智能网关的本地审计根哈希是否一致判断云服务器中的数据完整性。