CN109067544A - 一种软硬结合的私钥验证方法、装置及系统 - Google Patents
一种软硬结合的私钥验证方法、装置及系统 Download PDFInfo
- Publication number
- CN109067544A CN109067544A CN201810836031.9A CN201810836031A CN109067544A CN 109067544 A CN109067544 A CN 109067544A CN 201810836031 A CN201810836031 A CN 201810836031A CN 109067544 A CN109067544 A CN 109067544A
- Authority
- CN
- China
- Prior art keywords
- offline
- networking
- public key
- signature
- random
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开一种软硬结合的私钥验证方法、装置及系统,通过将联网端与离线端通过物理接口互联,通过联网端向离线端发送证书数据提取请求,接收离线端发送的证书数据、数字签名以及离线端公钥,将证书数据转化为哈希码,根据联网端公钥和哈希码,对数字签名进行验证,如果数字签名通过验证,生成随机码,将随机码发送至离线端,接收离线端发送的随机数字签名,其中,随机数字签名由离线端根据随机码以及离线端存储的私钥生成,根据离线端公钥和随机码,对随机数字签名进行验证,如果随机数字签名通过验证,输出私钥通过验证提示,本申请的软硬结合的私钥验证方法、装置及系统,在使用便捷的同时,能够保证用户资产的安全。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种软硬结合的私钥验证方法、装置及系统。
背景技术
比特币的概念最初由中本聪在2009年提出,是一种基于P2P网络的数字货币。区块链是与比特币相关的一个重要概念。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
账户和交易是区块链技术中的两大核心概念。账户是用户在区块链网络上的唯一性标识,区块链账户由一个公钥-私钥对代表。公钥通常会作为交易签名数据的一部分来进行公布,这样区块链的节点在验证交易合法性的时候就可以从交易数据内部得到公钥,并使用该公钥验证地址和交易签名的合法性。私钥由用户秘密保管,可用来生成公钥和钱包地址,以及用来对交易进行签名。拥有了私钥就相当于拥有了对这个账户进行交易的权限。因此,私钥的存储技术是区块链技术中的一个重要部分。按照私钥的储存方式的不同,可以分为冷钱包和热钱包两种存储方式。通常冷钱包又叫做离线钱包,即在使用的过程中,冷钱包可以一直处于非联网状态,这类钱包往往依靠不联网的电脑、手机以及其他的硬件设备运行。此外,用于记录私钥的纸张或者小本子也都属于冷钱包的范畴。当用户在使用冷钱包时,外界一般无法通过网络访问到其存储私钥的位置,因此可以避免黑客攻击或者中木马病毒等情况造成私钥泄漏。热钱包的使用方式与冷钱包相反,热钱包在使用的过程中必须保持联网状态,这类钱包通常以在线钱包和交易平台钱包等形式出现。当使用热钱包保存和交易比特币时,外界可以通过互联网访问到存储私钥的位置。
冷钱包由于不能被网络访问,能够避免黑客盗取私钥的风险,在安全性上比热钱包更高。热钱包在联网状态下可以随时用来交易,对于频繁交易的用户来说,使用热钱包比冷钱包更方便快捷。因此相较而言,比特币冷钱包被黑客攻击的可能性更低,这也是较多监管机构要求交易平台通过离线方式保存用户加密资产的原因。因此,如何能够在使用便捷的同时,保证用户资产的安全,成为业内亟待解决的问题。
发明内容
本发明的目的在于提供一种软硬结合的私钥验证方法、装置及系统,以解决现有技术无法在使用便捷的同时,保证用户资产的安全的问题。
第一方面,本申请提供一种软硬结合的私钥验证方法,应用于联网端,所述方法包括:
联网端向离线端发送证书数据提取请求;
联网端接收离线端发送的证书数据、数字签名以及离线端公钥;
联网端将所述证书数据转化为哈希码;
联网端根据联网端公钥和所述哈希码,对所述数字签名进行验证;
如果所述数字签名通过验证,联网端生成随机码;
联网端将所述随机码发送至离线端;
联网端接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成;
联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证;
如果所述随机数字签名通过验证,联网端输出私钥通过验证提示。
结合第一方面,在第一方面的第一种可实施方式中,联网端向离线端发送证书数据提取请求之前,包括:
联网端显示用户密码输入界面;
联网端获取用户在所述用户密码输入界面输入的用户密码;
联网端对所述用户密码进行验证,如果所述用户密码通过验证,联网端向离线端发送证书数据提取请求;
如果所述用户密码未通过验证,联网端输出用户密码错误提示。
结合第一方面,在第一方面的第二种可实施方式中,联网端根据联网端公钥和所述哈希码,对所述数字签名进行验证的步骤中,联网端通过运行椭圆曲线数字签名算法,根据联网端公钥和所述哈希码,对所述数字签名进行验证。
结合第一方面,在第一方面的第三种可实施方式中,联网端运根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证的步骤中,联网端通过运行椭圆曲线数字签名算法,根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证。
第二方面,本申请提供一种软硬结合的私钥验证方法,应用于离线端,所述方法包括:
离线端接收联网端发送的证书数据提取请求;
离线端将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证;
如果所述数字签名通过验证,离线端接收联网端生成并发送的随机码;
离线端根据所述随机码以及离线端存储的私钥,生成随机数字签名;
离线端将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
结合第二方面,在第二方面的第一种可实施方式中,在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,还包括:
离线端显示个人识别码输入界面;
离线端获取用户在所述个人识别码输入界面输入的个人识别码;
离线端对所述个人识别码进行验证,如果所述个人识别码通过验证,离线端将证书数据、数字签名以及离线端公钥发送至联网端;
如果所述个人识别码未通过验证,离线端输出个人识别码错误提示。
结合第二方面,在第二方面的第二种可实施方式中,离线端根据所述随机码以及离线端存储的私钥,生成随机数字签名的步骤中,离线端通过运行椭圆曲线数字签名算法,根据所述随机码以及离线端存储的私钥,生成随机数字签名。
第三方面,本申请提供一种软硬结合的私钥验证装置,所述装置包括:
第一发送单元,用于向离线端发送证书数据提取请求;
第一接收单元,用于接收离线端发送的证书数据、数字签名以及离线端公钥;
第一转化单元,用于将所述证书数据转化为哈希码;
第一验证单元,用于根据联网端公钥和所述哈希码,对所述数字签名进行验证;
第一生成单元,用于如果所述数字签名通过验证,生成随机码;
所述第一发送单元,还用于将所述随机发送至离线端;
所述第一接收单元,还用于接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成;
所述第一验证单元,还用于根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证;
第一输出单元,用于如果所述随机数字签名通过验证,输出私钥通过验证提示。
结合第三方面,在第三方面的第一种可实施方式中,所述装置还包括:
第一显示单元,用于在向离线端发送证书数据提取请求之前,显示用户密码输入界面;
第一获取单元,用于获取用户在所述用户密码输入界面输入的用户密码;
所述第一验证单元,还用于对所述用户密码进行验证,如果所述用户密码通过验证,向离线端发送证书数据提取请求;
所述第一输出单元,还用于如果所述用户密码未通过验证,输出用户密码错误提示。
第四方面,本申请还提供一种软硬结合的私钥验证装置,所述装置包括:
第二接收单元,用于接收联网端发送的证书数据提取请求;
第二发送单元,用于将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证;
所述第二接收单元,还用于如果所述数字签名通过验证,接收联网端生成并发送的随机码;
第二生成单元,用于根据所述随机码以及离线端存储的私钥,生成随机数字签名;
所述第二发送单元,还用于将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
结合第四方面,在第四方面的第一种可实施方式中,所述装置还包括:
第二显示单元,用于在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,显示个人识别码输入界面;
第二获取单元,用于获取用户在所述个人识别码输入界面输入的个人识别码;
第二验证单元,用于对所述个人识别码进行验证,如果所述个人识别码通过验证,通过所述发送单元将证书数据、数字签名以及离线端公钥发送至联网端;
第二输出单元,用于如果所述个人识别码未通过验证,输出个人识别码错误提示。
第五方面,本申请还提供一种软硬结合的私钥验证系统,包括联网端和离线端,所述联网端和所述离线端通过所述联网端认证的物理接口互联;
所述联网端,用于向离线端发送证书数据提取请求,接收离线端发送的证书数据、数字签名以及离线端公钥,将所述证书数据转化为哈希码,根据联网端公钥和所述哈希码,对所述数字签名进行验证,如果所述数字签名通过验证,生成随机码,将所述随机码发送至离线端,接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成,根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,如果所述随机数字签名通过验证,输出私钥通过验证提示;
所述离线端,用于接收联网端发送的证书数据提取请求,将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证,如果所述数字签名通过验证,接收联网端生成并发送的随机码,根据所述随机码以及离线端存储的私钥,生成随机数字签名,将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
结合第五方面,在第五方面的第一种可实施方式中,所述联网端,还用于向离线端发送证书数据提取请求之前,显示用户密码输入界面,获取用户在所述用户密码输入界面输入的用户密码,对所述用户密码进行验证,如果所述用户密码通过验证,联网端向离线端发送证书数据提取请求,如果所述用户密码未通过验证,输出用户密码错误提示。
结合第五方面,在第五方面的第二种可实施方式中,所述离线端,还用于在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,显示个人识别码输入界面,获取用户在所述个人识别码输入界面输入的个人识别码,对所述个人识别码进行验证,如果所述个人识别码通过验证将证书数据、数字签名以及离线端公钥发送至联网端,如果所述个人识别码未通过验证,输出个人识别码错误提示。
结合第五方面,在第五方面的第三种可实施方式中,所述联网端与所述离线端的通信信道经过加密,所述离线端的芯片内部数据经过加密,所述离线端的芯片字节以哈希散列混淆方式存储。
由以上技术方案可知,本申请提供的一种软硬结合的私钥验证方法、装置及系统,通过将运行在触网设备的联网端与不直接触网的离线端通过联网端认证的物理接口互联,在离线端存储私钥、签名等敏感数据,在需要使用私钥、签名等敏感数据时,通过联网端向离线端发送证书数据提取请求,接收离线端发送的证书数据、数字签名以及离线端公钥,将证书数据转化为哈希码,根据联网端公钥和哈希码,对数字签名进行验证,如果数字签名通过验证,生成随机码,将随机码发送至离线端,接收离线端发送的随机数字签名,其中,随机数字签名由离线端根据随机码以及离线端存储的私钥生成,根据离线端公钥和随机码,对随机数字签名进行验证,如果随机数字签名通过验证,输出私钥通过验证提示;使得安全性、易用性得到极大的提升,可保障用户交易的便利与快捷,并且不必担心私钥触网被黑客盗取的情况发生,在使用便捷的同时,能够保证用户资产的安全。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种软硬结合的私钥验证方法的流程图。
图2为本申请提供的一种软硬结合的私钥验证方法的一种实施方式的流程图。
图3为本申请提供的另一种软硬结合的私钥验证方法的流程图。
图4为本申请提供的另一种软硬结合的私钥验证方法的一种实施方式的流程图。
图5为本申请提供的一种软硬结合的私钥验证装置的结构框图。
图6为本申请提供的另一种软硬结合的私钥验证装置的结构框图。
图7为本申请提供的一种软硬结合的私钥验证系统的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。
请参阅图1,为本申请提供的一种软硬结合的私钥验证方法,应用于联网端,所述方法包括:
步骤101、联网端向离线端发送证书数据提取请求。
其中,联网端可以是手机、电脑等触网设备,通过在手机、电脑等触网设备上运行特定的应用(英文:Application,简称:APP),以实现向离线端软件发送付款指令,从离线端软件接收签名后的交易,并广播到比特币网络,以及对区块链账户相关交易信息的查看能功能。联网端在未与离线端互联的情况下,仅具备基本的查看权限,不具备交易与签名等权限。
步骤102、联网端接收离线端发送的证书数据、数字签名以及离线端公钥。
离线端存储和运行硬件钱包的离线端软件,并且存储有私钥、离线端公钥以及证书数据等敏感数据。离线端不直接与网络连接,而是在使用时通过联网端认证的物理接口与联网端互联。
在本实施例中,联网端与离线端之间的通信信道是经过加密的,离线端内部存储芯片自带加密算法,并且内部数据已经过加密算法加密。离线端内部数据存储方式是散列存储方式,并非连续存储在芯片上,即使获得到离线端硬件芯片读取出内部字节信息,也无法直接获取私钥,从而在最大程度上保护私钥信息。此外,离线端还提供与用户互动的界面,以便用户进行相关操作与联网端进行数据传递。
步骤103、联网端将所述证书数据转化为哈希码。
联网端运行哈希算法,将所述证书数据转化为哈希码。哈希即把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,因此不可能从散列值来确定唯一的输入值。
步骤104、联网端根据联网端公钥和所述哈希码,对所述数字签名进行验证。
具体地,联网端通过运行椭圆曲线数字签名算法(英文:ECDSA),根据联网端公钥和所述哈希码,对所述数字签名进行验证。
步骤105、如果所述数字签名通过验证,联网端生成随机码。
具体地,如果数字签名通过验证,则代表离线端公钥通过验证,之后即可进行下一步的私钥验证。
步骤106、联网端将所述随机码发送至离线端。
步骤107、联网端接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成。
具体地,离线端使用ECDSA签名引擎和离线端的私钥,发送一个随机数字签名。
步骤108、联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证。
具体地,联网端通过运行椭圆曲线数字签名算法,根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证。
步骤109、如果所述随机数字签名通过验证,联网端输出私钥通过验证提示。
具体地,如果随机数字签名通过验证,表示离线端私钥通过验证,联网端可以输出私钥通过验证提示,提示用户可以进行后续的签名、交易等操作。
请参阅图2,在图1的一种软硬结合的私钥验证方法的另一实施例中,联网端向离线端发送证书数据提取请求之前,包括:
步骤201、联网端显示用户密码输入界面。
具体地,用户密码输入界面用于供用户在联网端输入用户密码,通过输入正确的用户密码,来验证联网端使用者的身份。
步骤202、联网端获取用户在所述用户密码输入界面输入的用户密码。
步骤203、联网端对所述用户密码进行验证,如果所述用户密码通过验证,执行步骤101,联网端向离线端发送证书数据提取请求。
具体地,用户密码输入界面用户密码通过验证,才可以进行后续的步骤,从而防止联网端的APP账号泄露对用户造成的损失。
步骤204、如果所述用户密码未通过验证,联网端输出用户密码错误提示。
具体地,如果用户密码未通过验证,联网端输出用户密码错误提示,并且可以设置需等待预设时间段之后再显示用户密码输入界面,以防止窃取者连续在短时间内试验不同的用户密码,以提升联网端的安全性。
由以上实施例可知,本申请提供的一种软硬结合的私钥验证方法,通过将运行在触网设备的联网端与不直接触网的离线端通过联网端认证的物理接口互联,在离线端存储私钥、签名等敏感数据,在需要使用私钥、签名等敏感数据时,通过联网端向离线端发送证书数据提取请求,接收离线端发送的证书数据、数字签名以及离线端公钥,将证书数据转化为哈希码,根据联网端公钥和哈希码,对数字签名进行验证,如果数字签名通过验证,生成随机码,将随机码发送至离线端,接收离线端发送的随机数字签名,其中,随机数字签名由离线端根据随机码以及离线端存储的私钥生成,根据离线端公钥和随机码,对随机数字签名进行验证,如果随机数字签名通过验证,输出私钥通过验证提示;使得安全性、易用性得到极大的提升,可保障用户交易的便利与快捷,并且不必担心私钥触网被黑客盗取的情况发生,在使用便捷的同时,保证用户资产的安全。
请参阅图3,为本申请提供另一种软硬结合的私钥验证方法,应用于离线端,所述方法包括:
步骤301、离线端接收联网端发送的证书数据提取请求。
比特币的支付即控制权需要由私钥签名完成。当前的比特币热钱包,由于私钥的生成、解密、签名、交易信息广播全部由同一软件在联网状态下完成,因此黑客可以通过网络盗走持币人的私钥,导致账户内全部的资产丢失。为此,本申请设置离线端来存放私钥等敏感数据,离线端作为一个独立的硬件载体,在不进行交易时处于隔离状态,在交易时通过物理接口与联网端实现数据传输,不直接与网络连接。在验证私钥的,需要结合联网端的软件来实现对私钥的验证。离线端内存储有证书数据,在联网端发出证书数据提取请求时离线端将证书数据传输至联网端。
步骤302、离线端将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证。
步骤303、如果所述数字签名通过验证,离线端接收联网端生成并发送的随机码。
步骤304、离线端根据所述随机码以及离线端存储的私钥,生成随机数字签名。
具体地,离线端通过运行椭圆曲线数字签名算法,根据所述随机码以及离线端存储的私钥,生成随机数字签名。
步骤305、离线端将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
请参阅图4,在图3的软硬结合的私钥验证方法的另一实施例中,在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,还包括:
步骤401、离线端显示个人识别码(英文:Personal Identification Number,简称PIN)码输入界面。
具体地,个人识别码输入界面语言供用户输入预设的个人识别码,以实现对离线端使用者的身份进行验证,避免离线端丢失对用户资产造成的损失。
步骤402、离线端获取用户在所述个人识别码输入界面输入的个人识别码。
步骤403、离线端对所述个人识别码进行验证,如果所述个人识别码通过验证,执行步骤302,离线端将证书数据、数字签名以及离线端公钥发送至联网端。
步骤404、如果所述个人识别码未通过验证,离线端输出个人识别码错误提示。
具体地,如果个人识别码未通过验证,则无法使用离线端进行相关操作。可以设置个人识别码输入后未通过验证的若干次后,自动将离线端重置,以最大限度保障用户资产安全。
请参阅图5,本申请提供一种软硬结合的私钥验证装置,所述装置包括:
第一发送单元501,用于向离线端发送证书数据提取请求;
第一接收单元502,用于接收离线端发送的证书数据、数字签名以及离线端公钥;
第一转化单元503,用于将所述证书数据转化为哈希码;
第一验证单元504,用于根据联网端公钥和所述哈希码,对所述数字签名进行验证;
第一生成单元505,用于如果所述数字签名通过验证,生成随机码;
所述第一发送单元501,还用于将所述随机发送至离线端;
所述第一接收单元502,还用于接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成;
所述第一验证单元504,还用于根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证;
第一输出单元506,用于如果所述随机数字签名通过验证,输出私钥通过验证提示。
具体地,所述装置还可以包括:
第一显示单元,用于在向离线端发送证书数据提取请求之前,显示用户密码输入界面;
第一获取单元,用于获取用户在所述用户密码输入界面输入的用户密码;
所述第一验证单元504,还用于对所述用户密码进行验证,如果所述用户密码通过验证,向离线端发送证书数据提取请求;
所述第一输出单元506,还用于如果所述用户密码未通过验证,输出用户密码错误提示。
请参阅图6,本申请提供另一种软硬结合的私钥验证装置,所述装置包括:
第二接收单元601,用于接收联网端发送的证书数据提取请求;
第二发送单元602,用于将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证;
所述第二接收单元601,还用于如果所述数字签名通过验证,接收联网端生成并发送的随机码;
第二生成单元603,用于根据所述随机码以及离线端存储的私钥,生成随机数字签名;
所述第二发送单元602,还用于将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
具体地,所述装置还可以包括:
第二显示单元,用于在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,显示个人识别码输入界面;
第二获取单元,用于获取用户在所述个人识别码输入界面输入的个人识别码;
第二验证单元,用于对所述个人识别码进行验证,如果所述个人识别码通过验证,通过所述发送单元将证书数据、数字签名以及离线端公钥发送至联网端;
第二输出单元,用于如果所述个人识别码未通过验证,输出个人识别码错误提示。
请参阅图7,本申请提供一种软硬结合的私钥验证系统,包括联网端1和离线端2,所述联网端1和所述离线端2通过所述联网端认证的物理接口互联。
所述联网端1,用于向离线端发送证书数据提取请求,接收离线端发送的证书数据、数字签名以及离线端公钥,将所述证书数据转化为哈希码,根据联网端公钥和所述哈希码,对所述数字签名进行验证,如果所述数字签名通过验证,生成随机码,将所述随机码发送至离线端,接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成,根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,如果所述随机数字签名通过验证,输出私钥通过验证提示;
所述离线端2,用于接收联网端发送的证书数据提取请求,将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证,如果所述数字签名通过验证,接收联网端生成并发送的随机码,根据所述随机码以及离线端存储的私钥,生成随机数字签名,将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
具体地,所述联网端1,还用于向离线端发送证书数据提取请求之前,显示用户密码输入界面,获取用户在所述用户密码输入界面输入的用户密码,对所述用户密码进行验证,如果所述用户密码通过验证,联网端向离线端发送证书数据提取请求,如果所述用户密码未通过验证,输出用户密码错误提示。
具体地,所述离线端2,还用于在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,显示个人识别码输入界面,获取用户在所述个人识别码输入界面输入的个人识别码,对所述个人识别码进行验证,如果所述个人识别码通过验证将证书数据、数字签名以及离线端公钥发送至联网端,如果所述个人识别码未通过验证,输出个人识别码错误提示。
具体地,所述联网端与所述离线端的通信信道加密,所述离线端的芯片内部数据加密,所述离线端的芯片字节以哈希散列混淆方式存储,并非连续存储在芯片上,即使获得到离线端硬件芯片读取出内部字节信息,也无法直接获取私钥,从而在最大程度上保护私钥信息。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的一种软硬结合的私钥验证方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-OnlyMemory,简称:ROM)或随机存储记忆体(英文:Random Access Memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于一种软硬结合的私钥验证装置以及系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (15)
1.一种软硬结合的私钥验证方法,应用于联网端,其特征在于,所述方法包括:
联网端向离线端发送证书数据提取请求;
联网端接收离线端发送的证书数据、数字签名以及离线端公钥;
联网端将所述证书数据转化为哈希码;
联网端根据联网端公钥和所述哈希码,对所述数字签名进行验证;
如果所述数字签名通过验证,联网端生成随机码;
联网端将所述随机码发送至离线端;
联网端接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成;
联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证;
如果所述随机数字签名通过验证,联网端输出私钥通过验证提示。
2.如权利要求1所述的方法,其特征在于,联网端向离线端发送证书数据提取请求之前,包括:
联网端显示用户密码输入界面;
联网端获取用户在所述用户密码输入界面输入的用户密码;
联网端对所述用户密码进行验证,如果所述用户密码通过验证,联网端向离线端发送证书数据提取请求;
如果所述用户密码未通过验证,联网端输出用户密码错误提示。
3.如权利要求1所述的方法,其特征在于,联网端根据联网端公钥和所述哈希码,对所述数字签名进行验证的步骤中,联网端通过运行椭圆曲线数字签名算法,根据联网端公钥和所述哈希码,对所述数字签名进行验证。
4.如权利要求1所述的方法,其特征在于,联网端运根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证的步骤中,联网端通过运行椭圆曲线数字签名算法,根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证。
5.一种软硬结合的私钥验证方法,应用于离线端,其特征在于,所述方法包括:
离线端接收联网端发送的证书数据提取请求;
离线端将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证;
如果所述数字签名通过验证,离线端接收联网端生成并发送的随机码;
离线端根据所述随机码以及离线端存储的私钥,生成随机数字签名;
离线端将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
6.如权利要求5所述的方法,其特征在于,在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,还包括:
离线端显示个人识别码输入界面;
离线端获取用户在所述个人识别码输入界面输入的个人识别码;
离线端对所述个人识别码进行验证,如果所述个人识别码通过验证,离线端将证书数据、数字签名以及离线端公钥发送至联网端;
如果所述个人识别码未通过验证,离线端输出个人识别码错误提示。
7.如权利要求5所述的方法,其特征在于,离线端根据所述随机码以及离线端存储的私钥,生成随机数字签名的步骤中,离线端通过运行椭圆曲线数字签名算法,根据所述随机码以及离线端存储的私钥,生成随机数字签名。
8.一种软硬结合的私钥验证装置,其特征在于,所述装置包括:
第一发送单元,用于向离线端发送证书数据提取请求;
第一接收单元,用于接收离线端发送的证书数据、数字签名以及离线端公钥;
第一转化单元,用于将所述证书数据转化为哈希码;
第一验证单元,用于根据联网端公钥和所述哈希码,对所述数字签名进行验证;
第一生成单元,用于如果所述数字签名通过验证,生成随机码;
所述第一发送单元,还用于将所述随机发送至离线端;
所述第一接收单元,还用于接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成;
所述第一验证单元,还用于根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证;
第一输出单元,用于如果所述随机数字签名通过验证,输出私钥通过验证提示。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
第一显示单元,用于在向离线端发送证书数据提取请求之前,显示用户密码输入界面;
第一获取单元,用于获取用户在所述用户密码输入界面输入的用户密码;
第一验证单元,用于对所述用户密码进行验证,如果所述用户密码通过验证,向离线端发送证书数据提取请求;
所述第一输出单元,还用于如果所述用户密码未通过验证,输出用户密码错误提示。
10.一种软硬结合的私钥验证装置,其特征在于,所述装置包括:
第二接收单元,用于接收联网端发送的证书数据提取请求;
第二发送单元,用于将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证;
所述第二接收单元,还用于如果所述数字签名通过验证,接收联网端生成并发送的随机码;
第二生成单元,用于根据所述随机码以及离线端存储的私钥,生成随机数字签名;
所述第二发送单元,还用于将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
第二显示单元,用于在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,显示个人识别码输入界面;
第二获取单元,用于获取用户在所述个人识别码输入界面输入的个人识别码;
所述第二验证单元,还用于对所述个人识别码进行验证,如果所述个人识别码通过验证,通过所述发送单元将证书数据、数字签名以及离线端公钥发送至联网端;
第二输出单元,用于如果所述个人识别码未通过验证,输出个人识别码错误提示。
12.一种软硬结合的私钥验证系统,其特征在于,包括联网端和离线端,所述联网端和所述离线端通过所述联网端认证的物理接口互联;
所述联网端,用于向离线端发送证书数据提取请求,接收离线端发送的证书数据、数字签名以及离线端公钥,将所述证书数据转化为哈希码,根据联网端公钥和所述哈希码,对所述数字签名进行验证,如果所述数字签名通过验证,生成随机码,将所述随机码发送至离线端,接收离线端发送的随机数字签名,其中,所述随机数字签名由离线端根据所述随机码以及离线端存储的私钥生成,根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,如果所述随机数字签名通过验证,输出私钥通过验证提示;
所述离线端,用于接收联网端发送的证书数据提取请求,将证书数据、数字签名以及离线端公钥发送至联网端,以使联网端将所述证书数据转化为哈希码,并根据联网端公钥和所述哈希码,对所述数字签名进行验证,如果所述数字签名通过验证,接收联网端生成并发送的随机码,根据所述随机码以及离线端存储的私钥,生成随机数字签名,将所述随机数字签名发送至联网端,以使联网端根据所述离线端公钥和所述随机码,对所述随机数字签名进行验证,并在所述随机数字签名通过验证后,输出私钥通过验证提示。
13.如权利要求12所述的系统,其特征在于,所述联网端,还用于在向离线端发送证书数据提取请求之前,显示用户密码输入界面,获取用户在所述用户密码输入界面输入的用户密码,对所述用户密码进行验证,如果所述用户密码通过验证,联网端向离线端发送证书数据提取请求,如果所述用户密码未通过验证,输出用户密码错误提示。
14.如权利要求12所述的系统,其特征在于,所述离线端,还用于在离线端将证书数据、数字签名以及离线端公钥发送至联网端之前,显示个人识别码输入界面,获取用户在所述个人识别码输入界面输入的个人识别码,对所述个人识别码进行验证,如果所述个人识别码通过验证将证书数据、数字签名以及离线端公钥发送至联网端,如果所述个人识别码未通过验证,输出个人识别码错误提示。
15.如权利要求12所述的系统,其特征在于,所述联网端与所述离线端的通信信道经过加密,所述离线端的芯片内部数据经过加密,所述离线端的芯片字节以哈希散列混淆方式存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836031.9A CN109067544A (zh) | 2018-07-26 | 2018-07-26 | 一种软硬结合的私钥验证方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836031.9A CN109067544A (zh) | 2018-07-26 | 2018-07-26 | 一种软硬结合的私钥验证方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109067544A true CN109067544A (zh) | 2018-12-21 |
Family
ID=64836687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810836031.9A Pending CN109067544A (zh) | 2018-07-26 | 2018-07-26 | 一种软硬结合的私钥验证方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067544A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661797A (zh) * | 2019-09-23 | 2020-01-07 | 深圳传音控股股份有限公司 | 一种数据保护方法、终端、以及计算机可读存储介质 |
CN111082927A (zh) * | 2019-11-07 | 2020-04-28 | 贵州警察学院 | 一种私钥管理方法、装置及终端设备 |
CN112100580A (zh) * | 2020-08-13 | 2020-12-18 | 宁波吉利汽车研究开发有限公司 | 一种小内存控制器的验签方法、装置及介质 |
CN112529588A (zh) * | 2020-12-30 | 2021-03-19 | 楚天龙股份有限公司 | 防止硬件钱包被恶意配对的方法及装置 |
CN112585549A (zh) * | 2020-02-29 | 2021-03-30 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
-
2018
- 2018-07-26 CN CN201810836031.9A patent/CN109067544A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661797A (zh) * | 2019-09-23 | 2020-01-07 | 深圳传音控股股份有限公司 | 一种数据保护方法、终端、以及计算机可读存储介质 |
CN110661797B (zh) * | 2019-09-23 | 2024-05-03 | 深圳传音控股股份有限公司 | 一种数据保护方法、终端、以及计算机可读存储介质 |
CN111082927A (zh) * | 2019-11-07 | 2020-04-28 | 贵州警察学院 | 一种私钥管理方法、装置及终端设备 |
CN111082927B (zh) * | 2019-11-07 | 2023-12-12 | 贵州警察学院 | 一种私钥管理方法、装置及终端设备 |
CN112585549A (zh) * | 2020-02-29 | 2021-03-30 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
CN112585549B (zh) * | 2020-02-29 | 2022-05-31 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
CN112100580A (zh) * | 2020-08-13 | 2020-12-18 | 宁波吉利汽车研究开发有限公司 | 一种小内存控制器的验签方法、装置及介质 |
CN112100580B (zh) * | 2020-08-13 | 2022-08-02 | 宁波吉利汽车研究开发有限公司 | 一种小内存控制器的验签方法、装置及介质 |
CN112529588A (zh) * | 2020-12-30 | 2021-03-19 | 楚天龙股份有限公司 | 防止硬件钱包被恶意配对的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102044751B1 (ko) | 블록체인 기반 사용자 인증에 따른 보상을 제공하는 방법 | |
CN110692214B (zh) | 用于使用区块链的所有权验证的方法和系统 | |
US8924714B2 (en) | Authentication with an untrusted root | |
CN109067544A (zh) | 一种软硬结合的私钥验证方法、装置及系统 | |
CN101765996B (zh) | 用于远程认证和交易签名的装置和方法 | |
CN110337797A (zh) | 用于执行双因素认证的方法 | |
RU2018105186A (ru) | Верификация портативных потребительских устройств | |
CN106161359A (zh) | 认证用户的方法及装置、注册可穿戴设备的方法及装置 | |
CA2914956C (en) | System and method for encryption | |
CN106060078B (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN112733178B (zh) | 基于数字证书认证的跨链信任方法、装置、设备以及介质 | |
US9065806B2 (en) | Internet based security information interaction apparatus and method | |
CN110401615A (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
KR100939725B1 (ko) | 모바일 단말기 인증 방법 | |
CN103546289A (zh) | 一种基于USBKey的安全传输数据的方法及系统 | |
CN108229938A (zh) | 一种数字货币钱包开通的方法和系统 | |
CN110290134A (zh) | 一种身份认证方法、装置、存储介质及处理器 | |
CN105791277B (zh) | 一种身份认证的方法 | |
CN101739622A (zh) | 一种可信支付计算机系统 | |
CN101527634A (zh) | 账户信息与证书绑定的系统和方法 | |
WO2012034339A1 (zh) | 一种实现网络支付的方法及移动终端 | |
CN107948186A (zh) | 一种安全认证方法及装置 | |
CN105071941B (zh) | 分布式系统节点身份认证方法及装置 | |
CN110431803A (zh) | 基于身份信息管理加密密钥 | |
CN107294988A (zh) | 一种基于银行身份信息和eID的身份验证方法及其系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |