1.跨迪链征信数据加密存储方法,其特征在于:包括以下步骤:S1:通过身份验证流程的用户生成256位随机数作为私钥K;
S2:将私钥K拆分成24组11位,每组对应2048个汉字中的一个,组成共24个汉字的助记词组;
S3:通过私钥K计算得出公钥PK;
S4:将身份ID和公钥PK上传区块链;
S5:跨迪链征信数据加密上传区块链;
S6:用户用私钥K解密区块链上的跨迪链征信数据;
包括以下步骤:
S01:可执行环境的证明;
S02:隐私合约的部署;
S03:隐私合约的调用;
所述可执行环境的证明包括以下步骤:
S001:用户生成一个随机挑战,将其发送到隐私合约环境,由隐私计算网关转发到加密内存Enclave中;
S002:加密内存Enclave对收到的随机挑战制作远程证明;
S003:加密内存Enclave通过隐私计算网关输出远程证明;
S004:隐私计算网关调用系统合约将远程证明写入区块链存证,系统合约中包含验证远程证明合法性的逻辑,通过验证的远程证明被写入区块链存证;
所述隐私合约的部署包括有以下步骤:
S0001:用户发起部署合约的请求,并把合约发送给隐私合约环境中的隐私计算网关;
S0002:隐私计算网关在接收到用户部署请求后,把其中的合约送入加密内存Enclave的虚拟机EVM中进行初始化;
S0003:加密内存Enclave初始化合约完成后,通知隐私计算网关;
S0004:若加密内存Enclave初始化合约成功,隐私计算网关将合约通过链上系统合约存入区块链存证,链上的合约用于合约逻辑的可靠性校验参照及合约的公共监管;
S0005:隐私计算网关通知用户部署合约的事件状态;
所述隐私合约的调用包括有以下步骤:
S00001:用户向隐私合约环境发起调用隐私合约的请求;
S00002:隐私计算网关根据用户调用合约的请求构造一个区块链请求,这个区块链请求用于从链上读取对应的隐私合约和链上数据,隐私计算网关将这个请求发送到区块链;
S00003:隐私计算网关从区块链上获取到隐私合约代码和需要的链上数据后,连同来自用户的链外数据一起,转发给加密内存Enclave;
S00004:将链上、链外数据作为参数执行隐私合约,若数据是密文,使用加密私钥解密数据;
S00005:按需要选择是否对执行结果加密和打包执行结果,其中内容包括:隐私合约执行结果、隐私合约、链上及链外的参数;
S00006:使用签名私钥对被打包的执行结果签名,加密内存Enclave将执行结果与签名返回到隐私计算网关;
S00007:隐私计算网关调用系统合约把执行结果与签名传到链上,系统合约从链上获取加密内存Enclave远程证明,从中提取出签名公钥,并对执行结果的签名进行验证,并从执行结果中提取隐私合约、链上数据部分,与区块链上的信息进行比对,如果这些验证都通过了,则系统合约执行成功,隐私合约的执行结果被打包到区块中等待共识出块。
2.根据权利要求1所述的跨迪链征信数据加密存储方法,其特征在于:所述身份验证流程包括有以下步骤:用户向身份验证方发送验证请求后,身份验证方生成随机数R,并采用公钥加密得到密文eR,将密文eR发送给用户;
用户用私钥解密eR得到随机数R1,利用私钥加密R1得到eR1并将eR1发送至身份验证方;
身份验证方用公钥解密eR1得到R1,对比R和R1,如果相同则验证通过,如果不相同则验证失败,将验证结果发送至用户。
3.根据权利要求1所述的跨迪链征信数据加密存储方法,其特征在于:所述公钥PK=G*K;
*为国密SM2椭圆曲线算法;
G为SM2定义的公开G点,坐标为G(x,y)。
4.根据权利要求1所述的跨迪链征信数据加密存储方法,其特征在于:所述助记词对应用户的私钥K,且所述助记词与私钥K之间能够相互推导。
5.根据权利要求1所述的跨迪链征信数据加密存储方法,其特征在于:所述S2中私钥K被分为24组,每组11位共构成264位,256位私钥K中剩余的8位用于校验。