文件签名系统及方法

文档序号:10512618阅读:422来源:国知局
文件签名系统及方法
【专利摘要】本发明涉及数据安全领域领域,公开了一种文件签名系统及方法,其中,该系统包括:加密服务器,被配置成存储加密密钥;签名客户端,被配置成根据待加密的文件生成加密信息,以及将所生成的加密信息发送至所述加密服务器;所述加密服务器,被配置成在接收到所述加密信息之后,根据所述加密密钥生成散列并发送回所述签名客户端;以及所述签名客户端被配置成根据所述散列对所述待加密文件签名。通过上述技术方案,利用加密服务器保存加密密钥,能够有效防止秘钥外泄,提高签名的安全性。
【专利说明】
文件签名系统及方法
技术领域
[0001]本发明涉及数据安全领域,具体地,涉及一种文件签名系统及方法。
【背景技术】
[0002]为了确保数据传输的安全性,不得不采取一系列的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等。其中数字签名就是实现网上交易安全的核心技术之一,它可以保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性等。
[0003]数字签名在IS07498—2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。
[0004]数字签名要实现的功能是我们平常的手写签名要实现功能的扩展。平常在书面文件上签名的主要作用有两点,一是因为对自己的签名本人难以否认,从而确定了文件已被自己签署这一事实;二是因为自己的签名不易被别人模仿,从而确定了文件是真的这一事实。采用数字签名,也能完成这些功能:
[0005](I)确认信息是由签名者发送的;
[0006](2)确认信息自签名后到收到为止,未被修改过;
[0007](3)签名者无法否认信息是由自己发送的。
[0008]数字签名的技术基础是公钥密码技术。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
[0009]数字签名是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Gui I 1u-Qu isquar ter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。
[0010]虽然利用数字签名可以验证签名者的身份。然而,在现有技术中,由于采用公钥加密私钥解密的加解密方式,仍然存在从加密文件中利用加密规则获取代码的风险,降低了加密文件的安全性。
[0011]针对上述技术问题,现有技术中尚无良好解决方案。

【发明内容】

[0012]本发明的目的是提供一种方法及系统,该方法及系统提供新的文件签名方式,提高加密文件的安全性。
[0013]为了实现上述目的,本发明提供一种文件签名系统,该系统包括:
[0014]加密服务器,被配置成存储加密密钥;
[0015]签名客户端,被配置成根据待加密的文件生成加密信息,以及将所生成的加密信息发送至所述加密服务器;
[0016]所述加密服务器,被配置成在接收到所述加密信息之后,根据所述加密密钥生成散列并发送回所述签名客户端;以及
[0017]所述签名客户端被配置成根据所述散列对所述待加密文件签名。
[0018]进一步地,所述签名客户端被配置成,编译所述待加密的文件为二进制文件;以及根据所述二进制文件生成所述加密信息。
[0019]进一步地,所述加密信息为所述二进制文件的信息摘要。
[0020]进一步地,所述信息摘要为MD5码。
[0021 ]进一步地,所述签名客户端被配置成,将所述散列添加在所述待加密文件后部,实现对所述待加密文件签名。
[0022]进一步地,所述加密服务器和所述签名客户端通过应用程序接口 API通信。
[0023]本发明的另一个方面,提供了一种文件签名方法,该方法包括:
[0024]根据待加密的文件生成加密信息;
[0025]将所生成的加密信息发送至加密服务器;
[0026]所述加密服务器在接收到所述加密信息之后,根据加密密钥生成散列;以及
[0027]根据所述散列对所述待加密文件签名。
[0028]进一步地,该方法还包括:
[0029]编译所述待加密的文件为二进制文件;以及
[0030]根据所述二进制文件生成所述加密信息。
[0031]进一步地,所述加密信息为所述二进制文件的信息摘要。
[0032]进一步地,所述信息摘要为MD5码。
[0033]进一步地,该方法还包括:
[0034]将所述散列添加在所述待加密文件后部,实现对所述待加密文件签名。
[0035]通过上述技术方案,利用加密服务器保存加密密钥,能够有效防止秘钥外泄,提高签名的安全性。
[0036]本发明的其它特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0037]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0038]图1是本发明实施方式提供的一种文件签名系统结构图;
[0039]图2是本发明实施方式提供的一种文件签名方法流程图。
[0040]附图标记说明
[0041]I加密服务器;2签名客户端。
【具体实施方式】
[0042]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0043]图1是本发明实施方式提供的一种文件签名系统结构图。如图1所示,本发明提供一种文件签名系统,该系统可以包括:
[0044]加密服务器I,被配置成存储加密密钥;
[0045]签名客户端2,被配置成根据待加密的文件生成加密信息,以及将所生成的加密信息发送至所述加密服务器I;
[0046]所述加密服务器I,被配置成在接收到所述加密信息之后,根据所述加密密钥生成散列并发送回所述签名客户端2;以及
[0047]所述签名客户端2被配置成根据所述散列对所述待加密文件签名。
[0048]通过上述技术方案,利用加密服务器保存加密密钥,能够有效防止秘钥外泄,提高签名的安全性。
[0049]本领域技术人员可以理解,加密服务器的作用在于存储加密密钥以及根据加密密钥生成散列。加密服务器为了实现上述作用,需要具有存储和处理运算功能。在实施方式中,加密服务器的构成可以包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
[0050]在实施方式中,签名客户端可以是签名客户端程序,或者是安装了签名应用的终端或移动终端。这样的终端的例子包括但不限于个人电脑、手机、平板电脑以及个人数字助理(I3DA)等。
[0051]在优选的实施方式中,签名客户端可以被配置成,编译所述待加密的文件为二进制文件;以及根据所述二进制文件生成所述加密信息。在这样的实施方式中,要求签名客户端具有编译能力,即能够将某一种程序设计语言写的程序翻译成等价的另一种语言的程序。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识I和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
[0052]编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。
[0053]在实施方式中,根据所述二进制文件生成所述加密信息,其中加密信息可以是所述二进制文件的信息摘要,例如,MD5码。
[0054]在实施方式中,用于确保信息传输完整一致的MD5码,是计算机广泛使用的杂凑算法之一(又称为摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
[0055]MD5算法具有以下特点:
[0056]1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
[0057]2、容易计算:从原数据计算出MD5值很容易。
[0058]3、抗修改性:对原数据进行任何改动,哪怕只修改I个字节,所得到的MD5值都有很大区别。
[0059]4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
[0060]MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
[0061]在优选的实施方式中,所述签名客户端还可以被配置成,将所述散列添加在所述待加密文件后部,实现对所述待加密文件签名。其中,此实施方式中的待加密文件为二进制代码的形式,散列(例如,哈希码)的内容可以直接加载二进制代码之后,以实现对待加密文件的签名。
[0062]在实施方式中,所述加密服务器I和所述签名客户端2可以通过网络(例如,有线网络或无线网络)通过应用程序接口 API通信。其中,API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
[0063]AP1主要具有两种类型:
[0064]Windows API
[0065]API函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。这在某种程度上很像Windows的天然代码。而其他的语言只是提供一种能自动而且更容易的访问API的方法。当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。
[0066]更易理解来说=Windows系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时他也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为Applicat1n Programming Interface,简称API函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。
[0067]凡是在Windows工作环境底下执行的应用程序,都可以调用Windows API。
[0068]linux API
[0069]在linux中,用户编程接口API遵循了UNIX中最流行的应用编程界面标准一POSIX标准。POSIX标准是由IEEE和IS0/IEC共同开发的标准系统。该标准基于当时现有的UNIX实践和经验,描述了操作系统的系统调用编程接口 API,用于保证应用程序可以在源程序一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(LIBC)来实现的。
[0070]图2是本发明实施方式提供的一种文件签名方法流程图。如图2所示,本发明的另一个方面,提供了一种文件签名方法,该方法包括:
[0071]根据待加密的文件生成加密信息;
[0072]将所生成的加密信息发送至加密服务器;
[0073]所述加密服务器在接收到所述加密信息之后,根据加密密钥生成散列;以及
[0074]根据所述散列对所述待加密文件签名。
[0075]上述方法可以在图1中提供的文件签名系统中实施。在实施方式中,该方法还可以包括:编译所述待加密的文件为二进制文件;以及根据所述二进制文件生成所述加密信息。该方法还可以包括:将所述散列添加在所述待加密文件后部,实现对所述待加密文件签名。
[0076]本发明提供的文件签名方法与系统,采用专用的加密服务器存储密钥,具有防止密钥外泄、提高签名的安全性的技术效果。
[0077]以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0078]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0079]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【主权项】
1.一种文件签名系统,其特征在于,该系统包括: 加密服务器,被配置成存储加密密钥; 签名客户端,被配置成根据待加密的文件生成加密信息,以及将所生成的加密信息发送至所述加密服务器; 所述加密服务器,被配置成在接收到所述加密信息之后,根据所述加密密钥生成散列并发送回所述签名客户端;以及 所述签名客户端被配置成根据所述散列对所述待加密文件签名。2.根据权利要求1所述的文件签名系统,其特征在于,所述签名客户端被配置成,编译所述待加密的文件为二进制文件;以及 根据所述二进制文件生成所述加密信息。3.根据权利要求2所述的文件签名系统,其特征在于,所述加密信息为所述二进制文件的信息摘要。4.根据权利要求3所述的文件签名系统,其特征在于,所述信息摘要为MD5码。5.根据权利要求1所述的文件签名系统,其特征在于,所述签名客户端被配置成,将所述散列添加在所述待加密文件后部,实现对所述待加密文件签名。6.根据权利要求1所述的文件签名系统,其特征在于,所述加密服务器和所述签名客户端通过应用程序接口 API通信。7.一种文件签名方法,其特征在于,该方法包括: 根据待加密的文件生成加密信息; 将所生成的加密信息发送至加密服务器; 所述加密服务器在接收到所述加密信息之后,根据加密密钥生成散列;以及 根据所述散列对所述待加密文件签名。8.根据权利要求7所述的文件签名方法,其特征在于,该方法还包括: 编译所述待加密的文件为二进制文件;以及 根据所述二进制文件生成所述加密信息。9.根据权利要求8所述的文件签名方法,其特征在于,所述加密信息为所述二进制文件的信息摘要。10.根据权利要求9所述的文件签名方法,其特征在于,所述信息摘要为MD5码。11.根据权利要求7所述的文件签名方法,其特征在于,该方法还包括: 将所述散列添加在所述待加密文件后部,实现对所述待加密文件签名。
【文档编号】G06F21/62GK105868647SQ201610183197
【公开日】2016年8月17日
【申请日】2016年3月28日
【发明人】罗汉彬, 王希颋
【申请人】乐视控股(北京)有限公司, 乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1