Teaclave 0.2.0 發佈:讓隱私安全計算更簡單

Apache Teaclave (incubating) 是一個隱私安全計算平臺,爲隱私數據計算賦能。基於硬件安全能力,Teaclave 確保敏感數據在可信域外和離岸場景下安全可控的流通和處理,無需擔心隱私數據泄露和濫用。Teaclave 同時支持多方參與的聯合計算,打破企業和組織中的數據孤島。Teaclave 於 2019 年由百度捐贈進入 Apache 基金會孵化器。在 2020 年 10 月發佈第一個開源社區版本。

Teaclave 使用 Intel SGX, 提供基於硬件隔離、內存加密、遠程證實等安全技術保護數據隱私計算任務。Teaclave 平臺提供了函數即服務(function-as-a-service)接口,降低了使用門檻。平臺中也實現了衆多內置函數,例如機器學習算法,多方聯 合求交,加解密計算等等常用功能。更重要的是,開發者還可以使用 Python 自由編寫函數來操作隱私數據,在中平臺執行。最後,爲了避免內存安全漏洞帶來的安全風險,Teaclave 還使用內存安全編程語言 Rust 編寫。

2021 年 3 月 2 日,我們迎來了 Teaclave 第二個社區版本的發佈 0.2.0。在這一版本中,我們重點放在提供更多的內建函數,不同語言的客戶端 SDK,更方便的 docker 部署環境,命令行接口,文檔等等。


Teaclave 開源社區

感謝一直以來關注、使用、提問、爲項目貢獻代碼的人們,Teaclave 項目的發展離不開社區 (https://teaclave.apache.org/community/)的支持與幫助。在此,我們非常高興的宣佈,已有四家公司或組織在產品中使用 Teaclave,並且有超過九個開源項目使用了 Teaclave 平臺和 Teaclave SGX SDK。這些都給項目的發展提供源源不斷的動力。


Teaclave 的開源是 The Apache Way (https://www.apache.org/theapacheway/)的開源,無論是代碼、文檔、設計還是路線圖規劃,我們都會在社區的各個渠道中討論。如果你想關注 Teaclave,亦或想加入我們的討論,可以在 Github issues,郵件列表回覆我們、發起新的話題。也可以關注我們的 Twitter 賬號 @ApacheTeaclave瞭解最新動態。除此之外,我們在官網 (https://teaclave.apache.org/)中提供了Teaclave 相關的演講、論文和文章,包括今年在 ApacheCon 的演講 slides 和視頻。

同時,我們在 2021年已經組織了兩次公開在線的Meetup,對於Teaclave 感興趣的朋友們都可以加入討論,如果因爲時間原因錯過了meetup,我們也在 blog中提供了每次meetup的內容介紹。


在此,感謝我們所有貢獻者對於項目的貢獻,感謝 Apache 社區導師們的指導,感謝所有幫助 擴大社區、宣傳社區、討論路線圖、組織社區活動的 PPMC 和 committer 成員,還要感謝正在瞭解 和嘗試使用 Teaclave 的人們,以及回饋 Teaclave 社區的公司。你們都爲 Teaclave 開源 社區的發展做了巨大的貢獻。


Teaclave 0.2.0 亮點介紹

在 0.2.0 中,我們添加了多種語言的客戶端 SDK,現在我們提供了 Python、Rust、C、Swift 四種語言的接口,在 Teaclave Meetup #2 中,我們已經介紹了不同語言 SDK 的組織結構和框架。簡單來說,我們使用 JSON 序列化/反序列化的方式作爲多語言的邊界。下圖描述了這幾種語言 SDK 的關係,以及一些事例的接口。


Teaclave 0.2.0 版本詳情

詳細來講 0.2.0 包括以下修改以及新功能:

Functions

  • 增加內置的 PCA (Principal Component Analysis) 函數

  • 添加泄漏密碼查詢內置函數 (#447)

SDK

  • 增加 Rust 客戶端 SDK (#455)

  • 增加 C 客戶端 SDK (#470)

  • 增加 Swift 客戶端 SDK,也就是 iOS framework

  • 修改 SDK 中接口的 CMAC 格式爲 byte array

Docker

  • 增加 teaclave-file-service 容器作爲示例程序的遠程文件系統 (#446)

  • 修復在仿真模式下的 docker compose 文件 (#462)

CLI

  • 增加 attesation 的子命令,可以展示當前 SGX 平臺的遠程認證報告

文檔

  • 增加 codebase 中的文檔

  • 增加在 Azure Confidential Compute VM 中部署 Teaclave 的文檔介紹

其他

  • 在 binder 模塊中增加 input/output buffer 的檢查以及測試

  • 使用 Github Action 進行 PR 的編譯、測試以及格式檢查

  • 文檔的打磨

如何下載

Teaclave 0.2.0 版本可以在官網下載頁面找到(注意驗證 PGP 簽名和 hash)。


快速入門

如果您想嘗試使用 Teaclave,我們提供了一個簡單的上手文檔(https://teaclave.apache.org/docs/my-first-function/)來執行一個打印 hello world 的函數。

簡單來說,你可以通過以下命令使用 docker 編譯 Teaclave:

$ cd incubator-teaclave
$ docker run --rm -v $(pwd):/teaclave -w /teaclave \
 -it teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:latest \
  bash -c ". /root/.cargo/env && \
    . /opt/sgxsdk/environment && \
    mkdir -p build && cd build && \
    cmake -DTEST_MODE=ON .. && \
    make"

然後使用 docker-compose 在仿真模式下執行 Teaclave 的所有服務:

$ (cd docker && docker-compose -f docker-compose-ubuntu-1804-sgx-sim-mode.yml up --build)

最後,就可以在 examples 目錄下使用 Python 調用 echo 函數打印 “Hello, Teaclave!”:

$ cd examples/python
$ PYTHONPATH=../../sdk/python python3 builtin_echo.py 'Hello, Teaclave!'
[+] registering user
[+] login
[+] registering function
[+] creating task
[+] approving task
[+] invoking task
[+] getting result
[+] done
[+] function return:  b'Hello, Teaclave!'

如果你想深入的瞭解 Teaclave 的內部設計和實現,我們還有更多設計文檔、API 文檔、代碼庫文檔等你發現。


Disclaimer: Apache Teaclave (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

本文分享自微信公衆號 - 百度安全實驗室(BaiduX_lab)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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