반응형

2025/02/27 9

ESP32 HMAC 소개 및 메시지 무결성을 위한 HMAC 활용법

ESP32 HMAC 소개 및 메시지 무결성을 위한 HMAC 활용법1. HMAC란?HMAC(Hash-based Message Authentication Code)는 해시 함수를 기반으로 메시지 인증 코드를 생성하는 기법입니다. 이는 주어진 메시지가 변조되지 않았음을 보장하며, 인증된 사용자만이 해당 메시지를 생성했음을 확인할 수 있도록 합니다. HMAC은 보안 프로토콜 및 네트워크 통신에서 널리 사용되며, ESP32에서는 mbedtls 라이브러리를 통해 이를 쉽게 구현할 수 있습니다.2. HMAC의 원리HMAC은 다음과 같은 방식으로 동작합니다.메시지와 비밀 키를 조합하여 두 개의 패딩 값을 생성합니다.첫 번째 패딩과 메시지를 해시 함수에 적용합니다.그 결과를 두 번째 패딩과 함께 다시 해시하여 최종 HM..

ESP32 IDF 2025.02.27

ESP32 IDF에서 SHA-256, SHA-512 등 해싱 알고리즘 사용법

ESP32 IDF에서 SHA-256, SHA-512 등 해싱 알고리즘 사용법1. 개요해싱(Hashing)은 입력 데이터를 고정된 크기의 해시 값으로 변환하는 과정으로, 데이터의 무결성 검증이나 비밀번호 저장 등에 널리 사용됩니다. ESP32 IDF(ESP-IDF)에서는 mbedtls 라이브러리를 통해 다양한 해싱 알고리즘을 제공하며, 이 글에서는 SHA-256 및 SHA-512 알고리즘을 활용하는 방법을 설명하겠습니다.2. SHA 알고리즘 개요SHA(Secure Hash Algorithm)는 보안 해시 알고리즘으로, 다양한 버전이 존재합니다. 그중 대표적인 알고리즘은 다음과 같습니다.SHA-1: 160비트 해시 값을 생성하지만, 현재는 보안성이 약하여 사용이 권장되지 않습니다.SHA-256: 256비트(..

ESP32 IDF 2025.02.27

ESP32 IDF에서 RSA 암호화 활용하기

ESP32 IDF에서 RSA 암호화 활용하기ESP32는 보안이 중요한 다양한 임베디드 애플리케이션에서 사용되며, Espressif의 ESP-IDF(ESP32 IoT Development Framework)를 통해 강력한 암호화 기능을 제공합니다. 이번 포스팅에서는 ESP32에서 RSA를 사용하는 방법을 설명하고, RSA 키 쌍을 생성하고 암호화 및 복호화를 수행하는 방법을 예제 코드와 함께 소개하겠습니다.1. RSA 암호화 개요RSA는 Rivest, Shamir, Adleman이 개발한 공개 키 암호화 기법으로, 비대칭 키 시스템을 사용합니다. 즉, 공개 키(public key)로 데이터를 암호화하고 개인 키(private key)로 복호화하는 방식입니다. ESP32에서는 mbedtls 라이브러리를 활용..

STM32 2025.02.27

ESP32 IDF에서 AES-128, AES-192, AES-256 및 ECB, CBC, CFB, GCM 모드 소개

ESP32 IDF에서 AES-128, AES-192, AES-256 및 ECB, CBC, CFB, GCM 모드 소개1. 개요ESP32는 보안 기능이 강화된 마이크로컨트롤러로, Espressif에서 제공하는 ESP-IDF(ESP32 IoT Development Framework)를 활용하면 다양한 암호화 알고리즘을 쉽게 구현할 수 있습니다. 그중 대칭 암호화 방식인 AES(Advanced Encryption Standard)는 보안성이 뛰어나고 속도가 빠르기 때문에 IoT 디바이스에서 많이 사용됩니다.이 글에서는 ESP32 IDF를 이용하여 AES-128, AES-192, AES-256 암호화를 수행하는 방법과 ECB, CBC, CFB, GCM 등의 다양한 운영 모드(Mode of Operation)에 대..

ESP32 IDF 2025.02.27

ESP32의 암호화 하드웨어 가속기(HW Crypto Accelerator) 이해

ESP32의 암호화 하드웨어 가속기(HW Crypto Accelerator) 이해개요ESP32는 다양한 보안 기능을 제공하는 강력한 임베디드 시스템으로, 보안이 중요한 IoT(사물인터넷) 환경에서 널리 사용됩니다. ESP32의 보안 기능 중 하나는 암호화 하드웨어 가속기(HW Crypto Accelerator)로, AES(Advanced Encryption Standard), SHA(Secure Hash Algorithm), RSA(Rivest-Shamir-Adleman) 등의 암호화 및 해시 연산을 가속할 수 있는 전용 하드웨어 블록을 포함하고 있습니다.이 글에서는 ESP32의 암호화 하드웨어 가속기에 대해 개념적으로 이해하고, 각 기능이 어떻게 활용될 수 있는지 살펴보겠습니다.ESP32의 암호화 하드..

ESP32 IDF 2025.02.27

ESP32 IDF 암호화 모듈 소개

ESP32 IDF 암호화 모듈 소개1. 개요ESP32는 보안 기능이 강화된 IoT 디바이스 개발을 위해 다양한 암호화 모듈을 제공합니다. 이러한 기능은 Espressif의 개발 프레임워크인 ESP-IDF(ESP32 IoT Development Framework)에서 지원되며, 하드웨어 보안 기능과 소프트웨어 기반 암호화를 모두 활용할 수 있습니다.이번 글에서는 ESP32 IDF에서 제공하는 암호화 모듈을 소개하고, 하드웨어 보안 기능과 소프트웨어 암호화 방식의 차이점을 살펴보겠습니다.2. ESP32 IDF의 암호화 모듈 소개ESP32 IDF는 다양한 암호화 기능을 지원하는 라이브러리를 포함하고 있으며, 대표적으로 다음과 같은 모듈을 제공합니다.2.1 ESP32 내장 하드웨어 암호화 모듈ESP32에는 보안..

ESP32 IDF 2025.02.27

C 언어에서 rand와 srand를 활용한 난수 생성

C 언어에서 rand와 srand를 활용한 난수 생성C 언어에서 난수를 생성하는 방법 중 가장 기본적인 함수는 rand()입니다. 그러나 rand() 함수는 항상 동일한 시퀀스의 난수를 생성하기 때문에, 이를 방지하기 위해 srand()를 사용하여 초기 시드를 설정해야 합니다.본 포스팅에서는 rand와 srand의 기본적인 사용법과 다양한 예제를 통해 난수 생성 방법을 설명하겠습니다.1. rand() 함수 개요rand() 함수는 stdlib.h 헤더 파일에 정의되어 있으며, 호출할 때마다 0에서 RAND_MAX(보통 32767) 사이의 정수를 반환합니다.#include #include int main() { printf("난수 1: %d\n", rand()); printf("난수 2: %d\n..

ADB를 활용한 키 이벤트 및 터치 자동화

ADB를 활용한 키 이벤트 및 터치 자동화Android Debug Bridge(ADB)는 Android 디바이스와 PC 간의 통신을 가능하게 하는 강력한 도구이다. 이 도구를 활용하면 디바이스의 다양한 기능을 제어할 수 있으며, 특히 UI 자동화 및 테스트를 수행하는 데 유용하다. 이번 포스팅에서는 adb shell input 명령어를 활용하여 키 이벤트와 터치 자동화를 구현하는 방법을 설명한다.1. ADB 설치 및 기본 설정ADB를 사용하기 전에 먼저 ADB가 설치되어 있어야 한다. 설치 및 기본 설정 방법은 다음과 같다.ADB 설치 방법Windows: Android SDK Platform-Tools 다운로드 후 platform-tools 폴더에 포함된 adb.exe 사용Mac/Linux: brew i..

Android/ADB 2025.02.27

CAN 네트워크 구성 및 다중 노드 통신 실습

CAN 네트워크 구성 및 다중 노드 통신 실습1. 개요CAN(Controller Area Network) 통신은 여러 개의 노드를 연결하여 데이터를 주고받을 수 있는 직렬 통신 방식입니다. 자동차, 산업 자동화, 로봇 등의 다양한 분야에서 사용되며, 다중 노드 환경에서 충돌 없이 데이터를 전송할 수 있는 강력한 프로토콜입니다.이번 포스팅에서는 ESP32 IDF(ESP-IDF) 를 활용하여 여러 개의 노드를 연결하는 방법과 다중 노드 환경에서 메시지를 송수신하는 방법을 실습합니다. 또한, CAN 버스의 부하 테스트 및 충돌 테스트를 진행하여 실전 환경에서 발생할 수 있는 문제를 분석합니다.2. CAN 네트워크 구성CAN 네트워크는 여러 개의 노드를 하나의 CAN 버스에 연결하는 방식으로 구성됩니다. CAN..

CAN 통신 2025.02.27
728x90
반응형