Shadowsocks dokumentáció

AEAD

AEAD Az Authenticated Encryption with Associated Data rövidítése. Az AEAD titkosítások egyszerre biztosítanak bizalmasságot, integritást és hitelességet. Kiváló teljesítménnyel és energiahatékonysággal rendelkeznek a modern hardvereken. A felhasználóknak lehetőség szerint AEAD titkosítást kell használniuk.

A következő AEAD titkosítások ajánlottak. A megfelelő Shadowsocks-megvalósításoknak támogatniuk kell az AEAD_CHACHA20_POLY1305-öt. A hardveres AES-gyorsítással rendelkező eszközök megvalósításának az AEAD_AES_128_GCM-et és az AEAD_AES_256_GCM-et is meg kell valósítania.

 

 

 

Név

Álnév

Kulcsméret

Só méret

Nonce Méret

Tag méret

AEAD_CHACHA20_POLY1305

chacha20-ietf-poly1305

32

32

12

16

AEAD_AES_256_GCM

aes-256-gcm

32

32

12

16

AEAD_AES_128_GCM

aes-128-gcm

16

16

12

16

Kérjük, olvassa el IANA AEAD nyilvántartás elnevezési sémához és specifikációhoz.

Kulcs származtatás

A mesterkulcs közvetlenül a felhasználótól vagy jelszóból generálható.

HKDF_SHA1 egy olyan függvény, amely titkos kulcsot, nem titkos sót, információs karakterláncot vesz fel, és létrehoz egy titkosításilag erős alkulcsot, még akkor is, ha a bemeneti titkos kulcs gyenge.

HKDF_SHA1(kulcs, só, információ) => alkulcs

Az információs karakterlánc a generált alkulcsot egy adott alkalmazáskörnyezethez köti. Esetünkben az „ss-alkulcs” karakterláncnak kell lennie idézőjelek nélkül.

Munkamenetenkénti alkulcsot származtatunk egy előre megosztott főkulcsból a HKDF_SHA1 használatával. A sónak egyedinek kell lennie az előre megosztott főkulcs teljes élettartama során.

Hitelesített titkosítás/dekódolás

Az AE_encrypt egy olyan funkció, amely titkos kulcsot, nem titkos nonce-t, üzenetet vesz fel, és titkosított szöveget és hitelesítési címkét állít elő. A Nonce-nak egyedinek kell lennie egy adott kulcshoz minden hívásban.

AE_encrypt(kulcs, nonce, message) => (titkosított szöveg, címke)

 

Az AE_decrypt egy olyan függvény, amely titkos kulcsot, nem titkos nonce-t, titkosított szöveget, hitelesítési címkét vesz fel, és egy eredeti üzenetet állít elő. Ha valamelyik bemenetet manipulálják, a visszafejtés sikertelen lesz.

AE_decrypt(kulcs, nonce, titkosított szöveg, címke) => üzenet

TCP

Egy AEAD-titkosított TCP adatfolyam egy véletlenszerűen generált sóval kezdődik a munkamenetenkénti alkulcs levezetéséhez, amelyet tetszőleges számú titkosított darab követ. Mindegyik darab a következő szerkezettel rendelkezik:

[titkosított rakomány hossza][hossz tag][titkosított rakomány][payload tag]

 

A hasznos terhelés hossza egy 2 bájtos big-endian előjel nélküli egész szám, amelynek felső határa 0x3FFF. A magasabb két bit le van foglalva, és nullára kell állítani. A hasznos terhelés ezért 16*1024 – 1 bájtra korlátozódik.

Az első AEAD titkosítási/visszafejtési művelet 0-tól kezdődő számláló nonce-t használ. Minden titkosítási/visszafejtési művelet után a nonce eggyel nő, mintha egy előjel nélküli kis végű egész szám lenne. Ne feledje, hogy minden TCP-csonk két AEAD titkosítási/visszafejtési műveletet tartalmaz: egyet a hasznos adatok hosszára, egyet pedig a hasznos adatokra vonatkozóan. Ezért minden darab kétszer növeli a nonce-t.

TCP

Egy AEAD-titkosított TCP adatfolyam egy véletlenszerűen generált sóval kezdődik a munkamenetenkénti alkulcs levezetéséhez, amelyet tetszőleges számú titkosított darab követ. Mindegyik darab a következő szerkezettel rendelkezik:

[titkosított rakomány hossza][hossz tag][titkosított rakomány][payload tag]

 

A hasznos terhelés hossza egy 2 bájtos big-endian előjel nélküli egész szám, amelynek felső határa 0x3FFF. A magasabb két bit le van foglalva, és nullára kell állítani. A hasznos terhelés ezért 16*1024 – 1 bájtra korlátozódik.

Az első AEAD titkosítási/visszafejtési művelet 0-tól kezdődő számláló nonce-t használ. Minden titkosítási/visszafejtési művelet után a nonce eggyel nő, mintha egy előjel nélküli kis végű egész szám lenne. Ne feledje, hogy minden TCP-csonk két AEAD titkosítási/visszafejtési műveletet tartalmaz: egyet a hasznos adatok hosszára, egyet pedig a hasznos adatokra vonatkozóan. Ezért minden darab kétszer növeli a nonce-t.

Kezdje el az 5 napos ingyenes próbaidőszakot