Psiphon'дун техникалык сүрөттөмөсү
2014-03-12 - 3 мүнөттүк окуу
Жаңыртылган: 2021-04-06
Бул жерде акыркы эки суроого жооп берүү үчүн жаңыртуу берилген: жөнөкөй сөз менен айтканда, Psiphon деген эмне жана ал VPN кызматынан эмнеси менен айырмаланат; ошондой эле техникалык долбоорлоо документи акыркы жолу жаңылангандан бери эмнелер өзгөрдү.
Psiphon 3 — бул борборлоштурулуп башкарылган, географиялык жактан ар түрдүү жайгашкан миңдеген прокси-серверлер тармагы. Биздин инфраструктурабыздын басымдуу бөлүгү булут провайдерлеринде жайгаштырылган. Psiphon 3 — кардарлар менен серверлер ортосунда коопсуз шифрленген байланышы бар "бир секирик" (one hop) архитектурасы. Биз эң популярдуу платформалар үчүн кардарларды сунуштайбыз: Windows, Android жана iOS (альфа-сынамыкта).
Psiphon — ачык булактуу программа. Биздин кызмат күчтүү купуялык саясатын сунуштайт; мында колдонуучу аккаунттары жок жана колдонуучунун тармактык даректери журналга жазылбайт.
Psiphon стандарттуу VPN кызматтарынан бир нече негизги жагынан айырмаланат:
- Биз бир колдонуучуга бүтүндөй тармакты ачыктап салбастан, ар бир колдонуучуну алар жете ала турган бир нече сервер менен камсыз кылуу максатында серверлердин чакан топторун колдонуучуларга бөлүштүрүү стратегияларын колдонобуз. Бул максатка жетүү үчүн, биздин тармактын көлөмү — өзгөчө тармактык даректерибиздин ар түрдүүлүгү — жөн гана трафиктин жүктөмүнө жараша аныкталбайт.
- DPI бөгөттөөсүн айланып өтүү үчүн протоколду маскировкалоону колдонобуз.
Psiphon'дун техникалык долбоорлоо документи эскирип калган, төмөндө долбоор 2011-жылы башталгандан бери биз киргизген негизги техникалык өзгөртүүлөрдүн кыскача мазмуну келтирилген.
- Биз DPI идентификациясын азайтуу үчүн маскировкаланган SSH протоколун коштук. Бул толугу менен кокус көрүнгөн протокол ар бир Psiphon сервери үчүн уникалдуу маскировка ачкычы менен ишке киргизилет.
- Биз HTTP трафигин DPI негизинде ак тизмеге киргизүүнү кыйгап өтүү үчүн протоколубузга кошумча HTTP префиксин коштук. Бул жөнөкөй префикс туруктуу туюнтмаларга (regex) негизделген DPI (nDPI жана l7-filter) үчүн Psiphon трафигин HTTP катары классификациялоого жетиштүү; жана биз аны ишке киргизген учурда чыныгы каршылаштын бөгөттөөсүн жеңүүгө жетиштүү болгон.
- Биз камтылган жана табылган серверлер түшүнүгүн кеңейтүү үчүн алыскы серверлердин тизмесин коштук. Табуу процесси учурдагы серверге туташканда гана ишке ашса, алыскы серверлердин тизмесин бардык серверлер бөгөттөлгөндө да жүктөп алууга болот. Алыскы серверлердин тизмеси S3 кызматында жайылтылат жана URL дарегинде өзгөчөлөнгөн бакет аталышы жок эле https://s3.amazonaws.com аркылуу жеткиликтүү болот. Ошентип, каршылашка бардык S3 кызматын бөгөттөбөй же HTTPS трафигин анализдөөнү ишке ашырбай туруп, биздин алыскы серверлер тизмесин бөгөттөө кыйынга турат.
- Электрондук почта эми кардарларды жайылтуунун негизги механизми болуп саналат. Бизде колдонуучулар кат жөнөткөн электрондук почта дарегине жараша ыңгайлаштырылган демөөрчү/канал Psiphon кардарларына шилтемелерди жана тиркемелерди кайтарып берүүчү автожооп бергич бар.
- Биз Android кардарын 2012-жылы чыгардык. Биринчи версия Android'дин WebView компонентине негизделген камтылган браузерди камтыган. 2012/2013-жылдары бүт түзмөктү туннелдөө колдоосун коштук, ал бардык Android колдонмолорун Psiphon аркылуу туннелдейт. Бизде iptables менен бүт түзмөк режими (root укуктары бар Android 2.2+ түзмөктөрү үчүн); жана Android'дин VpnService кызматын tun2socks менен колдонгон бүт түзмөк режими бар (каалаган Android 4+ түзмөгү үчүн). Кошулган кошумча мүмкүнчүлүктөргө чыгуучу регионду тандоо жана проксилер чынжырын түзүү кирет.
- Бизде азыр альфа-сынамыкта жүргөн iOS кардары бар. Бул колдонмонун камтылган браузери бар.
- Колдонмо ичиндеги пикир билдирүү механизми бизге колдонуучулардан билдирүүлөрдү жана кошумча диагностикалык маалыматтарды жөнөтөт. Бул система бизге платформадагы көптөгөн маселелерди жана бөгөттөө көйгөйлөрүн чечүүгө жардам берди.
- Серверлерди табуу алгоритмдериндеги өзгөртүүлөр: биздин табуу алгоритмдерибиз тармакты оптималдаштыруу боюнча туруктуу процесстин бир бөлүгү катары өнүгүп турат. Негизги өзгөртүүлөргө табуу серверлерин жайылтуу каналдары боюнча бөлүшүү; жана күндүн убактысын ченем катары кошуу кирет.
- Туташуу алгоритмдерин оптималдаштыруу: биздин кардарлар эми туташууда бир эле учурда бир нече серверге туташууларды иштетип, "эң мыкты" туташууну сактап калат. Бул жүктөмдү теңдөөгө, ошондой эле айрым бөгөттөлгөн серверлер туташуу процессин токтотуп койбогондуктан, колдонуучунун күтүү убактысын кыскартууга жардам берет.
- Кардарды автоматтык түрдө жаңыртуу инкременттик жүктөөлөрдү жана тышкы жүктөө сайттарын (санариптик кол тамгалар менен аныктыгы тастыкталган) колдонуу менен жакшыртылды. Бул өзгөртүүлөр бөгөттөө учурунда жаңы кардардын жайылуу ыктымалдуулугун арттырды.