SHT30 온습도 모니터링 시스템 전체 소스(서버 PHP, STM32 펌웨어, SQL, 테스트). 전체 코드리뷰에서 도출된 보안 하드닝 10건 반영: - 요청 서명 HMAC-SHA256 전환(펌웨어 sig.c/서버 config.php/호스트 패리티 동시) - 재전송 방어 + 기본 API_KEY fail-closed + 디바이스 문자열 정제(api/sensor_data.php) - 오프라인 SMS 중복 발송 경합 제거(cron_heartbeat.php, 원자적 선점) - CSV 수식 주입 방지(monthly_report.php), 감사로그 회전 락(retention_cleanup.php) - 브루트포스 카운터 원자화(login.php), 예시 TOTP 비밀키 무효화, 마이그레이션 멱등화 _backup/(하드코딩 실 비밀값 포함)·config.local.php·런타임 상태는 .gitignore 제외.
21 lines
959 B
C
21 lines
959 B
C
/* =============================================================================
|
|
* tls.h - mbedTLS over LwIP 소켓 전송 (transport_t 제공)
|
|
*
|
|
* 구현(tls_mbedtls.c): TLS1.2 클라이언트(ECDHE-RSA + AES-GCM), 하드웨어 RNG
|
|
* 엔트로피, 임베드된 서버 루트 CA(certs/server_ca.h)로 서버 인증서 검증, SNI.
|
|
* 메모리 절약을 위해 mbedtls_config.h 에서 content length 를 축소한다.
|
|
* ===========================================================================*/
|
|
#ifndef TLS_H
|
|
#define TLS_H
|
|
|
|
#include "transport.h"
|
|
|
|
/* TLS 전역 초기화 (부팅 시 1회): 엔트로피/DRBG 시드, CA 인증서 파싱.
|
|
* 반환: 0 성공, 음수 실패. */
|
|
int tls_init(void);
|
|
|
|
/* transport_t 를 mbedTLS 컨텍스트에 바인딩한다. connect 시 핸드셰이크 수행.
|
|
* t 는 호출자가 보유하는 저장소(스택/정적). 반환: 0 성공, 음수 실패. */
|
|
int tls_transport_init(transport_t *t);
|
|
|
|
#endif /* TLS_H */
|