技术领域
[0001] 本
发明涉及数字钱包技术领域,尤其涉及一种隔离数字钱包的升级方法、系统、冷钱包及热钱包。
背景技术
[0002]
数字货币的好处包括提高效率、降低成本、增强金融安全等。
[0003] 随着央行基于
区块链技术发行的法定
数字货币试运行,数字货币的安全管理成了行业中重点关注点。目前越来越多的人采用非联网冷钱包来管理数字货币,但现在非联网的冷钱包一般存在着如下问题:
[0004] 大部分非联网冷钱包
软件无法更新,没有让钱包做到很好的扩展性,满足不了数字货币发展的要求。
[0005] 有小部分非联网冷钱包支持通过插入SD卡的方式来支持软件更新,这种方式存在如下问题:
[0006] 用户操作极不方便:需要用户手动下载升级包到SD卡,然后将SD卡插入非联网冷钱包来升级。
[0007] 极度不安全:在以上操作过程中,有太多漏洞可以被黑客利用,将病毒植入到SD卡,然后植入到非联网钱包里,从而获得用户钱包交易密钥,盗走其数字货币。
发明内容
[0009] 鉴于上述现有技术的不足之处,本发明的目的在于提出一种隔离数字钱包的升级方法、系统、冷钱包及热钱包,旨在使得管理数字货币的冷钱包能快捷方便的进行软件升级,同时保证升级过程中的安全性。
[0010] 为实现上述目的,本发明采取了以下技术方案:
[0011] 一种隔离数字钱包的升级方法,其中,应用于非联网的冷钱包、联网的热钱包及后台
服务器组成的系统,所述升级方法包括如下步骤:
[0012] S10,后台服务器对升级包文件进行加密封装生成加密升级文件和MD5值;
[0013] S20,热钱包从后台服务器下载所述加密升级文件和获取所述MD5值,并对加密升级文件进行一致性验证,验证通过则保存加密升级文件和MD5值;
[0014] S30,冷钱包通过近场感应通信接收热钱包发送的所述加密升级文件和MD5值,并且对所述加密升级文件执行解析和解密验证,验证通过后使用所述升级包文件进行升级。
[0015] 其中,所述后台服务器对升级包文件进行加密封装包括如下步骤:
[0016] S11,将升级包文件采用对称加密
算法生成初始加密升级文件并同步生成初始加密升级文件MD5值;
[0017] S12,获取升级包文件大小值及初始加密升级文件大小值;
[0018] S13,将升级包文件大小值和初始加密升级文件大小值以定长字节插入到初始加密升级文件的文件头
位置,生成加密升级文件。
[0019] 其中,所述将升级包文件大小值和初始加密升级文件大小值以定长字节插入到初始加密升级文件的文件头位置,生成加密升级文件具体包括:将固定字节长度的初始加密升级文件大小值加固定字节长度升级包文件大小值插入到初始加密升级文件的文件头位置,合成为加密升级文件。
[0020] 其中,所述热钱包从后台服务器下载加密升级文件和获取所述MD5值,对加密升级文件进行验证包括如下步骤:
[0021] S21,将加密升级文件从文件头位置将升级包文件大小值和初始加密升级文件大小值的定长字节进行切割,形成切割头文件和切割加密升级文件;
[0022] S22,从所述切割头文件获取初始加密升级文件大小值;
[0023] S23,比较所述初始加密升级文件大小值和切割加密升级文件大小,并校验初始加密升级文件的MD5值和切割加密升级文件的MD5值;
[0024] S24,如果文件大小及MD5值完全一致则返回成功并保存加密升级文件和MD5值,否则返回失败。
[0025] 其中,所述冷钱包通过近场感应通信接收热钱包发送的所述加密升级文件和MD5值,并且对所述加密升级文件执行解析和解密验证,包括如下步骤:
[0026] S31,将加密升级文件从文件头位置将升级包文件大小值和初始加密升级文件大小值的定长字节进行切割,形成切割头文件和切割加密升级文件;
[0027] S32,从所述切割头文件获取初始加密升级文件大小值和升级包文件大小值;
[0028] S33,比较所述初始加密升级文件大小值和切割加密升级文件大小,并校验初始加密升级文件的MD5值和切割加密升级文件的MD5值;
[0029] S34,如果文件大小及MD5值完全一致则采用对称加密算法的解密私钥来解密文件,并比较升级包文件大小值和解密后升级包文件大小;
[0030] S35,如果完全一致则将解密后的升级包文件放置到安装目录完成冷钱包的软件更新升级,如果不一致则删除所收到的加密升级文件。
[0031] 本发明还提出一种隔离数字钱包的升级系统,其中,
[0032] 包括非联网的冷钱包、联网的热钱包和后台服务器,冷钱包与热钱包均设置有近场感应模块用于冷钱包与热钱包的近场感应通信,热钱包与后台服务器连接;
[0033] 所述后台服务器用于对升级包文件进行加密封装生成加密升级文件和MD5值;
[0034] 所述热钱包用于从后台服务器下载所述加密升级文件和获取所述MD5值,并对加密升级文件进行一致性验证,验证通过则保存加密升级文件和MD5值;
[0035] 所述冷钱包用于通过近场感应通信接收热钱包发送的所述加密升级文件和MD5值,并且对所述加密升级文件执行解析和解密验证,验证通过后使用所述升级包文件进行升级。
[0036] 本发明还提出一种冷钱包,其中,所述冷钱包包括第一主控模块、与第一主控模块连接的第一近场感应模块,所述第一近场感应模块接收热钱包发送的加密升级文件和MD5值,所述第一主控模块对所述加密升级文件执行解析和解密验证,验证通过后使用所述升级包文件进行升级。
[0037] 本发明还提出一种热钱包,其中,所述热钱包包括第二主控模块、与第二主控模块连接的通信模块和第二近场感应模块,所述通信模块将热钱包接入网络与后台服务器连接,从后台服务器下载所述加密升级文件和获取所述MD5值;
[0038] 所述第二主控模块对从后台服务器下载的加密升级文件和MD5值进行一致性验证;
[0039] 所述第二近场感应模块用于向冷钱包发送验证通过后的加密升级文件和MD5值。
[0040] 本发明的隔离数字钱包的升级方法、系统、冷钱包及热钱包,通过将后台服务器加密封装后的加密升级文件和MD5值下载至热钱包,热钱包经过验证后通过近场感应通信发送至冷钱包,冷钱包对加密升级文件执行解析和解密验证,验证通过后使用升级包文件进行升级,这样,冷钱包是处在不联网的状态,通过近场感应进行隔离升级,保证了冷钱包的安全性,同时,升级包文件经过加密封装,保证了升级文件的安全性,使得冷钱包的软件升级操作方便且安全。
附图说明
[0041] 为了更清楚地说明本发明
实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0042] 图1为本发明隔离数字钱包的升级系统组成示意图;
[0043] 图2为本发明隔离数字钱包的升级方法第一实施方式流程示意图;
[0044] 图3为本发明升级包文件加密封装的流程示意图;
[0045] 图4为本发明热钱包对加密升级文件进行一致性验证的流程示意图;
[0046] 图5为本发明冷钱包的加密升级文件执行解析和解密验证的流程示意图;
[0047] 图6为本发明冷钱包第一实施方式的组成示意图;
[0048] 图7为本发明热钱包第一实施方式的组成示意图;
[0049] 附图标记说明:
[0050] 100-系统,40-冷钱包,41-第一主控模块,42-第一近场感应模块,50-热钱包,51-第二主控模块,52-通信模块,53-第二近场感应模块,60-后台服务器。
具体实施方式
[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 请参考图1,图1为隔离数字钱包的升级系统的组成图。
[0053] 本发明的隔离数字钱包的升级系统100包括非联网的冷钱包40、联网的热钱包50和后台服务器60,冷钱包40与热钱包50均设置有近场感应模块用于冷钱包40与热钱包50的近场感应通信,热钱包50与后台服务器60连接。
[0054] 所述后台服务器60用于对升级包文件进行加密封装生成加密升级文件和MD5值;
[0055] 所述热钱包50用于从后台服务器下60载所述加密升级文件和获取所述MD5值,并对加密升级文件进行一致性验证,验证通过则保存加密升级文件和MD5值;
[0056] 所述冷钱包40用于通过近场感应通信接收热钱包50发送的所述加密升级文件和MD5值,并且对所述加密升级文件执行解析和解密验证,验证通过后使用所述升级包文件进行升级。
[0057] 本发明实施例隔离数字钱包的升级系统100由于冷钱包40与热钱包50之间通过近场感应模块传输升级包文件数据,冷钱包40是处在不联网的状态,即冷钱包40没有与外部网络连接,这种方式保证了冷钱包40与热钱包50的分离,确保数字货币密钥不与网络
接触,这样既能满足冷钱包40软件升级的需求,又能保障数字货币的安全性。
[0058] 本发明实施例还提出一种隔离数字钱包的升级方法,应用于非联网的冷钱包、联网的热钱包及后台服务器组成的系统100,如图2所示,为本发明实施例隔离数字钱包的升级方法的流程,包括如下步骤:
[0059] S10,后台服务器60对升级包文件进行加密封装生成加密升级文件和MD5值;
[0060] S20,热钱包50从后台服务器60下载所述加密升级文件和获取所述MD5值,并对加密升级文件进行一致性验证,验证通过则保存加密升级文件和MD5值;
[0061] S30,冷钱包40通过近场感应通信接收热钱包50发送的所述加密升级文件和MD5值,并且对所述加密升级文件执行解析和解密验证,验证通过后使用所述升级包文件进行升级。
[0062] 本发明实施例的隔离数字钱包的升级方法中,由于升级包文件经过后台服务器的加密封装,其在对热钱包、冷钱包的传输过程中都是加密状态,防止文件被窜改植入病毒木
马等,保证了升级文件的安全性。同时,冷钱包是处在不联网的状态,是通过与热钱包50的近场感应进行隔离升级,保证了冷钱包中数字货币不与网络接触,从而保证了冷钱包中数字货币的安全性。即本发明实施例的隔离数字钱包的升级方法使得冷钱包的软件升级操作方便且安全。
[0063] 具体地,如图3所示,后台服务器60对升级包文件进行加密封装包括如下步骤:
[0064] S11,将升级包文件采用对称加密算法生成初始加密升级文件并同步生成初始加密升级文件MD5值;
[0065] S12,获取升级包文件大小值及初始加密升级文件大小值;
[0066] S13,将升级包文件大小值和初始加密升级文件大小值以定长字节插入到初始加密升级文件的文件头位置,生成加密升级文件。
[0067] 在加密升级文件中插入定长字节的升级包文件大小值和初始加密升级文件大小值以便于后续的验证。
[0068] 作为一实施方式,本发明升级包文件的加密封装如下:
[0069] 将升级包文件采用对称加密算法生成初始加密升级文件(.bsg)并同步生成初始加密升级文件(.bsg)MD5值;
[0070] 获取升级包文件大小值,记为UpdateFileSize,获取初始加密升级文件(.bsg)大小值,记为DecryptFileSize;
[0071] 将升级包文件大小值UpdateFileSize和初始加密升级文件大小值DecryptFileSize以定长字节插入到初始加密升级文件(.bsg)的文件头位置,生成新的加密升级文件(.BSG)。本发明实施例中的定长字节可以为每个大小值为2个字节或者每个大小值为4个字节等。UpdateFileSize、DecryptFileSize在加密升级文件(.BSG)文件头的位置可以是UpdateFileSize在前DecryptFileSize在后,或者UpdateFileSize在后DecryptFileSize在前。
[0072] 优选地,本发明实施例将升级包文件大小值和初始加密升级文件大小值以定长字节插入到初始加密升级文件的文件头位置,生成加密升级文件具体包括:将固定字节长度的初始加密升级文件大小值加固定字节长度升级包文件大小值插入到初始加密升级文件的文件头位置,合成为加密升级文件。
[0073] 即将升级包文件大小值UpdateFileSize和初始加密升级文件(.bsg)大小值DecryptFileSize各按固定字节长度的特定格式写入到.bsg文件的文件头位置,生成新的加密升级文件.BSG,即固定字节长度(DecryptFileSize)+固定字节长度(UpdateFileSize)+.bsg文件合成为新文件.BSG。
[0074] 如图4所示,本发明实施例的热钱包50从后台服务器60下载加密升级文件和获取所述MD5值,对加密升级文件进行验证包括如下步骤:
[0075] S21,将加密升级文件从文件头位置将升级包文件大小值和初始加密升级文件大小值的定长字节进行切割,形成切割头文件和切割加密升级文件;
[0076] 本实施例中可将加密升级文件.BSG从文件头位置将升级包文件大小值UpdateFileSize和初始加密升级文件大小值DecryptFileSize的定长字节进行切割,形成切割头文件.hbsg1和切割加密升级文件.bsg1。
[0077] S22,从所述切割头文件获取初始加密升级文件大小值;
[0078] 本实施例中从所述切割头文件.hbsg1获取初始加密升级文件大小值DecryptFileSize。
[0079] S23,比较所述初始加密升级文件大小值和切割加密升级文件大小,并校验初始加密升级文件的MD5值和切割加密升级文件的MD5值;
[0080] 本实施例中,比较初始加密升级文件.bsg大小值DecryptFileSize和切割加密升级文件.bsg1大小,并校验初始加密升级文件.bsg的MD5值和切割加密升级文件.bsg1的MD5值。
[0081] S24,如果文件大小及MD5值完全一致则返回成功并保存加密升级文件.BSG和MD5值,否则返回失败。
[0082] 本实施例中,如果初始加密升级文件.bsg大小值DecryptFileSize和切割加密升级文件.bsg1的大小相等,且初始加密升级文件.bsg的MD5值和切割加密升级文件.bsg1的MD5值也相等,则返回成功并保存后台服务器60下载的加密升级文件.BSG和从后台服务器获60取的MD5值,否则返回失败。
[0083] 本发明实施例热钱包50对后台服务器60下载加密升级文件进行验证保证了从后台服务器60下载升级包文件的安全性。
[0084] 如图5所示,本发明实施例中冷钱包40通过近场感应通信接收热钱包50发送的所述加密升级文件和MD5值,并且对所述加密升级文件执行解析和解密验证,包括如下步骤:
[0085] S31,将加密升级文件从文件头位置将升级包文件大小值和初始加密升级文件大小值的定长字节进行切割,形成切割头文件和切割加密升级文件;
[0086] S32,从所述切割头文件获取初始加密升级文件大小值和升级包文件大小值;
[0087] S33,比较所述初始加密升级文件大小值和切割加密升级文件大小,并校验初始加密升级文件的MD5值和切割加密升级文件的MD5值;
[0088] S34,如果文件大小及MD5值完全一致则采用对称加密算法的解密私钥来解密文件,并比较升级包文件大小值和解密后升级包文件大小;
[0089] S35,如果完全一致则将解密后的升级包文件放置到安装目录完成冷钱包的软件更新升级,如果不一致则删除所收到的加密升级文件。
[0090] 作为一实施方式,本发明冷钱包40对加密升级文件执行解析和解密验证如下:
[0091] 本实施例中冷钱包40将加密升级文件.BSG从文件头位置将升级包文件大小值UpdateFileSize和初始加密升级文件大小值DecryptFileSize的定长字节进行切割,形成切割头文件.hbsg2和切割加密升级文件.bsg2;
[0092] 从所述切割头文件.hbsg2获取初始加密升级文件大小值DecryptFileSize和升级包文件大小值UpdateFileSize;
[0093] 再比较初始加密升级文件.bsg大小值DecryptFileSize和切割加密升级文件.bsg2大小,并校验初始加密升级文件.bsg的MD5值和切割加密升级文件.bsg2的MD5值。
[0094] 如果初始加密升级文件.bsg大小值DecryptFileSize和切割加密升级文件.bsg2的大小相等,且初始加密升级文件.bsg的MD5值和切割加密升级文件.bsg2的MD5值也相等,则冷钱包40采用对称加密算法的解密私钥来解密文件,并比较升级包文件大小值UpdateFileSize和解密后升级包文件大小;
[0095] 如果升级包文件大小值UpdateFileSize和解密后升级包文件大小完全一致则将解密后的升级包文件放置到安装目录完成冷钱包的软件更新升级,如果不一致则删除所收到的加密升级文件.BSG。
[0096] 本发明实施例中冷钱包40对热钱包50通过近场感应发送的加密升级文件进行验证,能保证升级包文件在热钱包50与冷钱包40之间传输过程的安全性。
[0097] 请继续参考图6,本发明实施例还单独提出一种冷钱包40,冷钱包40包括第一主控模块41、与第一主控模块41连接的第一近场感应模块42,所述第一近场感应模块42接收热钱包50发送的加密升级文件和MD5值,所述第一主控模块41对所述加密升级文件执行解析和解密验证,验证通过后使用所述升级包文件进行升级。该实施例的冷钱包40与上述实施例描述的冷钱包40相同,故不再一一赘述。
[0098] 请继续参考图7,本发明实施例还单独提出一种热钱包50,热钱包50包括第二主控模块51、与第二主控模块51连接的通信模块52和第二近场感应模块53,所述通信模块51将热钱包50接入网络与后台服务器60连接,从后台服务器60下载所述加密升级文件和获取所述MD5值;所述第二主控模块51对从后台服务器60下载的加密升级文件和MD5值进行一致性验证;所述第二近场感应模块53用于向冷钱包40发送验证通过后的加密升级文件和MD5值。该实施例的热钱包50与上述实施例描述的热钱包50相同,故不再一一赘述。
[0099] 本发明的冷钱包40还包括
存储器、处理器及存储在所述存储器中并被配置为由所述处理器执行的
计算机程序,如隔离数字钱包的升级方法的程序,所述处理器执行所述计算机程序时,实现上述的方法。
[0100] 本发明的热钱包50还包括存储器、处理器及存储在所述存储器中并被配置为由所述处理器执行的计算机程序,如隔离数字钱包的升级方法的程序,所述处理器执行所述计算机程序时,实现上述的方法。
[0101] 示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述异步消息处理终端设备中的执行过程。
[0102] 所述冷钱包40、热钱包50可包括但不仅限于处理器、存储器。本领域技术人员可以理解,上述部件仅仅是冷钱包40、热钱包50的示例,并不构成对冷钱包40、热钱包50的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如冷钱包40、热钱包50还可以包括输入输出设备、网络接入设备、总线等。
[0103] 所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字
信号处理器(Digital Signal Processor,DSP)、专用集成
电路(Application Specific Integrated Circuit,ASIC)、现成可编程
门阵列(Field-Programmable Gate Array,FPGA)或者其他
可编程逻辑器件、分立门或者晶体管逻辑器件、分立
硬件组件等。通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是控制中心,利用各种
接口和线路连接整个设备的各个部分。
[0104] 所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储
操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速
随机存取存储器,还可以包括
非易失性存储器,例如
硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0105] 本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的方法。
[0106] 本发明的隔离数字钱包的升级方法集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。本发明计算机可读存储介质具体实施方式与上述隔离钱包的数字货币管理方法各实施例基本相同,在此不再赘述。
[0107] 需说明的是,以上所描述的实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0108] 以上所述仅为本发明的优选实施例,并非因此限制本发明的
专利范围,凡是在本发明的发明构思下,利用本发明
说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。