随着云计算、大数据、AI等技术的不断发展,企业中各类系统中存储了大量的核心数据,已成为企业重要的生产资源和生存命脉,数据安全也因此成为了企业最核心且最突出的问题。

在国家《数据安全法》正式实施的背景下,爱奇艺安全团队基于《GBT22239-2019信息安全技术网络安全等级保护基本要求》以及《中华人民共和国密码法》的相关标准与要求,推出了Cloud KMS 密钥管理平台,重点解决数据存储加密以及密钥管理的相关问题。

由于会员敏感数据量级、使用场景基本一致,单系统逐一接入会造成开发人力成本过高,并且不利于系统维护,所以会员部门针对现有Cloud KMS进行二次封装,将数据加密和密钥管理与业务运行相结合,有效提升了会员数据的安全性

我们先来了解下经典的Cloud KMS平台。

01

Cloud  KMS介绍

Cloud KMS(Cloud Key Management System,简称 Cloud KMS)密钥管理平台是基于HSM硬件、虚拟化等技术,实现对密钥的安全存储、管理和更新的一站式密钥管理和数据加密服务平台,其核心在于安全保存业务密钥,并且支持使用专用的存储设备来保障密钥的存储安全使用安全的散列算法生成用户密钥,使用身份认证机制来控制对密钥的访问

主要功能

密钥生命周期管理

●   Cloud KMS提供对密钥的集中化托管与控制,托管在KMS上的密钥叫做业务主密钥CustomerMaster Key,简称CMK),业务可以自行创建用户主密钥(CMK),并通过认证机制轻松管理密钥的访问。

●   KMS支持从外部导入密钥,目前支持128位、256的对称密钥的导入,方便业务更便捷的接入到KMS

数据加解决密

同时,KMS采用两地三中心的部署方式来保障服务的高可用性,并提供了简单高效的API来支持创建数据密钥、对数据加密和解密等操作。

     

接口鉴权

KMS借助身份认证机制(AccessKey)来鉴别请求的合法性,并支持业务自行创建和管理AK/SK密钥对。

Cloud KMS架构

使用场景

信封加密:使用KMS创建一个主密钥,使用主密钥生成一个数据密钥,再使用。

数据密钥在本地加解密数据。这种场景适用于数据对象较大(如文件、视频等)的加解密。

加密内容较大,且多为文件、视频类非结构型,则使用信封加密场景合适。

加密流程

解密流程

     

在线加密:使用KMS创建一个主密钥,使用主密钥直接对数据进行加解密。这种场景适用于数据对象较小的加解密。

• 加密内容较小,如证书,使用在线加密场景合适。

02

业务实践

会员业务实践

背景

爱奇艺会员业务敏感数据主要集中在会员密钥、激活码等场景,主要体现为单体数据量不大、数据量级大、调用频次高。且对数据异常场景敏感,由此在二次封装的基础上优先使用的是在线加密的方式。

实践过程中,在Cloud KMS底层基础功能之上增加业务适配功能,包括缓存、重试策略、定时更新密文等,并且将与底层服务交互的细节进行隐藏,减少业务使用方的接入以及学习成本,提供适配SpringBoot、MyBatis、配置中心等组件的Starter,做到低侵入式的引入。

框架结构

目前会员内部部分系统已经接入KMS,所有对外&内部存储的数据均为加密数据,加解密都是基于国密局批准的硬件芯片相关的算法完成,整体架构如下:

适配功能拓展

1.        支持短时间内业务方在内存中存储密文数据,可根据实际情况配置不同的存储时间和存储方式。

2.       定制化缓存密钥淘汰策略,根据实际情况配置淘汰策略,目前支持全部更新、FIFO更新,后续会支持更多算法。

3.       插拔式重试策略,内置默认重试策略,业务方可根据外露接口,定制化重试策略。

处理流程

主要处理流程分为:权限验签、配置解析、自定义逻辑处理、重试策略、缓存更新等,会服务平台根据业务方分配主密钥,业务方把主密钥配置到配置中心非敏感信息放到本地文件,引入KMS工具包后通过配置即可实现加解密功能。

权限验签:通过使用方配置的AK/SK校验接入方身份

配置解析:解析配置文件以及配置中心数据

自定义逻辑处理:用户实现扩展接口,实现自定义处理逻辑

重试策略:Cloud KMS调用出现异常情况,重试配置

缓存变更:会在业务方系统缓存一定时间的密文数据,避免对下游造成较大压力

业务价值

接入KMS加解密之后,使用方不再需要把重心放在数据的加解密转换,甚至于对数据的形态不需要关注,很大程度上减少了使用方的开发成本,与此同时上下游的交互以及数据的流转不再需要冗余的代码进行适配,使得业务逻辑更加的简洁明了。其更多的价值体现在以下数据层面和系统层面:

数据层面

1.       确保每一条敏感数据的加解密都是通过KMS完成、确保每一条数据都符合安全等级保护基本要求

2.       提升密文数据在多系统内的通用性,减少系统耦合,重复开发减少大约80%,减少除开业务之外的因素影响、使得业务逻辑更加的清晰

3.      敏感数据管理更加统一和规范,减少数据运维工作量50%

系统层面

1.       减少对接频率,降低系统复杂度熔断限流等操作更加统一,减少运维成本30%(仅和加解密相关)

2.      避免重复造轮子,复用性强,便于升级迭代

后续规划

目前,二次封装的Cloud KMS还是属于较小范围内的推广,虽然适配了绝大多数场景,但是仍存在许多需要调整的地方,后续此工具的定位是一个基础组件,具备一定的分流、容灾、数据备份的功能。

●      扩大对业务方的自主权,可以对加密过程进行定制化

●      增加不同算法的支持,具备更多的选择

●      整合现有的DDD模版,做到零侵入

看完心动了吗?

戳????“阅读原文”直达招聘页面

即刻加入爱奇艺!

也许你还想看

爱奇艺成为首家通过荷兰Riscure安全评估的视频平台

爱奇艺移动端APP健壮性测试的设计与实践

爱奇艺大数据生态的实时化建设一切数据皆可配置:爱奇艺海外站的运营后台设计实践

 关注我们,更多精彩内容陪伴你!

会员业务基于Cloud KMS的数据安全应用相关推荐

  1. 微信读书增长策略:“无限卡会员业务”

    问世3年内, 微信读书 拿下了1.6亿用户,在2018年9月份推出了无限卡会员服务,之后的半年里,该项业务又为其带来了百万用户的增长.微信读书是怎么做到快速增长的?为什么要推出"无限会员卡& ...

  2. 基于威胁分析的无人机数据安全传输系统论文怎么写

    写作一篇基于威胁分析的无人机数据安全传输系统的论文需要按照一定的结构和步骤进行: 绪论: 简要介绍无人机技术的发展和应用情况,并简述无人机数据安全传输的重要性. 相关研究:回顾现有的无人机数据安全传输 ...

  3. 金融创新业务基于容器云的微服务化实践

    此文已由作者刘超授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 云计算发展至今,从普通的虚拟化到 OpenStack 再到容器云,如何为客户提供一个满意的解决方案成为一件越来 ...

  4. 基于Python的面向数据安全治理的数据内容智能发现与分级分类

    面向数据安全治理的数据内容智能发现与分级分类 一.问题介绍 1.1 问题名称 面向数据安全治理的数据内容智能发现与分级分类 1.2 题目背景: 随着企业信息化水平的不断提高,数据共享与开放对企业发展的 ...

  5. 知乎披露会员业务未来布局,融合社区内容深耕垂直领域

    北京时间 7 月 22 日,知乎郎朗钢琴课全球首发暨媒体见面会在北京举行,知乎副总裁.会员事业部负责人张荣乐与国际著名钢琴演奏家郎朗共同开启<郎朗钢琴课:从入门到进阶的音乐大师课>.据悉, ...

  6. 阿里云 CDN 业务基于边缘容器的云原生转型实践

    导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称"Edge@ACK") 的能力.架 ...

  7. 基于 MaxCompute 的大数据安全方案

    随着法律的完善,数据安全,信息安全,网络安全,升级成国家安全,所以数据安全不管对用户,还是对公司也都会变的越来越重要.做为大数据云数仓解决方案的领导者,阿里云MaxCompute在安全体系上也做了很多 ...

  8. 基于工业互联网的数据安全体系建设

    网络安全和信息化是一体之两翼.驱动之双轮,以业务为导向的信息化发展缺少安全的保驾护航,已不能适应现今互联网化.智能化的发展要求.为有效解决工业互联网现今及后期所面临的安全问题,近几年国家发布了一系列关 ...

  9. php地址地区选择器,区域选择 - 按大区及省市多选区域,可自定义用于其它业务 – 基于ThinkPHP和Bootstrap的极速后台开发框架...

    一款能够快速按大区划分的省市多项选择插件,同时可快速对接FastAdmin. 使用说明 1.在需要弹出区域选择插件的任何元素添加data-toggle="areapicker"属性 ...

最新文章

  1. 通信系统未编码、卷积码与格雷码的仿真性能比较
  2. CV进入三维时代!Facebook在ICCV 2021 发布两个3D模型,自监督才是终极答案?
  3. Windows server 2008R2 DHCP服务器
  4. 无需写try/catch,也能正常处理异常
  5. 助你成为嵌入式高手的100多个软硬件开源项目
  6. C# Word 转PDF
  7. 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(四):使用 命名空间 简化配置...
  8. 用工具激活visio2013
  9. Linux卸载系统中自带java、jdk等
  10. Watson的未来就是IBM的未来
  11. ffmpeg drawtext同时添加多行文本
  12. [Algorithm] Write your own Math.pow function in Javascript, using Recursive approach
  13. python if __name__ == ' __main__'
  14. haneWIN NFS Server|haneWIN NFS Server(优秀NFS服务器)V1.2.16官方版-绿色下载吧
  15. 借助excel工具进行多元线性回归模型的建立及案例分析
  16. vscode自动补全c语言_vscode代码自动补全失效
  17. 使用计算机编辑文档的同时 还可播放mp3,win7系统电脑怎么使用Windows Movie Maker剪辑音频文件...
  18. [ 人力资源面试篇 ] 应届生 “ HR 面 “ 面试分析
  19. unicloud云开发---uniapp云开发(四)---本机手机号一键登录以及第三方登陆
  20. HDU 3853 LOOPS(概率DP)

热门文章

  1. H5弹窗弹出后,页面可滚动,希望禁止滚动
  2. Java 使用Graphics类画简单的生日蛋糕
  3. 网关--实现终端定位和信息交互的中间件
  4. mysql 累加_mysql累加、累减
  5. 小马哥--高仿红米1S 刷机 主板型号T7215 刷机拆机主板图与开机界面图
  6. 扩号匹配问题 OpenJ_Bailian - 3704
  7. Rundll加载dll时出现问题 找不到指定模块解决办法
  8. debian 重启mysql_如何重启MySQL服务,正确重启mysql的方法
  9. 详解iOS 音视频的延时
  10. stringify_如何使用Stringify的“模式”运行更复杂的流程