보안성과 익명성을 갖춘 메시 네트워킹 스택 Reticulum

2 weeks ago 9

  • 암호학 기반 네트워킹 스택으로, LoRa·패킷 라디오·WiFi 등 다양한 매체에서 작동하며 초저속·고지연 환경에서도 안정적 통신을 지원
  • 종단 간 암호화, 발신자 익명성, 자동 구성 멀티홉 라우팅, 위조 불가능한 전달 확인 등 보안 중심 기능을 포함
  • IP 스택에 의존하지 않으며, Python 3 환경에서 커널 모듈 없이 사용자 공간에서 실행 가능
  • 저비용·자율적 네트워크 구축을 목표로, 중앙 통제나 검열 없이 수천 개의 독립 네트워크를 상호 연결 가능
  • 분산형 통신 인프라 구축과 오프그리드 네트워킹을 위한 오픈소스 도구로서, 개발자와 연구자에게 높은 활용 가치

Reticulum 개요

  • Reticulum은 암호학 기반 네트워킹 스택으로, 일반 하드웨어를 이용해 지역 및 광역 네트워크를 구축할 수 있음
    • 고지연·저대역폭 환경에서도 작동
    • 종단 간 암호화, 발신자 익명성, 자동 구성 멀티홉 전송, 효율적 주소 지정, 위조 불가능한 전달 확인 기능 제공
  • 목표는 누구나 자신의 네트워크 운영자가 되어, 중앙 통제 없이 자율적·연결 가능한 네트워크를 구축하도록 하는 것
  • Reticulum은 단일 네트워크가 아니라, 수천 개의 독립 네트워크를 구축하는 도구로 설계됨
  • IP를 기반으로 동작할 수도 있어, 인터넷이나 사설망 위에서 터널링 가능
  • Python 3 환경에서 실행, 커널 모듈이나 드라이버 불필요

주요 기능

  • 글로벌 고유 주소 지정자동 구성 멀티홉 라우팅 지원
    • 다양한 물리 매체와 토폴로지에서 데이터 전송 가능
  • 발신자 익명성 보장: 패킷에 소스 주소 포함하지 않음
  • 비대칭 X25519 암호화Ed25519 서명 기반 통신
    • 512비트 Curve25519 키셋 사용
  • Forward Secrecy 지원, AES-256-CBC 암호화 및 SHA256 HMAC 인증
  • 확장 가능한 인터페이스 시스템으로 사용자 정의 인터페이스 추가 가능
  • 간단한 API 제공으로 분산형 애플리케이션 개발 용이
  • 대용량 데이터 전송 지원, 자동 압축·체크섬·전송 조정 기능 포함
  • 경량 Request/Response 메커니즘효율적 링크 설정(3패킷, 297바이트)

참조 구현 및 프로토콜

  • 이 저장소의 Python 코드가 공식 참조 구현이며, 프로토콜 정의의 기준
  • Reticulum License로 배포, 프로토콜은 2016년 퍼블릭 도메인에 기증
  • 호환성은 참조 구현과의 완전한 상호운용성으로 정의됨

활용 예시

  • rnsh: Reticulum 기반 원격 셸 세션
  • LXMF: 분산형 메시지 전송 프로토콜
  • LXST: 실시간 오디오·신호 전송 프레임워크
  • Nomad Network: 오프그리드 암호화 메시 통신 플랫폼
  • Sideband: 파일 전송·음성통화·지도 기능을 갖춘 GUI 앱
  • MeshChat: 웹 기반 LXMF 클라이언트, 이미지·음성·파일 전송 지원

지원 매체 및 장치

  • 최소 5bps 이상의 반이중 채널500바이트 MTU를 지원하는 모든 매체에서 작동
  • LoRa, 패킷 라디오, WiFi, 이더넷, 광통신 링크 등 사용 가능
  • RNode는 Reticulum용 LoRa 인터페이스로, 직접 제작 또는 완제품 구매 가능
  • Raspberry Pi 등에서 LoRa·패킷 라디오·WiFi를 혼합 구성 가능

설치 및 시작

  • pip install rns 또는 pipx install rns 명령으로 설치
  • 초기 실행 시 기본 설정 파일 자동 생성
  • rnsd 유틸리티로 시스템 서비스 형태로 실행 가능
  • 다양한 인터페이스 구성 예시는 공식 매뉴얼에서 제공

포함 유틸리티

  • rnsd: 상시 실행 데몬
  • rnstatus: 인터페이스 상태 표시
  • rnpath: 경로 테이블 관리
  • rnprobe: 연결 진단
  • rncp: 파일 전송
  • rnid: ID 관리 및 암호화/복호화
  • rnx: 원격 명령 실행
  • 모든 도구는 저대역폭 환경에서도 안정 작동

지원 인터페이스

  • 이더넷, LoRa(RNode), 패킷 라디오 TNC, KISS 모뎀, 시리얼 장치, TCP/UDP, stdio 파이프 등 지원
  • 사용자 정의 인터페이스 모듈 추가 가능, 실사용 검증된 PR 환영

성능 및 상태

  • 목표 성능 범위: 250bps~1Gbps, 현재 약 150bps~500Mbps
  • 핵심 프로토콜 기능 완전 구현, API와 포맷 안정 상태

의존성

  • 기본 패키지 rns는 PyCA/cryptographypyserial 필요
  • 설치가 어려운 환경에서는 rnspure 패키지 사용 가능
  • rnspure는 외부 의존성 없이 설치되며, 기능은 동일

연결 부트스트래핑

  • Reticulum은 가입형 서비스가 아닌 자율 네트워크
  • 커뮤니티가 운영하는 공개 엔트리포인트 디렉터리를 통해 초기 연결 가능
    • 예: directory.rns.recipes, rmap.world

공개 테스트넷

  • 기존 Amsterdam Testnet은 2026년 1분기 폐지 예정
  • 내장된 네트워크 탐색 및 부트스트래핑 시스템 사용 권장

암호학적 구성요소

  • Curve25519 기반 512비트 키셋, Ed25519 서명, X25519 키 교환
  • HKDF, AES-256-CBC, HMAC-SHA256, SHA-256/512 사용
  • 기본적으로 OpenSSLPyCA/cryptography를 통해 제공
  • 순수 Python 구현체도 포함되어 있으나, 보안 검증 수준이 낮음
  • Reticulum은 아직 외부 보안 감사 미실시 상태

후원 및 감사

  • 개발 지속을 위한 Monero, Bitcoin, Ethereum, Liberapay, Ko-Fi 후원 채널 제공
  • PyCA/cryptography, Pure-25519, pyserial 등 다수 오픈소스 프로젝트에 기반
  • 오픈소스 커뮤니티의 기여와 지원에 대한 감사 표시

Read Entire Article