1.溯源存储方法,其特征在于,包括如下步骤:
S1.生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser;
S2.在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对所述公开信息进行对称加密得到公开信息密文,对所述隐私信息进行属性加密得到隐私信息密文;
S3.使用私钥SKowner对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner;
使用私钥SKuser对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser;
S4.使用公钥PKowner对所述公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对所述公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
S5.将所述公开信息密文和隐私信息密文的哈希值记录在链上,将所述第一密文数据和第二密文数据存储在链外。
2.根据权利要求1所述的溯源存储方法,其特征在于,S1中包括:生成主密钥MK和公钥PK,并定义用户属性集Y;
使用密文策略属性基加密方法在访问结构下加密隐私信息M,得到密文C;
通过所述主密钥MK的方式创建与所述用户属性集Y相关联的解密密钥DK。
3.溯源方法,其特征在于,包括如下步骤:
执行权利要求1或2所述的溯源存储方法;
获取私钥SKowner,对所述第一密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signuser;
获取公钥PKuser,对所述公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到所述公开信息、隐私信息和摘要;
和/或,
获取私钥SKuser,对所述第二密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signowner;
获取公钥PKowner,对所述公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到所述公开信息、隐私信息和摘要。
4.根据权利要求3所述的溯源方法,其特征在于,将加密前的所述摘要与解密后得到的所述摘要进行比较,若一致,则数据没有被篡改。
5.溯源存储系统,其特征在于,包括:
密钥生成模块,用于生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser;
第一加密模块,用于在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对所述公开信息进行对称加密得到公开信息密文,对所述隐私信息进行属性加密得到隐私信息密文;
签名模块,用于使用私钥SKowner对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner;
使用私钥SKuser对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser;
第二加密模块,用于使用公钥PKowner对所述公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对所述公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
存储模块,同于将所述公开信息密文和隐私信息密文的哈希值记录在链上,将所述第一密文数据和第二密文数据存储在链外。
6.根据权利要求5所述的溯源存储系统,其特征在于,还包括:第一处理器,与所述密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块连接;
第一存储器,与所述第一处理器连接,并存储有可在所述第一处理器上运行的第一计算机程序;其中,当所述第一处理器执行所述第一计算机程序时,所述第一处理器控制所述密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块工作,以实现权利要求1或2所述的溯源存储方法。
7.溯源系统,其特征在于,包括:
执行权利要求3所述的溯源方法;
第一解密模块,用于获取私钥SKowner,对所述第一密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signuser;
第二解密模块,用于获取公钥PKuser,对所述公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到所述公开信息、隐私信息和摘要;
和/或,
第三解密模块,用于获取私钥SKuser,对所述第二密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signowner;
第四解密模块,用于获取公钥PKowner,对所述公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到所述公开信息、隐私信息和摘要。
8.根据权利要求7所述的溯源系统,其特征在于,还包括:第二处理器,与所述第一解密模块、第二解密模块、第三解密模块和第四解密模块连接;
第二存储器,与所述第二处理器连接,并存储有可在所述第二处理器上运行的第二计算机程序;其中,当所述第二处理器执行所述第二计算机程序时,所述第二处理器控制所述第一解密模块、第二解密模块、第三解密模块和第四解密模块工作,以实现权利要求3或4所述的溯源方法。