안녕하세요 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
gavinchang의 포스팅:
'AI > Contents' 카테고리의 다른 글
꽃 이미지로 배우는 CNN 모델 구현 및 평가 (5) | 2024.03.15 |
---|---|
텍스트처리로 문장에 감성분석 (2) | 2024.03.15 |
Attention Mechanism 이란? - (1) (4) | 2024.03.04 |
Chat With RTX 사용방법과 후기 (4) | 2024.02.20 |
Stream을 아시나요? (4) | 2024.02.15 |