PKCS #11 제공업체 - AWS IoT Greengrass

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

PKCS #11 제공업체

PKCS #11 공급자 구성 요소 (aws.greengrass.crypto.Pkcs11Provider) 를 사용하면 PKCS #11 인터페이스를 통해 하드웨어 보안 모듈 (HSM) 을 사용하도록 AWS IoT Greengrass 코어 소프트웨어를 구성할 수 있습니다. 이 구성 요소를 사용하면 인증서 및 개인 키 파일을 안전하게 저장하여 소프트웨어에서 노출되거나 중복되지 않도록 할 수 있습니다. 자세한 설명은 하드웨어 보안 통합 섹션을 참조하세요.

HSM에 인증서와 개인 키를 저장하는 Greengrass 코어 디바이스를 프로비저닝하려면 Core 소프트웨어를 설치할 때 이 구성 요소를 프로비저닝 플러그인으로 지정해야 합니다. AWS IoT Greengrass 자세한 설명은 수동 리소스 프로비저닝으로 AWS IoT Greengrass Core 소프트웨어 설치 섹션을 참조하세요.

AWS IoT Greengrass이 구성 요소를 JAR 파일로 제공하여 설치 중에 프로비저닝 플러그인으로 지정할 수 있도록 다운로드할 수 있습니다. 구성 요소 JAR 파일의 최신 버전을 다음 URL로 다운로드할 수 있습니다. https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

버전

이 구성 요소의 버전은 다음과 같습니다.

  • 2.0.x

유형

이 구성 요소는 플러그인 구성 요소 () aws.greengrass.plugin 입니다. Greengrass 핵은 핵과 동일한 자바 가상 머신 (JVM) 에서 이 구성 요소를 실행합니다. 코어 디바이스에서 이 구성 요소의 버전을 변경하면 NUCLEUS가 다시 시작됩니다.

이 구성 요소는 Greengrass 핵과 동일한 로그 파일을 사용합니다. 자세한 설명은 모니터 AWS IoT Greengrass 로그 섹션을 참조하세요.

자세한 설명은 구성 요소 유형 섹션을 참조하세요.

운영 체제

이 구성 요소는 Linux 코어 디바이스에만 설치할 수 있습니다.

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • PKCS #1 v1.5 서명 체계와 RSA-2048 키 크기 (또는 그 이상) 또는 ECC 키가 있는 RSA 키를 지원하는 하드웨어 보안 모듈입니다.

    참고

    ECC 키가 있는 하드웨어 보안 모듈을 사용하려면 Greengrass nucleus v2.5.6 이상을 사용해야 합니다.

    하드웨어 보안 모듈과 시크릿 관리자를 사용하려면 RSA 키가 있는 하드웨어 보안 모듈을 사용해야 합니다.

  • AWS IoT GreengrassCore 소프트웨어가 런타임 시 (libdl 사용) 로드하여 PKCS #11 함수를 호출할 수 있는 PKCS #11 공급자 라이브러리입니다. PKCS #11 공급자 라이브러리는 다음과 같은 PKCS #11 API 작업을 구현해야 합니다.

    • C_Initialize

    • C_Finalize

    • C_GetSlotList

    • C_GetSlotInfo

    • C_GetTokenInfo

    • C_OpenSession

    • C_GetSessionInfo

    • C_CloseSession

    • C_Login

    • C_Logout

    • C_GetAttributeValue

    • C_FindObjectsInit

    • C_FindObjects

    • C_FindObjectsFinal

    • C_DecryptInit

    • C_Decrypt

    • C_DecryptUpdate

    • C_DecryptFinal

    • C_SignInit

    • C_Sign

    • C_SignUpdate

    • C_SignFinal

    • C_GetMechanismList

    • C_GetMechanismInfo

    • C_GetInfo

    • C_GetFunctionList

  • 하드웨어 모듈은 PKCS#11 사양에 정의된 것처럼 슬롯 레이블로 확인할 수 있어야 합니다.

  • HSM에서 개체 ID를 지원하는 경우 개인 키와 인증서를 HSM의 동일한 슬롯에 저장하고 동일한 개체 레이블과 개체 ID를 사용해야 합니다.

  • 인증서와 개인 키는 개체 레이블로 확인할 수 있어야 합니다.

  • 개인 키에는 다음과 같은 권한이 있어야 합니다.

    • sign

    • decrypt

  • (선택 사항) Secret Manager 구성 요소를 사용하려면 버전 2.1.0 이상을 사용해야 하며, 개인 키에는 다음과 같은 권한이 있어야 합니다.

    • unwrap

    • wrap

  • (선택 사항) TPM2 라이브러리를 사용하고 Greengrass 코어를 서비스로 실행하는 경우 PKCS #11 스토어 위치가 포함된 환경 변수를 제공해야 합니다. 다음 예제는 필수 환경 변수가 포함된 systemd 서비스 파일입니다.

    [Unit] Description=Greengrass Core After=network.target [Service] Type=simple PIDFile=/var/run/greengrass.pid Environment=TPM2_PKCS11_STORE=/path/to/store/directory RemainAfterExit=no Restart=on-failure RestartSec=10 ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader [Install] WantedBy=multi-user.target

의존성

구성 요소를 배포하면 호환되는 버전의 종속 AWS IoT Greengrass 항목도 배포됩니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 해당 종속성에 대한 요구 사항을 모두 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 시맨틱 버전 제약 조건이 나열되어 있습니다. 콘솔에서 구성 요소의 각 버전에 대한 종속성을 볼 수도 있습니다. AWS IoT Greengrass 구성 요소 세부 정보 페이지에서 종속성 목록을 찾아보십시오.

2.0.7

다음 표에는 이 구성 요소의 버전 2.0.7에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.13.0 소프트
2.0.6

다음 표에는 이 구성 요소의 버전 2.0.6에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.12.0 소프트
2.0.5

다음 표에는 이 구성 요소의 버전 2.0.5에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.11.0 소프트
2.0.4

다음 표에는 이 구성 요소의 버전 2.0.4에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.10.0 소프트
2.0.3

다음 표에는 이 구성 요소의 버전 2.0.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.9.0 소프트
2.0.2

다음 표에는 이 구성 요소의 버전 2.0.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.8.0 소프트
2.0.1

다음 표에는 이 구성 요소의 버전 2.0.1에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.7.0 소프트
2.0.0

다음 표에는 이 구성 요소의 버전 2.0.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.5.3 <2.6.0 소프트

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하십시오.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.

name

PKCS #11 구성의 이름.

library

AWS IoT Greengrass코어 소프트웨어가 libdl로 로드할 수 있는 PKCS #11 구현 라이브러리의 절대 파일 경로입니다.

slot

개인 키와 디바이스 인증서가 포함된 슬롯의 ID입니다. 이 값은 슬롯 인덱스 또는 슬롯 레이블과 다릅니다.

userPin

슬롯에 액세스하는 데 사용할 사용자 PIN.

예: 구성 병합 업데이트
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

로컬 로그 파일

이 구성 요소는 Greengrass 핵 구성 요소와 동일한 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
이 구성 요소의 로그를 보려면
  • 코어 기기에서 다음 명령을 실행하여 이 구성 요소의 로그 파일을 실시간으로 확인합니다. /greengrass/v2또는 C:\greengrass\v2 를 AWS IoT Greengrass 루트 폴더 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.0.7

그린그래스 뉴클리어스 버전 2.12.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.6

그린그래스 뉴클리어스 버전 2.11.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.5

그린그래스 뉴클리어스 버전 2.10.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.4

Greengrass 뉴클리어스 버전 2.9.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.3

Greengrass 뉴클리어스 버전 2.8.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.2

Greengrass 뉴클리어스 버전 2.7.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.1

Greengrass 뉴클리어스 버전 2.6.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.0

초기 버전