하드웨어 보안 통합 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트가 AWS IoT Greengrass V1 릴리스되지 않습니다. 에서 실행되는 기기는 AWS IoT Greengrass V1 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 새로운 기능이 크게 추가되고 추가 플랫폼에 대한 지원이 추가되는 으로 마이그레이션하는 AWS IoT Greengrass Version 2 것이 좋습니다.

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

하드웨어 보안 통합

이 기능은 AWS IoT Greengrass 코어 v1.7 이상에 사용할 수 있습니다.

AWS IoT Greengrass에서는 안전한 저장과 프라이빗 키의 오프로딩을 위해 PKCS#11 인터페이스를 통한 HSM(하드웨어 보안 모듈)의 사용을 지원합니다. 그러면 키가 노출되거나 소프트웨어에서 중복되는 경우를 방지할 수 있습니다. 프라이빗 키는 HSM, TPM(Trusted Platform Module) 또는 기타 암호화 요소 등과 같은 하드웨어 모듈에 안전하게 저장할 수 있습니다.

AWS Partner 디바이스 카탈로그에서 이 기능에 적합한 디바이스를 검색하십시오.

다음 다이어그램은 AWS IoT Greengrass 코어의 하드웨어 보안 아키텍처를 나타냅니다.

표준 설치에서 AWS IoT Greengrass는 프라이빗 키 두 개를 사용합니다. 키 하나는 Greengrass 코어가 AWS IoT Core에 연결할 때 TLS(전송 계층 보안) 핸드셰이크 중 AWS IoT 클라이언트(IoT 클라이언트) 구성 요소가 사용합니다. 이 키는 코어 프라이빗 키라고도 합니다. 다른 키는 로컬 MQTT 서버에서 사용하는 데, Greengrass 디바이스가 Greengrass 코어와 통신하도록 합니다. 두 구성 요소에 하드웨어 보안을 사용하려는 경우 공유 프라이빗 키 또는 개별 프라이빗 키를 사용할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 하드웨어 보안에 대한 프로비저닝 연습 섹션을 참조하세요.

참고

표준 설치 시 로컬 보안 관리자도 해당 암호화 프로세스에 IoT 클라이언트 키를 사용하지만 사용자가 자신의 프라이빗 키를 사용할 수 있습니다. 이는 최소 2048비트 길이의 RSA 키여야 합니다. 자세한 내용은 암호 암호화를 위한 프라이빗 키 지정 섹션을 참조하세요.

요구 사항

Greengrass 코어에 대한 하드웨어 보안을 구성하려면 다음 항목이 있어야 합니다.

  • IoT 클라이언트, 로컬 MQTT 서버 및 로컬 보안 관리자 구성 요소에 대한 대상 프라이빗 키 구성을 지원하는 HSM(하드웨어 보안 모듈). 구성에는 구성 요소에서 키를 공유하도록 구성했는지 여부에 따라 하드웨어 기반 프라이빗 키가 한 개, 두 개 또는 세 개 포함될 수 있습니다. 프라이빗 키 지원에 대한 자세한 내용은 AWS IoT Greengrass 핵심 보안 원칙 단원을 참조하십시오.

    • RSA 키의 경우: RSA-2048 키 크기(또는 이상) 및 PKCS#1 v1.5 서명 체계

    • EC 키의 경우: NIST P-256 또는 NIST P-384 Curve

    참고

    AWS Partner 디바이스 카탈로그에서 이 기능에 적합한 디바이스를 검색하십시오.

  • 런타임에 로드할 수 있고(libdl 사용) PKCS#11을 제공하는 PKCS#11 공급자 라이브러리.

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

  • 프라이빗 키는 공급업체에서 제공하는 프로비저닝 도구를 사용하여 HSM에서 생성 및 로드해야 합니다.

  • 프라이빗 키는 객체 레이블로 확인할 수 있어야 합니다.

  • 코어 디바이스 인증서. 프라이빗 키에 해당하는 IoT 클라이언트 인증서입니다.

  • Greengrass OTA 업데이트 에이전트를 사용하는 경우 OpenSSL libp11 PKCS#11 래퍼 라이브러리 설치가 필요합니다. 자세한 내용은 무선 업데이트에 대한 지원 구성 섹션을 참조하세요.

또한 다음 조건을 충족하는지 확인하십시오.

  • 프라이빗 키와 연결된 IoT 클라이언트 인증서가 AWS IoT에 등록되었고 활성화되어 있어야 합니다. AWS IoT 콘솔의 관리에서 모든 디바이스를 확장하고, 사물을 선택하고, 핵심 사물에 대한 인증서 탭을 선택하여 이를 확인할 수 있습니다.

  • 시작하기 튜토리얼의 모듈 2에서 설명한 대로 AWS IoT Greengrass Core 소프트웨어 v1.7 이상이 코어 디바이스에 설치되어 있습니다. 버전 1.9 이상의 경우 MQTT 서버에 대해 EC 키를 사용해야 합니다.

  • 인증서가 Greengrass 코어에 연결되어 있어야 합니다. 관리 페이지에서 AWS IoT 콘솔의 코어 사물에 대해 이러한 조건이 충족되었는지 확인할 수 있습니다.

참고

현재 AWS IoT Greengrass에서는 HSM에서의 CA 인증서 또는 IoT 클라이언트 인증서 직접 로딩을 지원하지 않습니다. 인증서는 파일 시스템에서 Greengrass가 읽을 수 있는 위치에 일반 텍스트 파일로 로드해야 합니다.

AWS IoT Greengrass 코어에 대한 하드웨어 보안 구성

하드웨어 보안은 Greengrass 구성 파일에 구성됩니다. 이 config.json 파일은 /greengrass-root/config 디렉터리에 위치합니다.

참고

일반 소프트웨어 구현을 사용하여 HSM 구성을 설정하는 프로세스를 살펴보려면 모듈 7: 하드웨어 보안 통합 시뮬레이션단원을 참조하십시오.

중요

이 예제의 시뮬레이션된 구성에서는 어떠한 보안 이점도 제공하지 않습니다. 이 모듈은 PKCS#11 사양에 대해 배우고, 앞으로 실제 하드웨어 기반 HSM을 사용할 계획이 있는 경우 소프트웨어의 초기 테스트를 수행하도록 마련되었습니다.

AWS IoT Greengrass에서 하드웨어 보안을 구성하려면 config.json에서 crypto 객체를 편집합니다.

하드웨어 보안을 사용하는 경우 다음 예제에 나와 있는 것처럼 crypto 객체가 PKCS#11 공급자 라이브러리의 인증서, 프라이빗 키 및 자산 경로를 지정하는 데 사용됩니다.

"crypto": { "PKCS11" : { "OpenSSLEngine" : "/path-to-p11-openssl-engine", "P11Provider" : "/path-to-pkcs11-provider-so", "slotLabel" : "crypto-token-name", "slotUserPin" : "crypto-token-user-pin" }, "principals" : { "IoTCertificate" : { "privateKeyPath" : "pkcs11:object=core-private-key-label;type=private", "certificatePath" : "file:///path-to-core-device-certificate" }, "MQTTServerCertificate" : { "privateKeyPath" : "pkcs11:object=server-private-key-label;type=private" }, "SecretsManager" : { "privateKeyPath": "pkcs11:object=core-private-key-label;type=private" } }, "caPath" : "file:///path-to-root-ca"

crypto 객체는 다음 속성을 포함하고 있습니다.

필드 설명 주의
caPath

AWS IoT 루트 CA의 절대 경로입니다.

file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

참고
PKCS11
OpenSSLEngine

선택 사항. OpenSSL에 대한 PKCS#11 지원을 가능하게 하는 OpenSSL 엔진 .so 파일에 대한 절대 경로입니다.

파일 시스템에서는 파일에 대한 경로여야 합니다.

하드웨어 보안과 함께 Greengrass OTA 업데이트 에이전트를 사용하는 경우 이 속성이 필요합니다. 자세한 내용은 무선 업데이트에 대한 지원 구성 섹션을 참조하세요.

P11Provider

PKCS#11 구현의 libdl 로드 가능 라이브러리에 대한 절대 경로입니다.

파일 시스템에서는 파일에 대한 경로여야 합니다.

slotLabel

하드웨어 모듈을 식별하는 데 사용되는 슬롯 모듈입니다.

PKCS#11 레이블 사양을 준수해야 합니다.

slotUserPin

모듈에 대해 Greengrass 코어를 인증하는 데 사용되는 사용자 핀입니다.

구성된 프라이빗 키를 사용하여 C_Sign을 수행하려면 충분한 권한이 있어야 합니다.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
IoTCertificate  .privateKeyPath

코어 프라이빗 키의 경로입니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다.

IoTCertificate  .certificatePath

코어 디바이스 인증서의 절대 경로입니다.

file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

MQTTServerCertificate

선택 사항. 코어가 MQTT 서버 또는 게이트웨이로 작동하기 위해 인증서와 함께 사용하는 프라이빗 키입니다.

MQTTServerCertificate  .privateKeyPath

로컬 MQTT 서버 프라이빗 키의 경로입니다.

이 값은 로컬 MQTT 서버에 대한 고유한 프라이빗 키를 지정하는 데 사용합니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다.

이 속성을 생략하면 AWS IoT Greengrass에서는 교체 설정을 기반으로 키를 교체합니다. 지정된 경우, 고객이 키 교체를 책임집니다.

SecretsManager The private key that secures the data key used for encryption. For more information, see AWS IoT Greengrass 코어에 암호 배포.
SecretsManager  .privateKeyPath

로컬 보안 관리자 프라이빗 키의 경로입니다.

RSA 키만 지원됩니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다. PKCS#1 v1.5 패딩 메커니즘을 사용하여 프라이빗 키를 생성해야 합니다.

필드 설명 주의
caPath

AWS IoT 루트 CA의 절대 경로입니다.

file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

참고
PKCS11
OpenSSLEngine

선택 사항. OpenSSL에 대한 PKCS#11 지원을 가능하게 하는 OpenSSL 엔진 .so 파일에 대한 절대 경로입니다.

파일 시스템에서는 파일에 대한 경로여야 합니다.

하드웨어 보안과 함께 Greengrass OTA 업데이트 에이전트를 사용하는 경우 이 속성이 필요합니다. 자세한 내용은 무선 업데이트에 대한 지원 구성 섹션을 참조하세요.

P11Provider

PKCS#11 구현의 libdl 로드 가능 라이브러리에 대한 절대 경로입니다.

파일 시스템에서는 파일에 대한 경로여야 합니다.

slotLabel

하드웨어 모듈을 식별하는 데 사용되는 슬롯 모듈입니다.

PKCS#11 레이블 사양을 준수해야 합니다.

slotUserPin

모듈에 대해 Greengrass 코어를 인증하는 데 사용되는 사용자 핀입니다.

구성된 프라이빗 키를 사용하여 C_Sign을 수행하려면 충분한 권한이 있어야 합니다.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
IoTCertificate  .privateKeyPath

코어 프라이빗 키의 경로입니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다.

IoTCertificate  .certificatePath

코어 디바이스 인증서의 절대 경로입니다.

file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

MQTTServerCertificate

선택 사항. 코어가 MQTT 서버 또는 게이트웨이로 작동하기 위해 인증서와 함께 사용하는 프라이빗 키입니다.

MQTTServerCertificate  .privateKeyPath

로컬 MQTT 서버 프라이빗 키의 경로입니다.

이 값은 로컬 MQTT 서버에 대한 고유한 프라이빗 키를 지정하는 데 사용합니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다.

이 속성을 생략하면 AWS IoT Greengrass에서는 교체 설정을 기반으로 키를 교체합니다. 지정된 경우, 고객이 키 교체를 책임집니다.

secretsmanager The private key that secures the data key used for encryption. For more information, see AWS IoT Greengrass 코어에 암호 배포.
SecretsManager  .privateKeyPath

로컬 보안 관리자 프라이빗 키의 경로입니다.

RSA 키만 지원됩니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다. PKCS#1 v1.5 패딩 메커니즘을 사용하여 프라이빗 키를 생성해야 합니다.

필드 설명 주의
caPath

AWS IoT 루트 CA의 절대 경로입니다.

file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

참고
PKCS11
OpenSSLEngine

선택 사항. OpenSSL에 대한 PKCS#11 지원을 가능하게 하는 OpenSSL 엔진 .so 파일에 대한 절대 경로입니다.

파일 시스템에서는 파일에 대한 경로여야 합니다.

하드웨어 보안과 함께 Greengrass OTA 업데이트 에이전트를 사용하는 경우 이 속성이 필요합니다. 자세한 내용은 무선 업데이트에 대한 지원 구성 섹션을 참조하세요.

P11Provider

PKCS#11 구현의 libdl 로드 가능 라이브러리에 대한 절대 경로입니다.

파일 시스템에서는 파일에 대한 경로여야 합니다.

slotLabel

하드웨어 모듈을 식별하는 데 사용되는 슬롯 모듈입니다.

PKCS#11 레이블 사양을 준수해야 합니다.

slotUserPin

모듈에 대해 Greengrass 코어를 인증하는 데 사용되는 사용자 핀입니다.

구성된 프라이빗 키를 사용하여 C_Sign을 수행하려면 충분한 권한이 있어야 합니다.

principals
IoTCertificate The certificate and private key that the core uses to make requests to AWS IoT.
IoTCertificate  .privateKeyPath

코어 프라이빗 키의 경로입니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다.

IoTCertificate  .certificatePath

코어 디바이스 인증서의 절대 경로입니다.

file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

MQTTServerCertificate

선택 사항. 코어가 MQTT 서버 또는 게이트웨이로 작동하기 위해 인증서와 함께 사용하는 프라이빗 키입니다.

MQTTServerCertificate  .privateKeyPath

로컬 MQTT 서버 프라이빗 키의 경로입니다.

이 값은 로컬 MQTT 서버에 대한 고유한 프라이빗 키를 지정하는 데 사용합니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다.

이 속성을 생략하면 AWS IoT Greengrass에서는 교체 설정을 기반으로 키를 교체합니다. 지정된 경우, 고객이 키 교체를 책임집니다.

secretsmanager The private key that secures the data key used for encryption. For more information, see AWS IoT Greengrass 코어에 암호 배포.
SecretsManager  .privateKeyPath

로컬 보안 관리자 프라이빗 키의 경로입니다.

RSA 키만 지원됩니다.

파일 시스템 스토리지의 경우 file:///absolute/path/to/file 형식의 파일 URI여야 합니다.

HSM 스토리지의 경우 객체 레이블을 지정하는 RFC 7512 PKCS#11 경로여야 합니다. PKCS#1 v1.5 패딩 메커니즘을 사용하여 프라이빗 키를 생성해야 합니다.

AWS IoT Greengrass 하드웨어 보안에 대한 프로비저닝 연습

다음은 보안 및 성능 관련 프로비저닝 연습입니다.

보안

  • 내부 하드웨어 난수 생성기를 사용하여 HSM에서 직접 프라이빗 키를 생성합니다.

    참고

    프라이빗 키를 구성해 이 기능을 사용할 경우(하드웨어 공급업체 제공 지침을 준수함), 현재 AWS IoT Greengrass에서는 로컬 암호 암호화 및 복호화에 대해 PKCS1 v1.5 패딩 메커니즘만 지원한다는 점에 유의하십시오. AWS IoT Greengrass에서는 OAEP(Optimal Asymmetric Encryption Padding)를 지원하지 않습니다.

  • 내보내기를 금지하도록 프라이빗 키를 구성합니다.

  • 하드웨어 공급업체에서 제공한 프로비저닝 도구를 사용해 하드웨어 보호 프라이빗 키로 CSR(인증서 서명 요청)을 생성한 후 AWS IoT 콘솔을 사용해 클라이언트 인증서를 생성합니다.

참고

프라이빗 키가 HSM에서 생성되는 경우에는 키 교체 연습이 적용되지 않습니다.

성능

다음 다이어그램에는 AWS IoT Greengrass 코어의 IoT 클라이언트 구성 요소와 로컬 MQTT 서버가 나와 있습니다. 두 구성 요소에 HSM 구성을 사용하려는 경우 동일한 프라이빗 키 또는 개별 프라이빗 키를 사용할 수 있습니다. 개별 키를 사용하는 경우 해당 키는 동일한 슬롯에 저장되어야 합니다.

참고

AWS IoT Greengrass에서는 HSM에 저장할 키 개수에 대한 한도를 지정하지 않으므로 IoT 클라이언트, MQTT 서버 및 보안 관리자 구성 요소에 대한 프라이빗 키를 저장할 수 있습니다. 그러나 슬롯에 저장할 수 있는 키 개수에 대한 한도를 지정하는 HSM 공급업체가 있을 수 있습니다.

AWS IoT Greengrass 코어 소프트웨어가 클라우드에 대해 연결을 오래 유지하기 때문에 일반적으로 IoT 클라이언트 키는 자주 사용되지 않습니다. 그러나 MQTT 서버 키는 Greengrass 디바이스가 코어에 연결할 때마다 사용됩니다. 이러한 상호 작용은 성능에 직접적인 영향을 미칩니다.

MQTT 서버 키가 HSM에 저장되어 있는 경우 디바이스가 연결할 수 있는 속도는 HSM이 수행할 수 있는 초당 RSA 서명 작업 수에 따라 달라집니다. 예를 들어, HSM이 RSA-2048 프라이빗 키에 대해 RSASSA-PKCS1-v1.5 서명을 수행하는 데 300밀리초가 걸리는 경우 1초에 Greengrass에는 디바이스 3개만 연결할 수 있습니다. 연결되면 HSM은 더 이상 사용되지 않고 표준 AWS IoT Greengrass 할당이 적용됩니다.

성능 병목 현상을 완화하기 위해 MQTT 서버에 대한 프라이빗 키를 HSM이 아니라 파일 시스템에 저장할 수 있습니다. 이러한 구성을 사용하면 MQTT 서버는 마치 하드웨어 보안이 활성화되지 않은 것처럼 작동합니다.

AWS IoT Greengrass에서는 IoT 클라이언트 및 MQTT 서버 구성 요소에 대한 여러 키 스토리지 구성을 지원하므로 보안 및 성능 요구 사항을 최적화할 수 있습니다. 다음 표에는 구성의 예가 포함되어 있습니다.

구성 IoT 키 MQTT 키 성능
HSM 공유 키 HSM: 키 A HSM: 키 A HSM 또는 CPU에서 제한됨
HSM 개별 키 HSM: 키 A HSM: 키 B HSM 또는 CPU에서 제한됨
IoT용 HSM만 HSM: 키 A 파일 시스템: 키 B CPU에서 제한됨
레거시 파일 시스템: 키 A 파일 시스템: 키 B CPU에서 제한됨

MQTT 서버에 파일 시스템 기반 키를 사용하도록 Greengrass 코어를 구성하려면 config.json에서 principals.MQTTServerCertificate 섹션을 생략합니다(또는 AWS IoT Greengrass에서 생성한 기본 키를 사용하지 않는 경우 키의 파일 기반 경로 지정). 결과로 나온 crypto 객체는 다음과 같습니다.

"crypto": { "PKCS11": { "OpenSSLEngine": "...", "P11Provider": "...", "slotLabel": "...", "slotUserPin": "..." }, "principals": { "IoTCertificate": { "privateKeyPath": "...", "certificatePath": "..." }, "SecretsManager": { "privateKeyPath": "..." } }, "caPath" : "..." }

하드웨어 보안 통합을 위해 지원되는 암호 제품군

AWS IoT Greengrass에서는 코어가 하드웨어 보안에 맞게 구성된 경우 일련의 암호 제품군을 지원합니다. 이는 코어가 파일 기반 보안을 사용하도록 구성된 경우 지원되는 암호 제품군의 하위 세트입니다. 자세한 내용은 TLS 암호 그룹 지원 섹션을 참조하세요.

참고

로컬 네트워크를 통해 Greengrass 디바이스에서 Greengrass 코어에 연결할 때 지원되는 암호 제품군 중 하나를 사용하여 TLS 연결을 설정해야 합니다.

무선 업데이트에 대한 지원 구성

하드웨어 보안을 사용할 때 AWS IoT Greengrass 코어 소프트웨어의 OTA(무선) 업데이트를 활성화하려면 OpenSC libp11 PKCS#11 래퍼 라이브러리를 설치하고 Greengrass 구성 파일을 편집해야 합니다. OTA 업데이트에 대한 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트단원을 참조하십시오.

  1. Greengrass 데몬을 중지합니다.

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
    참고

    greengrass-root는 디바이스에서 AWS IoT Greengrass 코어 소프트웨어가 설치된 경로를 나타냅니다. 일반적으로 이는 /greengrass 디렉터리입니다.

  2. OpenSSL 엔진을 설치합니다. OpenSSL 1.0 또는 1.1이 지원됩니다.

    sudo apt-get install libengine-pkcs11-openssl
  3. 시스템에서 OpenSSL 엔진(libpkcs11.so) 경로를 찾습니다.

    1. 이 라이브러리에 대해 설치된 패키지 목록을 가져옵니다.

      sudo dpkg -L libengine-pkcs11-openssl

      libpkcs11.so 파일은 engines 디렉터리에 있습니다.

    2. 파일의 전체 경로를 복사합니다(예: /usr/lib/ssl/engines/libpkcs11.so).

  4. Greengrass 구성 파일을 엽니다. config.json 파일은 /greengrass-root/config 디렉터리에 있습니다.

  5. OpenSSLEngine 속성에 libpkcs11.so 파일 경로를 입력합니다.

    { "crypto": { "caPath" : "file:///path-to-root-ca", "PKCS11" : { "OpenSSLEngine" : "/path-to-p11-openssl-engine", "P11Provider" : "/path-to-pkcs11-provider-so", "slotLabel" : "crypto-token-name", "slotUserPin" : "crypto-token-user-pin" }, ... } ... }
    참고

    PKCS11 객체에 OpenSSLEngine 속성이 없으면 해당 속성을 추가합니다.

  6. Greengrass 데몬을 시작합니다.

    cd /greengrass-root/ggc/core/ sudo ./greengrassd start

AWS IoT Greengrass 코어 소프트웨어의 이전 버전과의 호환성

하드웨어 보안 지원 기능이 있는 AWS IoT Greengrass 코어 소프트웨어는 v1.6 이전에 대해 생성된 config.json 파일과 완벽하게 호환됩니다. crypto 객체가 config.json 구성 파일에 없으면 AWS IoT Greengrass에서는 파일 기반 coreThing.certPath, coreThing.keyPathcoreThing.caPath 속성을 사용합니다. 이러한 이전 버전과의 호환성은 Greengrass OTA 업데이트에 적용되고, config.json에 지정된 파일 기반 구성은 덮어쓰지 않습니다.

PKCS#11 지원 기능이 없는 하드웨어

PKCS#11 라이브러리는 일반적으로 하드웨어 공급업체가 제공하고 오픈 소스입니다. 예를 들어, 표준 호환 하드웨어(예: TPM1.2)를 사용하면 기존 오픈 소스 소프트웨어를 사용할 수 있습니다. 그러나 하드웨어에 해당하는 PKCS#11 라이브러리 구현이 없는 경우 또는 사용자 지정 PKCS#11 공급자를 쓰려는 경우 통합과 관련해 궁금한 점이 있으면 AWS Enterprise Support 담당자에게 문의해야 합니다.

다음 사항도 참조하세요.