全文摘要
本发明涉及数据识别领域,特别是二维码技术。本发明提出一种基于二维码的文件获取方法,包括:步骤1:解析二维码,获得二维码编码数据,所述编码数据包括:第一唯一值,加密数据,签名数据;步骤2:验证签名数据;步骤3:解密加密数据,获得文件地址及第n数据段ln;步骤4:根据第n数据段ln及文件地址获取加密文件;步骤5:根据第一唯一值核验加密文件,获得解密文件。本发明解决了基于二维码存储获取数据时易篡改,安全性差的技术问题,实现安全可靠的信息保护。
主设计要求
1.一种基于二维码的文件获取方法,其特征在于,包括:步骤1:解析二维码,获得二维码编码数据,所述编码数据包括:第一唯一值,加密数据,签名数据;步骤2:验证签名数据;步骤3:若签名数据验证通过,则解密加密数据,获得加密文件地址及第n数据段ln,解析第n数据段ln获得所述加密文件的第n部An及位于服务器上的第n-1数据段ln-1的存储地址Sn-1;n为文件拆分后获得的数据段个数;步骤4:根据第n-i数据段ln-i的存储地址Sn-i获取所述加密文件的第n-i数据段ln-i,解析所述第n-i数据段ln-i,获得所述加密文件的第n-i部An-i及第n-(i+1)数据段ln-(i+1)的存储地址Sn-(i+1),i=1,2,3,……,n-2;根据第1数据段l1的存储地址S1获取所述加密文件的第1数据段,解析第1数据段获得所述加密文件的第1部A1;整合所述加密文件第1部A1至第n部An,获得加密文件;步骤5:根据第一唯一值核验加密文件,获得解密文件。
设计方案
1.一种基于二维码的文件获取方法,其特征在于,包括:
步骤1:解析二维码,获得二维码编码数据,所述编码数据包括:第一唯一值,加密数据,签名数据;
步骤2:验证签名数据;
步骤3:若签名数据验证通过,则解密加密数据,获得加密文件地址及第n数据段ln<\/sub>,解析第n数据段ln<\/sub>获得所述加密文件的第n部An<\/sub>及位于服务器上的第n-1数据段ln-1<\/sub>的存储地址Sn-1<\/sub>;n为文件拆分后获得的数据段个数;所述第n数据段由头部字符xn<\/sub>,及所述加密文件的第n部An<\/sub>拼接组成,所述xn<\/sub>包括位移T,所述解析第n数据段为映射头部字符xn<\/sub>获得第n-1存储地址Sn-1<\/sub>,所述头部字符xn<\/sub>与服务器存储地址一一对应,或利用预设的服务器存储地址与位移T的函数关系计算得到存储地址;
步骤4:根据第n-i数据段ln-i<\/sub>的存储地址Sn-i<\/sub>获取所述加密文件的第n-i数据段ln-i<\/sub>,解析所述第n-i数据段ln-i<\/sub>,获得所述加密文件的第n-i部An-i及第n-(i+1)数据段ln-(i+1)<\/sub>的存储地址Sn-(i+1)<\/sub>,i=1,2,3,……,n-2;根据第1数据段l1<\/sub>的存储地址S1<\/sub>获取所述加密文件的第1数据段,解析第1数据段获得所述加密文件的第1部A1<\/sub>;整合所述加密文件第1部A1<\/sub>至第n部An<\/sub>,获得加密文件;
步骤5:根据第一唯一值核验加密文件,获得解密文件。
2.一种如权利要求1所述的基于二维码的文件获取方法,其特征在于,所述步骤5包括:
步骤5.1:对加密文件做唯一值计算,获得加密文件的第二唯一值;
步骤5.2:对比第二唯一值与第一唯一值,若第二唯一值与第一唯一值相等,则解密加密文件,若第二唯一值与第一唯一值不等,则中止文件解密过程。
3.一种如权利要求1所述的基于二维码的文件获取方法,其特征在于,所述步骤2包括:
利用数字证书验证所述签名数据,若数字证书验证签名正确,则执行步骤3;若验证失败,则中止执行所述的基于二维码的文件获取方法。
4.一种二维码生成方法,其特征在于,包括:
步骤1:针对加密文件进行计算,获得第一唯一值;
步骤2:拆分加密文件,获得所述加密文件的第1部A1<\/sub>,第2部A2<\/sub>,至第n部An<\/sub>,将加密文件的第1部A1<\/sub>,第2部A2<\/sub>,至第n-1部An-1<\/sub>存储至服务器上的n-1个存储地址S1<\/sub>,S2<\/sub>,至Sn-1<\/sub>,并获得加密文件地址;
步骤3:针对第n数据段ln<\/sub>,及加密文件地址进行加密,获得加密数据;所述第n数据段ln<\/sub>为解析后获得位于服务器上的第n-1数据段的存储地址Sn-1<\/sub>及加密文件第n部An<\/sub>的数据段;所述第n数据段由头部字符xn<\/sub>,及所述加密文件的第n部An<\/sub>拼接组成,所述xn<\/sub>包括位移T,解析第n数据段为映射头部字符xn<\/sub>获得第n-1存储地址Sn-1<\/sub>,所述头部字符xn<\/sub>与服务器存储地址一一对应,或利用预设的服务器存储地址与位移T的函数关系计算得到存储地址;
步骤4:针对所述第一唯一值,及加密数据进行签名,获得签名数据;
步骤5:编码第一唯一值,加密数据,及签名数据形成二维码。
5.一种如权利要求4所述二维码生成方法,其特征在于,所述步骤1针对加密文件进行的计算包括:不可逆向获取数据信息算法,或密码散列函数算法。
6.一种如权利要求4所述二维码生成方法,其特征在于,所述步骤4包括,利用数字证书针对所述第一唯一值,加密数据进行签名。
7.一种基于二维码的文件获取设备,其特征在于,包括:
扫描解析单元,所述扫描解析单元用于获取并解析二维码,获得编码数据;
数据处理单元,所述数据处理单元用于根据编码数据获得加密数据,第一唯一值,签名数据;
数据解密单元,所述数据解密单元用于验证签名数据;
若签名数据验证通过,则解密加密数据,获得加密文件地址及第n数据段ln<\/sub>,解析第n数据段ln<\/sub>获得所述加密文件的第n部An<\/sub>及位于服务器上的第n-1数据段ln-1<\/sub>的存储地址Sn-1<\/sub>;n为文件拆分后获得的数据段个数;根据第n-i数据段ln-i<\/sub>的存储地址Sn-i<\/sub>获取所述加密文件的第n-i数据段ln-i<\/sub>,解析所述第n-i数据段ln-i<\/sub>,获得所述加密文件的第n-i部An-i<\/sub>及第n-(i+1)数据段ln-(i+1)<\/sub>的存储地址Sn-(i+1)<\/sub>,i=1,2,3,……,n-2;根据第1数据段l1<\/sub>的存储地址S1<\/sub>获取所述加密文件的第1数据段,解析第1数据段获得所述加密文件的第1部A1<\/sub>;
所述第n数据段由头部字符xn<\/sub>,及所述加密文件的第n部An<\/sub>拼接组成,所述xn<\/sub>包括位移T,所述解析第n数据段为映射头部字符xn<\/sub>获得第n-1存储地址Sn-1<\/sub>,所述头部字符xn<\/sub>与服务器存储地址一一对应,或利用预设的服务器存储地址与位移T的函数关系计算得到存储地址;
文件下载及组合单元,所述文件下载及组合单元用于根据加密文件地址下载加密文件;整合所述加密文件第1部A1<\/sub>,第2部A2<\/sub>,至第n部An<\/sub>,获得加密文件;
文件核验单元,所述文件核验单元用于核验加密文件。
8.一种如权利要求7所述基于二维码的文件获取设备,其特征在于,所述文件核验单元包括:
唯一值计算子单元,所述唯一值计算子单元针对加密文件进行唯一值计算,获得第二唯一值;
比较子单元,所述比较子单元用于比较第一唯一值与第二唯一值;若第二唯一值与第一唯一值相等,解密加密文件,若第二唯一值与第一唯一值不等,中止文件解密过程。
9.一种如权利要求7所述基于二维码的文件获取设备,其特征在于,所述数据解密单元利用数字证书验证签名数据,若验证不通过,则中止执行基于二维码的文件获取方法。
设计说明书
技术领域
本发明涉及软件方法领域,特别是二维码技术。
背景技术
现有技术对于二维码的使用,一般都是通过网络请求的形式达到相应的需求,而数据内容是存储在终端的。现有技术虽然可以实现很多功能,但是其信息的安全性是不可靠的。
首先,由于现有技术的二维码生成解析技术大都是公开技术,所以篡改二维码内的数据,改变其URL网络地址是相当容易实现的。这是现有技术中存在的弱点一,不法分子可以利用这点,让用户通过他们篡改的地址下载内容,以达到其非法目的。
再者,现在技术对于下载内容并没有做很好的安全性保护。一般都是下载什么内容,展示什么内容。这将产生一些列问题。第一,用户无法获得其需要的内容;第二,用户可能获取一些携带木马的内容。站在服务商角度,服务商可能在维护终端服务器时,导致数据错乱,导致用户获取了一些其他用户的信息,产生无法弥补的后果。
所以针对现有技术,设计一套安全的信息保护流程,使得信息在网络流通过程中不会出现误差,防止信息篡改,保证信息安全。
发明内容
本发明为解决现有技术存在的基于二维码存储获取数据时易篡改,安全性差的技术问题,实现安全可靠的信息保护,本发明提供一种基于二维码的文件获取方法,包括:
步骤1:解析二维码,获得二维码编码数据,所述编码数据包括:第一唯一值,加密数据,签名数据;
步骤2:验证签名数据;
步骤3:若签名数据验证通过,则解密加密数据,获得加密文件地址及第n数据段ln<\/sub>,解析第n数据段ln<\/sub>获得所述加密文件的第n部An<\/sub>及位于服务器上的第n-1数据段ln-1<\/sub>的存储地址Sn-1<\/sub>;n为文件拆分后获得的数据段个数;
步骤4:根据第n-i数据段ln-i<\/sub>的存储地址Sn-i<\/sub>获取所述加密文件的第n-i数据段ln-i<\/sub>,解析所述第n-i数据段ln-i<\/sub>,获得所述加密文件的第n-i部An-i<\/sub>及第n-(i+1)数据段ln-(i+1)<\/sub>的存储地址Sn-(i+1)<\/sub>,i=1,2,3,……,n-2;根据第1数据段l1<\/sub>的存储地址S1<\/sub>获取所述加密文件的第1数据段,解析第1数据段获得所述加密文件的第1部A1<\/sub>;整合所述加密文件第1部A1<\/sub>至第n部An<\/sub>,获得加密文件;
步骤5:根据第一唯一值核验加密文件,获得解密文件。
优选的,所述步骤5包括:
步骤5.1:对加密文件做唯一值计算,获得加密文件的第二唯一值;
步骤5.2:对比第二唯一值与第一唯一值,若第二唯一值与第一唯一值相等,则解密加密文件,若第二唯一值与第一唯一值不等,则中止文件解密过程。
优选的,所述步骤2包括:
利用数字证书验证所述签名数据,若数字证书验证签名正确,则执行步骤3;若验证失败,则中止执行所述的基于二维码的文件获取方法。
优选的,所述第n数据段由头部字符xn<\/sub>,及所述加密文件的第n部An<\/sub>拼接组成,所述xn<\/sub>包括位移T,所述解析第n数据段为映射头部字符xn<\/sub>获得第n-1存储地址Sn-1<\/sub>,所述头部字符xn<\/sub>与服务器存储地址一一对应,或利用预设的服务器存储地址与位移T的函数关系计算得到存储地址。
一种二维码生成方法,包括:
步骤1:针对加密文件进行计算,获得第一唯一值;
步骤2:拆分加密文件,获得所述加密文件的第1部A1<\/sub>,第2部A2<\/sub>,至第n部An<\/sub>,将加密文件的第1部A1<\/sub>,第2部A2<\/sub>,至第n-1部An-1存储至服务器上的n-1个存储地址S1<\/sub>,S2<\/sub>,至Sn-1<\/sub>,并获得加密文件地址;
步骤3:针对第n数据段ln<\/sub>,及加密文件地址进行加密,获得加密数据;所述第n数据段ln<\/sub>为解析后获得位于服务器上的第n-1数据段的存储地址Sn-1<\/sub>及加密文件第An<\/sub>部的数据段;
步骤4:针对所述第一唯一值,及加密数据进行签名,获得签名数据;
步骤5:编码第一唯一值,加密数据,及签名数据形成二维码。
优选的,所述步骤3针对文件进行的计算包括:不可逆向获取数据信息算法,或密码散列函数算法。
优选的,所述步骤4包括,利用数字证书针对所述第一唯一值,加密数据进行签名。
优选的,所述第n数据段由头部字符xn<\/sub>,及所述加密文件的第n部An<\/sub>拼接组成,所述xn<\/sub>包括位移T,所述解析第n数据段为映射头部字符xn<\/sub>获得第n-1存储地址Sn-1<\/sub>,所述头部字符xn<\/sub>与服务器存储地址一一对应,或利用预设的服务器存储地址与位移T的函数关系计算得到存储地址。
一种基于二维码的文件获取设备,包括:
扫描解析单元,所述扫描解析单元用于获取并解析二维码,获得编码数据;
数据处理单元,所述数据处理单元用于根据编码数据获得加密数据,第一唯一值,签名数据;
数据解密单元,所述数据解密单元用于验证签名数据;
若签名数据验证通过,则解密加密数据,获得加密文件地址及第n数据段ln<\/sub>,解析第n数据段ln<\/sub>获得所述加密文件的第n部An<\/sub>及位于服务器上的第n-1数据段ln-1<\/sub>的存储地址Sn-1<\/sub>;n为文件拆分后获得的数据段个数;根据第n-i数据段ln-i<\/sub>的存储地址Sn-i<\/sub>获取所述加密文件的第n-i数据段ln-i<\/sub>,解析所述第n-i数据段ln-i<\/sub>,获得所述加密文件的第n-i部An-i<\/sub>及第n-(i+1)数据段ln-(i+1)<\/sub>的存储地址Sn-(i+1)<\/sub>,i=1,2,3,……,n-2;根据第1数据段l1<\/sub>的存储地址S1<\/sub>获取所述加密文件的第1数据段,解析第1数据段获得所述加密文件的第1部A1<\/sub>;
文件下载及组合单元,所述文件下载单元用于根据加密文件地址下载加密文件;整合所述加密文件第1部A1<\/sub>,第2部A2<\/sub>,至第n部An<\/sub>,获得加密文件;
文件核验单元,所述文件核验单元用于核验加密文件。
优选的,所述文件核验单元包括:
唯一值计算子单元,所述唯一值计算子单元针对加密文件进行唯一值计算,获得第二唯一值;
比较子单元,所述比较子单元用于比较第一唯一值与第二唯一值;若第二唯一值与第一唯一值相等,解密加密文件,若第二唯一值与第一唯一值不等,中止文件解密过程。
优选的,所述数据解密单元利用数字证书验证签名数据,若验证通过,则执行步骤3,若验证不通过,则中止执行所述的基于二维码的文件获取方法。
优选的,所述第n数据段由头部字符xn<\/sub>,及所述加密文件的第n部An<\/sub>拼接组成,所述xn<\/sub>包括位移T,所述解析第n数据段为映射头部字符xn<\/sub>获得第n-1存储地址Sn-1<\/sub>,所述头部字符xn<\/sub>与服务器存储地址一一对应,或利用预设的服务器存储地址与位移T的函数关系计算得到存储地址。
本发明提供的一种基于二维码的文件获取方法及设备,二维码生成方法,将签名数据、唯一值与网址数据编码存储至二维码,灵活利用数据证书技术,唯一值核验技术,保证二维码内下载链接安全的同时,确保下载文档的可靠性。
附图说明
图1为本发明实施例一提供的二维码生成方法流程图
图2为本发明实施例二提供的基于二维码的文件获取方法流程图
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。
鉴于现有的方法存在的基于二维码存储获取数据时易篡改,安全性差的技术问题,本发明提供一种基于二维码的文件获取方法及设备、二维码生成方法。
实施例一
本实施例提供了一种二维码编码方法,如图1所示,步骤如下:
1.计算文件唯一值。唯一值为不可逆值,即无论如何都可能通过唯一值反向计算出文本内容。这可以保护文本信息不会泄露。唯一值的计算方法,可以为SHA-256,SM3等密码散列函数算法。
2.将文件转化为16位数据文件,并将拆分16位数据文件为n份,获得n个数据段,将上述数据段存放在服务区的n个位置。随机选择一个10以内的数字Y。
将第一头部文件00000000,和第一段数据段拼接获得第一数据组存放于第一数据区,计算第一数据区按照预设在本地或二维码里的函数关系计算获得位置x1<\/sub>,将位置参数x1<\/sub>与Y做函数关系获得第二头部文件,再将第二头部文件与第二数据段整合存放于第二数据区,计算第一数据区按照预设在本地或二维码里的函数关系计算获得位置x2<\/sub>,将文件的第三数据段存储至位置第三数据区……;直到第n段数据段长度不足32位时,保存数据表,将与xn-1<\/sub>相关的第n头部文件和剩下的末尾数据段数写入二维码的末段数据组。
获得网络地址,或者是该网络地址的映射地址。
上述文本存放的过程可以由用户自己上传,或者是由服务商代理完成。文本的类型可以为,图片,文字,视频,音频等可二进制化的信息文件。
3.将网络地址和末段数据组通过数字证书私钥加密,生成加密数据。
上述数字证书,可以是拥有国家数字证书执照的CA机构,也可以是服务商自己生产的数字证书。加密过程必须为证书私钥。这样可以保证解密设备上只含有证书公钥,不需要暴露私钥。
4.将唯一值A,加密数据,利用数字证书进行签名,生成签名信息。
5.将签名信息,唯一值A,加密数据,整合生成二维码。
本发明在二维码下载地址数据层面,及文档数据层面都加入了信息安全保护措施,可以有效的防止信息被篡改,防止文档被掉包修改等问题;本发明采用的拆分存储,且存储地址需经预设映射方式进行递进的计算获得的存储方式,可节约存储空间,有效保护文本信息,防止文件篡改。
实施例二
本实施例提供一种二维码生成方法及设备,如图2所示。
解码及解码设备内含有数字证书,具体包括:
1.扫描解析模块:捕捉二维码图像,并尝试解析,获得二维码内数据;
2.数据处理模块:分离二维码数据,获取加密数据,唯一值A,签名信息。
3.数据验证模块:利用数字证书验签二维码内获取信息的真实性。如果数字证书验签正确,则说明加密数据及唯一值A为有效信息,未被篡改过。如果数字证书验签错误,则说明二维码数据可能存在被篡改的风险,不再进行下一步操作。
数据解码模块:针对加密地址,利用数字证书进行数据解码,解码成功之后获得网络请求地址URL及写入二维码的末段数据组;分离末段数据组,获得末尾数据段及位于末段数据组头部的8位数据,根据预设的函数或对应表格处理上述8位数据获得倒数第二段的文件存储位置,从倒数第二段的存储位置获得该倒数第二段的数据组,倒数第二段数据段并分离获得对应该段的头部的8位数据,获得倒数第三段的存储位置,循环至获得文件的所有数据段。
4.下载文档模块:通过URL下载文档,获得位于所有位置的数据段组合为文件下载文档不允许立即打开,防止病毒威胁。
5.文件核验模块:对合并下载的多个数据段做唯一值处理,获得唯一值B,比对唯一值A和B。如果数据一致,说明获取的文档为当时存储的原始数据。如比对不一致,说明下载文档已被篡改,信息有误。或者下载文档可能为病毒,存在风险,不允许打开,保护用户使用安全。
解析流程包括:
解析二维码,获取二维码内的加密地址,唯一值A,签名信息;
数据信息验签;
加密信息解密,获得网址链接;
通过网址链接下载文档,计算文档唯一值B
对比唯一值A与唯一值B;
若AB不一致,证明文档存在风险,中止运行;若AB一致,证明下载文档为用户上传文档,可安全下载。
本发明将签名数据,以及计算获得的唯一值与网址一起编码至二维码内,灵活的运用数字证书技术,包括数字证书的加解密及延签技术,来保证信息的安全,通过唯一值的核验机制,利用相同数据经过唯一值运算之后,产生的值相同的原理,对比不同阶段下,相同信息的唯一值,从而证明信息是否被篡改,保证信息安全无泄漏。
综上所述,本发明的实施例提供的二维码的数据载体获取方法,具有以下有益效果:
(1)本发明利用二维码与数字证书的加解密和签名方法的结合,提高数据的安全性,有效防止数据防篡;
(2)本发明的二维码编码及解码流程中,通过验证数据可靠性的非对称性加密设置,来加强下载地址数据安全;
(3)本发明的二维码信息保护方法,可以在最终步骤验证文本信息的安全性,确保下载文本为初始上传文本,保证信息获取的一一对应性。
(4)本发明采用的拆分存储,且存储地址需经预设映射方式进行递进的计算获得的存储方式,可节约存储空间,有效保护文本信息,防止文件篡改。
以上所述的具体实施例,对本发明的目的,技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
设计图
相关信息详情
申请码:申请号:CN201910881097.4
申请日:2019-09-18
公开号:CN110391914A
公开日:2019-10-29
国家:CN
国家/省市:33(浙江)
授权编号:CN110391914B
授权时间:20191231
主分类号:H04L 9/32
专利分类号:H04L9/32;H04L29/06;G06K19/06
范畴分类:39B;
申请人:尤尼泰克(嘉兴)信息技术有限公司
第一申请人:尤尼泰克(嘉兴)信息技术有限公司
申请人地址:314515 浙江省嘉兴市桐乡市高桥街道高桥大道1156号桐乡科技创业园3号楼1604号
发明人:徐小雪;祝哲海;刘少磊;沈怡;罗年庆
第一发明人:徐小雪
当前权利人:尤尼泰克(嘉兴)信息技术有限公司
代理人:李明
代理机构:11226
代理机构编号:北京中知法苑知识产权代理事务所(普通合伙)
优先权:关键词:当前状态:审核中
类型名称:外观设计