【发明内容】
有鉴于此,本发明实施例提供了一种加密方法和装置、解密方法和装置,用以解决现有技术加密安全程度不高的问题。
一方面,本发明实施例提供了一种加密方法,所述方法包括:网页端对目标内容进行加密,得到第一加密内容,所述网页端向服务商服务器发送所述第一加密内容;所述服务商服务器对所述第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码,所述服务商服务器向第三方发送所述第二加密内容和所述唯一标识识别码;所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密,得到第三加密内容,所述第三方向所述服务商服务器发送所述第三加密内容;所述服务商服务器根据所述唯一标识识别码对所述第三加密内容进行加密,得到第四加密内容,所述服务商服务器向去中心化存储平台发送所述第四加密内容和所述唯一标识识别码。
一方面,本发明实施例提供了一种加密方法,所述方法包括:接收网页端发送的第一加密内容,所述第一加密内容是所述网页端对目标内容进行加密得到的;对所述第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;向第三方发送所述第二加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密从而得到第三加密内容;接收所述第三方发送的所述第三加密内容和所述唯一标识识别码;根据所述唯一标识识别码对所述第三加密内容进行加密,得到第四加密内容;向去中心化存储平台发送所述第四加密内容和所述唯一标识识别码。
进一步地,所述第三方有N个,所述第二加密内容包括N个第二子加密内容,所述第三加密内容包括N个第三子加密内容,向第三方发送所述第二加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密从而得到第三加密内容,包括:将所述第二加密内容进行切分,得到N个第二子加密内容;向每个所述第三方发送一个所述第二子加密内容,以使所述第三方对所述第二子加密内容进行加密从而得到所述第三子加密内容,接收所述第三方发送的所述第三加密内容和所述唯一标识识别码,包括:接收每个所述第三方发送的所述第三子加密内容和所述唯一标识识别码,根据所述唯一标识识别码将N个所述第三子加密内容进行拼接,得到所述第三加密内容。
进一步地,对所述第一加密内容进行加密,得到第二加密内容,包括:调用智能合约的第一加密功能对所述第一加密内容进行加密,得到第二加密内容,所述智能合约至少具有所述第一加密功能、第二加密功能、第三加密功能,向第三方发送所述第二加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密从而得到第三加密内容,包括:向所述第三方发送所述第二加密内容、所述唯一标识识别码、智能合约地址,以使所述第三方根据所述智能合约地址调用所述智能合约的所述第二加密功能,所述第二加密功能用于根据所述唯一标识识别码对所述第二加密内容进行加密从而得到所述第三加密内容,根据所述唯一标识识别码对所述第三加密内容进行加密,得到第四加密内容,包括:调用所述智能合约的所述第三加密功能,所述第三加密功能用于根据所述唯一标识识别码对所述第三加密内容进行加密从而得到所述第四加密内容。
进一步地,对所述第一加密内容进行加密,得到第二加密内容,包括:调用智能合约的第一加密功能对所述第一加密内容进行加密,得到第二加密内容,所述智能合约至少具有所述第一加密功能、第二加密功能、第三加密功能,向第三方发送所述第二加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密从而得到第三加密内容,包括:向所述第三方发送所述第二加密内容、所述唯一标识识别码、智能合约地址,以使所述第三方根据所述智能合约地址调用所述智能合约的所述第二加密功能,所述第二加密功能用于根据所述唯一标识识别码对所述第二加密内容进行加密从而得到所述第三加密内容,根据所述唯一标识识别码对所述第三加密内容进行加密,得到第四加密内容,包括:调用所述智能合约的所述第三加密功能,所述第三加密功能用于根据所述唯一标识识别码对所述第三加密内容进行加密从而得到所述第四加密内容。
进一步地,对所述第一加密内容进行加密,得到第二加密内容,包括:建立虚拟机,所述虚拟机中存储有加密公式;根据所述虚拟机中的所述加密公式对所述第一加密内容进行加密,得到所述第二加密内容,在向去中心化存储平台发送所述第四加密内容和所述唯一标识识别码之后,将所述虚拟机进行离线处理。
一方面,本发明实施例提供了一种解密方法,所述方法包括:服务商服务器接收用户发送的解密请求,所述解密请求携带唯一标识识别码;所述服务商服务器在去中心化存储平台下载第四加密内容,所述服务商服务器根据所述唯一标识识别码对所述第四加密内容进行解密,得到第三加密内容,向第三方发送所述第三加密内容和所述唯一标识识别码;所述第三方接收所述第三加密内容和所述唯一标识识别码,根据所述唯一标识识别码对所述第三加密内容进行解密,得到第二加密内容,向所述服务商服务器发送所述第二加密内容和所述唯一标识识别码;所述服务商服务器根据所述唯一标识识别码对所述第二加密内容进行解密,得到第一加密内容,所述服务商服务器向网页端发送所述第一加密内容和所述唯一标识识别码;所述网页端对所述第一加密内容进行解密,得到目标内容。
一方面,本发明实施例提供了一种解密方法,所述方法包括:接收用户发送的解密请求,所述解密请求携带唯一标识识别码;在去中心化存储平台下载第四加密内容,根据所述唯一标识识别码对所述第四加密内容进行解密,得到第三加密内容,向第三方发送所述第三加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第三加密内容进行解密,得到第二加密内容;接收所述第三方发送的所述第二加密内容和所述唯一标识识别码;根据所述唯一标识识别码对所述第二加密内容进行解密,得到第一加密内容,向网页端发送所述第一加密内容和所述唯一标识识别码,以使所述网页端对所述第一加密内容进行解密,得到目标内容。
进一步地,所述第三方有N个,所述第二加密内容包括N个第二子加密内容,所述第三加密内容包括N个第三子加密内容,向第三方发送所述第三加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第三加密内容进行解密,得到第二加密内容,包括:将所述第三加密内容进行切分,得到N个所述第三子加密内容;向每个所述第三方发送所述唯一标识识别码和一个所述第三子加密内容,以使所述第三方根据所述唯一标识识别码对所述第三子加密内容进行解密,从而得到所述第二子加密内容;接收每个所述第三方发送的所述第二子加密内容,将N个所述第二子加密内容进行合并,得到所述第二加密内容。
进一步地,根据所述唯一标识识别码对所述第四加密内容进行解密,得到第三加密内容,包括:启动虚拟机,并将所述虚拟机与网络进行连接,所述虚拟机中存储有解密公式;根据所述唯一标识识别码和所述虚拟机中存储的所述解密公式,对所述第四加密内容进行解密,得到第三加密内容;根据所述唯一标识识别码对所述第二加密内容进行解密,得到第一加密内容,包括:根据所述唯一标识识别码和所述虚拟机中存储的所述解密公式,对所述第二加密内容进行解密,得到所述第一加密内容,在向网页端发送所述第一加密内容和所述唯一标识识别码之后,将所述虚拟机进行离线处理。
进一步地,根据所述唯一标识识别码对所述第二加密内容进行解密,包括:向目标用户发送验证请求;验证通过后,根据所述唯一标识识别码对所述第二加密内容进行解密。
进一步地,向第三方发送所述第三加密内容和所述唯一标识识别码,包括:根据非对称加密算法验证所述服务商服务器和所述第三方之间的接口参数是否一致;如果所述接口参数一致,则向所述第三方发送所述第三加密内容和所述唯一标识识别码。
一方面,本发明实施例提供了一种加密方法,所述方法包括:对目标内容进行加密,得到第一加密内容;向服务商服务器发送所述第一加密内容。
进一步地,在对目标内容进行加密之前,所述方法还包括:接收用户输入的目标字符串、用户身份信息、意外加密请求;将所述目标字符串、所述用户身份信息、所述意外加密请求进行关联存储。
一方面,本发明实施例提供了一种解密方法,所述方法包括:接收服务商服务器发送的第一加密内容;对所述第一加密内容进行解密,得到目标内容。
进一步地,在对所述第一加密内容进行解密之前,所述方法还包括:接收用户输入的目标字符串、用户身份信息、意外解密请求;根据所述目标字符串、所述用户身份信息、所述意外解密请求对所述第一加密内容进行解密,得到所述目标内容。
一方面,本发明实施例提供了一种加密装置,所述装置包括:第一接收单元,用于接收网页端发送的第一加密内容,所述第一加密内容是所述网页端对目标内容进行加密得到的;第一加密单元,用于对所述第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;第一发送单元,用于向第三方发送所述第二加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密从而得到第三加密内容;第二接收单元,用于接收所述第三方发送的所述第三加密内容和所述唯一标识识别码;第二加密单元,用于根据所述唯一标识识别码对所述第三加密内容进行加密,得到第四加密内容;第二发送单元,用于向去中心化存储平台发送所述第四加密内容和所述唯一标识识别码。
一方面,本发明实施例提供了一种解密装置,所述装置包括:第三接收单元,用于接收用户发送的解密请求,所述解密请求携带唯一标识识别码;下载单元,用于在去中心化存储平台下载第四加密内容,根据所述唯一标识识别码对所述第四加密内容进行解密,得到第三加密内容,向第三方发送所述第三加密内容和所述唯一标识识别码,以使所述第三方根据所述唯一标识识别码对所述第三加密内容进行解密,得到第二加密内容;第四接收单元,用于接收所述第三方发送的所述第二加密内容和所述唯一标识识别码;第一解密单元,用于根据所述唯一标识识别码对所述第二加密内容进行解密,得到第一加密内容,向网页端发送所述第一加密内容和所述唯一标识识别码,以使所述网页端对所述第一加密内容进行解密,得到目标内容。
一方面,本发明实施例提供了一种加密装置,所述装置包括:第三加密单元,用于对目标内容进行加密,得到第一加密内容;第三发送单元,用于向服务商服务器发送所述第一加密内容。
一方面,本发明实施例提供了一种解密装置,所述装置包括:第五接收单元,用于接收服务商服务器发送的第一加密内容;第二解密单元,用于对所述第一加密内容进行解密,得到目标内容。
一方面,本发明实施例提供了一种加密方法,所述方法包括:权威机构将用户输入的预设数字序列和用户身份信息进行关联存储;网页端基于意外加密机制对目标内容进行加密,得到第一加密内容,所述网页端向服务商服务器发送所述第一加密内容;所述服务商服务器基于所述意外加密机制对所述第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码,所述服务商服务器向第三方发送所述第二加密内容和所述唯一标识识别码;所述第三方根据所述唯一标识识别码对所述第二加密内容进行加密,得到第三加密内容,所述第三方向所述服务商服务器发送所述第三加密内容;所述服务商服务器基于所述意外加密机制根据所述唯一标识识别码对所述第三加密内容进行加密,得到第四加密内容,所述服务商服务器向去中心化存储平台发送所述第四加密内容和所述唯一标识识别码。
一方面,本发明实施例提供了一种解密方法,所述方法包括:通过身份证明信息和/或代理身份证明信息从权威机构获取预设数字序列;向服务商服务器发送启动请求,所述启动请求用于启动意外解密机制,所述服务商服务器接收所述启动请求之后,进行验证;在所述服务商服务器验证通过之后,向所述服务商服务器发送解密请求,所述解密请求携带唯一标识识别码;所述服务商服务器接收所述解密请求;所述服务商服务器在去中心化存储平台下载第四加密内容,所述服务商服务器基于所述意外加密机制根据所述唯一标识识别码对所述第四加密内容进行解密,得到第三加密内容,向第三方发送所述第三加密内容和所述唯一标识识别码;所述第三方接收所述第三加密内容和所述唯一标识识别码,根据所述唯一标识识别码对所述第三加密内容进行解密,得到第二加密内容,向所述服务商服务器发送所述第二加密内容和所述唯一标识识别码;所述服务商服务器基于所述意外加密机制根据所述唯一标识识别码对所述第二加密内容进行解密,得到第一加密内容,所述服务商服务器向网页端发送所述第一加密内容和所述唯一标识识别码;所述网页端基于所述意外加密机制根据所述预设数字序列对所述第一加密内容进行解密,得到目标内容。
本发明实施例通过接收网页端发送的第一加密内容;对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;向第三方发送第二加密内容和唯一标识识别码;接收第三方发送的第三加密内容和唯一标识识别码;根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码,通过网页端、服务商服务器、第三方共同加密,加密后的信息存储在去中心化的储存器上,提高了加密的安全性。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
现今虚拟货币数字钱包密锁存在一个问题是如果密锁丢失,钱包里的加密货币也就随之丢失在区块链里。
本发明实施例提供了一种虚拟货币数字钱包密锁的安全备份管理机制,以解决区块链密锁安全保存的问题。
实施例1
本发明实施例提供了一种加密方法,该方法由网页端、服务商服务器和第三方共同执行,该方法包括:网页端对目标内容进行加密,得到第一加密内容,网页端向服务商服务器发送第一加密内容;服务商服务器对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码,服务商服务器向第三方发送第二加密内容和唯一标识识别码;第三方根据唯一标识识别码对第二加密内容进行加密,得到第三加密内容,第三方向服务商服务器发送第三加密内容;服务商服务器根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容,服务商服务器向去中心化存储平台发送第四加密内容和唯一标识识别码。
如图1所示,服务商服务器执行本发明实施例提供的加密方法的步骤如下:
步骤S102,接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的。
步骤S104,对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码。
步骤S106,向第三方发送第二加密内容和唯一标识识别码,以使第三方根据唯一标识识别码对第二加密内容进行加密从而得到第三加密内容。
步骤S108,接收第三方发送的第三加密内容和唯一标识识别码。
步骤S110,根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容。
步骤S112,向去中心化存储平台发送第四加密内容和唯一标识识别码。
目标内容是用户需要进行加密的信息,例如虚拟货币的数字钱包密锁、各类密码或重要信息等。
通过网页端、服务商服务器、第三方共同加密,加密后的信息存储在去中心化的储存器上,提高了加密的安全性。
如图2和3所示,用户端加密之后,服务商对用户端加密过的信息进行加密,然后将加密过的信息发送给第三方,第三方对服务商加密过的信息进行加密,并将加密过的信息发送给服务商,服务商对第三方加密过的信息进行加密,并在加密完成后将加密后的信息存储在去中心化平台。
具体步骤:
S1:用户端(用户例如USER123)选择一种加密方案,可以多种组合,但最少有一种是可以记得住的密码,只有用户一人知道。
组合的例子:其中PIN或password其中一个就是必须要有的选项,因为只有用户才知道,例如:
PIN+PhoneNumber+Password、Password+身份证号码+指纹、PIN+脸部识别+护照号码、PIN+EMAIL+Questions。
服务商可以根据情况让用户有最多两种方式来解锁,主要防止忘记密码或PIN时还可以用另一种解锁。
S2:用户选择后,在用户网页端进行加密,加密必须是单向性的机制如SHA256。
Encryt(用户钱包密锁+用户加密方案组合的选择)--sha256→产生加密信息。
Encryt是指网页端加密程序。
S3:加密过的信息从用户端送到服务商服务器上,服务商建立一个用户识别ID,如USER123。
S4:服务商对加密的用户信息进行加密。
S5:服务商把ID(例如USER123)和服务商加密过的用户信息送到第三方。
S6:第三方收到请求后,对应ID(例如USER123)用自己的加密机制对服务商加密过的用户信息,存储在自己的服务器上或安全硬件上甚至去中心化存储器上或区块链上。
S7:第三方送回加密过的信息,这时加密信息应该是→第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
S8:服务商再对第三方送回加密过的信息做最后一层加密,应该是服务商自己加密方法+第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
加密后的数字包裹传送到去中心化存储平台,可以是去中心化存储中心–SOLJ,SWAMP,IPFS等,也可以是区块链。
实施例2
对应于本发明实施例1提供的加密方法,本发明实施例2提供了一种解密方法,该解密方法由网页端、服务商服务器和第三方共同执行,该解密方法包括:服务商服务器接收用户发送的解密请求,解密请求携带唯一标识识别码;服务商服务器在去中心化存储平台下载第四加密内容,服务商服务器根据唯一标识识别码对第四加密内容进行解密,得到第三加密内容,向第三方发送第三加密内容和唯一标识识别码;第三方接收第三加密内容和唯一标识识别码,根据唯一标识识别码对第三加密内容进行解密,得到第二加密内容,向服务商服务器发送第二加密内容和唯一标识识别码;服务商服务器根据唯一标识识别码对第二加密内容进行解密,得到第一加密内容,服务商服务器向网页端发送第一加密内容和唯一标识识别码;网页端对第一加密内容进行解密,得到目标内容。
如图4所示,服务商服务器执行本发明实施例2提供的解密方法的步骤如下:
步骤S202,接收用户发送的解密请求,解密请求携带唯一标识识别码。
步骤S204,在去中心化存储平台下载第四加密内容,根据唯一标识识别码对第四加密内容进行解密,得到第三加密内容,向第三方发送第三加密内容和唯一标识识别码,以使第三方根据唯一标识识别码对第三加密内容进行解密,得到第二加密内容。
步骤S206,接收第三方发送的第二加密内容和唯一标识识别码。
步骤S208,根据唯一标识识别码对第二加密内容进行解密,得到第一加密内容,向网页端发送第一加密内容和唯一标识识别码,以使网页端对第一加密内容进行解密,得到目标内容。
本发明实施例中的解锁的含义与解密相同。
解锁过程如图5所示:
S1:用户发一个解锁请求。
S2:服务商下载存储在去中心化平台的加密信息。
S3:服务商验证用户后,把用户ID调出,对加密信息先做第一层解密。
S4:服务商送一个解锁请求到第三方,第三方收到请求,并得到服务商解密过的第一层信息。
S5:第三方调出用户解锁信息根据用户ID,第三方进行第二层解密。
S6:解密过的信息送回服务商。
S7:服务商验证对第三方解密过的信息先做第三层解密。
S8:解密过的信息自动送回到用户端。
S9:用户端网页程序根据用户之前的密码保护选择,要求用户输入他们选择的信息。
S10:用户端网页程序解密,用户最终得到密锁。
为了进一步加强安全,可以在S6和S7之间,把要求用户验证信息送到用户手机或电子邮箱,让他们验证后再执行步骤S7。
在第S4步,为了加强安全,可以在服务商和第三方之间建立一种同步码验证机制,比如RSA非对称加密演算法,双方接口参数一致后再执行解密过程,中间验证码间隔时间短一些较好。
在解锁过程中最好多方(3方都有在线,互相验证)。
实施例3
本发明实施例3提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;将第二加密内容进行切分,得到N个第二子加密内容;第三方有N个,向每个第三方发送一个第二子加密内容,以使第三方对第二子加密内容进行加密从而得到第三子加密内容;接收每个第三方发送的第三子加密内容和唯一标识识别码,根据唯一标识识别码将N个第三子加密内容进行拼接,得到第三加密内容;根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码。
使用多个第三方进行加密的优点是:增大了单个第三方对已加密内容进行破解的难度,提高了加密安全性。
可选地,多个第三方可以有2N个,将第i个第二子加密内容发送给第i个和第2i个第三方,以使第i个和第2i个第三方对第二子加密内容进行加密从而得到第三子加密内容,i为1至N之间的自然数,其中,第i个和第2i个第三方对第二子加密内容进行加密的加密算法是相同的,得到的加密结果也是相同的。使用2N个第三方的作用是备份,防止个别第三方故障导致无法加密或解密带来的问题。
图6示出了利用信息片段化设计的过程。
S1:用户端(用户例如USER123)选择一种加密方案,可以多种组合,但最少有一种是可以记得住的密码,只有用户一人知道。
组合的例子:其中PIN或password其中一个就是必须要有的选项,因为只有用户才知道。例如:
PIN+PhoneNumber+Password、Password+身份证号码+指纹、PIN+脸部识别+护照号码、PIN+EMAIL+Questions。
服务商可以根据情况让用户有最多两种方式来解锁,主要防止忘记密码或PIN时还可以用另一种解锁。
S2:用户选择后,在用户网页端进行加密,加密必须是单向性的机制如SHA256。
Encryt(用户钱包密锁+用户加密方案组合的选择)--sha256→产生加密信息。
Encryt是指网页端加密程序。
S3:加密过的信息从用户端送到服务商服务器上,服务商建立一个用户识别ID,如USER123。
S4:服务商对加密的用户信息分成多个片段。
S5:服务商对多个片段进行加密。
S6:服务商把ID(例如USER123)和多个片段(加密过)分发到不同的第三方进行存储。
S7:各个第三方收到请求后,对应ID(例如USER123)用自己的加密机制对服务商加密过的用户信息脆片进行加密,存储在自己的服务器上或安全硬件上甚至去中心化存储器上或区块链上。
S8:各个第三方送回加密过的信息,这时加密信息应该是→第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
S9:服务商再对各个第三方送回加密过的信息做最后一层加密,应该是服务商自己加密方法+第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
实施例4
本发明实施例4提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;调用智能合约的第一加密功能对第一加密内容进行加密,得到第二加密内容,智能合约至少具有第一加密功能、第二加密功能、第三加密功能,创建唯一标识识别码;将第二加密内容进行切分,得到N个第二子加密内容;第三方有N个,向每个第三方发送唯一标识识别码、智能合约地址以及一个第二子加密内容,以使第三方根据智能合约地址调用智能合约的第二加密功能,第二加密功能用于根据唯一标识识别码对第二子加密内容进行加密从而得到第三子加密内容;接收每个第三方发送的第三子加密内容和唯一标识识别码,根据唯一标识识别码将N个第三子加密内容进行拼接,得到第三加密内容;调用智能合约的第三加密功能,第三加密功能用于根据唯一标识识别码对第三加密内容进行加密从而得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码。
实施例5
本发明实施例5提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;调用智能合约的第一加密功能对第一加密内容进行加密,得到第二加密内容,智能合约至少具有第一加密功能、第二加密功能、第三加密功能,创建唯一标识识别码;向第三方发送第二加密内容、唯一标识识别码、智能合约地址,以使第三方根据智能合约地址调用智能合约的第二加密功能,第二加密功能用于根据唯一标识识别码对第二加密内容进行加密从而得到第三加密内容;接收第三方发送的第三加密内容和唯一标识识别码;调用智能合约的第三加密功能,第三加密功能用于根据唯一标识识别码对第三加密内容进行加密从而得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码。
图7示出了利用智能合约设计进行加密的过程。
服务商和第三方建立一个去中心化区块链,是私链。只有授权的第三方才能接入这个私链。
S1:用户端(用户例如USER123)选择一种加密方案,可以多种组合,但最少有一种是可以记得住的密码,只有用户一人知道。
组合的例子:其中PIN或password其中一个就是必须要有的选项,因为只有用户才知道。例如:
PIN+PhoneNumber+Password、Password+身份证号码+指纹、PIN+脸部识别+护照号码、PIN+EMAIL+Questions。
服务商可以根据情况让用户有最多两种方式来解锁,主要防止忘记密码或PIN时还可以用另一种解锁。
S2:用户选择后,必须在用户网页端进行加密,加密必须是单向性的机制如SHA256。
Encryt(用户钱包密锁+用户加密方案组合的选择)--sha256→产生加密信息。
Encryt是指网页端加密程序。
S3:加密过的信息从用户端送到服务商服务器上,服务商建立一个用户的智能合约在区块链上。
S4:智能合约包含有几个功能程序,服务商第一次加密,第三方加密,服务商第二次加密,且服务商和第三方掌握自己的私钥。
S5:服务商调用智能合约服务商第一次加密功能对加密的用户信息进行加密。
S6:服务商把智能合约地址及智能合约加密过信息发给第三方。
S7:第三方收到请求后,根据智能合约地址及智能合约加密过信息,调用智能合约第三方加密功能对服务商加密过的用户信息,进行加密。
S8:第三方送回加密过的信息,这时加密信息应该是→第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
S9:服务商再对第三方送回加密过的信息,调用智能合约服务商第二次加密功能做最后一层加密,应该是服务商自己加密方法+第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
实施例6
本发明实施例6提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;建立虚拟机,虚拟机中存储有加密公式;根据虚拟机中的加密公式对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;向第三方发送第二加密内容和唯一标识识别码,以使第三方根据唯一标识识别码对第二加密内容进行加密从而得到第三加密内容;接收第三方发送的第三加密内容和唯一标识识别码;根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码;将虚拟机进行离线处理。
通过将虚拟机进行离线处理,使虚拟机中存储的加密公式更加安全,避免来自网络的破解。
图8示出了利用冷钱包设计进行加密的过程。
S1:用户端(用户例如USER123)选择一种加密方案,可以多种组合,但最少有一种是可以记得住的密码,只有用户一人知道。
组合的例子:其中PIN或password其中一个就是必须要有的选项,因为只有用户才知道。例如:
PIN+PhoneNumber+Password、Password+身份证号码+指纹、PIN+脸部识别+护照号码、PIN+EMAIL+Questions。
服务商可以根据情况让用户有最多两种方式来解锁,主要防止忘记密码或PIN时还可以用另一种解锁。
S2:用户选择后,必须在用户网页端进行加密,加密必须是单向性的机制如SHA256。
Encryt(用户钱包密锁+用户加密方案组合的选择)--sha256→产生加密信息。
Encryt是指网页端加密程序。
S3:加密过的信息从用户端送到服务商服务器上,服务商根据用户建立一个全新用户的虚拟机空间,虚拟机中应该有对用户进行加密的信息,公式等,加密公司可以灵活选择。
S4:加密过的信息从用户端送到服务商服务器上,服务商建立一个用户识别ID,如USER123。
S5:服务商对加密的用户信息进行加密。
S6:服务商把ID(例如USER123)和服务商加密过的用户信息送到第三方。
S7:第三方收到请求后,对应ID(例如USER123)用自己的加密机制对服务商加密过的用户信息,存储在自己的服务器上或安全硬件上甚至去中心化存储器上或区块链上。
S8:第三方送回加密过的信息,这时加密信息应该是→第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
S9:服务商再对第三方送回加密过的信息做最后一层加密,应该是服务商自己加密方法+第三方加密方法+服务商加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密。
S10:加密后的数字包裹传送到去中心化存储平台,可以是去中心化存储中心–SOLJ,SWAMP,IPFS等,也可以是区块链。
S11:在完成以上步骤后,把给用户建立的虚拟机离线处理,和互联网隔开。
以上加密机制可以加一些防止量子计算解密的方法,比如:Code-basedcryptography,Supersingular elliptic curve isogeny cryptography。
实施例7
本发明实施例7提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;建立虚拟机,虚拟机中存储有加密公式;根据虚拟机中的加密公式对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;将第二加密内容进行切分,得到N个第二子加密内容;第三方有N个,向每个第三方发送一个第二子加密内容,以使第三方对第二子加密内容进行加密从而得到第三子加密内容;接收每个第三方发送的第三子加密内容和唯一标识识别码,根据唯一标识识别码将N个第三子加密内容进行拼接,得到第三加密内容;根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码;将虚拟机进行离线处理。
实施例8
本发明实施例8提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;建立虚拟机,虚拟机中存储有加密公式;根据虚拟机中的加密公式对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;将第二加密内容进行切分,得到N个第二子加密内容;第三方有N个,向每个第三方发送第二子加密内容、唯一标识识别码、智能合约地址,以使第三方根据智能合约地址调用智能合约的第二加密功能,第二加密功能用于根据唯一标识识别码对第二子加密内容进行加密从而得到第三子加密内容;接收每个第三方发送的第三子加密内容和唯一标识识别码,根据唯一标识识别码将N个第三子加密内容进行拼接,得到第三加密内容;调用智能合约的第三加密功能,第三加密功能用于根据唯一标识识别码对第三加密内容进行加密从而得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码;将虚拟机进行离线处理。
实施例9
本发明实施例9提供了一种加密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的;建立虚拟机,虚拟机中存储有加密公式;根据虚拟机中的加密公式对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码;向第三方发送第二加密内容、唯一标识识别码、智能合约地址,以使第三方根据智能合约地址调用智能合约的第二加密功能,第二加密功能用于根据唯一标识识别码对第二加密内容进行加密从而得到第三加密内容;接收第三方发送的第三加密内容和唯一标识识别码;调用智能合约的第三加密功能,第三加密功能用于根据唯一标识识别码对第三加密内容进行加密从而得到第四加密内容;向去中心化存储平台发送第四加密内容和唯一标识识别码;将虚拟机进行离线处理。
实施例10
本发明实施例10提供了一种解密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收用户发送的解密请求,解密请求携带唯一标识识别码;在去中心化存储平台下载第四加密内容,启动虚拟机,并将虚拟机与网络进行连接,虚拟机中存储有解密公式;根据唯一标识识别码和虚拟机中存储的解密公式,对第四加密内容进行解密,得到第三加密内容,向第三方发送第三加密内容和唯一标识识别码,以使第三方根据唯一标识识别码对第三加密内容进行解密,得到第二加密内容;接收第三方发送的第二加密内容和唯一标识识别码;根据唯一标识识别码和虚拟机中存储的解密公式,对第二加密内容进行解密,得到第一加密内容,向网页端发送第一加密内容和唯一标识识别码,以使网页端对第一加密内容进行解密,得到目标内容;将虚拟机进行离线处理。
解锁过程:
S1:用户发一个解锁请求。
S2:服务商下载存储在去中心化平台的加密信息。
S3:服务商启动用户虚拟机,并连网络。
S4:服务商验证用户后,把用户ID调出,对加密信息先做第一层解密(调用用户虚拟机的解密信息)。
S5:服务商送一个解锁请求到第三方,第三方收到请求,并得到服务商解密过的第一层信息。
S6:第三方调出用户解锁信息,根据用户ID,第三方进行第二层解密。
S7:解密过的信息送回服务商。
S8:服务商验证对第三方解密过的信息先做第三层解密(调用用户虚拟机的解密信息)。
S9:解密过的信息自动送回到用户端。
S10:用户端网页程序根据用户之前的密码保护选择,要求用户输入他们选择的信息。
S11:用户端网页程序解密,用户最终得到密锁。
S12:在完成以上步骤后,把给用户建立的虚拟机离线处理,和互联网隔开。
为了进一步加强安全,可以在S6和S7之间,把要求用户验证信息送到用户手机或电子邮箱,让他们验证后再执行步骤S7。
在解锁过程中最好多方(3方都有在线,互相验证)。
在第S4步,为了加强安全,可以在服务商和第三方之间建立一种同步码验证机制,比如RSA非对称加密演算法,双方接口参数一致后再执行解密过程,中间验证码间隔时间短一些较好。
实施例11
本发明实施例11提供了一种解密方法,该方法由服务商服务器执行,该方法包括以下步骤:
接收用户发送的解密请求,解密请求携带唯一标识识别码;在去中心化存储平台下载第四加密内容,根据唯一标识识别码对第四加密内容进行解密,得到第三加密内容;将第三加密内容切分成N个第三子加密内容,第三方有N个,向每个第三方发送第三子加密内容和唯一标识识别码,以使每个第三方根据唯一标识识别码对第三子加密内容进行解密,得到第二子加密内容;接收第三方发送的第二子加密内容和唯一标识识别码;根据唯一标识识别码对N个第二子加密内容进行拼接,得到第二加密内容;根据唯一标识识别码对第二加密内容进行解密,得到第一加密内容,向网页端发送第一加密内容和唯一标识识别码,以使网页端对第一加密内容进行解密,得到目标内容。
解锁过程:
S1:用户发一个解锁请求。
S2:服务商下载存储在去中心化平台的加密信息。
S3:服务商验证用户后,把用户ID调出,对加密信息先做第一层解密。
S4:服务商送解锁请求到多个第三方,各个第三方收到请求,并得到服务商解密过的第一层信息片段。
S5:各个第三方调出用户解锁信息,根据用户ID,第三方进行第二层片段解密。
S6:解密过的信息送回服务商。
S7:服务商验证各个第三方解密过的片段信息,然后合成完整的整体信息。
S8:服务商做先做第三层解密。
S9:解密过的信息自动送回到用户端。
S10:用户端网页程序根据用户之前的密码保护选择,要求用户输入他们选择的信息。
S11:用户端网页程序解密,用户最终得到密锁。
为了进一步加强安全,可以在S6和S7之间,把要求用户验证信息送到用户手机或电子邮箱,让他们验证后再执行步骤S7。
在第S4步,为了加强安全,可以在服务商和第三方之间建立一种同步码验证机制,比如RSA非对称加密演算法,双方接口参数一致后再执行解密过程,中间验证码间隔时间短一些较好。
在解锁过程中最好多方(3方都有在线,互相验证)。
实施例12
本发明实施例12提供了一种加密方法,该方法由网页端执行,该方法包括以下步骤:
对目标内容进行加密,得到第一加密内容;向服务商服务器发送第一加密内容。
可选地,在对目标内容进行加密之前,方法还包括:接收用户输入的目标字符串、用户身份信息、意外加密请求;将目标字符串、用户身份信息、意外加密请求进行关联存储。
应用场景A:
手机更新换代或换手机或丢失手机–在密锁存在硬件,有时安全硬件有漏洞。
解决方案:
S1:先恢复手机密锁。
S2:马上创建新的账号。
S3:用密锁打开账号,把加密货币转到新账号。
S4:之后就不用旧的账号。
以上操作可以在新的手机,用户自己桌面钱包应用等可信任的机器上执行。
应用场景B:数字钱包持有人因为意外原因失去密码信息,如疾病等因素。
应用场景C:数字钱包持有人过世,继承人不知钱包密锁。
对于应用场景B和C,加密机制做一些修改:
用户密码选择方可提供一种意外发生时密码寻回选项:
S1:用户自己一系列数字保存到权威机构,可以根据用户身份,遗产证明等合法证明拿到这个数字,且可以保存到私人安全盒里,如银行私人保存盒。
S2:保存后,用户用这个数字和钱包密锁,选择意外发生选项,把加密信息传到提供商。
S3:提供商提供不同加密机制,对以上加密过用户信息进行加密,并标注这是用户意外选项,不是正常解密的选项。
S4:服务商把ID(例如USER123)和用户加密信息送到第三方。
S5:第三方收到请求后,对应ID(例如USER123)用自己的加密机制对用户信息进行加密,存储在自己的服务器上或安全硬件上甚至去中心化存储器上或区块链上。
S6:第三方送回加密过的信息,这时加密信息应该是→第三方加密方法+(用户加密方法-用用户网页特殊数字加密方法→对用户钱包密锁加密)。
S7:服务商再对第三方送回加密过的信息做最后一层加密,应该是服务商自己加密方法+第三方加密方法+(用户加密方法-用用户网页加密组合方法→对用户钱包密锁加密)。
实施例13
本发明实施例13提供了一种解密方法,该方法由网页端执行,该方法包括以下步骤:
接收服务商服务器发送的第一加密内容;对第一加密内容进行解密,得到目标内容。
可选地,在对第一加密内容进行解密之前,方法还包括:接收用户输入的目标字符串、用户身份信息、意外解密请求;根据目标字符串、用户身份信息、意外解密请求对第一加密内容进行解密,得到目标内容。
解锁过程:
S1:用户的代表到权威机构根据合法的程序拿到数字。
S2:联系服务商要求启动意外选项解锁机制。
S3:服务商验证。
S4:用户代理发一个解锁请求。
S5:服务商下载存储在去中心化平台的加密信息。
S6:服务商验证用户后,把用户ID调出,对加密信息先做第一层解密(用之前不同加密机制)。
S7:服务商送一个解锁请求到第三方,第三方收到请求,并得到服务商解密过的第一层信息。
S8:第三方调出用户解锁信息,根据用户ID,第三方进行第二层解密。
S9:解密过的信息送回服务商,自动送回到用户端。
S10:用户端网页程序根据用户之前的意外加密选项,要求用户代理输入他们特殊数字的信息。
S11:用户端网页程序解密,用户代理最终得到密锁。
实施例14
本发明实施例14提供了一种加密装置,该装置可以安装于服务商服务器。该加密装置用于执行上述加密方法。
该装置包括:第一接收单元、第一加密单元、第一发送单元、第二接收单元、第二加密单元、第二发送单元。第一接收单元,用于接收网页端发送的第一加密内容,第一加密内容是网页端对目标内容进行加密得到的。第一加密单元,用于对第一加密内容进行加密,得到第二加密内容,创建唯一标识识别码。第一发送单元,用于向第三方发送第二加密内容和唯一标识识别码,以使第三方根据唯一标识识别码对第二加密内容进行加密从而得到第三加密内容。第二接收单元,用于接收第三方发送的第三加密内容和唯一标识识别码。第二加密单元,用于根据唯一标识识别码对第三加密内容进行加密,得到第四加密内容。第二发送单元,用于向去中心化存储平台发送第四加密内容和唯一标识识别码。
实施例15
本发明实施例15提供了一种解密装置,该装置可以安装于服务商服务器。该解密装置用于执行上述解密方法。
该装置包括:第三接收单元、下载单元、第四接收单元、第一解密单元。第三接收单元,用于接收用户发送的解密请求,解密请求携带唯一标识识别码。下载单元,用于在去中心化存储平台下载第四加密内容,根据唯一标识识别码对第四加密内容进行解密,得到第三加密内容,向第三方发送第三加密内容和唯一标识识别码,以使第三方根据唯一标识识别码对第三加密内容进行解密,得到第二加密内容。第四接收单元,用于接收第三方发送的第二加密内容和唯一标识识别码。第一解密单元,用于根据唯一标识识别码对第二加密内容进行解密,得到第一加密内容,向网页端发送第一加密内容和唯一标识识别码,以使网页端对第一加密内容进行解密,得到目标内容。
实施例16
本发明实施例16提供了一种加密装置,该装置可以安装于网页端。该加密装置用于执行上述加密方法。
该装置包括:第三加密单元、第三发送单元。第三加密单元,用于对目标内容进行加密,得到第一加密内容。第三发送单元,用于向服务商服务器发送第一加密内容。
实施例17
本发明实施例17提供了一种解密装置,该装置可以安装于网页端。该解密装置用于执行上述解密方法。
该装置包括:第五接收单元、第二解密单元。第五接收单元,用于接收服务商服务器发送的第一加密内容。第二解密单元,用于对第一加密内容进行解密,得到目标内容。
由于篇幅所限,本说明书中并未列出所有的实施例/实施方式,只要是不互相矛盾的技术特征,都可以进行组合形成方案。不同实施例中的不互相矛盾的技术特征,也可以进行组合形成方案。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
需要说明的是,S201~S203的执行主体可以为xxx装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,本发明实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本发明实施例对此不进行限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。