1.一种具备保护隐私信息的智能合约实现方法,其特征在于,所述方法包括:A设置一网络节点身份数据区,该数据区内存储组员身份信息,共享隐私信息的网络节点身份数据;
B将所述隐私信息数据放置于一隐私数据区,每条隐私数据至少包括隐私信息的安全散列值、隐私信息发布者的签名、隐私信息的对称加密密文、隐私信息发布者的身份信息;
C对数据成员管理信息进行管理,成员管理信息至少包括添加成员、确认成员、注销成员、访问成员身份信息与查询指定人员身份;
D对隐私数据信息进行管理,包括发布隐私信息、查询隐私信息、验证隐私信息与隐私信息的统计;
所述步骤A中身份数据以明文形式存入区块,允许变更,一条身份信息至少包括隐私信息发布者的唯一性身份标识;身份状态,至少有合法成员、待确认成员、已注销状态;网络节点的数字证书与备注性描述信息;
所述隐私信息发布者的签名是隐私信息发布者以区块链网络中的数字证书对安全散列值签名;
所述步骤C中智能合约的任何一个合法成员允许添加新成员,新成员需要得到组内成员的确认,合法成员调用“添加成员”模块,并提交网络节点身份数据,其中“Status”默认为“待确认成员”执行这项功能,产生1个新交易或者1个新区块,并更新到网络节点的状态数据库中;
智能合约的任何一个合法成员允许确认新成员;合法成员调用“确认成员”模块,产生1个新交易或者1个新区块,并更新到网络节点的状态数据库中;确认过程:算法1:确认成员算法
输入:成员身份信息
输出:成员状态
确认过程步骤如下:
1)查询成员的身份数据,如果存在,则转入2),否则,转入5);
2)查询状态数据库,获得该成员的身份确认数,并自加1;
3)查询状态数据库,获得智能合约的合法成员数;
4)如果身份确认数不低于合法成员数的一半,则将该成员的状态置为“合法成员”;
5)提交交易,产生新交易或者新区块并上链;
智能合约的任何一个合法成员允许访问该智能合约的全部身份信息,调用“访问身份信息”功能,从网络节点的状态数据库中查询出该智能合约的全部身份信息,同时提交交易,产生新交易或者新区块并上链;
智能合约的任何一个合法成员允许依据成员的唯一性身份标识在该智能合约范围内查询指定成员的身份信息,调用“查询成员”功能,从网络节点的状态数据库中查询出该智能合约中指定用户的身份信息,同时提交交易,产生新交易或者新区块并上链;
智能合约的任何一个合法成员允许注销自己的成员身份,调用“注销成员”功能,将“Status”置为“注销用户”,同时提交交易,产生新交易或者新区块并上链。
2.如权利要求1所述的具备保护隐私信息的智能合约实现方法,其特征在于,所述智能合约产生新交易或新区块时,将隐私数据的密文写入区块并上链。
3.如权利要求1所述的具备保护隐私信息的智能合约实现方法,其特征在于,所述B中,隐私信息的安全散列值包括隐私信息的明文与隐私信息的序号;隐私信息的对称加密密文是隐私信息发布者用对称密钥对隐私信息明文进行加密,生成对应的密文。
4.如权利要求1所述的具备保护隐私信息的智能合约实现方法,其特征在于,所述D中,发布隐私信息是指合法成员通过调用智能合约的发布隐私信息的函数,提交新交易或新区块并上链,上链数据是经过对称密码算法加密后的密文;查询隐私信息是指合法成员通过信息创建者、隐私信息安全散列值调用智能合约的隐私信息查询功能模块,在网络节点的状态数据库以及区块中查询对应的隐私信息;隐私信息的统计包括:统计隐私信息的数量、隐私信息的存储空间、查询次数、验证次数及结果。
5.如权利要求1所述的具备保护隐私信息的智能合约实现方法,其特征在于,所述D中,验证隐私信息指验证隐私信息的合法性,验证过程包括:
1)从隐私数据中获取创建者MemberIDx;
2)依据创建者MemberIDx在网络节点身份数据中获取数字证书Certificatex;
3)从隐私数据中获取密文Encry(Datax),用对称密码算法密钥Keyx解密密文,得到明文,即Datax=DecryKeyx(Encry(Datax));
4)计算隐私信息明文的安全散列值NewH=Hash(Datax);
5)对比NewH与Hash(Datax),如果一致,则执行6),否则执行8);
6)从Certificatex提取公钥PubKEY验证隐私数据中的签名Signature(Hash(Datax)),如果合法,则执行7),否则执行8);
7)产生新交易,将数据上链,并返回隐私信息为合法;
8)产生新交易,将数据上链,并返回隐私信息为非法。
6.一种实施权利要求1‑5任一项所述的具备保护隐私信息的智能合约实现方法的系统,其特征在于,所述系统包括:网络节点身份数据区、隐私数据区、成员管理模块与隐私数据管理模块;所述网络节点身份数据区,用于存储组员身份信息,共享隐私信息的网络节点身份数据;
隐私数据区,用于存储多条隐私信息数据,每条隐私数据至少包括隐私信息的安全散列值、隐私信息发布者的签名、隐私信息的对称加密密文、隐私信息发布者的身份信息;
成员管理模块,包括添加成员模块、确认成员模块、注销成员模块、访问身份信息模块、查询指定身份功能模块,用于提供添加成员、确认成员、注销成员、访问身份信息、查询指定身份功能;
隐私数据管理模块,包括发布隐私信息模块,查询隐私信息模块、验证隐私信息模块、隐私信息统计模块,用于发布隐私信息,查询隐私信息、验证隐私信息、隐私信息统计。
7.如权利要求6所述的具备保护隐私信息的智能合约实现系统,其特征在于,所述一条身份信息至少包括隐私信息发布者的唯一性身份标识、身份状态、网络节点的数字证书及备注性描述信息;隐私信息的安全散列值包括隐私信息的明文与隐私信息的序号;隐私信息发布者的签名是隐私信息发布者以区块链网络中的数字证书对安全散列值签名;隐私信息的对称加密密文是隐私信息发布者用对称密钥对隐私信息明文进行加密,生成对应的密文。
8.如权利要求6所述的具备保护隐私信息的智能合约实现系统,其特征在于,所述发布隐私信息是指合法成员通过调用智能合约的发布隐私信息的函数,提交新交易或新区块并上链,上链数据是经过对称密码算法加密后的密文;查询隐私信息是指合法成员通过信息创建者、隐私信息安全散列值调用智能合约的隐私信息查询功能模块,在网络节点的状态数据库以及区块中查询对应的隐私信息;隐私信息的统计包括:统计隐私信息的数量、隐私信息的存储空间、查询次数、验证次数及结果。