QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:001585

评论

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

SRv6网络典型部署场景

穿过生命散发芬芳

8月月更 SRv6

Service Mesh迁移原则

阿泽🧸

Service Mesh 8月月更

云渲染平台是互联网和云计算的发展产物

Finovy Cloud

云渲染 渲染农场 渲染价格

架构实战营课程学习感受

极客土豆

为什么互联网大厂一边疯狂裁员,一边不停招聘?

Jackpop

关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益

汪子熙

前端开发 SAP SAP UI5 ui5 8月月更

使用 Monaco Editor 开发 SQL 编辑器

CRMEB

VS Code如何打造C/C++开发环境?

Jackpop

百家号打击挂载恶意导流链接行为,必须严厉打击恶意挂链灰产

石头IT视角

C++深拷贝与浅拷贝,初始化列表,对象成员,静态成员相关分析

CtrlX

8月月更

华为研究院19级研究员几年心得终成趣谈网络协议文档,附大牛讲解

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

什么是好的应用程序?

flow

签约计划第三季

设计模式:里氏替代原理(LSP)

flow

签约计划第三季

Nacos配置中心之服务端长轮询处理机制

急需上岸的小谢

8月月更

Linux的难题,终于有解了!

Jackpop

C++为什么始终无法取代 C 吗?

Jackpop

数据中台建设(十一):数据中台解决方案参考与未来发展方向

Lansonli

大数据 数据中台 8月月更

React组件应用于Spring MVC工程

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

技术内幕 | StarRocks Community Champion、阿里云技术专家解读 Optimizer 实现

StarRocks

数据库

Kubernetes微服务Pod 影响力

CTO技术共享

开源 Kubernetes 集群 签约计划第三季 8月月更

备份和恢复Kubernetes集群中的Etcd数据

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

最好的编程语言

flow

签约计划第三季

Docker基础:Docker 常用命令梳理

天使不哭

#开源 8月月更

分析LED透明屏VS常规显示屏优劣

Dylan

LED LED显示屏 led显示屏厂家

在常州“超级虚拟工厂”,中国智造正在“原力觉醒”

脑极体

IT人才知道的二进制爱情,羡慕ing

ioik

爱情 二进制 java; 签约计划第三季

如何管理LAXCUS计算机集群

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

如何进行技术面试?

flow

签约计划第三季

为什么企业需要使用 Wiki 工具?

Geek_da0866

云渲染掀起虚拟演唱会新热潮

3DCAT实时渲染

如何设置跨域隔离启用 SharedArrayBuffer

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

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