最新公告
  • 欢迎您光临悠哉网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 统一安全管控之密钥管理KMS

    一、为什么要统一管控密钥

    谈到信息安全免不了要解决一个问题就是数据加密。加密就会涉及到密钥相关的问题,比如密钥的生成、传输、保存、泄露等问题。如何保护好密钥的安全就成了信息安全的非常重要的一个部分。某司员工将密钥泄漏到开源网站导致重要数据丢失事件,君们还记得否?如果有完善的KMS系统这种情况很大程度上就可以避免了。

    对于大部分没有KMS管理系统的公司而言,密钥本地化会导致密钥分散在代码、配置文件中。缺乏统一管理,造成开发、维护成本巨大,而且导致密钥容易泄露。还有一部分公司采用硬件加密机来管理密钥即HSM,全称Hardware Security Module,这种方式管理密钥安全性确实很高,但是因为各级密钥都在HSM中管理所以成本过高。

    采用软硬件结合是比较好的方式,通过项目密钥管理服务KMS轻松创建和管理密钥,同时提供对密钥的保护,避免密钥泄漏。使开发者没有必要投入大量时间和精力来保证密钥的保密性、完备性和可用性。通过密钥管理服务,开发者在处理密钥时会更安全、更方便简单,这样可以更集中时间精力去研发如何借助加解密功能来实现业务场景。

    二、KMS设计

    1. 密钥分级

    这里按密钥作用划分为三级:

    • 数据加密密钥(DEK):将用于数据加密的密钥,也称三级密钥(DEK);一般公司里面一个应用对应一个DEK。
    • 密钥加密密钥(KEK):保护三级的密钥,也称二级密钥(KEK 即对DEK进行加密);一般公司里面一个部门对应一个KEK,DEK在KEK管辖之内。
    • 根密钥(RootKey):保护二级密钥的密钥,也称一级密钥(RootKey,即是对KEK进行加密),根密钥构成了整个密钥管理系统的关键。

    2. 基本架构

    本文中的KMS由三大部分组成SDK、后台服务、HSM。

    SDK:主要提供给服务的使用者集成到自己开发的项目中,实现密钥的创建、导入、启用、禁用等相关密钥管理和加密以及解密等常见操作。SDK分为:Client模块、加解密模块,主要负责提供简单接口完成加密解密功能。

    KMS服务:主要负责从硬件安全模块获取和保存根密钥,并且安全地保存在后台内存中,然后通过密钥的派生算法生成KEK进而生成DEK。分为,根密钥加载模块、密钥派生模块、Server模块

    HSM:提供根密钥生成和保管服务。

    统一安全管控之密钥管理KMS

    架构图

    架构图描述:

    根密钥生成,为了生成根密钥的保密性,由三个人分别输入三段约定好算法的随机因子到HSM中去生成根密钥,非法读取HSM中的根密钥会导致HSM被破坏而不可用从而保护了根密钥不被泄露。另外为了保存好根密钥以备及时恢复,要将三段随机因子分别保存到三个保险柜中。

    为了防止根密钥被泄露,根密钥RootKey由密钥管理服务KMS从硬件安全模块即HSM中读取,按照一定的分散算法打散存储在内存中。

    开发者将SDK集成到自己开发的服务或者系统的代码中,以实现只需要调用较为简单抽象的接口就能够使用密钥管理服务的相关功能。SDK中进行加解密是为了防止业务方私自保存密钥。Client模块主要是负责SDK的Http请求相关的功能,加解密模块则是负责SDK加解密相关的功能。

    3. 运行功能

    密钥派生:

    KMS中最为关键的模块是密钥派生模块。根据用户ID和随机因子通过伪随机函数派生出KEK或者DEK等密钥。KMS杜绝明文持久化保存密钥,派生出来的KEK通过Rootkey加密保存在数据库,派生出来的DEK通过KEK加密保存在数据库。

    统一安全管控之密钥管理KMS

    创建密钥:

    • 用户调用KMS提供的SDK中的创建用户数据密钥接
    • 用户传入用户ID等必要信息(如果要创建KEK则传入部门信息,如果创建DEK则传入应用信息)
    • KMS服务器验证请求
    • 验证通过,KMS服务器在该用户名下创建新的密钥并返回密钥ID

    密钥加密(解密同理):

    • 服务调用方调用KMS提供的SDK中直接加密的接
    • 服务调用方传入用户ID、密钥ID、待加密明文
    • KMS服务器验证密钥ID、用户ID以及是否为用户ID名下
    • 验证通过,KMS服务器返回DEK到SDK中
    • SDK加密算法中对明文进行加密,并返回密文

    三、推动业务方使用KMS

    就算KMS再安全,业务方不愿意使用对于安全来说无疑也是掩耳盗铃。

    如何让业务方愿意使用,需要技术和管理相结合去推动。管理上:自上往下推动,通过高管的支持通知业务方使用KMS以及讲述使用KMS带来的收益,并通过KMS管理规范约定不通过KMS来使用密钥所承担的责任。通过定期安全宣传和培训从反面和正面去讲述其中利害。技术上:定期进行专项检查,通过代码扫描查看代码中存在的密钥硬编码,如果存在密钥硬编码则说明很有可能业务方自行创建保管密钥;定期去大数据平台进行扫描将个别字段传入KMS加密接口查看返回密文跟数据库中的密文对比,如果一样说明采用了KMS加密,如果不一样很有可能就是自行保管密钥。

    现有一切加密技术都是建立在密钥破解时间很长的情况下,畅想下如果量子计算机出现了,几秒钟就能破解2048位的密钥,那么现有的加密技术都将形同虚设。

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"www.yoozai.net",如遇到无法解压的请联系管理员!
    悠哉网 » 统一安全管控之密钥管理KMS

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    悠哉网 WWW.YOOZAI.NET
    悠哉网,用户消费首选的网站,喜欢你就悠哉一下。

    发表评论

    • 690会员总数(位)
    • 5233资源总数(个)
    • 133本周发布(个)
    • 14 今日发布(个)
    • 210稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情