密码存储方法及装置制造方法及图纸

技术编号:19702391 阅读:26 留言:0更新日期:2018-12-08 14:11
本发明专利技术公开了一种密码存储方法及装置,属于密码安全技术领域。所述方法包括:使用对称加密算法的对称密钥,对密码进行加密,得到第一密文;使用非对称加密算法的公钥,对所述对称密钥进行加密,得到第二密文;对所述第一密文和所述第二密文进行组装,得到第三密文;将所述第三密文发送到区块链系统中进行存储。本发明专利技术的加密方式提高了密码的保密性,且由于区块链系统是一种去中心化的分布式存储系统,可以避免相关技术中采用中心化存储方式存储密码时易被攻击、窃取的风险。

【技术实现步骤摘要】
密码存储方法及装置
本专利技术涉及密码安全
,尤其涉及一种密码存储方法及装置。
技术介绍
随着互联网的发展,社交应用越来越多,如视频应用、购物应用、音乐应用等。用户可以针对不同的社交应用设置不同的密码,当用户的密码较多时,为了避免忘记密码,用户往往会产生对密码进行存储的需求,以便在需要时进行查询。目前,相关技术一般采用中心化服务器存储用户的密码,大量用户的密码集中存储到密码管理服务提供方的中心化服务器上。这种中心化存储方式存在密码易被攻击、窃取等风险。
技术实现思路
本专利技术实施例提供了一种密码存储方法及装置,可以解决相关技术密码易被攻击、窃取的问题。所述技术方案如下:一方面,提供了一种密码存储方法,所述方法包括:使用对称加密算法的对称密钥,对密码进行加密,得到第一密文;使用非对称加密算法的公钥,对所述对称密钥进行加密,得到第二密文;对所述第一密文和所述第二密文进行组装,得到第三密文;将所述第三密文发送到区块链系统中进行存储。一方面,提供了一种密码存储装置,所述装置包括:加密模块,用于使用对称加密算法的对称密钥,对密码进行加密,得到第一密文;所述加密模块还用于使用非对称加密算法的公钥,对所述对称密钥进行加密,得到第二密文;组装模块,用于对所述第一密文和所述第二密文进行组装,得到第三密文;发送模块,用于将所述第三密文发送到区块链系统中进行存储。一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现上述密码存储方法所执行的操作。一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述密码存储方法所执行的操作。本专利技术实施例提供的技术方案带来的有益效果至少包括:通过使用对称加密算法的对称密钥对密码进行加密,再使用非对称加密算法加密对称密钥,然后将密文发送到区块链系统中进行存储。上述加密方式提高了密码的保密性,且由于区块链系统是一种去中心化的分布式存储系统,可以避免相关技术中采用中心化存储方式存储密码时易被攻击、窃取的风险。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种密码存储方法的实施环境示意图;图2是本专利技术实施例提供的一种密码存储方法的流程图;图3是本专利技术实施例提供的一种对密码混淆加密的示意图;图4是本专利技术实施例提供的一种将密文发布到区块链的示意图;图5是本专利技术实施例提供的一种查询密码的示意图;图6是本专利技术实施例提供的一种密码存储装置的结构示意图;图7是本专利技术实施例提供的一种密码存储装置的结构示意图;图8是本专利技术实施例提供的一种终端800的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1是本专利技术实施例提供的一种密码存储方法的实施环境示意图,参见图1,该实施环境中可以包括多个终端101和多个节点设备102。其中,终端101为发起密文存储的用户设备,如智能手机、平板电脑、PC(PersonalComputer,个人计算机)等。多个节点设备102可以组成区块链系统,各个节点设备101分别为该区块链系统中的节点。区块链系统中的每个节点可以配置有一条相同的区块链,区块链可以是现有公有链(比如比特币、以太坊等)、组织联盟链或私有链。该区块链中包括多个区块,每个区块中可以存储密文。终端101和节点设备102之间可以通过网络进行通信,用户可以通过终端101来访问任一节点设备102。图2是本专利技术实施例提供的一种密码存储方法的流程图。该方法可以应用于图1所示的实施环境中,参见图2,该方法包括:201、终端在密码前增加随机字符串后,在最前端增加第一字符,得到混淆密码,该第一字符用于标记该随机字符串的长度。其中,该随机字符串可以包含一个或多个字符,该字符可以是可见字符,也可以是不可见字符。第一字符可以是一个字符,也可以是多个字符,第一字符可以按照一定规则来约定随机字符串的长度。本专利技术实施例中,终端上可以安装有指定应用,该指定应用可以作为密码管理工具,对用户的密码进行管理。用户可以在终端的指定应用上输入需要存储的密码,当获取到输入的密码时,终端可以在该密码前增加一定长度的随机字符串,如1-16位长度或其他长度的随机字符串。为了便于辨别原始的密码,终端可以在最前端使用第一字符来标记随机字符串的长度,最终得到混淆密码。通过采用随机字符串对原始密码进行混淆处理,不同的原始密码可能采用不同的字符串进行加密,增加了原始密码的复杂度,提高了安全级别。202、终端使用对称加密算法的对称密钥,对混淆密码进行加密,得到第一密文。其中,对称加密算法拥有一个对称密钥,该对称密钥既用于加密,也用于解密。本专利技术实施例中,终端可以随机生成一个对称密钥,并使用该随机生成的对称密钥以及对称加密算法,对步骤201中生成的混淆密码进行加密,为了便于描述,将加密得到的密文称为第一密文。可选地,终端可以对随机生成的对称密钥设定一定的复杂度规则,如要求随机生成的密钥里必须有字母、或必须是字母、数字和符号的组合等。通过设定复杂度规则,可以增强对称密钥的随机范围和随机度。需要说明的是,上述步骤201至步骤202是终端使用对称加密算法的对称密钥,对密码进行加密,得到第一密文的一种可能实现方式。通过先对原始密码进行混淆处理,再进一步对密码进行加密,不仅提高了原始密码的复杂度,还提高了原始密码的安全级别。203、终端使用非对称加密算法的公钥,对该对称密钥进行加密,得到第二密文。其中,非对称加密算法拥有一对密钥,分别是公钥和私钥。私钥可以存放于用户使用的终端,公钥可以公开给其他设备,如区块链系统中的任一节点设备。使用公钥加密得到的密文,只能通过拥有该私钥的一方进行解密。本专利技术实施例中,终端可以生成一对密钥,将私钥存储在本地,公钥向外公开。终端可以使用公钥和非对称加密算法,对步骤202中随机生成的对称密钥进行加密,为了便于描述,将加密得到的密文称为第二密文。通过利用非对称加密算法中的公钥对密码进行加密,得到第二密文,由于解密所需的私钥存放于用户使用的终端,使得只有拥有该终端的用户,才可以实现对第二密文的解密,得到对原始密码进行加密的对称密钥,提高了解密的安全性。204、终端对第一密文和第二密文进行组装,得到第三密文。本专利技术实施例中,考虑到用户的密码可以很多,不同的密码可以有不同的用途,属于不同的类别。例如,有的密码是用户在使用购物应用时的登录密码,有的密码是用户在使用视频应用时的登录密码,有的密码是用户在消费时的支付密码,为了便于区分这些密码,用户可以针对不同的密码设置不同的备注信息。相应地,在一种可能实现方式中,终端获取第三密文的过程包括:对该第一密文、该第二密文以及备注信息进行组装,得到该第三密文,该备注信息用于指示该密本文档来自技高网...

【技术保护点】
1.一种密码存储方法,其特征在于,所述方法包括:使用对称加密算法的对称密钥,对密码进行加密,得到第一密文;使用非对称加密算法的公钥,对所述对称密钥进行加密,得到第二密文;对所述第一密文和所述第二密文进行组装,得到第三密文;将所述第三密文发送到区块链系统中进行存储。

【技术特征摘要】
1.一种密码存储方法,其特征在于,所述方法包括:使用对称加密算法的对称密钥,对密码进行加密,得到第一密文;使用非对称加密算法的公钥,对所述对称密钥进行加密,得到第二密文;对所述第一密文和所述第二密文进行组装,得到第三密文;将所述第三密文发送到区块链系统中进行存储。2.根据权利要求1所述的方法,其特征在于,所述使用对称加密算法的对称密钥,对密码进行加密,得到第一密文,包括:在所述密码前增加随机字符串后,在最前端增加第一字符,得到混淆密码,所述第一字符用于标记所述随机字符串的长度;使用所述对称密钥,对所述混淆密码进行加密,得到所述第一密文。3.根据权利要求1所述的方法,其特征在于,所述对所述第一密文和所述第二密文进行组装,得到第三密文,包括:对所述第一密文、所述第二密文以及备注信息进行组装,得到所述第三密文,所述备注信息用于指示所述密码的用途或类别。4.根据权利要求3所述的方法,其特征在于,所述对所述第一密文、所述第二密文以及备注信息进行组装,得到所述第三密文,包括:使用特定字符,在所述第一密文、所述第二密文以及所述备注信息之间进行分隔后,拼接得到所述第三密文;或,将所述第一密文、所述第二密文以及所述备注信息进行拼接后,在最前端和最后端分别增加第二字符和第三字符,得到所述第三密文,所述第二字符用于标记所述第一密文、所述第二密文以及所述备注信息中拼接顺序最靠前的信息的长度,所述第三字符用于标记拼接顺序最靠后的信息的长度。5.根据权利要求1所述的方法,其特征在于,所述将所述第三密文发送到区块链系统中进行存储,包括:使用所述非对称加密算法的私钥,对所述第三密文进行签名;向所述区块链系统中的节点设备发送上链信息,所述上链信息携带签名后的所述第三密文,所述节点设备用于对所述第三密文进行签名验证后,将所述第三密文打包成区块并添加到区块链中。6.根据权利要求1所述的方法,其特征在于,所述将所述第三密文发送到区块链系统中进行存储,包括:将所述第三密文拆分成多段密文;将所述多段密文分别发送到所述区块链系统中进行存储。7.根据权利要求1所述的方法,其特征在于,所述将所述第三密文发送到区块链系统中进行存储之后,所述方法还包括:向所述区块链系统中的节点设备发送密文查询请求;当接收到所述第三密文时,对所述第三密文进行分割,得到所述第一密文和所述第二密文;使用所述非对称加密算法的私钥,对所述第二密文进行解密,得到所述对称密钥;使用所述对称密钥,对所述第一密文进行解密,得到所述密码。8.一种密码存储装置,其特征在于,所述装置包括:加密模块,用于使用对称加密算法的对称密钥,...

【专利技术属性】
技术研发人员:朱斌斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1