투케이2K

191. (TWOK/LOGIC) [Aws] IoT 디바이스 기기 프로비저닝 수행에 필요한 개발, 운영 인증서 동적 교체 및 다운로드 로직 정리 - 클레임 인증서 다운로드 본문

투케이2K 로직정리

191. (TWOK/LOGIC) [Aws] IoT 디바이스 기기 프로비저닝 수행에 필요한 개발, 운영 인증서 동적 교체 및 다운로드 로직 정리 - 클레임 인증서 다운로드

투케이2K 2026. 5. 19. 19:43
728x90
반응형

[로직 정리]

정리 로직 : AWS / IoT / Provisining

제 목 : [Aws] IoT 디바이스 기기 프로비저닝 수행에 필요한 개발, 운영 인증서 동적 교체 및 다운로드 로직 정리 - 클레임 인증서 다운로드

 

[설 명]

// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

1. 제 목 : [Aws] IoT 디바이스 기기 프로비저닝 수행에 필요한 개발, 운영 인증서 동적 교체 및 다운로드 로직 정리 - 클레임 인증서 다운로드


2. 테스트 환경 : Aws / IoT / Device / 프로비저닝


3. 사전) 👉 AWS IoT Core 간단 설명 : 

  >> AWS IoT 는 IoT 디바이스를 다른 디바이스 및 AWS 클라우드 서비스에 연결하는 클라우드 서비스를 제공합니다.

  >> 디바이스가에 연결할 수 있는 경우 AWS IoT는 AWS 가 제공하는 클라우드 서비스에 디바이스를 AWS IoT 연결할 수 있습니다.

  >> AWS IoT Core 메시지 브로커는 MQTT 및 MQTT over WSS 프로토콜을 사용하여 메시지를 게시하고 구독하는 디바이스 및 클라이언트를 지원합니다. 
  
    - HTTPS 프로토콜을 사용하여 메시지를 게시하는 디바이스와 클라이언트도 지원합니다.


4. 사전) 👉 IoT 장비 간략 설명 : 

  >> IoT 장비 (사물인터넷, Internet of Things Device) 는 인터넷에 연결되어 데이터를 수집·전송·처리하고, 다른 시스템이나 사람과 상호작용하는 물리적 장치를 말합니다.

  >> IoT 장비의 기본 구성요소 : 

    - 센서 (Sensor) : 온도, 습도, 조도, 가속도, 압력, 위치(GPS) 등 주변 환경이나 상태를 측정
    - 액추에이터 (Actuator) : 명령에 따라 물리적 동작 수행
    - 프로세서 / MCU : 센서 데이터 처리 및 로직 수행
    - 통신 모듈 : 데이터를 외부로 전송하거나 명령을 수신
    - 전원 : 배터리, 어댑터, 태양광 등

  >> IoT 장비 주요 특징 : 

    - 실시간 데이터 수집
    - 원격 모니터링 및 제어
    - 자동화 및 지능화
    - 24/7 지속적 운영
    - 대규모 확장 가능성(수천~수백만 대)

  >> IoT 장비의 동작 흐름 예시 : 

    - 센서 → IoT 장비 → 네트워크 → 서버/클라우드 → 분석/저장 → 사용자 앱

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

------------------------------------------------------
✅ 사전 정리) 로직 구현 관련 필요 내용 정리
------------------------------------------------------

1. AWS 클레임 인증서 내장 방식으로 제조 되는 디바이스 기기를 동적으로 개발, 운영 환경에 맞게 설정하기 위해 로직 구현


2. 디바이스 기기는 초기 양산 시 기본 운영 인증서를 사용하도록 설정하지만 개발, 운영 인증서 변경 요청이 오는 경우 해당 인증서를 사용해서 프로비저닝 하도록 로직 구현 필요

  >> [기본 운영 인증서] [동적 개발 인증서 저장 공간] [동적 운영 인증서 저장 공간]

  >> 초기 인증서 우선 사용 설정은 [기본 운영 인증서] 우선 사용



------------------------------------------------------
✅ 로직 정리) 디바이스 기기 프로비저닝 수행에 필요한 개발, 운영 인증서 동적 교체 및 다운로드
------------------------------------------------------

1. 앱은 디바이스 기기로 전달할 CA , 클레임 인증서, private key 를 다운로드 할 수 있는 URL 정보 요청 서버 API 호출 실시


2. 서버는 인증서 다운로드 정보 요청 호출이 들어 온 경우 S3 특정 저장소에 저장 된 인증서 다운로드 GetPresignedUrl 생성 실시

  >> 👉 GetPresignedUrl 만료 시간은 1시간 이하 설정 필요


3. 서버는 생성 된 각 CA , 클레임 인증서 , private key GetPresignedUrl 정보를 앱에게 반환 수행


4. 디바이스 기기 물리적 버튼 클릭을 통해서 Soft AP 통신 전환 모드 변경


5. App To Device 정해진 IP , Port 정보로 TCP/IP 소켓 연결 수행 실시


6. App To Device 소켓 통신 인증서 다운로드 정보 전달 수행 (👉 인증서를 다운로드 할 수 있게 접속 가능한 와이파이 정보도 전달 필요)

  {
    "command": "Cert",
    "ca": "https://...",
    "cert": "https://...",
    "private": "https://...",
    "wifiSsid": "twokSsid",
    "wifiPw": "twok99999999"
  }


7. 디바이스 기기는 해당 JSON 정보를 정상적으로 전달 받은 경우 서버 소켓 활성 종료 수행


8. 디바이스 기기는 와이파이 인터넷 연결 수행 후 전달 받은 각 인증서 다운로드 수행


9. 정상적으로 인증서가 다운로드 된 경우 프로비저닝 수행 시 사용할 인증서 우선 순위 설정 변경


10. 디바이스 기기 프로비저닝 수행 시 해당 인증서를 사용해 AWS IoT Core 연동 수행



------------------------------------------------------
✅ 참고 사항) 
------------------------------------------------------

1. 인증서 다운로드 GetPresignedUrl 은 반드시 1시간 이하로 설정해 반복해서 해당 URL 호출을 통해서 인증서 무한 다운로드 받지 않게 설정이 필요합니다.


2. 추가 보안을 위해 GetPresignedUrl 생성 시 STS 임시 정보를 사용할 수 있습니다.


3. 디바이스 기기는 인증서 다운로드 이후 인증서 사용 우선 순위를 변경하지만, 특정 기기 물리적 버튼을 통해서 다시 기존 운영 인증서를 사용할 수 있도록 추가 로직 구현 고려도 필요합니다.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

▶️ [Aws] IoT 디바이스 기기 AWS 플릿 프로비저닝 수행 후 자동 펌웨어 업데이트 여부 체크 및 OTA 수행 로직

https://kkh0977.tistory.com/8809

https://blog.naver.com/kkh0977/224279894342


▶️ [자바스크립트 AWS STS 임시 자격 증명 사용해 S3 Get PreSignedUrl 프리 사인 URL 주소 생성]

https://kkh0977.tistory.com/8151

https://blog.naver.com/kkh0977/223938740405?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 설명 및 동작 프로세스 정리

https://kkh0977.tistory.com/7439

https://blog.naver.com/kkh0977/223691943757?trackingCode=blog_bloghome_searchlist


▶️ [Aws Iot Core] Fleet provisioning 플릿 프로비저닝 수행 방법 정리 - 클레임 인증서 , 신뢰할 수 있는 사용자

https://blog.naver.com/kkh0977/223779257161?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
728x90
반응형
Comments