当前位置: 首页 > 科技观察

如何保障云端数据安全?本文详细讲解了云原生全链路加密

时间:2023-03-15 20:06:05 科技观察

云原生全链路加密对云端的数据安全要求是什么,可以用信息安全“CIA”的基本三要素来概括,即机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)。保密性是指受保护的数据只能由合法(或预期)用户访问,其主要实现手段包括数据访问控制、数据防泄露、数据加密和密钥管理;完整性是保证只有合法授权(或预期)的用户才能修改数据,这主要是通过访问控制来实现的。同时可以通过验证算法保证用户数据在数据传输和存储过程中的完整性;数据的可用性主要体现在云的整体环境上。云上各相关系统(存储系统、网络接入、身份验证机制、权限验证机制等)的安全能力、容灾能力、可靠性、正常工作保障。在三要素中,保密第一要素最常见、最常需要的技术手段是数据加密。具体到云原生维度,需要实现的是云原生全链路加密能力。“全链路”是指数据传输(inTransit,也叫in-motion)、计算(Runtime,也叫in-process)、存储(instorage,也叫at-rest)的过程。“链路加密”是指端到端的数据加密保护能力,即从云下到云上、云上单元之间的传输过程,到数据的计算过程(使用/交换)。应用程序运行时,对数据最终持久化到磁盘的存储过程中的加密能力。?数据传输(数据通信加密、微服务通信加密、应用证书和密钥管理);?数据处理(运行时安全沙箱runV、可信计算安全沙箱runE);?数据存储(云原生存储CMK/BYOK加密支持、密文/密钥存储管理、容器镜像存储加密、容器运行/审计日志安全)。本文的技术描述针对现有的以及未来云原生全链路加密的技术目标云安全>云数据安全>云原生全链路加密云安全有不同层次不同用户组的安全链接定义。云安全涵盖软件、硬件、数据中心物理安全等方面的云客户安全和云厂商安全。云原生客户(CloudNativeCustomer)安全:应用安全/运营安全/商业安全/容器网络安全/容器数据安全/容器运行时安全云客户(CloudCustomer)安全云供应商(CloudIaaSDevOps)安全云原生安全云原生安全首先要符合云数据安全标准。在复用云基础设施安全能力的前提下,同时在安全运行过程中,在软件供应链上有进一步的安全支持。云原生存储通过声明式API描述云数据的生命周期,不向用户泄露底层IaaS的数据加密细节。不同的云原生存储一般作为云数据的载体,复用了云IaaS的基础安全能力,还需要包含软件供应链中的镜像安全、容器运行时的根文件系统安全和容器网络安全。云原生安全运行时=计算安全/内存安全/文件系统安全/数据处理过程中的网络安全云原生软件供应链安全=可执行/用户代码安全云原生基础设施安全=云数据存储安全云数据安全云用户数据安全包括以下三个方面的工作:数据保护:RAMACL控制对细粒度数据的访问;敏感数据发现与保护(简称SDDP)、数据脱敏、数据分类;数据加密:CMK加密数据能力,BYOK加密数据能力;密钥/密文管理:KMS/HSM等云服务,第三方Vault服务。1.数据安全的生命周期为了更好的理解数据保护,有必要对数据安全的生命周期有所了解,因为数据保护贯穿于整个数据生命周期:数据采集数据传输数据处理数据交换datastoragedatadestructioncloud原始数据生命周期,以ACK(Kubernetes容器服务)为例挂载阿里云云盘:云盘PV的声明和创建定义了数据,云盘数据的加密需要反映在声明定义中,加密密钥被选择和加密。可以声明式支持算法选择,RAM权限细粒度遵循最小权限;云盘通过PVC挂载到虚拟机,可以在容器组Pod引用中触发实现;云盘数据解密通过用户CMK/BYOK透明加解密在块设备上实现;Pod生命周期变化导致PVC关联云盘在不同主机ECS上的Detach/Attach;PV的Snapshot生命周期触发创建云盘Snapshots;PV的删除可以通过OnDeleteDataDeletion关联到云盘的挂起和终止。2、从狭义上讲,全链路的数据安全是数据端到端的加密,主要集中在数据生命周期的三个阶段:数据传输、数据处理、数据存储、数据传输阶段,安全通信设计、密文/加密、密钥的安全管理和传输,不仅要满足云原生引入的云环境、容器网络、微服务、区块链场景下安全传输的需求,也对安全提出了进一步的要求云原生数据传输。在VPC/安全组的云环境中使用云安全传输,对密文/密钥KMS南北流量进行安全管理,通过SSL证书服务获取可信有效的CA,对南北流量进行HTTPS加密分流,以及RPC/keygRPC通信使用SSL加密,减少VPC的攻击面,通过VPN/SAGGateway实现安全访问链路。云原生场景云原生安全传输,单个集群允许多个租户同时共享网络,系统组件权限控制,数据通信加密,证书轮换管理,东西向流量的网络隔离和网络清洗多租户场景;云原生微服务场景、应用/微服务间通信加密、证书管理;云原生场景密钥和密文独立管理和三方集成,KMS与VaultCA、fabric-ca、istio-certmanager等集成。数据处理阶段在数据处理阶段,内存层面的可信计算不仅需要云安全虚拟化的安全运行,还需要容器安全沙箱和可信安全沙箱。云安全虚拟化可信计算:TEESGX、ARMTrustZone;云原生容器安全沙箱:runVKata安全容器沙箱、runEGraphane/Occlum可信安全沙箱。数据存储阶段有云存储加密、云数据服务加密、容器镜像存储加密、审计日志、应用日志加密、三方集成等云安全需求,无盘存储支持密文密码.云存储加密方式:数据+加密算法+用户密钥或主密钥;客户端加密/服务器端加密。云存储数据,主要基于服务端加密;安全密钥管理KMS/HSM;安全加密算法,全面支持国产算法和部分国际通用加密算法,满足用户各种加密算法需求:对称加密算法:支持SM1、SM4、DES、3DES、AES;非对称加密算法:支持SM2、RSA(1024-2048);摘要算法:支持SM3、SHA1、SHA256、SHA384。阿里云只能对设备硬件进行管理,主要包括监控设备可用性指标、开启和停止服务等。密钥完全由客户管理,阿里云无法获取客户密钥。云存储加密支持:块存储EBS云盘:支持对虚拟机内部使用的块存储设备(即云盘)上的数据进行加密,保证块存储的数据加密存储在分布式系统中,并且支持使用服务密钥使用用户选择的密钥作为数据加密的主密钥;对象存储OSS:支持服务端和客户端的存储加密能力。在服务器端加密中,支持使用服务密钥和用户选择的密钥作为数据加密的主密钥;在客户端加密方面,支持用户管理的密钥进行加密,也支持在客户端的用户KMS加密中使用主密钥;RDS数据库数据加密:多个版本的RDS数据库采用透明加密(TransparentDataEncryption,简称TDE)或云盘实例加密机制,支持使用服务密钥和用户自选密钥作为主密钥。数据加密;表存储OTS:支持使用服务密钥和用户选择的密钥作为主密钥进行数据加密;文件存储NAS:支持使用服务密钥作为数据加密的主密钥;MaxCompute大数据计算:支持使用服务密钥作为数据加密的主密钥;操作日志、审计日志安全存储,三方日志系统集成。云原生存储加密:目前阿里云容器服务ACK主要可以承载块存储、文件存储、对象存储。通过ServiceBroker等方式支持RDS、OTS等其他类型的数据服务:用户容器镜像/代码(企业容器镜像服务,OSSCMK/BYOK加密);云原生存储卷PV(声明支持云存储CMK/BYOK,数据服务层加密支持);操作日志和审计日志(ActionTrailOpenAPI/KubernetesAuditLog:SLSlogEncryption);密文密码(KMS/Vault支持三方加密和密文存储,非etcd持久化)。结论云安全体系下的云原生全链路数据安全和全链路加密成为基础配置。新的容器化基础设施和应用架构的变化,结合云原生技术体系的特点,在数据传输和数据传输方面变得更加重要。无论是处理阶段还是数据存储阶段,都需要增加相应云原生环境对网络、运行时、存储的全链路加密要求。不仅需要满足云环境下的安全传输、云原生引入的容器网络、微服务、区块链等场景,还对云原生数据的安全传输提出了更进一步的要求;有云虚拟化安全运行的需求,有容器安全沙箱和可信安全沙箱的需求;有云存储加密、云数据服务加密、容器镜像存储加密、审计日志、应用日志加密、三方集成需求等云安全需求,支持密文密码无盘存储。