ATECC608A-TNGTLS 확인(AWS IoT Multi-Account Registration 연결 테스트)(ATECC608A-TNGTLS AWS IoT connection test by using Multi-Account Registration)
소개
이전에 NXP SE050 검증 (AWS IoT Multi-Account Registration 연결 테스트)에서 실시한 내용을 Microchip사의 ATECC608A의 Trust and Go라는 제품으로 추시한다.
마지막으로 정리한 것처럼 자신의 CA를 구축하고 그것을 등록, 공통 CA로 인증된 디바이스를 연결시키는 Just In Time Registration보다 간소화한 Multi-Account-Registration을 이용하여 칩 메이커의 CA를 이용하여 디바이스를 인증시키는 흐름이 된다.
ATECC608A의 Trust and Go
ATECC608A는 16개의 슬롯 역할, 권한을 개별적으로 설정할 수 있는 Config를 설정하여 사용할 수 있게 된다.
또한 인증서는 정의 파일을 생성하고 장치와 세트에서 사용합니다.
그러나 이 설정과 생성이 난해하기 때문에, 미리 설정된 디바이스로서 판매되고 있다.
특히 Trust and Go는 칩을 구입한 단계에서 쓰여진 증명서의 대장을 입수할 수 있을 것 같다.
Microchip Direct 에서 Trust and Go를 구입해 보았습니다.
3/3에 주문하여 3/20에 도착했다. 작은 로트로 프로그램 받는 수고를 생각하면 이런 것일 것이다.
이 Order History 화면에서 "Download Manifest"를 클릭하면 json 파일을 다운로드 할 수 있습니다.
이 JSON의 파일 안에 오더 분의 증명서가 들어가 있는 형태.
AWS 측 준비
AWS CLI에서 설정을 수행합니다.
환경
aws --version
aws-cli/2.0.56 Python/3.7.7 Windows/10 exe/AMD64
이번 검증을 한 Git 리포지토리를 복제한다.
git clone --recursive https://github.com/kmwebnet/ECC608-TNG-AWS-Connect.git
cd ECC608-TNG-AWS-Connect
우선, manifest file로부터 증명서를 추출하는 스크립트를 실행해, certs/폴더내에 PEM파일로서 보존한다.
pip install python-jose[cryptography]
manifestdecoder.py --manifest <マニフェストファイル>
AWS IoT에 디바이스 인증서를 등록한 후 할당할 정책을 생성합니다.
aws iot create-policy --policy-name wildcardpolicy --policy-document file://wildcardpolicy
{
"policyName": "wildcardpolicy",
"policyArn": "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:policy/wildcardpolicy",
"policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Connect\",\n \"iot:Publish\",\n \"iot:Receive\",\n \"iot:Subscribe\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n",
"policyVersionId": "1"
}
나중에 장치 수만큼 인증서를 등록하고 정책을 할당합니다.
aws iot register-certificate-without-ca --certificate-pem file://certs/0123XXXXXXXXXXXX01 --status ACTIVE
{
"certificateArn": "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:cert/56366869fd...96b05161",
"certificateId": "56366869fd8....096b05161"
}
aws iot attach-policy --target "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:cert/56366869....96b05161" --policy-name wildcardpolicy
마지막으로 기기에서 액세스할 엔드포인트 URL 가져오기
aws iot describe-endpoint --endpoint-type iot:Data-ATS
{
"endpointAddress": "XXXXXXXXXX-ats.iot.ap-northeast-1.amazonaws.com"
}
ESP32 테스트
수중 ESP32 Devkit을 사용하여 AWS에 연결을 시도했다.
AWS IoT의 "테스트"화면에서 "test_topic/esp32"를 구독하면 연결이 가능했다.
Reference
이 문제에 관하여(ATECC608A-TNGTLS 확인(AWS IoT Multi-Account Registration 연결 테스트)(ATECC608A-TNGTLS AWS IoT connection test by using Multi-Account Registration)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/4959859c02da479c26c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ATECC608A는 16개의 슬롯 역할, 권한을 개별적으로 설정할 수 있는 Config를 설정하여 사용할 수 있게 된다.
또한 인증서는 정의 파일을 생성하고 장치와 세트에서 사용합니다.
그러나 이 설정과 생성이 난해하기 때문에, 미리 설정된 디바이스로서 판매되고 있다.
특히 Trust and Go는 칩을 구입한 단계에서 쓰여진 증명서의 대장을 입수할 수 있을 것 같다.
Microchip Direct 에서 Trust and Go를 구입해 보았습니다.
3/3에 주문하여 3/20에 도착했다. 작은 로트로 프로그램 받는 수고를 생각하면 이런 것일 것이다.
이 Order History 화면에서 "Download Manifest"를 클릭하면 json 파일을 다운로드 할 수 있습니다.
이 JSON의 파일 안에 오더 분의 증명서가 들어가 있는 형태.
AWS 측 준비
AWS CLI에서 설정을 수행합니다.
환경
aws --version
aws-cli/2.0.56 Python/3.7.7 Windows/10 exe/AMD64
이번 검증을 한 Git 리포지토리를 복제한다.
git clone --recursive https://github.com/kmwebnet/ECC608-TNG-AWS-Connect.git
cd ECC608-TNG-AWS-Connect
우선, manifest file로부터 증명서를 추출하는 스크립트를 실행해, certs/폴더내에 PEM파일로서 보존한다.
pip install python-jose[cryptography]
manifestdecoder.py --manifest <マニフェストファイル>
AWS IoT에 디바이스 인증서를 등록한 후 할당할 정책을 생성합니다.
aws iot create-policy --policy-name wildcardpolicy --policy-document file://wildcardpolicy
{
"policyName": "wildcardpolicy",
"policyArn": "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:policy/wildcardpolicy",
"policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Connect\",\n \"iot:Publish\",\n \"iot:Receive\",\n \"iot:Subscribe\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n",
"policyVersionId": "1"
}
나중에 장치 수만큼 인증서를 등록하고 정책을 할당합니다.
aws iot register-certificate-without-ca --certificate-pem file://certs/0123XXXXXXXXXXXX01 --status ACTIVE
{
"certificateArn": "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:cert/56366869fd...96b05161",
"certificateId": "56366869fd8....096b05161"
}
aws iot attach-policy --target "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:cert/56366869....96b05161" --policy-name wildcardpolicy
마지막으로 기기에서 액세스할 엔드포인트 URL 가져오기
aws iot describe-endpoint --endpoint-type iot:Data-ATS
{
"endpointAddress": "XXXXXXXXXX-ats.iot.ap-northeast-1.amazonaws.com"
}
ESP32 테스트
수중 ESP32 Devkit을 사용하여 AWS에 연결을 시도했다.
AWS IoT의 "테스트"화면에서 "test_topic/esp32"를 구독하면 연결이 가능했다.
Reference
이 문제에 관하여(ATECC608A-TNGTLS 확인(AWS IoT Multi-Account Registration 연결 테스트)(ATECC608A-TNGTLS AWS IoT connection test by using Multi-Account Registration)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/4959859c02da479c26c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
aws --version
aws-cli/2.0.56 Python/3.7.7 Windows/10 exe/AMD64
git clone --recursive https://github.com/kmwebnet/ECC608-TNG-AWS-Connect.git
cd ECC608-TNG-AWS-Connect
pip install python-jose[cryptography]
manifestdecoder.py --manifest <マニフェストファイル>
aws iot create-policy --policy-name wildcardpolicy --policy-document file://wildcardpolicy
{
"policyName": "wildcardpolicy",
"policyArn": "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:policy/wildcardpolicy",
"policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Connect\",\n \"iot:Publish\",\n \"iot:Receive\",\n \"iot:Subscribe\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n",
"policyVersionId": "1"
}
aws iot register-certificate-without-ca --certificate-pem file://certs/0123XXXXXXXXXXXX01 --status ACTIVE
{
"certificateArn": "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:cert/56366869fd...96b05161",
"certificateId": "56366869fd8....096b05161"
}
aws iot attach-policy --target "arn:aws:iot:ap-northeast-1:XXXXXXXXXXXX:cert/56366869....96b05161" --policy-name wildcardpolicy
aws iot describe-endpoint --endpoint-type iot:Data-ATS
{
"endpointAddress": "XXXXXXXXXX-ats.iot.ap-northeast-1.amazonaws.com"
}
수중 ESP32 Devkit을 사용하여 AWS에 연결을 시도했다.
AWS IoT의 "테스트"화면에서 "test_topic/esp32"를 구독하면 연결이 가능했다.
Reference
이 문제에 관하여(ATECC608A-TNGTLS 확인(AWS IoT Multi-Account Registration 연결 테스트)(ATECC608A-TNGTLS AWS IoT connection test by using Multi-Account Registration)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kmitsu76/items/4959859c02da479c26c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)