数据安全-密码机的运营管理实践经验 – 作者:mingming10

一、密码机的一些介绍

1.密码机运行的两种模式:KMS(密钥管理系统)、HSM(硬件安全模快);

(个人认为密码机的两个重要作用是:a.加解密数据,尤其是大批量数据的加解密;b.密钥管理,即安全性。)

1.1 KMS:密码机用来做最后一层密钥的加解密,数据及非最后一层密钥的加解密是在业务系统的服务器或者特定服务器上进行;一般模式如下图:

图片[1]-数据安全-密码机的运营管理实践经验 – 作者:mingming10-安全小百科

此模式消耗密码机的资源较少,因为密码机只用做最后一层密钥的加解密;人员容易接触到秘钥,安全性没有HSM模式高,不过有时候数据密钥会做成随机生成的模式,安全性会进一步提升。

KMS模式加解密数据消耗的资源主要来自于服务器,在实际的情况中,当有大量的数据要进行加解密时,如果不做限制,服务器的资源将会以接近极值的形式消耗。

1.2HSM:HSM模式指数据的加解密和密钥的保存管理完全在密码机硬件里进行,人员无法接触到密钥(应急除外),安全性高;数据加解密耗费的是密码机资源,适合大量数据的加解密。

2.密码机的硬件配置一般都不高,主要是密码机厂商针对加密算法结合硬件做了很好的优化,所以密码机的加解密效率较好;而且密码机可以集群部署,并行处理数据,所以每秒处理的数据量很大。当然,特别大的数据,例如单张2M大小的图片,处理的效率还是不尽人意的(目前也没有太好的方法,结合效率和安全性)。

3.为了提升效率和减少资源的消耗,有的应用系统会采用使用用户的手机或电脑资源来加解密数据,例如一些聊天软件对聊天内容的加解密。

4.密码机的功能:数据加解密、数字签名。厂商也会针对不同的使用场景,开发特定的密码机。

二、密码机的选择

1.首先要梳理清楚公司的业务场景,数据量,以及高层希望做到什么程度(如果要把数据加密做到很好的话,一定要有高层领导自上而下的支持和数据安全人员给力的推动)。

2.大致梳理清楚公司的情况后,即使不了解密码机,也可以约密码机的厂商(江南天安、江南科友、三未信安等)来聊,厂商对于各种密码机模式适用的场景很清楚,也可以针对需求做定制化设计和密码机改造;可以问厂商要一些已有案例和需求样例学习查看。

3.在有一定了解后,针对公司的实际情况,规划好密码机的运行模式和运营管理模式(要和公司的架构、运维、网络及尽可能多的研发同事提前沟通协商好,不能等到已经采购完成了再沟通),写清楚细致的需求项,测试用例可让密码机厂商协助编写。

4.运行模式和运营管理模式包含:使用KMS还是HSM模式、密码机的部署方式、密码机适用的场景、密码机的网络区域、容灾方案、逃生方案、加解密调用方案、历史数据加密方案、加解密上线方案、运维方式、监控模式、密钥方案、密钥更换方案、密钥保存方案、日志处理方案、异常处理方案等;准确的加解密量及密码机的需求量可后续梳理清楚。

5.密码机的稳定性,这一点一般是不用担忧的,市面上都是成熟的产品了。刚开始上密码机的时候,也会担忧这个事情,但后来的实践显示担忧是多余的。

6.一台密码机每秒加解密几十万条数据,是可以做到的;当然和数据的大小、加解密算法(一般用AES256)、网络(部分情况)都有关系。

7.密码机测试可让厂商协助。

8.国家现在在推国密,在选择加密算法的时候,可以综合考虑一下。

9.批量加解密的功能一定要有。

(因为只运营管理过HSM模式,所以下面的内容都以HSM模式的视角来叙述)

三、密码机的部署

1.部署的网络区域尽量和应用系统的服务器在同一网络区域,可以减少延迟。

2.考虑清楚其它网络区域的服务器能不能调用密码机,尤其是外部公有云的服务器;如果要调用,规划好安全保障方案。

3.容灾服务器的部署。

4.逃生服务器的部署。

四、密码机的上线(含测试环境的验证)

1.密码机的上线是一个重点,因为数据是在各套系统流转的,如果上游的系统数据加密了,下游的系统还不知情,那直接就是生产事故。所以要梳理清楚公司各系统之间关于某个要加密字段的流转关系。

2.测试环境一定要验证好,系统按要求调用了密码机;按要求处理了数据,因为数据加密后,数据长度会增加,可能存在部分系统,数据库字段长度不够或者做了数据长度限制,造成密文被截断,无法解密。

3.下游的系统可先上线加解密功能(采用上游系统只给下游新系统传密文,各系统共用一套密钥的形式时),因为只有数据的源头系统加密了数据,下游才会接收到密文数据;而且密码机可以做到不对非密文做处理,当然,研发在调用接口时,也可以做一次校验;各系统对于加解密功能最好做一个开关,上游系统一定要做。

4.生产环境的上线,最开始,可让上游只对少量的数据做加密,下游系统来验证加解密功能的正常性。验证的时候,一定要让整个链路的研发或运维,在规定的时间内反馈结果。

5.验证无误后,上游系统可打开所有数据的加密开关,或择时打开数据的加密功能。

五、密码机的运营

1.宣传一定要做好,要让公司的研发清楚敏感数据要加密这项规定;系统数据安全或隐私保护评审的时候,一定要告知系统研发及业务方。

2.运营文档要齐全,接口文档、异常处理文档、密钥配置文档、扩容文档、流程文档等要及时更新保存。新的交接人员要能看了文档,就对密码机的运营掌握差不多。

3.密码机运营的人员,要有一定的代码能力,研发在调用出错的时候,要能排查错误。实际情况是,研发的能力各异,经常会咨询一些于密码机无关的问题,能解答就尽量解答吧。

4.有一个重要的问题是,保证系统或研发不能违规调用密码机。虽然密码机有验证机制,但研发或运维还是有可能在合法的服务器上私自开发加解密小工具或小功能。所以公司的开发规范、运维规范、系统上线检查、监控分析一定要做好。

5.部分系统的加解密数据量是很少的,如果直接调用密码机资源,比较浪费,可以考虑搭建加解密微服务。

6.网络规划外的系统要调用密码机,可以考虑在边界部署密码机或微服务,但与正式区域要隔离开,密钥也不建议使用同一套,中间最好多一次转换。

7.密钥的添加、管理,密码机的扩容,要标准化的处理。

8.密码机及业务的监控,一定要做好。密码机的运行状态,系统加解密的数据量、加解密类型,做好监控;厂商会提供监控平台,但一定要根据实际情况,提一些优化需求。

9.部分系统因为特殊情况,可能会需要厂商做一些定制化开发。

10.业务系统上云,可能会对传统的验证方案带来一些挑战;最好的解决方法是在云这一侧解决,但往往,云都不愿意解决,毕竟属于强势方,尤其是公司的内部云;所以,加密机测就只能通过一些监控方案来管理。顺便说一下,云密码机和传统密码机的区别 :云密码机是将一台硬件设备虚拟成几十个密码机系统,可以最大程度的优化资源配置;云密码机的硬件配置一般要好一些。

11.密码机硬件使用期限到期,业务系统切换方案要提前考虑好;目前接触的厂商,这一块的考虑都不是太好。

12.业务方可能有一些线下数据加解密的需求,建立好数据加解密的流程,由特定人员来加解密数据,并做好审计。这一块也要和IT或各技术人员沟通限定好,谁能加解密数据。

13.业务方的系统出现数据问题,可能会把锅甩到密码机上,虽然基本不是密码机的问题,但能验证解答就心平气和的回复一下吧。

六、其它经验

1.密码机的推动确实不好推,尤其是很多公司的系统很多,几千套系统,但CMDB又记录的不准,负责人不准、系统缺失。需要花很大的力气在系统梳理、数据梳理上。即使一个一个去找接口人、研发了解,还是会经常在快要正式上线了的时候,突然冒出几个系统。

2.公司的底层数据、底层管理做好了,对安全的各个方面运营很有帮助。

3.推动密码机,一定要足够强势,但态度一定要好,与业务方沟通的时候,要提前了解业务系统,站在业务方的角度做一定考虑。上了加解密功能后,确实会对一些系统的特定功能模块有一定影响,比如模糊搜索、大数据分析等,综合和考虑吧。业务方现在也越来越重视安全,毕竟谁都不想出安全问题;而且,总体来说,年轻人要更重视安全,以及好沟通一些。

来源:freebuf.com 2021-07-26 11:44:34 by: mingming10

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论