用于文件加密的计算机系统及文件加密方法

文档序号:6587616阅读:174来源:国知局

专利名称::用于文件加密的计算机系统及文件加密方法
技术领域
:本发明涉及一种用于文件加密的计算机系统及文件加密方法。
背景技术
:传统的文件保护方法采用数字版权(DigitalRightsManagement:DRM)加上RAS、高级加密标准(AdvancedEncryptionStandard,AES)算法或数据加密算法(DataEncryptionAlgorithm,DEA)完成加密。具体的解决方案是通过绑定在文件本身上的原生编辑器置入不同的插件(Plugin)来保护该文件。由于文件的格式有很多种,例如,Word格式文件,联合图像专家组(JPEGJointPhotographicExpertsGroup)格式文件,便携式文件格式(PDF=PortableDocumentFormat)文件等,若要保护不同格式的文件,需要安装该文件对应的Plug-in,然而,每个Plug-in都需要单独授权,而授权的过程中可能会收取相关的授权费用,如此一来,增加用户的成本,且由于每种文件都需要单独处理,也进一步降低用户操作时的效率。
发明内容鉴于以上内容,有必要提供一种用于文件加密的计算机系统,其能够通过文件加密服务器对各种类型的文件进行加密,提高了文件加密的效率,降低了用户的成本。鉴于以上内容,还有必要提供一种文件加密的方法,其能够通过文件加密服务器对各种类型的文件进行加密,提高了文件加密的效率,降低了用户的成本。一种用于文件加密的计算机系统,该计算机系统包括接收模块,用于接收用户通过客户端发送过来的登陆请求,以启动对一个待加密文件的加密操作;判断模块,用于验证用户的CA证书是否合格;转换模块,用于当用户的CA证书合格时,将所述待加密文件转换成自有格式文件,所述自有格式文件是一种复合压缩格式文件;获取模块,用于向与该计算机系统相连的CA服务器发送查询请求,以获取用户的CA证书的公开金钥;生成模块,用于根据与该计算机系统内存储的随机函数,生成一个随机金钥;加密模块,用于通过该随机金钥将自有格式文件进行对称性加密;所述生成模块,还用于通过所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,以生成一个非对称性加密金钥;所述加密模块,还用于将非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头中,从而完成对待加密文件的加密操作。一种文件加密方法,该方法包括以下步骤(a)接收用户通过客户端发送过来的登陆请求,以启动对一个待加密文件的加密操作;(b)当用户的CA证书合格时,将所述待加密文件转换成自有格式文件,所述自有格式文件是一种复合压缩格式文件;(c)向CA服务器发送查询请求,以获取用户的CA证书的公开金钥;(d)根据存储的随机函数,生成一个随机金钥;(e)通过该随机金钥将自有格式文件进行对称性加密;(f)通过所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,以生成一个非对称性加密金钥;(g)将非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头中,从而完成对待加密文件的加密操作。相较于现有技术,所述的一种用于文件加密的计算机系统及文件加密方法,其能够通过文件加密服务器对各种类型的文件进行加密,提高了文件加密的效率,降低了用户的成本。图1是本发明用于文件加密的计算机系统的硬件架构图。图2是本发明图1中文件加密服务器较佳实施例的功能模块图。图3是本发明文件加密方法较佳实施例的流程图。图4是本发明图3中步骤S312的细化流程图。图5是本发明将待加密文件分割成不同区块的示意图。具体实施例方式如图1所示,是本发明用于文件加密的计算机系统的硬件架构图。该计算机系统包括至少一个客户端10、通过网络20与该至少一个客户端10相连的文件加密服务器30及数字证书(CA=CertificateAuthority)服务器40。该文件加密服务器30及CA服务器40可以是个人计算机、网络消息发送服务器,还可以是任意其它适用的计算机。所述网络20可以是互联网、局域网或者无线通讯网络。所述文件加密服务器30通过一个数据库连接与数据库50连接。CA服务器40通过一个数据库连接与数据库60连接。其中,所述数据库连接均可为一开放式数(OpenDatabaseConnectivity,ODBC),Java^^(JavaDatabaseConnectivity,JDBC)。所述的数据库50用于存储各类格式文件等,例如,Word格式文件、联合图像专家组(JPEGJointPhotographicExpertsGroup)格式文件或便携式文件格式(PDFPortableDocumentFormat)文件等。所述的数据库60用于存储各类数据,包括用户资料和用户的数字证书即CA证书等。在此需说明的是,数据库50可独立于文件加密服务器30,也可位于文件加密服务器30内,数据库60可独立于CA服务器40,也可位于CA服务器40内。所述数据库50和60可存于服务器的硬盘或者闪存盘中。从系统安全性的角度考虑,本实施例中的数据库50独立于文件加密服务器30,数据库60独立于CA服务器40。此外,客户端10用于提供一个互动式界面给用户,便于用户进行文件加密操作并将操作过程中的各种信息存于文件加密服务器30中。该客户端10可以是个人计算机、笔记本电脑、手机、PDA(个人数字助理)、邮件系统以及其它任意能与文件加密服务器30连接并接收文件加密服务器30发送的信息的设备或系统。如图2所示,是本发明图1中文件加密服务器30较佳实施例的功能模块图。该文件加密服务器30包括接收模块301、判断模块302、转换模块303、获取模块304、生成模块305及加密模块306。本发明所称的模块是完成一特定功能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程,因此在本发明以下对软件描述中都以模块描述。所述接收模块301用于接收用户通过客户端10发送过来的登陆请求,以启动对文件加密服务器30上的一个待加密文件的加密操作。所述待加密文件可以是,但不限于,Word格式文件、JPEG格式文件或PDF格式文件。所述判断模块302用于验证用户的CA证书是否合格。具体而言,为了网络信息安全,每个用户都有一个CA证书,该CA证书包括用户的名称及该CA证书的序列号等信息。判断模块302验证用户的CA证书是否合格的方式是将用户的CA证书的信息与数据库60中保存的该用户的CA证书的信息进行对比,若一致,则验证该用户的CA证书合格,若不一致,则验证该用户的CA证书不合格。所述转换模块303用于当用户的CA证书合格时,将待加密文件转换成自有格式文件。所述的自有格式文件是指一种复合压缩格式文件,可保留文件中图片信息,且压缩之后图片所占的容量很小。所述获取模块304用于通过网络20向CA服务器40发送查询请求,以获取用户的CA证书的公开金钥。具体而言,每个CA证书都有一个唯一的序列号,获取模块304向CA服务器40发送查询请求时,CA服务器40会回传该CA证书的公开金钥(publickey)给文件加密服务器30。所述生成模块305用于根据文件加密服务器30内存储的随机函数,生成一个随机金钥。具体而言,通过一个随机函数产生随机金钥的目的在于让破解者无法预期该随机金钥,在本较佳实施例中,所述的随机函数为win32CryptoAPIwincrypt.h>)。所述加密模块306用于利用所述随机金钥将转换模块303所转换的自有格式文件进行对称性加密。该对称性加密的算法为高级加密标准(AdvancedEncryptionStandard,AES)算法或数据加密算法(DataEncryptionAlgorithm,DEA)。所述生成模块305还用于通过获取模块304所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,生成一个非对称性加密金钥。所述非对称性加密的算法为RSA算法,该算法的名字以发明者的名字命名RonRivest,AdiShamir和LeonardAdleman。所述加密模块306还用于将上述非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头(header)中,以完成对待加密文件的全部加密操作。其中,所述信头指的是在一块数据(如,本实施例中的自有格式文件)存储或传输之际在信息头部追加的数据,所述信息是对数据的描述。如图3所示,是本发明文件加密方法较佳实施例的流程图。首先,步骤S310,接收模块301接收用户通过客户端10发送过来的登陆请求,以启动对文件加密服务器30上的一个待加密文件的加密操作。所述待加密文件可以是,但不限于,Word格式文件、JPEG格式文件或PDF格式文件。步骤S311,判断模块302验证用户的CA证书是否合格。具体而言,为了网络信息安全,每个用户都有一个CA证书,该CA证书包括用户的名称及该CA证书的序列号等信息。判断模块302验证用户的CA证书是否合格的方式是将用户的CA证书的信息与数据库60中保存的该用户的CA证书的信息进行对比,若一致,则验证该用户的CA证书合格,若不一致,则验证该用户的CA证书不合格。步骤S312,当用户的CA证书合格时,转换模块303将待加密文件转换成自有格式文件。所述的自有格式文件是指一种复合压缩格式文件,可保留文件中图片信息,且压缩之后图片所占的容量很小。步骤S313,获取模块304通过网络20向CA服务器40发送查询请求,以获取用户的CA证书的公开金钥。具体而言,每个CA证书都有一个唯一的序列号,获取模块304向CA服务器40发送查询请求时,CA服务器40会回传该CA证书的公开金钥(publickey)给文件加密服务器30。步骤S314,生成模块305根据文件加密服务器30内存储的随机函数,生成一个随机金钥。具体而言,通过一个随机函数产生随机金钥的目的在于让破解者无法预期该随机金钥,在本较佳实施例中,所述的随机函数为win32CryptoAPIwincrypt.h>)。步骤S315,加密模块306利用所述随机金钥将转换模块303所转换的自有格式文件进行对称性加密。该对称性加密的算法为高级加密标准(AdvancedEncryptionStandard,AES)算法或数据加密算法(DataEncryptionAlgorithm,DEA)。步骤S316,生成模块305通过获取模块304所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,生成一个非对称性加密金钥。所述非对称性加密的算法为RSA算法,该算法的名字以发明者的名字命名RonRivest,AdiShamir和LeonardAdleman。步骤S317,加密模块306将上述非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头(header)中,以完成对待加密文件的全部加密操作。其中,所述信头指的是在一块数据(如,本实施例中的自有格式文件)存储或传输之际在信息头部追加的数据,所述信息是对数据的描述。如图4所示,是图3中步骤S312中将待加密文件转换成自有格式文件的细化流程图。步骤Si,将该待加密文件分割成不同类型的区块。在本实施例中,区块的类型包括图片和文本。如图5所示,待加密文件5为待压缩的文件,该待加密文件5被分割成区块bl、b2、b3、b4、b5。其中,bl、b3、b5为图片区块,b2、b4为文本区块。步骤S2,依次判断每个区块的类型,如果一个区块的类型为图片,则执行步骤S3,如果一个区块的类型为文本,则执行步骤S4。其中,判断一个区块的类型包括如果该区块的彩色像素点数大于或等于该区块总像素点数的一半,则判定该区块的类型为图片,如果该区块的彩色像素点数小于该区块总像素点数的一半,则判定该区块的类型为文本。步骤S3,根据图片压缩算法压缩该区块,如图5中的恥。在本实施例中,所述图片压缩算法采用JPEG(JointPhotographicExpertsGroup,联合图像专家组)压缩算法。经过JPEG压缩算法压缩后的区块能保持原来区块的清晰度,颜色不会失真。步骤S4,根据文本压缩算法压缩该区块,如图5中的fe。在本实施例中,所述文本压缩算法采用TIFF(TaggedImageFileformat,标签图像文件格式)压缩算法。经过TIFF压缩算法压缩后的区块将变成二值化的图片。具体而言,本领域的技术人员一般将白色的灰度值定义为255,黑色灰度值定义为0,而由黑到白之间的明暗度均勻地划分为256个等级,以该区块的平均灰度值作为二值化处理的分界值,将该区块转换为只有两个灰度值(例如0和255)的图片。例如,将所有灰度值大于该区块平均灰度值的像素点转换为黑色,将所有灰度值小于等于该区块平均灰度值的像素点转换为白色。步骤S5,将上述所有压缩后的区块合并在一起,生成自有格式文件。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。权利要求1.一种用于文件加密的计算机系统,其特征在于,该计算机系统包括接收模块,用于接收用户通过客户端发送过来的登陆请求,以启动对一个待加密文件的加密操作;判断模块,用于验证用户的CA证书是否合格;转换模块,用于当用户的CA证书合格时,将所述待加密文件转换成自有格式文件,所述自有格式文件是一种复合压缩格式文件;获取模块,用于向与该计算机系统相连的CA服务器发送查询请求,以获取用户的CA证书的公开金钥;生成模块,用于根据与该计算机系统内存储的随机函数,生成一个随机金钥;加密模块,用于通过该随机金钥将自有格式文件进行对称性加密;所述生成模块,还用于通过所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,以生成一个非对称性加密金钥;及所述加密模块,还用于将非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头中,从而完成对待加密文件的加密操作。2.如权利要求1所述的计算机系统,其特征在于,所述用户的CA证书包括用户名及该CA证书的序列号。3.如权利要求1所述的计算机系统,其特征在于,所述对称性加密的算法为高级加密标准(AdvancedEncryptionStandard,AES)算法或数据力口密算法(DataEncryptionAlgorithm,DEA)。4.如权利要求1所述的计算机系统,其特征在于,所述非对称性加密的算法为RSA算法。5.一种文件加密方法,其特征在于,该方法包括以下步骤(a)接收用户通过客户端发送过来的登陆请求,以启动对一个待加密文件的加密操作;(b)当用户的CA证书合格时,将所述待加密文件转换成自有格式文件,所述自有格式文件是一种复合压缩格式文件;(c)向CA服务器发送查询请求,以获取用户的CA证书的公开金钥;(d)根据存储的随机函数,生成一个随机金钥;(e)通过该随机金钥将自有格式文件进行对称性加密;(f)通过所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,以生成一个非对称性加密金钥;及(g)将非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头中,从而完成对待加密文件的加密操作。6.如权利要求5所述的文件加密方法,其特征在于,步骤(b)中包括(bl),将该待加密文件分割成不同类型的区块;(b2),依次判断每个区块的类型,如果一个区块的类型为图片,则执行步骤(b3),如果一个区块的类型为文本,则执行步骤(b4);(b3),根据图片压缩算法压缩该区块;(b4),根据文本压缩算法压缩该区块;及0^5),合并上述压缩后的区块,以生成自有格式文件。7.如权利要求5所述的文件加密方法,其特征在于,所述用户的CA证书包括用户名及该CA证书的序列号。8.如权利要求5所述的文件加密方法,其特征在于,所述对称性加密的算法是高级加密标准(AdvancedEncryptionStandard,AES)算法或数据力口密算法(DataEncryptionAlgorithm,DEA)。9.如权利要求5所述的文件加密方法,其特征在于,所述非对称性加密的算法是RSA算法。全文摘要一种文件加密方法,该方法包括以下步骤接收用户通过客户端发送过来的登陆请求,以启动对一个待加密文件的加密操作;当用户的CA证书合格时,将所述待加密文件转换成自有格式文件;向CA服务器发送查询请求,以获取用户的CA证书的公开金钥;根据存储的随机函数,生成一个随机金钥;通过该随机金钥将自有格式文件进行对称性加密;通过所获取的CA证书的公开金钥将上述随机金钥进行非对称性加密,以生成一个非对称性加密金钥;将非对称性加密金钥及其数据长度附加在经过对称性加密的自有格式文件的信头中,从而完成对待加密文件的加密操作。利用本方法可以自动对各种格式的文件进行加密,使文件加密更加的快捷。文档编号G06F21/24GK102231181SQ20091030865公开日2011年11月2日申请日期2009年10月22日优先权日2009年10月22日发明者叶建发,李忠一,郑山川申请人:鸿富锦精密工业(深圳)有限公司,鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1