一种基于数据加密的配置文件安全使用方法

文档序号:8339917阅读:168来源:国知局
一种基于数据加密的配置文件安全使用方法
【技术领域】
[0001]本发明涉及应用安全技术领域,尤其是涉及一种基于数据加密的配置文件安全使用方法。
【背景技术】
[0002]配置文件是软件中用于保存一些可设定信息的文件。用户配置文件就是在用户登录电脑时,或是用户在使用软件时。软件系统为用户所要加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。配置文件多以明文或密文的形式保存;明文是指加密前的可直接阅读的信息。密文是指加密后的不可直接阅读的信息。配置文件通常以明文形式或整体加密的形式存放。
[0003]现有技术中配置文件存在如下缺陷:明文存放的配置文件易被人读懂识别,从而将其中的敏感信息获取。密文存放的配置文件修改比较麻烦,只能通过外部程序进行修改。
[0004]如何能既保护配置文件中的敏感信息,又可以方便的修改配置文件,目前还没有有效的方案来解决上述问题。

【发明内容】

[0005]本发明所解决的技术问题是提供一种基于数据加密的配置文件安全使用方法,通过设置加密方式既保护配置文件中的敏感信息,又可以方便的修改配置文件。
[0006]为了解决上述技术问题,本发明提供了一种基于数据加密的配置文件安全使用方法,包括:
[0007]S1:读取配置文件的明文;
[0008]S2:对读取的所述配置文件中的所述明文逐条判断是否含有标识符;
[0009]若存在所述标识符,则进行下述步骤S3, a.1和S3, a.2 ;
[0010]若不存在所述标识符,则进行下述步骤S3, b ;
[0011]S3, a.1:读取所述配置文件的属性值,使用非对称密钥、对称密钥或证书对所述属性值进行加密;
[0012]S3, a.2:将加密的所述属性值中的数据部分回填到原所述配置文件的明文中进行覆盖,并添加预定义的符号位作为加密后的所述配置文件的标记;进行下述步骤S3, b ;
[0013]S3, b:使用时若读取到所述配置文件中的属性值包含所述预定义的符号位,则标识这是密文,解密所述属性值进行使用;
[0014]S4:使用时若读取不到所述预定义的符号位则直接使用所述配置文件,并对所述属性值重复加密,即返回步骤S3, a.1。
[0015]优选的,所述配置文件支持Java语言的properties配置文件。
[0016]更加优选的,所述步骤S3, a.1中,读取所述配置文件的属性值时,使用对称密钥对所述属性值进行加密。
[0017]更加优选的,所述步骤S3, b中,所述解密的过程为:①加载所述配置文件;②读取所述配置文件的所述属性值;③判断所述属性值是否为密级字段:若是以已预定义加密字段的标识ENC为开头,则认为是密文,使用密钥进行解密;若没有以所述ENC开头,则认为是明文,使用密钥加密并将加密的值加上ENC的前缀。
[0018]其中,所述ENC是系统预定义加密字段的标识,其实际为encrypt (加密)的缩写。
[0019]其中,所述Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
[0020]其中,所述properties与XML差不多,作为配置文件,可以从中读取需要的文件。比如可以把多语言、安全检查字段等写在properties文件中。
[0021]本发明与现有技术相比,具有如下有益效果:
[0022]本发明通过对字段为明文的配置文件中需要保证安全的字段进行加密,为系统的安全级别进行加固,来保护敏感数据,并使用标识对加密过的配置文件进行标记,方便下次使用;具有既能对配置文件敏感数据段起到加密保护的作用,同时能够方便地直接修改配置文件。
【附图说明】
[0023]图1示例性的示出了本发明流程示意图。
【具体实施方式】
[0024]为了更好的理解本发明所解决的技术问题、所提供的技术方案,以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明的实施,但并不用于限定本发明。
[0025]在优选的实施例中,图1示例性的示出了一种基于数据加密的配置文件安全使用方法流程示意图;包括;
[0026]读取配置文件的明文;对读取的所述配置文件中的所述明文逐条判断是否含有标识符;若存在所述标识符,则进行下述步骤a.1和a.2 ;若不存在所述标识符,则进行下述步骤b ;a.1:读取所述配置文件的属性值,使用非对称密钥、对称密钥或证书对所述属性值进行加密;a.2:将加密的所述属性值中的数据部分回填到原所述配置文件的明文中进行覆盖,并添加预定义的符号位作为加密后的所述配置文件的标记;进行下述步骤b ;b:使用时若读取到所述配置文件中的属性值包含所述预定义的符号位,则标识这是密文,解密所述属性值进行使用;使用时若读取不到所述预定义的符号位则直接使用所述配置文件,并对所述属性值重复加密,即返回步骤a.1。
[0027]在更加优选的实施例中,所述配置文件支持Java语言的properties配置文件。
[0028]在更加优选的实施例中,所述步骤a.1中,读取所述配置文件的属性值时,使用对称密钥对所述属性值进行加密。
[0029]在更加优选的实施例中,所述步骤b中,所述解密的过程为:①加载所述配置文件;②读取所述配置文件的所述属性值;③判断所述属性值是否为密级字段:若是以已预定义加密字段的标识ENC为开头,则认为是密文,使用密钥进行解密;若没有以所述ENC开头,则认为是明文,使用密钥加密并将加密的值加上ENC的前缀。
[0030]具体的实施例中:
[0031]系统包含如下配置文件:
[0032]#Property: server, database-user
[0033]#The database user to connect as.
[0034]server.database-user=cloudsocadmin
[0035]#Property: server, database-password
[0036]#The database user, s password.
[0037]server.database-password=ENC(S16VGhDrHAG3dnsHn00zKewm01DlFDwq)
[0038]注:
[0039]1)#号表示注释,即以#号开头的行系统不进行任何处理;
[0040]2)=分割的前后两部分,=号前即为属性名,之后的为上文描述的属性值;
[0041]在本实施例中,属性名为server, database-password的属性值,被预定义机密标识符所标记,则其属性值为密文ENC(S16VGhDrHAG3dnsHn00zKewm01DlFDwq),褪去其ENC O的部分则是其实际值机密的最终结果即S16VGhDrHAG3dnsHn00zKewm01DlFDwq,系统获取到最终密文,则使用已保存好的密钥进行解密形成属性值=明文的最终形式,为系统所用。
[0042]本发明针对现有的配置文件字段为明文但是需要保证安全的字段进行加密,为系统的安全级别上进行加固,现有的很多系统均需要。
[0043]证书是一种身份认证的象征,类似于人们常用的身份证,但其有额外包含了一对密钥,其可用来进行加解密,但不主要应用于加解密;本方案仅仅要加密一部分系统中常常被忽视的小细节,如系统配置文件中的密码字段。使用证书有点大材小用的感觉;并且证书主要的身份认证的功能不需要体现在加解密中。还有一点是证书中拥有的是一对非对称密钥就是A密钥加密,B密钥解密。本方案无需使用此种复杂的方式;本方案使用非对称加密即可。
[0044]现有的部分应用系统的配置文件中密码都是直接的明文保存,比如数据库连接的密码,该系统如果被一个稍懂程序的获得,其就可以找到密码直接登录到数据库中,为了避免这部分问题,为了将安全渗透到系统的每一个小细节,本方案应用而生,不放过任何死角。
[0045]以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的基本原理之内,所作的任何修改、组合及等同替换等,均包含在本发明的保护范围之内。
【主权项】
1.一种基于数据加密的配置文件安全使用方法,其特征在于,包括: 51:读取配置文件的明文; 52:对读取的所述配置文件中的所述明文逐条判断是否含有标识符; 若存在所述标识符,则进行下述步骤S3, a.1和S3, a.2 ; 若不存在所述标识符,则进行下述步骤S3, b ; S3, a.1:读取所述配置文件的属性值,使用非对称密钥、对称密钥或证书对所述属性值进行加密; S3, a.2:将加密的所述属性值中的数据部分回填到原所述配置文件的明文中进行覆盖,并添加预定义的符号位作为加密后的所述配置文件的标记;进行下述步骤S3.b ; S3,b:使用时若读取到所述配置文件中的属性值包含所述预定义的符号位,则标识这是密文,解密所述属性值进行使用; S4:使用时若读取不到所述预定义的符号位则直接使用所述配置文件,并对所述属性值重复加密,即返回步骤S3, a.1。
2.根据权利要求1所述的基于数据加密的配置文件安全使用方法,其特征在于,所述配置文件支持Java语言的properties配置文件。
3.根据权利要求1所述的基于数据加密的配置文件安全使用方法,其特征在于,所述步骤S3, a.1中,读取所述配置文件的属性值时,使用对称密钥对所述属性值进行加密。
4.根据权利要求1所述的基于数据加密的配置文件安全使用方法,其特征在于,所述步骤S3, b中,所述解密的过程为:①加载所述配置文件;②读取所述配置文件的所述属性值;③判断所述属性值是否为密级字段:若是以已预定义加密字段的标识ENC为开头,则认为是密文,使用密钥进行解密;若没有以所述ENC开头,则认为是明文,使用密钥加密并将加密的值加上ENC的前缀。
【专利摘要】本发明涉及应用安全技术领域,具体公开了一种基于数据加密的配置文件安全使用方法;包括:读取配置文件的明文;对读取的明文逐条判断是否含有标识符;若存在标识符,则读取配置文件的属性值,使用非对称密钥、对称密钥或证书对属性值进行加密;将加密的属性值中的数据部分回填到原配置文件的明文中进行覆盖,并添加预定义的符号位作为加密后的配置文件的标记;进行下述步骤;若不存在标识符,使用时若读取到配置文件中的属性值包含预定义的符号位,则标识这是密文,解密属性值进行使用;使用时若读取不到预定义的符号位则直接使用配置文件,并对属性值重复加密。本发明通过设置加密方式既保护配置文件中的敏感信息,又可以方便的修改配置文件。
【IPC分类】G06F21-62
【公开号】CN104657670
【申请号】CN201310585315
【发明人】张涛
【申请人】北京天地超云科技有限公司
【公开日】2015年5月27日
【申请日】2013年11月19日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1