NO INTERNET · BLE MESH · E2EE

재난에도
끊기지 않는
메시지

DisasterMesh는 기지국, Wi‑Fi, 서버가 모두 사라진 상황에서도 주변 Android 기기를 릴레이로 삼아 구조 요청과 안부 메시지를 전달합니다.

Bluetooth Low Energy 기반 저장·운반·전달 mesh, HPKE 종단간 암호화, SOS 우선순위 라우팅을 하나의 오픈소스 사양으로 정리했습니다.

0Internet permissions
16Max SOS hops
17Technical docs
P0SOS priority
DM‑RELAYBLE 5.0
PRIVATE_SOS · ENCRYPTED

Need medical help near Shelter B

Route copies12 tokens
PayloadHPKE sealed
TransportBLE GATT
DeliveryStore & forward

Why it matters

통신 인프라가 멈춰도, 사람은 연결되어야 합니다.

재난 현장에 필요한 기능만 남기고, 서버 의존성과 평문 릴레이를 제거한 오프라인 우선 메시징 설계입니다.

📡

BLE Mesh Relay

주변 기기와 고정 릴레이가 BLE GATT로 직접 연결되어 암호화 번들을 여러 홉으로 운반합니다.

Noise_XX · GATT
🔒

End‑to‑End Encryption

HPKE와 Ed25519 서명으로 릴레이 노드는 메시지 내용을 읽지 못하고 전달만 수행합니다.

HPKE · Ed25519
🆘

SOS Priority

구조 요청은 P0 우선순위, 더 많은 복제 토큰, 긴 홉 제한으로 최대 전달 확률을 확보합니다.

P0 · 24h TTL
💾

Store & Forward

지금 경로가 없어도 SQLite에 보관했다가 이후 BLE 범위에 들어온 노드로 자동 전달합니다.

SQLite · resilient
🚫

No Internet Permission

릴리스 빌드는 INTERNET 권한을 선언하지 않는 BLE 전용 설계로 공격 표면을 줄입니다.

BLE only
🧭

Disaster UX Ready

SOS, 체크인, 위치 업데이트, 영수증, 취소 등 재난 상황 메시지 타입을 명확히 분리합니다.

SOS · Check‑in

Architecture

Rust가 핵심을, Kotlin이 현장을 담당합니다.

프로토콜, 암호화, 라우팅, 저장소는 Rust core가 소유하고 Android 계층은 BLE와 UI에 집중합니다.

Layer stack

Android · Kotlin · ComposeBLE Central/Peripheral, foreground service, disaster-first UI
UniFFI boundary안전한 Rust ↔ Kotlin API 표면
Rust Core 2024types, codec, crypto, bundle, routing, store, engine, FFI
SQLite + Android Keystore영속 큐, 암호화 저장, 키 래핑

Message flow

인터넷 없이 흘러가는 5단계

01

QR로 연락처 교환

대면 QR 교환으로 공개키와 신뢰 관계를 만든 뒤 메시지를 보낼 수 있습니다.

02

기기 안에서 암호화

수신자 공개키로 봉인되어 릴레이는 내용을 알 수 없습니다.

03

BLE 이웃 발견

주변 기기와 보안 링크를 맺고 교환 가능한 번들을 확인합니다.

04

복제 토큰 분산

Binary Spray‑and‑Wait로 제한된 복사본을 효율적으로 퍼뜨립니다.

05

수신 및 영수증

도착하면 서명된 delivery receipt가 mesh를 통해 발신자에게 돌아갑니다.

Roadmap

디자인에서 제품까지 이어지는 실행 계획

GOAL 0

Repository Bootstrap

Rust workspace, Android multi-module, CI, UniFFI skeleton.

COMPLETE
GOAL 0.5

Normative Contract Freeze

Wire, state, schema, command correlation 계약과 검증을 고정했습니다.

COMPLETE
GOAL 1

Protocol Core and Simulator

Deterministic CBOR, BPv7, routing, persistent escrow와 simulator를 구현했습니다.

COMPLETE
GOAL 2

Identity, Crypto & Test Vectors

Ed25519 identity, HPKE encryption, contact QR, golden vectors.

COMPLETE
GOAL 3–7

BLE transfer, multi-hop, disaster UX, commercial release

실기기 전송부터 상용 출시 증거와 롤백 훈련까지 단계적으로 검증합니다.

PLANNED

Open source emergency infrastructure

사람을 살리는 mesh를 함께 만듭시다.

리뷰, 구현, 테스트, 문서 개선 모두 환영합니다. DisasterMesh는 재난 상황에서 메시지 전달 가능성을 높이기 위한 오픈소스 프로젝트입니다.

Important: DisasterMesh는 전달을 보장하지 않습니다. 릴레이 경로가 없거나 기기가 꺼져 있으면 메시지가 도착하지 않을 수 있으며 공식 긴급 구조 체계를 대체하지 않습니다.