피드로 돌아가기
Dev.toInfrastructure
원문 읽기
AES-256-CBC 기반 무서버 P2P 블루투스 메신저 구현
I Built a Messenger That Works Without the Internet — And It Changed How I Think About Privacy
AI 요약
Context
기존 메신저의 중앙 집중형 서버 의존성으로 인한 오프라인 통신 불가 및 프라이버시 침해 문제 발생. 모든 데이터가 외부 서버를 경유하는 클라우드 기반 아키텍처의 구조적 한계 분석.
Technical Solution
- BLE와 Classic Bluetooth 및 Google Nearby Connections를 혼합한 Mesh-style discovery 구조 설계
- 720Kbps의 대역폭 제한을 극복하기 위한 데이터 Chunking 기반의 파일 전송 로직 구현
- 8kHz PCM 오디오 스트리밍을 통한 실시간 Voice Call 서비스 제공
- 저대역폭 환경 대응을 위해 JPEG 슬라이드쇼 방식의 2fps 비디오 통신 모드 채택
- iOS Keychain 및 Android EncryptedSharedPreferences를 활용한 로컬 Key 관리 및 AES-256-CBC 암호화 적용
- Flutter 기반의 Single Codebase 설계를 통한 멀티 플랫폼(iOS, Android, Windows, macOS) 호환성 확보
실천 포인트
1. 하드웨어 제약(대역폭/거리) 분석을 통한 데이터 전송 포맷(Chunking/Low-fps) 최적화 검토
2. 서버리스 환경에서의 보안 강화를 위해 OS 제공 Secure Storage 기반의 End-to-End Encryption 설계 적용
3. 다양한 통신 프로토콜(BLE, Classic Bluetooth)의 하이브리드 운용을 통한 연결성 극대화 전략 수립