نسخه ۰.۶.۰ — آزمایشی

پیام‌رسان طراحی شده برای حفظ حریم خصوصی

ارتباط امن میان شما و افرادی که به آن‌ها اعتماد دارید؛ بدون نیاز به حساب کاربری و یا سروری که اطلاعات شما را ذخیره کند.

2x
0:00

دانلود Bus

برنامهٔ دسکتاپ کمونه، برای macOS، Linux و Windows در دسترس است.

در چند دقیقه شروع کنید

کمونه را در پروژهٔ خود نصب و اجرا کنید.

کتابخانهٔ اصلی

کمونه را به پروژهٔ Go خود اضافه کنید

go get github.com/kamune-org/kamune

سرور رله

با کانتینر یا فایل باینری اجرا کنید

docker run hossein1376/kamune-relay:latest
دانلود از بخش Releases در GitHub

Daemon

سرویس پس‌زمینه برای برنامه‌های دیگر

دانلود از بخش Releases در GitHub

ویژگی‌های امنیتی که همین امروز و در آینده از شما محافظت می‌کنند

هر لایه از کمونه طوری طراحی شده که گفت‌وگوهای شما خصوصی و امن بماند.

امنیت پساکوانتومی

رمزنگاری آینده‌نگر که پیام‌های شما را حتی در برابر رایانه‌های کوانتومی محافظت می‌کند.

رمزنگاری سرتاسری

فقط شما و مخاطبتان می‌توانید پیام‌ها را بخوانید؛ هیچ شخص یا سرویس دیگری به آن‌ها دسترسی ندارد.

همتا به همتا

پیام‌ها مستقیماً میان دستگاه‌ها رد و بدل می‌شوند؛ هیچ سرور مرکزی‌ای گفت‌وگوها یا طرف مکالمهٔ شما را ذخیره نمی‌کند.

چندین روش ارتباطی

پشتیبانی از TCP، UDP، WebSocket و TLS. هر روشی که برای شما مناسب‌تر است را انتخاب کنید.

محرمانگی پیشرو

هر گفت‌وگو کلیدهای منحصربه‌فرد خودش را دارد. حتی اگر یک کلید افشا شود، پیام‌های گذشته و آینده همچنان امن می‌مانند.

متن‌باز

کد منبع کاملاً در دسترس است و همه می‌توانند عملکرد آن را بررسی کنند.

ساخته‌شده بر پایهٔ رمزنگاری اثبات‌شده

مجموعه‌ای ترکیبی از الگوریتم‌های کلاسیک و پساکوانتومی، برای ایجاد چند لایهٔ دفاعی.

Cipher Suite Ed25519_MLKEM768_HKDF-SHA512_ChaCha20-Poly1305X IDENTITY Ed25519 Signs the two handshake identities and each session frame. One encoding per key: 44-byte PKIX. Contexts differ per signature. HELLOS ML-KEM-768-X25519 One X-Wing key pair per handshake. HPKE export-only. Shared secret ss is 64 bytes: export "kamune/2 kex secret". Info string kamune/2 kex. HPKE does not wrap the later frames. SCHEDULE HKDF-SHA512 Expand-Label. The label prefix is "kamune2 ". Handshake, session, exporter, and resumption secrets. Hash length 64. HANDSHAKE XChaCha20-Poly1305 Frames 0x03, 0x04, and 0x05. AD is kamune/2 hs, then ver, then type. 24-byte nonce · 32-byte key · 16-byte tag. Each key seals at most two frames. SESSION XChaCha20-Poly1305 Session frames after Confirm. No associated data. i_ap_key initiator to responder. r_ap_key the other way. One suite. SPEC §3.
Ed25519_MLKEM768_HKDF-SHA512_ChaCha20-Poly1305X
01
هویت Ed25519

هویت هر دو طرف در دست‌دهی، و هر پیام نشست را امضا می‌کند.

02
تبادل کلید ML-KEM-768-X25519

هر دست‌دهی یک جفت‌کلید تازهٔ X-Wing دارد. راز مشترک، خروجی ۶۴ بایتی HPKE است.

03
اشتقاق کلید HKDF-SHA512

Expand-Label با پیشوند «kamune2 » راز مشترک را به کلیدهای نشست تبدیل می‌کند.

04
رمزنگاری XChaCha20-Poly1305

پیام‌های دست‌دهی با دادهٔ همراه رمز می‌شوند. پیام‌های نشست، بعد از Confirm، بدون آن رمز می‌شوند.

نحوهٔ کار

دست‌دهی در چهار نوبت انجام می‌شود. پیام‌های بعدی امضا، رمز و شماره‌گذاری می‌شوند. شمارهٔ اولین پیام ۱ است.

Kamune Protocol Overview Four flights. ver 0x02. No fallback to an earlier version. Initiator dialer Responder listener F1 ClientHello clear · 1282 B ver 0x02 · type 0x01 · nonce_i · tag · X-Wing pk_i F2a ServerHello clear · 1154 B ver 0x02 · type 0x02 · nonce_r · enc F2b ResponderAuth AEAD r_hs_key · 214 B key_R · sig_R · finished_R Initiator runs the verifier here, on the key, before it sends its name. F3 InitiatorAuth AEAD i_hs_key · 426 B key_I · name_I · version_I · resume_sid? · binder? · sig_I · finished_I Responder decides resumption, then runs its verifier. F4 Confirm AEAD r_hs_key · 234 B status · reason · name_R · version_R · finished_C Session frames i_ap_key and r_ap_key · first sequence is 1 Ed25519 · ML-KEM-768-X25519 · HKDF-SHA512 · XChaCha20-Poly1305
01
01

ClientHello

آغازگر یک کلید عمومی تازهٔ X-Wing (ML-KEM-768 و X25519) و یک nonce را بدون رمز می‌فرستد.

02
02

ServerHello

پاسخ‌دهنده با آن کلید، راز مشترک را می‌سازد و هویت خود را ثابت می‌کند. آغازگر پیش از فرستادن نام خود، کلید هویت او را می‌پذیرد.

03
03

InitiatorAuth

آغازگر هویت خود را می‌فرستد و می‌تواند ادامهٔ نشست قبلی را پیشنهاد کند. پاسخ‌دهنده پیام را بررسی می‌کند، دربارهٔ ادامهٔ نشست تصمیم می‌گیرد و هویت آغازگر را تأیید می‌کند.

04
04

Confirm

پاسخ‌دهنده نام و نسخهٔ خود را می‌فرستد و می‌گوید نشست قبلی ادامه یافته یا این نشست تازه است. سپس هر دو طرف کلیدهای نشست را به دست می‌آورند.

هر آنچه نیاز دارید، از کتابخانه تا برنامه

جعبه‌ابزاری کامل برای ارتباط امن، از کتابخانه تا برنامهٔ دسکتاپ.

آزمایشی

کتابخانهٔ اصلی

هسته کمونه — مدیریت رمزنگاری، اتصالات و ذخیره‌سازی پیام‌ها.

فعال

سرور رله

به دستگاه‌ها کمک می‌کند وقتی نمی‌توانند مستقیماً به هم وصل شوند ارتباط برقرار کنند؛ هرگز نمی‌بیند چه کسی با چه کسی و دربارهٔ چه چیزی صحبت می‌کند.

فعال

Bus (رابط گرافیکی)

برنامهٔ دسکتاپ برای گفت‌وگوی کاملاً امن. نشست‌ها را مدیریت کنید، هویت طرف مقابل را تأیید کنید و تاریخچهٔ رمزنگاری‌شده را ببینید.

فعال

کلاینت ترمینال

از ترمینال گفت‌وگو کنید. مستقیم یا از راه رله وصل شوید، دو کد عددی را مقایسه کنید و تاریخچه را ببینید.

فعال

Daemon

کمونه را در برنامه‌های دیگر ادغام کنید — Tauri، Electron، افزونه‌های ویرایشگر یا اسکریپت‌های خودتان.

رله‌ای که هیچ‌چیز نمی‌بیند

به دستگاه‌ها کمک می‌کند وقتی نمی‌توانند مستقیماً به هم برسند ارتباط برقرار کنند. هرگز پیام‌های شما را نمی‌خواند و داده‌هایتان را ذخیره نمی‌کند.

بدون دسترسی به محتوا

هرگز کلیدهای عمومی، هویت‌ها یا محتوای پیام را نمی‌بیند.

بدون وضعیت

بدون ذخیره‌سازی دائمی، بدون صف پیام و بدون پیام آفلاین.

بدون فراداده

بدون گراف اجتماعی، بدون ردیابی وضعیت حضور و بدون شناسهٔ دائمی.

مستقل از روش انتقال

پروتکل یکسان روی WebSocket، TCP خام یا TLS.

UDP Hole Punching

Broker اختیاری که به همتاها برای یافتن آدرس یکدیگر و عبور از NAT کمک می‌کند؛ بدون نیاز به Relay در مسیر انتقال داده.

مقایسهٔ روش‌های انتقال

روش انتقال فرار از DPI مناسب برای
WebSocket ضعیف توسعه، پشت CDN
WSS (WebSocket + TLS) عالی محیط عملیاتی، پشت CDN
TCP خام هیچ شبکه‌های مورد اعتماد
TLS عالی محیط عملیاتی، شبکه‌های محدودکننده

دفاع در عمق

چندین لایهٔ امنیتی مستقل از ارتباطات شما محافظت می‌کنند.

محرمانگی

هر پیام با کلیدهای اختصاصی همان نشست و با استفاده از ChaCha20-Poly1305X رمزنگاری می‌شود.

صحت داده

با سه لایه محافظت می‌شود: تگ تأیید هویت AEAD، امضای دیجیتال و شمارهٔ توالی.

احراز هویت

امضای Ed25519 و کد Finished هویت هر طرف را به همین دست‌دهی گره می‌زنند. برنامه‌ها دو کد عددی برای مقایسه نشان می‌دهند.

محرمانگی پیش‌رو

هر دست‌دهی از یک جفت‌کلید تازهٔ X-Wing استفاده می‌کند. اگر این جفت‌کلید بعداً فاش شود، نشست‌های قبلی محفوظ می‌مانند.

پساکوانتومی

ML-KEM-768 در کنار X25519 به کار می‌رود. راز مشترک از خروجی HPKE به دست می‌آید.

محافظت در برابر Replay

شمارهٔ ترتیب از پذیرش پیام‌های تکراری جلوگیری می‌کند.

مقاومت در برابر تحلیل ترافیک

Padding تصادفی تحلیل ترافیک رمزگذاری‌شده را دشوارتر می‌کند.