Enarx: 신뢰할 수 있는 실행 환경 프레임워크의 미래

안녕하세요 여러분, TEE(신뢰할 수 있는 실행 환경)에서 응용 프로그램을 실행하는 데 사용되는 선도적인 오픈 소스 프레임워크에 대해 배울 또 다른 블로그에 오신 것을 환영합니다. Linux Foundation의 CCC(Confidential Computing Consortium)의 일부입니다.



소개:
다양한 부문의 조직은 온프레미스에서 퍼블릭 클라우드, Edge에 이르기까지 여러 환경에서 컴퓨팅 워크로드를 이동하므로 민감한 코드와 데이터가 보호된다는 더 큰 확신이 필요합니다. 이는 특히 은행 및 금융, 정부 및 공공 부문, 통신, 사물 인터넷, 의료, 고객 데이터에 민감한 기업 기능, 국방 및 인권과 같은 부문에 해당됩니다.

데이터를 보호할 수 있는 세 가지 상태는 미사용, 전송 중 및 사용 중입니다. 미사용 및 전송 중인 데이터를 암호화하는 것은 클라우드 컴퓨팅에서 일반적인 관행이 된 반면 사용 중인 데이터(기밀 컴퓨팅의 핵심 아이디어)를 암호화하는 것은 여전히 ​​새로운 문제입니다.

ㅏ. 미사용 데이터에는 파일, 개체 및 스토리지가 포함됩니다.

비. 전송 중인 데이터에는 인터넷이나 사설 네트워크 등을 통해 한 위치에서 다른 위치로 이동하는 데이터가 포함됩니다.

씨. 사용 중인 데이터는 CPU 또는 메모리에서 처리 중인 데이터입니다.



TEE(신뢰할 수 있는 실행 환경)는 응용 프로그램이 실행 중인 호스트 시스템을 소유하거나 액세스 권한이 있는 사람과 관계없이 사용 중인 데이터 기밀성과 무결성을 유지해야 하는 이러한 요구에 하드웨어 기반 솔루션을 제공합니다.



Enarx는 응용 프로그램을 실행할 때 필요한 신뢰 관계를 최소화하는 것을 목표로 합니다. 즉, 신뢰할 수 있어야 하는 유일한 구성 요소는 CPU 및 관련 펌웨어, 워크로드 자체, 완전히 오픈 소스이고 감사 가능한 Enarx 미들웨어입니다. 애플리케이션은 스택의 계층(예: 하이퍼바이저, 커널, 사용자 공간) 없이 실행되어 Keep 또는 해당 콘텐츠를 조사하거나 변경할 수 있습니다.



CPU 아키텍처에 독립적이어서 동일한 애플리케이션 코드를 여러 대상에 배포할 수 있으므로 교차 컴파일 및 하드웨어 공급업체 간의 서로 다른 증명 메커니즘과 같은 문제를 추상화할 수 있습니다.

사용자에게 투명한 방식으로 애플리케이션의 증명, 패키징 및 프로비저닝을 제공합니다. 애플리케이션의 모든 인스턴스는 세 단계를 거칩니다.
  • 증명: Enarx는 배포하려는 호스트가 정품 TEE 인스턴스인지 확인합니다.
  • 패키징: 증명이 완료되고 TEE 인스턴스가 확인되면 Enarx 관리 구성 요소가 필요한 데이터와 함께 응용 프로그램을 암호화합니다.
  • 프로비저닝: Enarx는 Enarx Keep에서 실행하기 위해 애플리케이션과 데이터를 호스트로 전송합니다.

  • 해 봅시다:

    1. 러스트 설치



    $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
    
    # set path variable
    $ source $HOME/.cargo/env
    

    2. WebAssembly Rust 툴체인 설치



    $ rustup target install wasm32-wasi
    $ cd~/
    

    3. Github에서 Enarx를 설치합니다.



    $ git clone https://github.com/enarx/enarx
    $ cd enarx/
    $ cargo build
    
    $ cargo install --bin enarx --path ./
    

    이제 Enarx가 시스템에 설치되었으며 시스템의 모든 곳에서 전역적으로 액세스할 수 있습니다.

    Enarx는 변환을 위한 바이너리 파일을 지원하므로 WebAssembly 모듈을 빌드하고 실행할 것입니다.

    4. 간단한 Rust 프로그램 만들기



    cargo init --bin hello-world
    $ cd hello-world
    $ echo 'fn main() { println!("Hello, Enarx!"); }' > src/main.rs
    $ cargo build --release --target=wasm32-wasi
    

    이제 Enarx keep에서 WebAssembly 프로그램을 실행할 수 있습니다.

    $ enarx run target/wasm32-wasi/release/hello-world.wasm
    […]
    Hello, Enarx!
    


    Enarx의 최신 버전Enarx 0.4.0: Fort of Dhat al-Hajj
    자세한 내용은 변경 로그를 확인하십시오.

    Enarx는 사용이 간편하도록 제작되었습니다. 복잡한 개념을 추상화하고 여러 아키텍처를 투명하게 지원하므로 사용자가 이에 대해 걱정할 필요가 없습니다.

    Github에서 Enarx를 확인하고 별표를 하십시오.

    이것을 사용하여 커뮤니티에 참여하십시오Link. 누구나 자신의 기여와 생각을 공유할 수 있습니다.

    참조:
  • https://enarx.dev/docs
  • https://community.intel.com/t5/Blogs/Products-and-Solutions/Security/Confidential-Computing-the-emerging-paradigm-for-protecting-data/post/1335003
  • https://enarx.dev/resources/2022-04-12-enarx-0-4-4
  • https://www.gartner.com/smarterwithgartner/top-actions-from-gartner-hype-cycle-for-cloud-security-2020

  • https://www.ibm.com/cloud/learn/confidential-computing .
  • 좋은 웹페이지 즐겨찾기