CN111130770A - 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质 - Google Patents

基于区块链的信息存证方法、***、用户终端、电子设备及存储介质 Download PDF

Info

Publication number
CN111130770A
CN111130770A CN201911307349.9A CN201911307349A CN111130770A CN 111130770 A CN111130770 A CN 111130770A CN 201911307349 A CN201911307349 A CN 201911307349A CN 111130770 A CN111130770 A CN 111130770A
Authority
CN
China
Prior art keywords
user
information
certificate
msg
deposit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911307349.9A
Other languages
English (en)
Other versions
CN111130770B (zh
Inventor
尚书
王淋
伍鸣
杨光
龙凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yuncui Liutu Network Technology Co Ltd
Original Assignee
Hangzhou Yuncui Liutu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Yuncui Liutu Network Technology Co Ltd filed Critical Hangzhou Yuncui Liutu Network Technology Co Ltd
Priority to CN201911307349.9A priority Critical patent/CN111130770B/zh
Publication of CN111130770A publication Critical patent/CN111130770A/zh
Application granted granted Critical
Publication of CN111130770B publication Critical patent/CN111130770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本实施例提供基于区块链的信息存证方法、***、用户终端、电子设备及存储介质,包括:根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥(private key)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号(UID)和用户的公钥(public key)上传区块链;利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的存证记录;从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg)。本发明可以实现微信用户信息和聊天记录的严密保护和灵活存证,提升了用户体验。

Description

基于区块链的信息存证方法、***、用户终端、电子设备及存 储介质
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的信息存证方法、系 统、用户终端、电子设备及存储介质。
背景技术
微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供 即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打 造。微信支持跨通信运营商、跨操作***平台通过网络快速发送免费(需消耗少 量网络流量)语音短信、视频、图片和文字,同时,也可以使用通过共享流媒体 内容的资料和基于位置的社交插件“摇一摇”、“漂流瓶”、“朋友圈”、”公 众平台“、”语音记事本“等服务插件。截止到2016年第二季度,微信已经覆盖 中国94%以上的智能手机,月活跃用户达到8.06亿,用户覆盖200多个国家、超过20种语言。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术 的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上 是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法 相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用 于验证其信息的有效性(防伪)和生成下一个区块。
目前,微信等聊天软件中的聊天记录只存储在用户端的本地存储,并且用户 可以通过编辑软件进行任意修改,因此聊天记录作为证据常常得不到公众的认 可。
发明内容
针对现有技术的上述不足,本发明提供一种基于区块链的聊天记录管理方法、 ***、用户终端、电子设备及存储介质,以解决上述技术问题。
本申请实施例目的是提供基于区块链的信息存证方法、***及用户终端,能 够提供一种快速方便的约定存证服务。
为了实现上述目的,本申请实施例是这样实现的:
第一方面,提供一种基于区块链的信息存证方法,包括:
根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的 公钥(public key)和私钥(private key)对,基于用户的私钥(private key)生成 加密密钥(Ai),将所述用户身份信息(openid)、用户账号(UID)和用户的公钥 (public key)上传区块链;
利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证 信息,并通过将所述加密存证信息上传区块链建立用户的存证记录;
从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记 录中的加密存证信息获得所述存证信息(msg)。
第二方面,提供一种基于区块链的信息存证***,其特征在于,包括用户终 端和区块链网络,其中
用户终端获取用户身份信息(openid)和用户设置信息生成用户账号 (UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥 (private key)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号 (UID)和用户的公钥(public key)上传区块链网络;
利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证 信息,并通过将所述加密存证信息上传区块链网络建立用户的存证记录;
从区块链网络上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存 证记录中的加密存证信息获得所述存证信息(msg)。
第三方面,提供一种基于区块链的信息存证的用户终端,其特征在于,包 括:
信息生成模块,根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥 (privatekey)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号 (UID)和用户的公钥(public key)上传区块链;
存证记录生成模块,利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的存 证记录;
存证记录验证模块,从区块链上获取用户的存证记录,通过用户的所述加密 密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg)。
第四方面,提供一种电子设备,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行如下方法
根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的 公钥(public key)和私钥(private key)对,基于用户的私钥(private key)生成 加密密钥(Ai),将所述用户身份信息(openid)、用户账号(UID)和用户的公钥 (public key)上传区块链;
利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证 信息,并通过将所述加密存证信息上传区块链建立用户的存证记录;
从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记 录中的加密存证信息获得所述存证信息(msg)。
第五方面,提供一种存储有计算机程序的计算机可读存储介质。
本申请实施例的方案在生成存证信息时,对数据进行加密时,每次都使用随 机生成的加密密钥,提供了数据的安全性,使得互联网服务提供商完全无法获取 到用户的数据原始内容。同时,去中心化的区块链具有众多的区块链节点,需要 破坏超过半数以上的区块链节点才能对约定凭证或不可逆校验信息进行篡改,且 破坏全部区块链节点才能对约定凭证或不可逆校验信息进行衬底删除,理论上来 讲都是无法实现的,因此能够起到有效、可靠的存证作用,且方便用户长久进行 保存。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例 或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普 通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
图1为本申请实施例提供的存证信息处理方法的流程示意图。
图2为本申请实施例提供的用户公私钥和加密密钥生成流程示意图。
图3为本申请实施例提供的存证记录生成流程示意图。
图4为本申请实施例提供的存证信息验证流程示意图。
图5为本申请实施例提供的存证信息处理***的结构示意图。
图6为本申请实施例提供的存证信息处理用户设备的结构示意图。
图7为本申请实施例提供的电子设备的的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显 然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所 有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
图1为本申请实施例提供的存证信息处理方法的流程示意图。其中,图1执 行主体可以为一种基于区块链的聊天记录管理***。
如图1所示,该方法包括:
步骤101,根据用户身份信息(openid)和用户设置信息生成用户账号 (UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥 (private key)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号 (UID)和用户的公钥(public key)上传区块链;
步骤102,利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得 到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的存证记录;
步骤103,从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解 密存证记录中的加密存证信息获得所述存证信息(msg)。
图2为本申请实施例提供的用户公私钥和加密密钥生成流程示意图,是对步 骤S101实施的进一步说明,该流程示意图,具体包括:
步骤S201,接收用户输入的用户设置信息,并获取当前用户的用户身份信息, 其中,用户设置信息为当前用户编辑的加密密码,身份信息为第三方应用标识当 前用户身份的信息openid。
在本说明书实施例的步骤S201中,用户输入的用户设置信息可以理解为当前 用户编辑的加密密码,此时用户输入的用户设置信息是由用户设置,用户设置信 息的字符数量和/或用户设置信息的字符是否为纯数字和/或用户设置信息是否为 出现多个重复字符,将会影响后续生成私钥及公钥的安全性,所以在用户输入的 用户设置信息的字符数量少和/或用户设置信息的字符为纯数字和/或用户设置信 息出现多个重复字符时,可以对用户进行提醒,以保证后续生成的私钥及公钥的 安全性能,比如,用户输入的用户设置信息为“112233”,此时因用户输入的用 户设置信息存在用户设置信息的字符数量少、用户设置信息的字符为纯数字以及 用户设置信息出现多个重复字符,将会提醒用户设置字符数量更多、用户设置信 息避免为纯数字以及用户设置信息的字符避免重复,以保证后续生成的私钥及公 钥的安全性。
在本说明书实施例的步骤S201中,当前用户的身份信息可以为第三方应用登 录的标识,此标识为当前用户的唯一身份标识,比如,该身份信息可以为微信的 openID或者Google openID,在网络获取用户微信的openID或者Google openID,由于每个用户的微信openID或Google openID代表当前用户的唯一身份 标识,所以应用微信的openID或GoogleopenID也可以认证当前用户的唯一身 份。
步骤S202,根据所述用户设置信息与所述当前用户的身份信息生成当前用户 对应的私钥,并根据当前用户的私钥生成当前用户对应的公钥。
在本说明书实施例的步骤S202中,根据所述用户设置信息与所述当前用户的 身份信息生成当前用户对应的私钥,具体包括:将所述用户设置信息与所述当前 用户的身份信息输入至预先建立的第一计算模型中生成当前用户对应的私钥。生 成的私钥是唯一的,若是当前用户忘记属于自己的私钥时,当前用户只需提供当 前用户的身份信息与用户设置信息即可恢复私钥,当前用户的身份信息易于获取 和保存,当前用户只需记住自己的用户设置信息即可。此外,在本说明书实施例 的步骤S202中,第一计算模型可以是基于哈希算法建立,其中,第一计算模型中 的哈希算法可以为MD5、SHA-1、SHA-2、SHA-256、SHA-512、SHA-3。
本实施例在对字符串与当前用户的身份信息进行加密时,是对于字符串与当 前用户的身份信息是直接连接,比如Hash(seed,openid)=sha3-256(字符串和 当前用户的身份信息的二进制拼接)。
在本说明书实施例的步骤S202中,根据当前用户的私钥生成当前用户对应的 公钥,具体包括:将所述当前用户的私钥输入至预先建立的第二计算模型中生成 当前用户对应的公钥。
步骤S203,生成随机数i,基于所述随机数i和所述用户私钥 (privatekey)生成所述加密密钥(Ai)。其中,对所述随机数i和所述用户私钥 (privatekey)进行哈希运算(Hash)生成所述加密密钥(Ai),例如:Ai= Hash(privatekay,i)。
图3为本申请实施例提供的存证记录生成流程示意图,是对步骤S102实施的 进一步说明,该流程示意图,具体包括:
步骤S301,获取待存证的存证信息msg,所述存证信息从应用软件中生成。 其中,存证信息msg可以是契约、誓言、承诺、图片、文字等任何内容,并不要 求具有法律效力,本申请实施例不对约定内容作具体限定。应用软件可以是微 信、QQ等社交软件,也可以是淘宝、天猫等购物软件,本申请实施例不对约定内 容作具体限定。
步骤S302,使用所述加密密钥Ai对所述存证信息msg进行加密得到加密存证 信息。
步骤S303,计算所述存证信息msg的哈希值。
其中,哈希值的计算可以基于HAS1,HAS256等多种哈希算法,本申请实施例 不对约定内容作具体限定。
步骤S304,使用用户的私钥privatekey对所述加密存证信息、所述存证信息 msg的哈希值和随机数i进行签名得到签名数据。
步骤S305,按照一定顺序将所述加密存证信息、所述存证信息(msg)的哈希 值、所述签名数据和随机数i组成数据帧上传至区块链中形成用户存证记录。
步骤S306,将存储所述随机数i和所述加密密钥(Ai)的对应关系。
本申请实施例中,按照顺序将所述加密存证信息、所述存证信息(msg)的哈 希值和所述签名数据组成数据帧的结构形成用户存证记录为 Enc_Ai(msg)||H(msg)||Sig_skA(Enc_Ai(msg),H(msg),i)||i。其中,i为随机 数,Enc_Ai(msg)为使用Ai对存证信息msg对称加密后的数据;H(msg)为存证信 息msg的哈希值;Sig_skA(Enc_Ai(msg),H(msg),i)为用户使用自己的私钥对所述 加密存证信息、所述存证信息msg的哈希值和随机数i的签名结果。
图4为本申请实施例提供的存证信息验证流程示意图,是对步骤S103实施的 进一步说明,该流程示意图,具体包括:
步骤S401,从区块链上获取用户的存证记录中的所述加密存证信息、所述存 证信息(msg)的哈希值和所述签名数据,
步骤S402,使用所述加密密钥(Ai)对存证记录中的加密存证信息进行解密 得到所述存证信息(msg);判断解密后得到所述存证信息(msg)与原始待存证的存 证信息是否相同,如果相同则进行步骤S403;如果不相同,则进行步骤S406,结 束流程。
步骤S403,计算从存证记录中解密的存证信息(msg)的哈希值;判断解密后的 存证信息(msg)的哈希值与原始待存证的存证信息(msg)的哈希值是否相同,如果 相同则进行步骤S404;如果不相同,则进行步骤S406,结束流程。
步骤S404,使用用户的私钥(privatekey)对存证记录中的所述加密存证信 息、解密的存证信息(msg)的哈希值和随机数i进行签名得到签名数据;判断对存 证记录中的所述加密存证信息、解密的存证信息(msg)的哈希值和随机数i进行签 名得到签名数据与原始待存证存证信息(msg)加密后得到的加密存证信息、原始待 存证的存证信息(msg)的哈希值和原始随机数i进行签名得到签名数据是否相 同,如果相同则进行步骤S405;如果不相同,则进行步骤S406,结束流程。
在本实施例中通过将存证记录中解密的存证信息(msg)、存证信息(msg)的哈 希值和签名数据与共识请求中的存证信息(msg)、存证信息(msg)的哈希值和签名 数据进行分别比较,提高了存证信息(msg)是否篡改判断的准确性。
图5为本申请实施例提供的存证信息处理***的结构示意图,该信息存证系 统,包括服务平台501、用户终端502和区块链503,其中
在步骤S5001中,用户终端502从服务平台501获取用户身份信息 (openid);用户终端502将获取用户身份信息(openid)和用户设置信息生成 用户账号(UID)、用户的公钥(public key)和私钥(private key)对,基于用户 的私钥(private key)生成加密密钥(Ai)。
在步骤S5002中,用户终端502将所述用户身份信息(openid)、用户账号 (UID)和用户的公钥(public key)上传区块链503中;
用户终端502利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg) 得到加密存证信息,并在步骤S5003中通过将所述加密存证信息上传区块链503 建立用户的存证记录;
在步骤S5004中,用户终端502从区块链503上获取用户的存证记录,通过 用户的所述加密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息 (msg)。
基于图5所示的存证信息处理***可以知道:本申请实施例的方案对数据进 行加密时,每次都使用随机生成的加密密钥,提供了数据的安全性,使得互联网 服务提供商完全无法获取到用户的数据原始内容。同时,去中心化的区块链具有 众多的区块链节点,需要破坏超过半数以上的区块链节点才能对约定凭证或不可 逆校验信息进行篡改,且破坏全部区块链节点才能对约定凭证或不可逆校验信息 进行衬底删除,理论上来讲都是无法实现的,因此能够起到有效、可靠的存证作 用,且方便用户长久进行保存。此外,本发明设计原理可靠,结构简单,具有非 常广泛的应用前景。
图6为本申请实施例提供的存证信息用户终端的结构示意图。用户终端S60 包括:
信息生成模块601,根据用户身份信息(openid)和用户设置信息生成用户账 号(UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥 (privatekey)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号 (UID)和用户的公钥(public key)上传区块链;
存证记录生成模块602,利用所述加密密钥(Ai)加密用户共识请求中的存证信 息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的 存证记录;
存证记录验证模块603,从区块链上获取用户的存证记录,通过用户的所述加 密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg)。
图7是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层 面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其 中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory, RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘 存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以 是ISA(Industry Standard Architecture,工业标准体系结构)总线、 PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或 EISA(ExtendedIndustry StandardArchitecture,扩展工业标准结构)总线 等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6 中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包 括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指 令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻 辑层面上形成存证信息处理装置,执行存储器所存放的程序。
本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程 序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存 储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称: ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过根据用户信息生成账号和加密密钥,并将上述信息全部加 密上传至区块链完成用户的注册,将微信与区块链融合。利用加密密钥加密用户 建立共识请求并通过将最终共识信息加密上传区块链建立共识用户之间的关联关 系,既保障了用户的信息安全,又可以实现将多个用户进行关联,便于在关联用 户之间进行信息共享。将用户上传至区块链的加密聊天记录发送至请求查看的关 联用户,从而实现聊天记录的共享。本发明可以实现微信用户信息和聊天记录的 严密保护和灵活共享,提升了用户体验,本实施例所能达到的技术效果可以参见 上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必 需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计 算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或 者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端 (可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实 施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端 实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参 见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、***和方 法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性 的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外 的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些 特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合 或通信连接可以是通过一些接口,***或单元的间接耦合或通信连接,可以是电 性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单 元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可 以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来 实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也 可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本 发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员 可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本 发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保 护范围应所述以权利要求的保护范围为准。以上所述仅为本申请的实施例而已, 并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变 化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包 含在本申请的权利要求范围之内。

Claims (10)

1.一种基于区块链的信息存证方法,其特征在于,包括:
根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的公钥(publickey)和私钥(private key)对,基于用户的私钥(private key)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号(UID)和用户的公钥(public key)上传区块链;
利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的存证记录;
从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg)。
2.根据权利要求1所述的方法,其特征在于,所述根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的公钥(public key)和私钥(private key)对,包括;
接收用户输入的用户设置信息,并获取当前用户身份信息(openid),其中,所述用户设置信息为当前用户编辑的加密密码;
根据所述用户设置信息与所述用户身份信息(openid)获得用户对应的私钥(privatekey),并根据当前用户的私钥生成当前用户对应的公钥(public key)。
3.根据权利要求2所述的方法,其特征在于,
基于用户的私钥(private key)生成加密密钥(Ai),包括:
生成随机数i,
基于所述随机数i和用户所述私钥(privatekey)生成所述加密密钥(Ai)。
4.根据权利要求3所述的方法,其特征在于,所述利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的存证记录,包括:
获取用户共识请求中的存证信息(msg),所述存证信息(msg)从应用软件中生成;
使用所述加密密钥(Ai)对所述存证信息(msg)进行加密得到加密存证信息;
计算所述存证信息(msg)的哈希值;
使用用户的私钥(privatekey)对所述加密存证信息、所述存证信息msg的哈希值和随机数i进行签名得到签名数据;
按照顺序将所述加密存证信息、所述存证信息(msg)的哈希值、所述签名数据和随机数i上传至区块链中形成用户的存证记录。
5.根据权利要求3所述的方法,其特征在于,
存储所述随机数(i)和所述加密密钥(Ai)的对应关系。
6.根据权利要求3所述的方法,其特征在于,从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg),包括:
从区块链上获取用户的存证记录中的所述加密存证信息、所述存证信息(msg)的哈希值和所述签名数据,
使用所述加密密钥(Ai)对存证记录中的加密存证信息进行解密得到所述存证信息(msg);
计算从存证记录中解密的存证信息(msg)的哈希值;
使用用户的私钥(privatekey)对存证记录中的所述加密存证信息、解密的存证信息(msg)的哈希值和随机数i进行签名得到签名数据;
将存证记录中解密的存证信息(msg)、存证信息(msg)的哈希值和签名数据与共识请求中的存证信息(msg)、存证信息(msg)的哈希值和签名数据进行分别比较。
7.一种基于区块链的信息存证***,其特征在于,包括用户终端和区块链网络,其中
用户终端获取用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥(private key)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号(UID)和用户的公钥(public key)上传区块链网络;
利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链网络建立用户的存证记录;
从区块链网络上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg)。
8.一种基于区块链的信息存证的用户终端,其特征在于,包括:
信息生成模块,根据用户身份信息(openid)和用户设置信息生成用户账号(UID)、用户的公钥(public key)和私钥(private key)对,基于用户的私钥(private key)生成加密密钥(Ai),将所述用户身份信息(openid)、用户账号(UID)和用户的公钥(public key)上传区块链;
存证记录生成模块,利用所述加密密钥(Ai)加密用户共识请求中的存证信息(msg)得到加密存证信息,并通过将所述加密存证信息上传区块链建立用户的存证记录;
存证记录验证模块,从区块链上获取用户的存证记录,通过用户的所述加密密钥(Ai)解密存证记录中的加密存证信息获得所述存证信息(msg)。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-6任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN201911307349.9A 2019-12-18 2019-12-18 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质 Active CN111130770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911307349.9A CN111130770B (zh) 2019-12-18 2019-12-18 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911307349.9A CN111130770B (zh) 2019-12-18 2019-12-18 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111130770A true CN111130770A (zh) 2020-05-08
CN111130770B CN111130770B (zh) 2023-04-28

Family

ID=70499471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911307349.9A Active CN111130770B (zh) 2019-12-18 2019-12-18 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111130770B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832046A (zh) * 2020-07-02 2020-10-27 中通服创发科技有限责任公司 一种基于区块链技术的可信数据存证方法
CN111865761A (zh) * 2020-07-02 2020-10-30 中通服创发科技有限责任公司 一种基于区块链智能合约的社交聊天信息存证方法
CN112153039A (zh) * 2020-09-21 2020-12-29 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证共享方法
CN112767147A (zh) * 2020-12-31 2021-05-07 山东数字能源交易中心有限公司 一种债权信息的处理方法和装置
CN112954039A (zh) * 2021-02-04 2021-06-11 上海百姓装潢有限公司 一种区块链存证方法
CN113779631A (zh) * 2021-09-10 2021-12-10 杭州宇链科技有限公司 基于区块链的机动车自动驾驶操作数据记录方法
CN113901413A (zh) * 2021-10-28 2022-01-07 安徽高山科技有限公司 一种基于区块链的电子约定存证***
CN115439118A (zh) * 2022-08-02 2022-12-06 上海网商电子商务有限公司 一种基于区块链的数字存证管理方法
CN117097476A (zh) * 2023-10-19 2023-11-21 浪潮云洲工业互联网有限公司 一种基于工业互联网的数据处理方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959108A (zh) * 2016-06-27 2016-09-21 收付宝科技有限公司 对云支付限制密钥进行加密及解密的方法、装置和***
CN108629027A (zh) * 2018-05-09 2018-10-09 深圳壹账通智能科技有限公司 区块链上用户数据库重建方法、装置、设备及介质
US20190066206A1 (en) * 2017-08-30 2019-02-28 StartEngine Crowdfunding, Inc. Peer-to-peer trading with blockchain technology
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和***
CN109639714A (zh) * 2019-01-02 2019-04-16 浙江师范大学 一种基于区块链的物联网身份注册与验证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959108A (zh) * 2016-06-27 2016-09-21 收付宝科技有限公司 对云支付限制密钥进行加密及解密的方法、装置和***
US20190066206A1 (en) * 2017-08-30 2019-02-28 StartEngine Crowdfunding, Inc. Peer-to-peer trading with blockchain technology
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和***
CN108629027A (zh) * 2018-05-09 2018-10-09 深圳壹账通智能科技有限公司 区块链上用户数据库重建方法、装置、设备及介质
CN109639714A (zh) * 2019-01-02 2019-04-16 浙江师范大学 一种基于区块链的物联网身份注册与验证方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865761A (zh) * 2020-07-02 2020-10-30 中通服创发科技有限责任公司 一种基于区块链智能合约的社交聊天信息存证方法
CN111832046B (zh) * 2020-07-02 2024-02-23 中通服创发科技有限责任公司 一种基于区块链技术的可信数据存证方法
CN111832046A (zh) * 2020-07-02 2020-10-27 中通服创发科技有限责任公司 一种基于区块链技术的可信数据存证方法
CN112153039B (zh) * 2020-09-21 2022-03-18 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证共享方法
CN112153039A (zh) * 2020-09-21 2020-12-29 中国电子科技网络信息安全有限公司 一种基于区块链的数据存证共享方法
CN112767147B (zh) * 2020-12-31 2023-03-28 山东数字能源交易有限公司 一种债权信息的处理方法和装置
CN112767147A (zh) * 2020-12-31 2021-05-07 山东数字能源交易中心有限公司 一种债权信息的处理方法和装置
CN112954039A (zh) * 2021-02-04 2021-06-11 上海百姓装潢有限公司 一种区块链存证方法
CN113779631A (zh) * 2021-09-10 2021-12-10 杭州宇链科技有限公司 基于区块链的机动车自动驾驶操作数据记录方法
CN113901413A (zh) * 2021-10-28 2022-01-07 安徽高山科技有限公司 一种基于区块链的电子约定存证***
CN113901413B (zh) * 2021-10-28 2024-06-11 安徽高山科技有限公司 一种基于区块链的电子约定存证***
CN115439118A (zh) * 2022-08-02 2022-12-06 上海网商电子商务有限公司 一种基于区块链的数字存证管理方法
CN115439118B (zh) * 2022-08-02 2023-11-21 上海网商电子商务有限公司 一种基于区块链的数字存证管理方法
CN117097476A (zh) * 2023-10-19 2023-11-21 浪潮云洲工业互联网有限公司 一种基于工业互联网的数据处理方法、设备及介质
CN117097476B (zh) * 2023-10-19 2024-01-26 浪潮云洲工业互联网有限公司 一种基于工业互联网的数据处理方法、设备及介质

Also Published As

Publication number Publication date
CN111130770B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN111130770B (zh) 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质
US20200213283A1 (en) Key rotation techniques
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
KR101999188B1 (ko) 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
US8527769B2 (en) Secure messaging with read-undeniability and deletion-verifiability
US20220078017A1 (en) Authorized Data Sharing Using Smart Contracts
US11457018B1 (en) Federated messaging
CN110189184B (zh) 一种电子***存储方法和装置
Zhou et al. EverSSDI: blockchain-based framework for verification, authorisation and recovery of self-sovereign identity using smart contracts
CN106464496A (zh) 用于创建对用户身份鉴权的证书的方法和***
US20140237252A1 (en) Techniques for validating data exchange
CN112804217B (zh) 一种基于区块链技术的存证方法和装置
JP2017112604A (ja) 対称鍵暗号化と非対称鍵二重暗号化を複合的に適用した暗/復号化速度改善方法
CN113792318A (zh) 数据授权方法及装置、计算机可读存储介质、计算机设备
CN111404892B (zh) 数据监管方法、装置和服务器
CN111314066B (zh) 基于区块链的数据转移方法、终端及计算机可读存储介质
CN110995410A (zh) 一种公钥和私钥的生成方法、装置、设备以及介质
US20140237239A1 (en) Techniques for validating cryptographic applications
CN111241492A (zh) 一种产品多租户安全授信方法、***及电子设备
CN113726515B (zh) 一种基于ukey的密钥处理方法、存储介质及电子设备
CN108846671B (zh) 基于区块链的在线安全交易方法和***
US20190305940A1 (en) Group shareable credentials
CN111480316B (zh) 生成和验证密码的方法和设备
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
US11777745B2 (en) Cloud-side collaborative multi-mode private data circulation method based on smart contract

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant