一种基于U盘的文件安全分发方法技术

技术编号:8683017 阅读:209 留言:0更新日期:2013-05-09 02:57
本发明专利技术涉及一种基于U盘的文件安全分发方法,以基于U盘芯片序列号的身份认证为基础,确认用户身份的合法性,使用自定义专用编码、MD5校验、二次加密等方法确保Excel文件的安全分发和使用。本发明专利技术在Excel文件分发与使用过程中,加强了对文件内容的保护以及用户身份的验证,使Excel文件能够更加安全可靠的分发和使用:绑定U盘芯片序列号而不是计算机硬盘序列号,U盘携带方便,用户可以在不同计算机上使用,更加易用。

【技术实现步骤摘要】

本专利技术属于一种Excel文件分发方法,具体涉及一种基于U盘的文件安全分发方法,特别是涉及一种安全保密的Excel文件分发。
技术介绍
随着计算机技术和互联网技术的高速发展,信息的数字化在信息的存储、处理、分析和挖掘等方面表现出了无可比拟的优势。同时,网上交易和传播电子文档、音乐、电影、图片、软件等数字内容越来越多,网络和多媒体逐渐成为人们获取和享受丰富内容的重要途径。但是,数字信息很容易被复制、修改、分发,特别是P2P技术的发展,网络上进行数字内容传播存在大量的盗版和侵权行为,这种行为以几何级数的速度消耗了潜在的用户资源,直接损害了信息版权所有者和合法经营者的应得利益。从而导致许多内容提供者不愿意把有价值的数字内容放在英特网上发布。非正常渠道、非法身份获取信息的便利与低廉,直接影响着信息产品的价格与市场,抑制和阻碍了信息价值的实现。传统的数字文件保护通常采用一些对称加密算法来加密文件,然后将密码明文告知文件接收者,这种方法操作起来相对简单,但是也有很多安全隐患:首先,当密码泄漏时,我们将无法保证实际查看到文件的人是合法的文件接收者;其次,如果多个合法的文件接收者采用相同的密码,我们将无法保证文件只被其中某个用户使用;最后,如果文件在传播中被修改,合法的文件接收者将无法正常解密并使用文件。为了防止数字文件的非法传播、使用和修改,需要对数字文件进行保护,并提供有效的用户身份认证机制和文件正确性检验机制。
技术实现思路
要解决的技术问题为了避免现有技术的不足之处,本专利技术提出一种基于U盘的文件安全分发方法,克服上述缺陷的Excel文件分发方法,防止因Excel文件分发过程不安全以及用户密码泄露所导致的数字文件非法传播、使用和修改,从而使文件分发和使用过程更加安全可靠。技术方案一种基于U盘的文件安全分发方法,其特征在于步骤如下:步骤1:用户注册,每个用户自定义用户密码Keyl ;步骤2:对原始Excel文件File进行自定义编码,生成专用格式文件Filel ;所述自定义编码格式如下:自定义编码为二进制码,每一位代表Excel文件中的信息,字符信息用ANSI编码,英文字符用单字节存储,中文用双子节存储;首先为Excel表格头信息:最开始4字节float型,表示表格总宽度;后续4字节float型,表示表格总高度;后续4字节int型,表示表格总行数;后续44字节int型,表示表格总列数。然后为单元格信息:后续4字节int型,表示单元格行号;后续4字节int型,表示单元格列号;后续I字节bool型,表示是否为合并单元格。如果该bool型数据为true,则:后续I字节bool型,表示是否是合并单元格的第一个单元格。如果该bool型数据为true,则:后续4字节float型,表示合并单元格的宽度;后续4字节float型,表示合并单元格的高度;后续4字节int型,表示合并单元格的行数;后续4字节int型,表示合并单元格的列数。后续4字节float型,表示单元格宽度;后续4字节float型,表示单元格高度;后续2字节short型,表示单元格内按字体划分的数据块数;如果该short型数据不为O,则:后续4字节int型,表示数据块长度,假设该int型数值为Cell_Length,则:后续Cell_Length个字节string型,表示数据块内容;后续I字节byte型,表示字体名所占字节数,假设该byte型数值为Name_Length,则:后续Name_Length个字节string型,表示字体名;后续I字节byte型,表示字体大小;后续4字节int型,表示字体颜色RGB值;后续I字节bool型,表示是否粗体;后续I字节bool型,表不是否斜体;后续I字节byte型,表示单元格横向对其方式;后续I字节byte型,表示单元格纵向对其方式;后续4字节int型,表示单元格背景颜色RGB值;步骤3:对专用格式文件Filel进行AES加密,生成密文文件Filel_ENC,密钥为Keyl ;步骤4:对原始Excel文件File进行MD5哈希,得到哈希值File_MD5 ;步骤5:用U盘芯片序列号做密钥对Keyl进行AES加密,得到Keyl_UID,然后将KeylJJID存储在U盘的系统扇区中,生成认证U盘UKey ;步骤6:将密文文件Filel_ENC及对应的原始文件哈希值File_MD5通过网络或其他途径分发给终端用户;步骤7:用户将认证U盘UKey连接到计算机,然后使用文件查看客户端打开密文文件Filel_ENC,文件查看客户端获取认证U盘UKey的芯片序列号并用其作为密钥对Keyl_UID进行AES解密,得到Key2 ;步骤8:如果Key2与用户输入的密码Key3相同,用Key2作为密钥对密文Filel_ENC进行AES解密,得到专用格式文件Filel’,否则客户端退出;步骤9:使用专用解码程序对Filel’进行解码,得到文件File’ ;步骤10:对 File,进行 MD5 哈希,得到 File,_MD5 ;步骤11:对比File_MD5和File’_MD5,当两个文件相同时,步骤6的分发正确;当两个文件不相同时,步骤6的分发错误。有益效果本专利技术提出的一种基于U盘的文件安全分发方法,以基于U盘芯片序列号的身份认证为基础,确认用户身份的合法性,使用自定义专用编码、MD5校验、二次加密等方法确保Excel文件的安全分发和使用。本专利技术在Excel文件分发与使用过程中,加强了对文件内容的保护以及用户身份的验证,使Excel文件能够更加安全可靠的分发和使用:I)由于对Excel文件进行了专用编码,而不是通用格式,即使非法用户获得了编码后的文件也无法使用通用的解码程序解码。2)使用绑定U盘序列号的方法进行用户身份认证,增强了身份认证的可靠性,即使非法用户获得了注册用户的密码,没有认证U盘,依然无法解密和解码Excel文件。3)采用双重认证,将认证U盘中解密出的用户密码与用户输入的密码进行对比,进一步加强了用户认证的可靠性,只有同时获得认证U盘与用户密码才能被认定为合法用户。4)绑定U盘芯片序列号而不是计算机硬盘序列号,U盘携带方便,用户可以在不同计算机上使用,更加易用。附图说明图1为基于U盘的文件安全分发方法的步骤;图2为基于U盘的文件安全分发方法的结构图。具体实施例方式现结合实施例、附图对本专利技术作进一步描述:根据图2的为基于U盘的文件安全分发方法的结构图可看出:I)用户管理。管理用户信息,只有注册用户才能正常使用Excel文件。2)数据导出。采用专用编码方式对原始Excel文件进行重新编码,生成自定义格式的文件。3)文件加密。使用注册用户的密码作为密钥对Excel文件内容进行加密,生成密文文件。对Excel文件内容进行MD5哈希,并将得到的MD5值加密。4)认证U盘制作。使用U盘芯片序列号作为密钥对注册用户的用户密码进行再次加密,把得到的密文存放在U盘的系统扇区中,制成认证U盘。5)客户端软件。检测用户认证U盘的合法性,从而对用户身份进行认证;对比用户输入的密码与认证U盘中解密出的密码是否一致,加强对Excel文件的保护;对分发给用户的文件进行解密;使用专用解码程序解码专用格式的文件得到原始Excel文件。图1为基于U盘的文件安全分发本文档来自技高网...

【技术保护点】
一种基于U盘的文件安全分发方法,其特征在于步骤如下:步骤1:用户注册,每个用户自定义用户密码Key1;步骤2:对原始Excel文件File进行自定义编码,生成专用格式文件File1;所述自定义编码格式如下:自定义编码为二进制码,每一位代表Excel文件中的信息,字符信息用ANSI编码,英文字符用单字节存储,中文用双子节存储;首先为Excel表格头信息:最开始4字节float型,表示表格总宽度;后续4字节float型,表示表格总高度;后续4字节int型,表示表格总行数;后续44字节int型,表示表格总列数。然后为单元格信息:后续4字节int型,表示单元格行号;后续4字节int型,表示单元格列号;后续1字节bool型,表示是否为合并单元格。如果该bool型数据为true,则:后续1字节bool型,表示是否是合并单元格的第一个单元格。如果该bool型数据为true,则:后续4字节float型,表示合并单元格的宽度;后续4字节float型,表示合并单元格的高度;后续4字节int型,表示合并单元格的行数;后续4字节int型,表示合并单元格的列数。后续4字节float型,表示单元格宽度;后续4字节float型,表示单元格高度;后续2字节short型,表示单元格内按字体划分的数据块数;如果该short型数据 不为0,则:后续4字节int型,表示数据块长度,假设该int型数值为Cell_Length,则:后续Cell_Length个字节string型,表示数据块内容;后续1字节byte型,表示字体名所占字节数,假设该byte型数值为Name_Length,则:后续Name_Length个字节string型,表示字体名;后续1字节byte型,表示字体大小;后续4字节int型,表示字体颜色RGB值;后续1字节bool型,表示是否粗体;后续1字节bool型,表示是否斜体;后续1字节byte型,表示单元格横向对其方式;后续1字节byte型,表示单元格纵向对其方式;后续4字节int型,表示单元格背景颜色RGB值;步骤3:对专用格式文件File1进行AES加密,生成密文文件File1_ENC,密钥为Key1;步骤4:对原始Excel文件File进行MD5哈希,得到哈希值File_MD5;步骤5:用U盘芯片序列号做密钥对Key1进行AES加密,得到Key1_UID,然后将Key1_UID存储在U盘的系统扇区中,生成认证U盘UKey;步骤6:将密文文件File1_ENC及对应的原始文件哈希值File_MD5通过网络或其他途径分发给终端用户;步骤7:用户将认证U盘UKey连接到计算机,然后使用文件查看客户端打开密文文件File1_ENC,文件查看客户端获取认证U盘UKey的芯片序列号并用其作为密钥对Key1_UID进行AES解密,得到Key2;步骤8:如果Key2与用户输入的密码Key3相同,用Key2作为密钥对密文 File1_ENC进行AES解密,得到专用格式文件File1’,否则客户端退出;步骤9:使用专用解码程序对File1’进行解码,得到文件File’;步骤10:对File’进行MD5哈希,得到File’_MD5;步骤11:对比File_MD5和File’_MD5,当两个文件相同时,步骤6的分发正确;当两个文件不相同时,步骤6的分发错误。...

【技术特征摘要】
1.一种基于U盘的文件安全分发方法,其特征在于步骤如下: 步骤1:用户注册,每个用户自定义用户密码Keyl ; 步骤2:对原始Excel文件File进行自定义编码,生成专用格式文件Filel ;所述自定义编码格式如下:自定义编码为二进制码,每一位代表Excel文件中的信息,字符信息用ANSI编码,英文字符用单字节存储,中文用双子节存储; 首先为Excel表格头信息: 最开始4字节float型,表示表格总宽度; 后续4字节float型,表示表格总高度; 后续4字节int型,表示表格总行数; 后续44字节int型,表示表格总列数。然后为单元格信息: 后续4字节int型,表示单元格行号; 后续4字节int型,表示单元格列号; 后续I字节bool型,表示是否为合并单元格。如果该bool型数据为true,则: 后续I字节bool型,表示是否是合并单元格的第一个单元格。如果该bool型数据为true,则: 后续4字节float型,表示合并单元格的宽度; 后续4字节float型,表示合并单元格的高度; 后续4字节int型,表示合并单元格的行数; 后续4字节int型,表示合并单元格的列数。后续4字节float型,表示单元格宽度; 后续4字节float型,表示单元格高度; 后续2字节short型,表示单元格内按字体划分的数据块数;如果该short型数据不为0,则: 后续4字节int型,表示数据块长度,假设该int型数值为Cell_Length,则:后续Cell_Length个字节string型,表示数据块内容; 后续I字节byte型,表示字体名所占字节数,假设该byte型数值为Name_Length,则:后续Nam...

【专利技术属性】
技术研发人员:谷建华周兴社赵天海王云岚王川崔齐王涛李秀春
申请(专利权)人:西北工业大学
类型:发明
国别省市:

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

1