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

评论

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

公司内部使用的数仓命名规范

白贺BaiHe

大数据 数仓 数仓规范 7月日更

【Redis】数据结构

awen

redis 数据结构

5分钟速读之Rust权威指南(三十八)模板语法

wzx

rust

2020年的焦虑与忧伤

Emotion

疫情 考研 研究生

底层技术支撑智慧出行,汽车智能化发展下区块链大放异彩

CECBC

多地“真金白银”力撑区块链,中西部欲弯道超车新赛道

CECBC

模块七 - 王者荣耀商城异地多活架构设计

华仔架构训练营

妇与术(三):机器人可以没有性别,但关系技术离不开女性

脑极体

领域驱动设计101 - 聚合

luojiahu

领域驱动设计 DDD

🏆 【JVM 性能调优】「对象内存分配」输出常用参数

洛神灬殇

JVM 7月日更

凭借这5步,我30分钟学会了Python爬虫!

Jackpop

爬虫 爬虫教程

百度搜索稳定性问题分析的故事(上)

百度开发者中心

百度搜索

每天学习10个实用Javascript代码片段(三)

devpoint

JavaScript JSON格式化 7月日更

魔方、齿轮、融合剂:当新ICT技术邂逅教育产业

脑极体

香帅:2021年财富格局新变化

石云升

读书笔记 7月日更

Clickhouse Projection 特性探索

GrowingIO技术专栏

数据库 大数据 数据分析 OLAP Clickhouse

为啥Java应用迁移到容器后会出现OOM?

Java架构师迁哥

Flink进入大厂面试准备,收藏这一篇就够了

五分钟学大数据

flink 7月日更

区块链时代下,企业如何打造数据要素的“新竞争力”?

CECBC

相约山城重庆!HarmonyOS Connect伙伴峰会将于7月16日举办

科技汇

网络攻防学习笔记 Day68

穿过生命散发芬芳

网络攻防 7月日更

3分钟评估 你的运维监控系统是“救命稻草”还是“鸡肋”

鹿小U

运维自动化 监控系统 运维平台

Linux之find exec

入门小站

Linux

聊聊事务与分布式系统-从零讲到通透

刘绍

sql 分布式 事务 2PC XA

北鲲云助力生命科学,高性能计算突破屏障

北鲲云

十二张图,一脚踹开消息队列的大门

三分恶

消息队列

Python利器!Jupyter最大威胁终于来了

Jackpop

Python Jupyter Notebook

IntelliJ IDEA必备7款Python插件

Jackpop

IDEA pycharm

CDH 的安装(四)

大数据技术指南

CDH 7月日更

什么是数据集市

奔向架构师

数据仓库 数据架构 7月日更

React 18探秘(上)

Teobler

大前端 React

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