AWS IoT Core의 전송 보안 - AWS IoT Core

AWS IoT Core의 전송 보안

전송 계층 보안(TLS)은 컴퓨터 네트워크를 통한 보안 통신을 위해 설계된 암호화 프로토콜입니다. AWS IoT Core Device Gateway에서는 고객이 디바이스와 게이트웨이를 연결하는 데 TLS를 사용하여 전송 중에 모든 통신을 암호화하도록 요구합니다. TLS는 AWS IoT Core에서 지원하는 애플리케이션 프로토콜(MQTT, HTTP, WebSocket)의 기밀성을 달성하는 데 사용됩니다. TLS 지원은 다수의 프로그래밍 언어 및 운영 체제를 지원합니다. AWS의 데이터는 특정 AWS 서비스에 의해 암호화됩니다. 다른 AWS 서비스의 데이터 암호화에 대한 자세한 내용은 해당 서비스의 보안 설명서를 참조하세요.

TLS 프로토콜

AWS IoT Core는 다음 버전의 TLS 프로토콜을 지원합니다.

  • TLS 1.3

  • TLS 1.2

AWS IoT Core를 사용하면 도메인 구성에서 TLS 설정(TLS 1.2TLS 1.3에 대한 설정)을 구성할 수 있습니다. 자세한 내용은 도메인 구성에서 TLS 설정 구성 단원을 참조하십시오.

보안 정책

보안 정책은 클라이언트와 서버 간의 TLS 협상 중에 지원되는 프로토콜과 암호를 결정하는 TLS 프로토콜과 해당 암호의 조합입니다. 필요에 따라 미리 정의된 보안 정책을 사용하도록 디바이스를 구성할 수 있습니다. 참고로 AWS IoT Core는 사용자 지정 보안 정책을 지원하지 않습니다.

디바이스를 AWS IoT Core에 연결할 때 디바이스에 대해 사전 정의된 보안 정책 중 하나를 선택할 수 있습니다. AWS IoT Core에서 가장 최근의 사전 정의된 보안 정책의 이름에는 출시된 연월에 따른 버전 정보가 포함되어 있습니다. 기본 사전 정의 보안 정책은 IoTSecurityPolicy_TLS13_1_2_2022_10입니다. 보안 정책을 지정하려면 AWS IoT 콘솔이나 AWS CLI를 사용할 수 있습니다. 자세한 내용은 도메인 구성에서 TLS 설정 구성 단원을 참조하십시오.

다음 테이블에는 AWS IoT Core에서 지원하는 가장 최근의 사전 정의된 보안 정책이 설명되어 있습니다. IotSecurityPolicy_가 제목 행의 정책 이름에서 제거되어 해당 위치에 맞게 조정되었습니다.

보안 정책 TLS13_1_3_2022_10 TLS13_1_2_2022_10 TLS12_1_2_2022_10 TLS12_1_0_2016_01* TLS12_1_0_2015_01*
TCP 포트

443/8443/8883

443/8443/8883

443/8443/8883

443 8443/8883 443 8443/8883
TLS 프로토콜
TLS 1.2
TLS 1.3
TLS 암호
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA
DHE-RSA-AES256-SHA
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA
참고

TLS12_1_0_2016_01은 다음 AWS 리전에서만 사용 가능합니다. ap-east-1, ap-northeast-2, ap-south-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, eu-north-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-west-1, us-gov-west-2, us-west-1.

TLS12_1_0_2015_01은 다음 AWS 리전에서만 사용 가능합니다. ap-northeast-1, ap-southeast-1, eu-central-1, eu-west-1, us-east-1, us-west-2.

AWS IoT Core의 전송 보안에 관한 중요 참고 사항

MQTT를 사용하여 AWS IoT Core에 연결하는 디바이스의 경우, TLS가 디바이스와 브로커 간 연결을 암호화하고, AWS IoT Core는 TLS 클라이언트 인증을 사용하여 디바이스를 식별합니다. 자세한 내용은 클라이언트 인증을 참조하세요. HTTP를 사용하여 AWS IoT Core에 연결하는 디바이스의 경우, TLS가 디바이스와 브로커 간 연결을 암호화하고, 인증은 AWS 서명 버전 4에 위임됩니다. 자세한 내용은 AWS 일반 참조에서 서명 버전 4를 사용하여 요청에 서명을 참조하세요.

디바이스를 AWS IoT Core에 연결할 때 서버 이름 표시(SNI) 확장을 보내는 것은 필수는 아니지만 적극 권장됩니다. 다중 계정 등록, 사용자 지정 도메인, VPC 엔드포인트구성된 TLS 정책과 같은 기능을 사용하려면 SNI 확장을 사용하고 host_name 필드에 전체 엔드포인트 주소를 제공해야 합니다. host_name 필드에는 호출하는 엔드포인트가 포함되어야 합니다. 이 엔드포인트는 다음 중 하나여야 합니다.

올바르지 않거나 유효하지 않은 host_name 값으로 디바이스에서 시도한 연결은 실패합니다. AWS IoT Core는 인증 유형이 사용자 지정 인증인 경우 CloudWatch에 실패를 로그합니다.

AWS IoT Core는 SessionTicket TLS 확장을 지원하지 않습니다.

LoRaWAN 무선 디바이스를 위한 전송 보안

LoRaWAN 디바이스는 LoRaWAN™ 보안: LoRa Alliance™에 Gemalto, Actility 및 Semtech이 준비한 백서에 설명된 보안 연습을 따릅니다.

LoRaWAN 디바이스를 사용한 전송 보안에 대한 자세한 내용은 LoRaWAN 데이터 및 전송 보안 섹션을 참조하세요.