Teadmistebaas Kapoti all
Protokoll ja sündmused
Mida Nymchat tegelikult paneb, et igaüks, kes selle vastu ehitab, selle auditeerimine või mõne teise Nostri kliendi sündmuste lugemine.
See leht on mugavuse huvides masintõlgitud. Kohaldatav on ingliskeelne originaalversioon.
Ürituste liigid
| Lahke | Kasutatud | Märkmed |
|---|---|---|
0 | Profiili metaandmed | Tavaline Nostri profiil: nimi, pilt, bänner, umbes, lud16. |
5 | Kustutamistaotlused | NIP-09. |
7 | Reaktsioonid | NIP-25, koos a ['k', originalKind] sildi, nii et reaktsioon esitatakse õige kanalitüübi vastu. |
13 | Tihend | NIP-17 sõnumi keskmine kiht. |
14 | Privaatsõnumite kuulujutt | Allkirjata ja kunagi eraldi avaldatud. |
1059 | Kingituse pakkimine | NIP-59. Mis tegelikult jõuab privaatsõnumite ja grupivestluste edastamiseni. |
1984 | Aruandlus | NIP-56. |
9734 / 9735 | Zap taotlus ja zap kviitung | NIP-57. |
10030 | Kohandatud emotikonide pakettide loendid | NIP-30. |
20000 | Geohashi kanali sõnum | Lühiajaline, märgistatud ['g', geohash]. |
23333 | Nimega kanali sõnum | Lühiajaline, märgistatud ['d', channel]. |
24420 / 24421 | Avalikud tippimise indikaatorid ja lugemiskviitungid | Nymchati spetsiifiline, avalike kanalite jaoks. |
25051 / 25052 | Peer-to-peer signaalimine ja failiedastuse olek | Nymchati spetsiifiline. |
30030 | Kohandatud emotikonide komplektid | NIP-30. |
30078 | Rakenduse andmed | NIP-78. Küsitlused ja krüptitud seadete sünkroonimine. |
69420 | Privaatsed lugemiskviitungid ja kohaletoimetamise olek | Nymchatile omane, kuulujutuna kaasas kinkepakendis. Eraldi liik alates 14 tahtlikult, nii et teised NIP-17 kliendid ei renderda iga kviitungi kohta tühje otsesõnumeid. |
NIP-id Nymchat rakendab
| NIP | Mida see Nymchatile annab |
|---|---|
| NIP-07 | Logige sisse brauserilaiendiga. |
| NIP-09 | Kustutamistaotlused. |
| NIP-13 | Töötõend. Väljuvad sõnumid kaevandatakse vähemalt 16-bitisteks. |
| NIP-17 | Privaatsed otsesõnumid ja grupivestluste alus. |
| NIP-25 | Reaktsioonid. |
| NIP-30 | Kohandatud emotikon. |
| NIP-40 | Aegumise ajatemplid – kaduvad sõnumid. |
| NIP-44 | Versiooniga krüptimine, mida kasutatakse tihendite, mähiste ja seadete sünkroonimiseks. |
| NIP-46 | Kaugallkirjastamine - bunker://. |
| NIP-56 | Aruandlus. |
| NIP-57 | Välk lööb. |
| NIP-59 | Kingipaberid. |
| NIP-78 | Suvalised rakenduse andmed. |
| NIP-98 | HTTP autentimine hostitud lõpp-punktide jaoks. |
Krüptograafia
| Kus | Mida |
|---|---|
| Identiteet ja allkirjad | secp256k1 Schnorri allkirjadega (BIP-340), nagu Nostri täpsustab. |
| Privaatsõnumid ja grupivestlused | NIP-44 v2: ECDH on secp256k1, HKDF-SHA256, ChaCha20 koos HMAC-SHA256 ja polsterdus, et šifreeritud teksti pikkus ei jätaks sõnumi pikkust. |
| Bluetoothi võrguseansid | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 allkirjade teatamiseks, SHA-256 ja HMAC all. |
| Identiteet puhkeolekus | AES-GCM-256. Võti pärineb PBKDF2-SHA256-st 310 000 iteratsiooniga parooli või PIN-koodi jaoks või WebAuthni PRF-väljundist HKDF-SHA256 kaudu pääsukoodi või biomeetria jaoks. |
| Kõned ja failiedastused | WebRTC enda DTLS-SRTP, läbirääkimistel NIP-17 mähitud signaalimise kaudu. |
| Juhuslikkus | Platvorm CSPRNG läbivalt – võtmed, näpunäited ja kingituste pakkimise ajatempel värisevad. |
Metaandmete kaitse
Kaks detaili kingituste pakkimise teel väärivad esiletõstmist, sest need eraldavad NIP-59 "krüpteeritud, kuid ilmselgelt teilt neile":
- Igale ümbrisele on alla kirjutanud a ühekordne võti loodud ainult selle sõnumi jaoks, nii et kahel wrapil pole saatjat jagatud.
- Iga mähis
created_aton juhuslikult kuni kahe võrra tagasi tundi kasutades CSPRNG-d, seega ei saa saatmis- ja vastuvõtuaegu järjestada.
Grupivestlused lisavad pöörlevat lühiajalisust saaja võtmed peale selle — vt Kuidas grupi krüptimine töötab.
Krüptoprimitiivid on sees js/nym-crypto.js ja
js/modules/key-vault.js veebirakenduses ja all
android-ios-app/lib/core/crypto/ ja
lib/services/mesh/noise/ rakenduses Flutter. The
hoidla
on AGPL-3.0 ja täielik – pole suletud komponenti, mida usaldada.