본문 바로가기
AI/Contents

W5X00-EVB-Pico with SSL/TLS

by 민윤홍 2024. 3. 8.
728x90

안녕하세요 Acorn입니다.

 

오늘은 W5X00-EVB-Pico종류 보드에 SSL/TLS 통신을 붙여서 https 통신을 할 수 있게끔 하는 방법을 포스팅 해보고자 합니다.

 

 

1. Serial통신에서 https를 지원하지 않는 이유

Serial 통신은 간편하고 저렴하지만, 보안 측면에서 취약합니다. 암호화되지 않은 데이터를 그대로 전송하기 때문에 악의적인 공격자가 데이터를 엿보거나 위조할 수 있습니다. 특히 비밀번호나 민감한 정보를 전송하는 경우 위험합니다.

HTTPS는 SSL/TLS 프로토콜을 사용하여 데이터를 암호화하여 안전하게 전송합니다. 이는 웹 브라우저와 서버 간 통신에 널리 사용되는 기술입니다.

따라서 Serial 통신만 지원하는 W5X00-EVB-Pico 보드를 사용하여 안전하게 데이터를 전송하려면 SSL/TLS 통신 기능을 추가해야 합니다.

 

2. arduino에서 ssl/tls를 구현하는 방법

 

 

ArduinoHttpClient 라이브러리 사용:

ArduinoHttpClient 라이브러리는 https 통신을 위한 간편한 인터페이스를 제공합니다.

장점:

  • 간편하게 사용 가능
  • 다양한 HTTPS 기능 지원

단점:

  • 메모리 사용량이 많음
  • 특정 보드에만 지원ㅇ

아두이노 상에서 라이브러리를 설치하면 된다.

 

3. W5X00-EVB-Pico에서 SSL/TLS 통신 예시

W5X00-EVB-Pico에서 SSL/TLS 통신을 구현하는 방법은 선택한 라이브러리에 따라 다릅니다.

ArduinoHttpClient 라이브러리 사용 예시:

#include <ArduinoHttpClient.h>

void setup() {
  Serial.begin(115200);
  while (!Serial);

  // WiFi 연결 설정
  ...

  // HttpClient 객체 생성
  HttpClient client;

  // https://www.google.com 요청
  client.get("https://www.google.com");

  // 응답 코드 확인
  if (client.responseStatusCode() == 200) {
    // 응답 본문 출력
    String response = client.responseBody();
    Serial.println(response);
  } else {
    Serial.println("HTTP 요청 실패");
    Serial.println(client.responseStatusCode());
  }
}

void loop() {
}

 

위의 코드는 말 그대로 예시이고, 자세한 코드는 깃허브에서 확인하는 것이 좋다. 링크를 남겨둘테니 참고하길 바란다.

깃허브 링크

https://github.com/wiznetmaker/SSL_TLS_On_W5100S_EVB_PICO

 

GitHub - wiznetmaker/SSL_TLS_On_W5100S_EVB_PICO: SSL communication encryption is achieved on W5100S-POE-EVB-PICO. I will introdu

SSL communication encryption is achieved on W5100S-POE-EVB-PICO. I will introduce how to use W5100S access ChatGPT directly as an example. - wiznetmaker/SSL_TLS_On_W5100S_EVB_PICO

github.com

 

API key만 개인적으로 수정하면 된다.

gavinchang의 포스팅:

https://maker.wiznet.io/gavinchang/projects/w5100s%2Dpoe%2Devb%2Dpico%2Dwith%2Dssl%2Dchatgpt%2Dapi/?serob=rd&serterm=month

 

W5100S-POE-EVB-PICO With SSL/TLS ( New ChatGPT API )

SSL communication encryption is achieved on W5100S-POE-EVB-PICO.I will introduce how to use W5100S access ChatGPT directly as an example.

maker.wiznet.io

 

728x90