写点什么

Arm 和 Docker 合作推出与平台无关的安全系统 API

  • 2019-10-25
  • 本文字数:2029 字

    阅读完需:约 7 分钟

Arm和Docker合作推出与平台无关的安全系统API

在 Arm 和 Docker 的支持下,PARSEC(Platform AbstRaction for SECurity)定义了一个通用的软件标准来处理对象存储和加密服务的安全性问题。该计划重点关注由容器化服务组成的现代系统架构,并努力让多种语言能够更容易地使用安全技术。


PARSEC 用各种流行的编程语言建立了一个面向开发人员的库生态系统。每个库都高度符合工效学标准,并且易于使用。这个不断增长的生态系统让基础设施计算、边缘计算和安全物联网等广泛用例的安全措施变得唾手可得。


PARSEC 承诺将会覆盖到安全系统的所有方面,包括密钥的提供和管理、散列、签名、非对称和对称加密、熵,等等。它的核心组件是一个用 Rust 编写的安全服务,它运行在主机上,并通过原生安全措施提供连接性。这就为那些对底层主机硬件设施一无所知,也没有足够特权来使用它们的客户端提供了访问安全设施的可能性。


分层架构确保了 PARSEC 服务的可扩展性,分层架构支持集成安全程序,安全程序可以是通用的,也可以是供应商提供的。外部客户端可以通过公共前端层访问安全程序,这个层负责处理连线协议和公共 API,以及所有序列化和反序列化工作。


为了了解更多信息,InfoQ 采访了 Docker 和 PARSEC 安全主管 Justin Cormack。


InfoQ:你能介绍一下 Parsec 是何时以及如何诞生的吗?它的主要目标是什么?它的目标是如何实现的?


Justin Cormack:Docker 和 Arm 合作已经有一段时间了,在 4 月份的 DockerCon 大会上,他们宣布将致力于为云计算、边缘计算和物联网提供一个通用的软件管道。我们正在探索一个我们共同感兴趣的领域,包括硬件密钥管理和密码学。从 Docker 的角度来看,很明显,一段时间以来,在安全方面处于领先地位的客户,如金融服务公司和政府,都有一个长期的目标,即所有加密和签名私钥都应该存储在硬件中。这样,即使在发生主机泄露的情况下,私钥也不会被窃取。最糟糕的情况是,它们可能在泄露期间被使用。此外,随着边缘应用程序越来越多地采用 Docker,这种安全性甚至变得比数据中心和云应用程序的安全性更为重要。没有了服务器的物理安全保护,硬件安全机制对于防止篡改和本地攻击来说就变得至关重要。这就是为什么我们要和 Arm 合作开发 Parsec,一种用于硬件安全的通用 API。


InfoQ:Parsec 希望如何改善开源软件的安全状况?


Cormack:我们正在努力解决两个问题。

首先,不同类型的硬件密钥之间几乎没有标准化的 API。TPM、苹果和 Android 有自己的 API,每个制造商有不同的 HSM API,而云提供商也有不同的远程 HSM API。我们正在设计一个通用的 API,基于 Arm PSA API(一个现代密码软件套件)。我们也考虑了其他方案,但我们更喜欢这个 API,因为它不包含遗留的加密操作,并且公开了一组合理的高级接口。此外,我们将进一步对其进行抽象,提供更通用的操作。在集成到硬件中之后,将提供一组受限的操作,你可以要求“使用 TLS 1.3 可接受的签名密钥”或类似的问题,实现可以很灵活,而不是只能“使用 RSA 密钥”。在项目中使用硬件密钥会更容易,不需要为特定的硬件和算法编写代码。

第二个问题是,硬件密钥管理没有为多客户端(如节点上的多个容器)提供多路密钥存储功能。我们可以假设这样一种情况,即单个服务拥有整个 TPM 或 HSM,或者可能提供了一些机制,但是不同的机制之间是不一样的。共享很可能不安全,因为客户端可能会访问到错误的密钥。因此,我们添加了一组通用的共享机制,其中包含了一个 Parsec 守护进程,对多个进程进行身份验证,并提供 API。我们计划重用 SPIFFE 协议(一个 CNCF 项目)的工作成果来进行认证和分发客户端证书。


InfoQ:目前有哪些组织在支持它?


Cormack:目前是 Arm 和 Docker 在合作这个项目。将其开放的目的是希望让其他感兴趣的组织能够更容易地参与进来,我们目前正在与其他可能感兴趣的组织进行交涉。我们欢迎所有愿意合作的组织。


InfoQ:你为什么选择 Rust 呢?使用 Rust 开发这类软件的总体经验是怎样的?


Cormack:Rust 与安全相关的项目越来越多,与密码应用程序有关的社区也在不断增长。作为一名安全工程师,我看到越来越多的安全项目选择 Rust。我们需要的是能够与其他语言交互、安全且可靠的东西。Rust 和 Go 语言是主要的候选语言,而 Rust 胜出了。这是 Docker 使用 Rust 开发的第一个项目,尽管我们在过去曾经讨论过其他一些适合的东西。我们目前正在开发 Rust 和 Go 语言客户端库,并计划在未来增加更多语言版本。


InfoQ:Parsec 目前的状态是怎样的?你如何看待它未来的发展?


Cormack:我们非常早就发布了这个项目,到目前为止,我们做的很多工作都是设计而不是编码,但已经有足够完整的原型来做一些演示和演示大部分架构。但它还处于非常早期的阶段,还不能提供给任何人使用,除了那些有兴趣参与贡献的人。我们将致力于将其集成到其他项目中,稳定客户端库,并添加新的后端,如 TPM。公开做这些事情应该也会鼓舞到其他贡献者。


PARSEC 核心服务可以很容易在Linux上构建和安装


原文链接


PARSEC Is a New Platform-Agnostic API for Secure Systems


2019-10-25 08:001561

评论

发布
暂无评论
发现更多内容

“数字云南”建设成效逐渐显现 区块链财政电子票据带来民生与环保效益

CECBC

区块链

用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

阿里云CloudImagine

音视频 WebRTC 在线教育 RTC

k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析

ucsheep

Kubernetes k8s pod Deployment ReplicaSet

区块链技术或加速企业“碳中和”战略落地

CECBC

区块

【LeetCode】132模式Java题解

Albert

算法 LeetCode 3月日更

智慧公安重点人员管控系统大数据分析平台的搭建

13828808769

智慧城市 智慧交通

Python OpenCV 彩色图像与灰度图像的转换

梦想橡皮擦

3月日更

PHP程序员如何简单的开展服务治理架构(一)

CrazyCodes

php 服务治理

自媒体平台数据统计分析爬虫之【趣头条】模拟登陆分析详解及数据统计接口详解

ucsheep

接口 爬虫 趣头条 模拟登录

神策大数据技术直播系列课第二季,开讲啦

神策技术社区

大数据 性能优化 大前端 工程师 事件分析

力扣(LeetCode)刷题,简单题(第14期)

不脱发的程序猿

面试 LeetCode 28天写作 算法攻关 3月日更

带你了解数据库的“吸尘器”:VACUUM

华为云开发者联盟

数据库 数据 GaussDB(DWS) VACUUM

超详细!手把手带你快速入门 GitHub!

JackTian

git GitHub 开源

技术杂谈 | Flutter 的性能分析、工程架构与细节处理

有道技术团队

flutter

MoviePy - 中文文档(一个专业的python音视频编辑库)教程

ucsheep

Python 音视频 视频剪辑 Moviepy 视频合成

PostgreSQL 集群宕机后恢复

桜喵ノねこ

区块链BaaS应用服务平台的搭建

13828808769

区块链+ #区块链#

商品溯源之痛,区块链对商品假冒的解决方案

13828808769

区块链+ 区块链应用 区块链发展 #区块链#

情指勤指挥调度平台搭建,公安局情报指挥系统

量化策略软件搭建,马丁策略交易软件开发

云原生数据库风起云涌,华为云GaussDB破浪前行

华为云开发者联盟

数据库 架构 云原生 华为云 GaussDB

IAP:物联网终端软件升级技术

华为云开发者联盟

IoT LiteOS iap 物联网终端 OTA

直播预告 | 数据操作加速器,CloudQuery v1.3.5 发布

BinTools图尔兹

sql 编辑器 数据治理 数据安全 数据库管理工具

美女师姐说给你听!我成为蚂蚁安全工程师的初体验

DT极客

终于知道为啥网页不让我复制粘贴了!

华为云开发者联盟

js 代码 button事件 复制粘贴 输入框

2021年DevOps的四大趋势

禅道项目管理

DevOps 工具 趋势 Redis开发与运维

畅想数据湖

数据社

数据仓库 数据湖 ETL ELT

分而治之——D&C

Kylin

3月日更 21天挑战 分而治之

云原生技术及其未来发展趋势展望 | 趋势解读

云原生

“刷脸”日益泛滥,“掌经脉”开辟生物识别新路

E科讯

网络连接总超时?从四层模型上解析网络是怎么连接的

京东科技开发者

计算机网络 服务器 域名

Arm和Docker合作推出与平台无关的安全系统API_开源_Sergio De Simone_InfoQ精选文章