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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章