-
Mycoria는 초기 인터넷의 자유롭고 실험적인 정신을 계승하려는 오픈 보안 오버레이 네트워크임
-
참여의 평등, 익명성, 감시 없는 암호화 통신을 핵심 철학으로 삼아 누구나 쉽게 연결 가능함
- 기본적으로 작고 단순하게 설계되어 있으며 기존 인프라(DNS 등)와 호환됨
-
자동 종단 간 암호화, 스마트 라우팅, 서비스 검색, .myco 도메인 지원 등의 기능 제공
- 향후 프라이빗 주소 회전과 네트워크 자가 최적화 기능도 개발 중임
Mycoria 소개
-
Mycoria는 모든 참여자를 연결하는 개방형 보안 오버레이 네트워크로, 초기 인터넷의 모험적이고 호기심 많은 정신을 되살리는 것이 목표임
- 사용자 간의 자유로운 연결을 보장하며, 인증과 암호화를 통해 감시 없는 통신 환경을 제공함
핵심 철학
-
모든 사람은 평등함: 누구와도 쉽게 연결 가능함
-
모두에게 열려 있음: 관료주의 없는 개방형 네트워크임
-
감시 없음: 모든 통신은 암호화되고, 프라이빗 주소 사용 가능함
-
장벽 없음: 인터넷이나 자체 메쉬 네트워크로 쉽게 확장 가능함
설계 목표
-
작고 단순한 구조 유지
-
기존 인프라(DNS 등)와의 호환성 확보
-
기본 보안 설계
-
기본 프라이버시 보호 (현재 개발 중)
주요 기능
-
자동 종단 간 암호화
-
현대적 암호 기술 적용
-
지능적이고 확장 가능한 라우팅
-
대시보드 제공
-
.myco DNS 해석 가능 (운영체제 설정 필요)
-
간단한 서비스 디스커버리
-
인터넷 오버레이 네트워크용 자동 최적화 및 치유 기능 (개발 중)
-
프라이빗 주소 자동 회전 기능 (개발 중)
Simplicity (간결함)
- Mycoria 라우터는 IPv6 주소 형태의 ID를 가지며, 이 주소는 단순한 주소가 아닌 공개 키의 해시 지문 역할도 함
- Ed25519 키 쌍 생성 → 공개 키 → BLAKE3 해시 → IPv6 주소 변환 방식으로 생성됨
- 이 방식으로 공개 키와 주소를 하나의 데이터로 통합할 수 있으며, IPv6를 지원하는 기존 인프라와 호환됨
- Mycoria가 설치된 환경에서는 100% 종단 간 암호화가 가능함
Scalable Routing (확장 가능한 라우팅)
- IPv6 주소는 무작위처럼 보이지만, 실제로는 국가 및 지역 기반 접두어 구조를 가짐
- 국가별 접두어를 통해 지리적 라우팅 최적화가 가능함
- 해당 접두어 내에서는 주소 거리 기반 라우팅을 사용하며, 근접 주소의 라우터로 데이터를 전송함
- **경로 탐색(source routing)**을 통해 효율적인 라우팅 경로도 확보 가능함
Layers (레이어 구조)
- 패킷 수신 시, 먼저 스위치 레이어에서 처리됨
- 소스 라우팅 패킷은 전체 경로가 패킷 헤더에 포함되며, 라우터 테이블 조회 없이 전달 가능
- 스위치 라벨을 기반으로 인터페이스 지정 및 전송 수행
- 스위치 레이어에서 처리 불가능할 경우, 라우팅 레이어로 전가되어 일반적인 라우팅 처리 수행
Private Address (프라이빗 주소)
- 아직 구현되지 않았으나, 추적 불가능한 프라이빗 주소 시스템을 개발 중임
- 라우터 ID는 암호화되었지만 영구적이므로, 이를 보완하기 위해 라우팅 불가능한 프라이빗 접두어가 도입됨
- 프라이빗 주소는 스위치 라벨 사용이 필수이며, 디스커버리 패킷을 통해 간접적인 경로 학습이 가능함
- 수신자는 라벨 경로를 되돌려서 응답을 보낼 수 있으므로, 보내는 측의 위치를 알 필요 없음
- 라벨이 지나친 정보를 노출할 수 있는 문제를 완화하기 위해 라벨 마스킹 방안도 연구 중
Cryptography (암호 기술)
- 사용 기술:
-
Curve25519: 공개/개인 키 및 키 교환
-
Chacha20Poly1305: 인증된 암호화
-
BLAKE3: 해시 처리
- 향후 다른 알고리즘으로의 전환도 가능하도록 버전 및 타입 필드가 충분히 확보됨
Inspirations (영감의 원천)
- Mycoria는 다음 오픈 소스 프로젝트의 아이디어에서 영감을 받음: