一种基于业务系统的敏感数据加密方法与流程

文档序号:18526642发布日期:2019-08-24 10:18阅读:266来源:国知局
一种基于业务系统的敏感数据加密方法与流程
本发明涉及加密
技术领域
,具体涉及一种基于业务系统的敏感数据加密方法。
背景技术
:各业务系统通常会依赖或者管理非常多的系统参数配置,其中可能会包括连接数据库的用户名、密码,对称加解密的密钥、各种hash算法的混淆码、各种接入第三方的登录/口令等等,这些重要的配置参数如果泄露,会极大地削弱系统处理业务的安全性。与此同时,生产环境下的数据库往往是公司非常核心的数据资产,通常保存着用户的很多敏感信息,比如用户的手机号、姓名、身份证号、住址、性别、职业、邮箱及银行卡号等等。如果未对这些敏感信息做可靠的加密存储,一旦遭遇黑客拖库或者其他方式导致的数据库泄露,则会给用户以及公司业务带来很大的风险损失。技术实现要素:本发明的目的在于提供一种基于业务系统的敏感数据加密方法,以确保用户敏感数据以及系统配置参数较高的加密可靠性,保障业务的安全运行。为实现以上发明目的,采用的技术方案是:一种基于业务系统的敏感数据加密方法,包括以下步骤:步骤s1:管理员使用加解密工具生成密钥图片1及密钥配置文件密文1,并将所述密钥图片1及所述密钥配置文件密文1注入或分发至各业务系统中;步骤s2:业务系统启动时,使用与所述加解密工具对应的加解密库加载并解析所述密钥图片1,获取密钥1;步骤s3:业务系统所述加解密库使用所述密钥1解析所述密钥配置文件密文1,获取密钥配置文件1;步骤s4:业务系统所述加解密库使用所述密钥配置文件1对敏感数据进行加密,得到敏感数据密文1;步骤s5:将所述敏感数据密文1存储于数据库中。进一步的,还包括:管理员将所述加解密工具分发给各业务系统开发人员,开发人员通过所述加解密工具对系统配置参数进行加密;业务系统启动时,使用所述密钥1对加密的系统配置参数进行解密。进一步的,所述密钥配置文件1包括算法标识和密钥版本标识,算法标识对应加解密算法,密钥版本标识对应加解密密钥,所述业务系统通过所述加解密算法和所述加解密密钥对敏感数据进行加密或解密。进一步的,所述密钥配置文件1还包括码表,所述码表用于对手机号码进行加密。进一步的,所述码表是由0~9随机数字填写并且唯一的数组结构。进一步的,使用码表对手机号码进行加密的方法步骤如下:步骤(1):设计10个码表;步骤(2):根据手机号码的尾数选择关联映射的码表;步骤(3):保留手机号码前面3位不变,从第4位到10位,依据码表进行号码数字变换;步骤(4):根据所述步骤(3)变换后的手机号码中,采用第n位值对11-n-1取模,得到取模结果m,计算出y=n+m,然后将手机号码中第y位的数字与其末尾的数字进行对换。进一步的,还包括:更新加解密算法和/或加解密密钥步骤,具体如下:1)管理员使用所述加解密工具生成密钥图片2和密钥配置文件密文2,所述密钥图片2与所述密钥图片1可以相同或不同;将所述密钥图片2和所述密钥配置文件密文2注入或分发至各业务系统中;2)重启业务系统,使用与所述加解密工具对应的加解密库加载并解析所述密钥图片2,获取密钥2,所述密钥2可与所述密钥1相同或不同;3)业务系统所述加解密库使用所述密钥2解析所述密钥配置文件密文2,获取密钥配置文件2,所述密钥配置文件2包含有更新的算法标识和/或更新的密钥版本标识,依据所述更新的算法标识可获得更新的加解密算法,根据所述更新的密钥版本标识可获得更新的加解密密钥;4)业务系统所述加解密库通过所述更新的加解密算法和/或更新的加解密密钥对新的敏感数据进行加密,得到新的敏感数据密文2;5)将所述新的敏感数据密文2存储于数据库中。进一步的,还包括:使用所述更新的加解密算法和/或更新的加解密密钥对旧的敏感数据进行加密,所述旧的敏感数据为所述敏感数据密文1解密后得到的数据。进一步的,所述敏感数据包括:姓名、身份证号、住址、职业、邮箱、银行卡号及手机号。进一步的,所述加解密工具为aes、des、3des中的一种。本发明的一种基于业务系统的敏感数据加密方法,具有以下有益效果:(1)本发明的一种基于业务系统的敏感数据加密方法,通过自定义方式实现敏感数据及系统配置参数加密,安全性较高,不易破解泄露。(2)本发明的一种基于业务系统的敏感数据加密方法,通过在业务系统中完成加解密,不仅可减轻数据库的计算量,并且方便数据迁移。(3)本发明的一种基于业务系统的敏感数据加密方法,通过设置密钥图片和密钥配置文件密文发送至各业务系统,系统通过解密操作获得加解密算法和加解密密钥,从而避免了加解密密钥直接暴露,极大增加了加密的安全性。(4)采用本发明的加密方法,可方便更新加解密算法和/或加解密密钥,降低了密钥泄露的风险损失。附图说明图1是本发明一种基于业务系统的敏感数据加密方法流程图。图2是本发明敏感数据加密更新流程图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明的目的在于提供一种基于业务系统的敏感数据加密方法,以确保用户敏感数据以及系统配置参数较高的加密可靠性,保障业务的安全运行。以下将详细阐述本发明的一种基于业务系统的敏感数据加密方法的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的技术内容。图1是本发明一种基于业务系统的敏感数据加密方法流程图。管理员首先使用加解密工具生成密钥图片1及密钥配置文件密文1,并将密钥图片1及密钥配置文件密文1注入或分发至各业务系统中,例如业务系统a和b中;具体的,加解密工具可以为对称加解密工具aes、des、3des中的一种。业务系统在项目的根目录中集成密钥图片1及密钥配置文件密文1。在业务系统启动时,业务系统使用对应的加解密库加载并解析密钥图片1,获取密钥1,该加解密库与生成密钥图片和密钥配置文件密文的加解密工具相对应,在项目开发时,预先引入业务系统作为基础库。该加解密库使用密钥1解析密钥配置文件密文1,获取密钥配置文件1。具体的,密钥配置文件1包括算法标识和密钥版本标识,依据算法标识可获得对应的加解密算法,根据密钥版本标识获得对应的加解密密钥,业务系统对应的加解密库通过对应的加解密算法和加解密密钥对敏感数据进行加密,加密完成后,将加密好的敏感数据密文1保存到数据库中。敏感数据可以为:姓名、身份证号、住址、职业、邮箱、银行卡号及手机号等。例如,某一住址敏感数据加密后的密文格式如下:{aa}nvluvquc1z9umrvlixyyya7lau1bddc6tkdquxypxso={aa}中的aa分别代表算法标识和密钥版本标识。当业务系统需要从数据库中查询该住址时,首先从数据库中获取该加密的住址信息,然后从密钥配置文件1中找出a对应的加解密算法和a对应的加解密密钥对加密的住址信息进行解密后,获取该住址信息。上述算法标识a和密钥版本标识a均为自定义方式,安全性较高,不易破解泄露。在需要时,也可以更换为其他的加解密算法和/或加解密密钥,比如{ab}、{cb}等。上述加密和解密过程均是在业务系统中完成,相比于在数据库中完成加解密的方式,不仅可减轻数据库的计算量,并且方便数据迁移。这是因为,如果使用数据库内置的加解密函数进行加密,在迁移数据的时候,由于不同的数据库其加解密函数不一样,或者同一数据库因版本不同,其加解密函数也可能不同,上述因素导致的加解密函数变化会造成数据解密不一致,从而影响业务的正常运转,因此给数据迁移带来诸多不便。若需要对系统配置参数进行加密,以增强系统业务处理的安全性,管理员可预先将上述用于生成密钥图片和密钥配置文件密文的加解密工具分发给各业务系统开发人员,开发人员通过该加解密工具对系统配置参数进行加密。业务系统在启动时,通过解析密钥图片1获取密钥1,然后使用密钥1对加密的系统配置参数进行解密。如今,手机号码已越来越多应用于用户身份的唯一认证,因此,在许多的应用场景,对手机号码这一敏感信息的加密显得尤为重要。进一步的,密钥配置文件还包括码表,该码表是由0~9随机数字填写并且唯一的数组结构,用于对手机号码进行加密。使用码表对手机号码进行加密的方法如下:步骤(1):设计10个码表,0-9每个数字分别对应一个码表。步骤(2):根据手机号码的尾数选择关联映射的码表,比如,手机尾数为8则选择8对应的码表。步骤(3):码表加密。保留手机号码前面3位不变,从第4位到10位,依据码表进行号码数字变换。依据码表进行号码数字变换的方法为:从第4位开始,以手机号码当前位置的数字作为索引,在码表中找到对应的变换值(码表的索引从0开始计数),例如,假设第4位的数字为7,则在码表中从0开始索引到第7位,找到相应的数字进行变换;假设第5位的数字为6,则在码表中从0开始索引到第6位,找到相应的数字进行变换;以此类推,最终获得变化后的加密号码。步骤(4):隐藏尾数。具体方法:经过步骤(3)变换后的加密号码中,采用第n位值对11-n-1取模,得到取模结果m,再计算出y=n+m,然后将该加密号码的第y位与尾数对换,n的取值范围为:3<n<11。例如:手机号码:18076385668,假设其尾数8对应的码表为:[3,9,1,0,4,5,2,8,6,7],经步骤(3)变换后为(手机号码前面3位不变,第4位到10位依据码表进行变换):18082065228;再经步骤(4)进行尾数对换(现假设n=4,取模8%(11-4-1),经计算得:m=2,则y=4+2=6,将第6位与尾数对换),经尾数对换后为:18082865220。整个加密过程如下表所示:长度012345678910手机号码180763856688号码表3910452867码表加密18082065228隐藏尾数18082865220最后,在经变换后的手机号码前面增加算法和码表版本标识信息,如:{aa}18082865220,其中aa分别代表算法标识和码表版本标识。算法标识和码表版本标识均为自定义,根据需要可更新为不同的版本。通过上述方法对手机号码进行加密后,得到加密后的密文看起来仍然是手机号码,很好地隐藏了加密的现象,进一步增加了加密的安全可靠性。在实际应用中,密钥通常要保存在各加解密系统中,因此也会存在泄露的风险,在密钥发生泄露时,要考虑能够更换加解密算法和/或加解密密钥,以减少风险损失。在本实施例中,更新加解密算法和/或加解密密钥的步骤,具体如下:1)管理员使用上述加解密工具生成密钥图片2和密钥配置文件密文2,密钥配置文件密文2包含有更新的加解密算法和/或更新的加解密密钥;密钥图片2与密钥图片1可以相同或不同;将密钥图片2和密钥配置文件密文2注入或分发至各业务系统中;2)业务系统重新启动,并使用与加解密工具对应的加解密库加载并解析密钥图片2,获取密钥2,密钥2可与密钥1相同或不同;3)业务系统对应的加解密库使用密钥2解析密钥配置文件密文2,获取密钥配置文件2,密钥配置文件2包含有更新的算法标识和/或更新的密钥版本标识,依据更新的算法标识可获得更新的加解密算法,根据更新的密钥版本标识获得更新的加解密密钥;4)业务系统对应的加解密库通过更新的加解密算法和/或更新的加解密密钥对新的敏感数据进行加密,得到新的敏感数据密文2;5)将新的敏感数据密文2存储于数据库中。图2是本发明敏感数据加密更新流程图。系统重启获取密钥配置文件2后,数据库管理员使用加解密工具完成旧的加密敏感数据(敏感数据密文1)割接操作(即数据修复),即先使用旧版本加解密算法和加解密密钥(未更新前的加解密算法和加解密密钥)对旧的加密敏感数据进行解密操作,然后使用更新的加解密算法/更新的加解密密钥(新版本)对旧的敏感数据进行重新加密。全部旧的加密敏感数据割接修复完成后,将旧版本加解密算法和加解密密钥从配置文件中移除。新的业务数据即采用新版本加解密算法/加解密密钥处理。在进行业务查询时,优先使用更新的加解密算法和/或更新的加解密密钥进行查询,若查询无数据,则采用旧版加解密算法和加解密密钥进行查询。旧版加解密算法和加解密密钥从配置文件中移除后,则可恢复数据库的查询性能。由上述方案可知,本发明的基于业务系统的敏感数据加密方法,通过自定义方式实现敏感数据及系统配置参数加密,加密安全性较高,不易破解泄露;通过在业务系统中完成加解密操作,不仅可减轻数据库的计算量,还方便数据迁移。本发明的一种基于业务系统的敏感数据加密方法,通过设置密钥图片和密钥配置文件密文发送至各业务系统,系统首先需通过解密操作获得加解密算法和加解密密钥,从而避免了密钥直接暴露,极大增加了加密的安全性。采用本发明的加密方法对手机号码进行加密,具有很好的隐秘性,更安全可靠。采用本发明的加密方法,可方便更新加解密算法和/或加解密密钥,在密钥发生泄露时,可及时更换算法和/或密钥,从而降低风险损失。可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1