Mae amgryptio twnnel WSS yn stopio wrth derfynydd TLS, nid yn yr ap
Mae URL wss:// yn profi TLS ar un naid. A oes gan y llwyth amgryptio ei hun mae'n dibynnu ar yr hyn y mae'r cleient yn ei roi y tu mewn ac ar bwy sy'n gorffen y TLS hwnnw.
Mae gan dwnnel a gludir y tu mewn i WebSocket diogel yn union gymaint o amgryptio ag y rhoddodd y cleient ynddo, dim mwy. Mae'r cynllun wss:// yn dweud bod TLS yn amddiffyn un cysylltiad ar un naid. Nid yw'n dweud dim am ba un a yw'r beitiau y tu mewn i negeseuon WebSocket wedi'u hamddiffyn ar wahân, a'r gwahaniaeth hwnnw sy'n penderfynu pwy all ddarllen eich traffig pan fydd rhywbeth yn y canol yn gorffen TLS.
Dwy haen sy'n edrych fel un
WebSocket diogel yw TLS gyda chydio yn y llaw WebSocket yn cael ei wneud drosto, fel y mae RFC 6455 yn ei ddisgrifio yn ei adrannau am gysylltiad a diogelwch. Mae'r haen TLS yn dilysu'r gweinydd ac yn amgryptio'r ffrwd, yna mae'r haen WebSocket yn ffrâmio beth bynnag y mae'r ap yn penderfynu ei anfon.
Mae'r rhain yn ddau benderfyniad annibynnol, ac mae diagram sy'n tynnu un clo dros y llwybr cyfan yn cuddio'r ail. Gofynnwch pwy sy'n gorffen y cysylltiad TLS. Yna gofynnwch beth y mae'r cleient yn ei roi y tu mewn i bob neges. Mae popeth arall am y defnydd yn dilyn o'r ddau ateb hynny.
Dyluniad A: y cludiant yw'r unig amgryptio
Yn y dyluniad symlach, mae'r cleient yn cymryd pecynnau IP crai ac yn eu lapio mewn negeseuon WebSocket. Nid oes unrhyw beth y tu mewn wedi'i amgryptio, felly mae'r gydran sy'n dal y sesiwn TLS yn darllen llwythau testun plaen. Pan fo'r gydran honno yn weinydd twnnel eich hun, dyma'r pwynt terfyn a fwriadwyd ac mae'r dyluniad yn gydlynol, oherwydd byddai'r gweinydd wedi gweld y traffig beth bynnag.
Mae'n dod yn drefniant gwahanol pan fydd procsi archwilio'n eistedd ar y llwybr ac yn gorffen TLS gyda thystysgrif y mae'r cleient yn ymddiried ynddi. Mae'r procsi hwnnw nawr yn dal yr un testun plaen y byddai'r gweinydd wedi'i ddal, ac nid yw unrhyw faint o ffrâmio WebSocket yn newid hynny. Mae storfa ymddiriedaeth y cleient wedi penderfynu'r canlyniad hwn ymhell cyn i'r twnnel agor, oherwydd iddo ddewis derbyn y dystysgrif honno ar gyfer yr enw hwnnw. Mae'r procsi hefyd yn gweld y gwesteiwr a ofynnwyd amdano a maint pob neges, sy'n ddigon i gymryd ôl bysedd llawer o weithgarwch heb ddadgryptio dim arall.
Dyluniad B: mae'r llwyth yn cario ei allweddi ei hun
Yn yr ail ddyluniad, mae'r cleient yn amgryptio ac yn dilysu ei becynnau gyda phrotocol VPN sydd â'i hunaniaeth cymar a'i gyfnewid allweddi ei hun, ac yna'n cludo'r canlyniad y tu mewn i negeseuon WebSocket. Mae gorffen y TLS allanol yma yn datgelu cryptotestun, nid traffig. Mae'r procsi'n gallu gweld meintiau ac amseru negeseuon, a dim arall yn y llwyth. Mae hynny'n ddatguddiad llawer llai, ac mae'n dal yn metadata sy'n werth ei enwi mewn adolygiad yn hytrach na'i chwythu i ffwrdd.
Mae pwyntiau terfyn y protocol mewnol ei hun yn dal i weld testun plaen, sef pwynt y trefniant ac hefyd ei derfyn. Os yw gydran ar y pwynt terfyn wedi'i hawdurdodi i ddarllen data cyn amgryptio neu ar ôl dadgryptio, nid yw'r haen ychwanegol yn ei chyfyngu. Mae allweddi, a'r meddalwedd sy'n eu trin, yn parhau i fod y terfyn sy'n cyfrif.
Nid yw label VPN, eicon cleient cyfarwydd na thudalen farchnata yn brawf bod y dyluniad hwn yn bodoli. Mae Darllen fformat y llwyth yn brawf.
Olrheiniwch ble mae'r testun plaen yn ymddangos mewn gwirionedd
Mae cynllun yr URL yn rhoi un ffaith i chi, felly cymerwch y gweddill o'r rhyngwynebau. Rhedwch y gwiriadau isod mewn trefn, oherwydd mae pob un yn culhau'r nesaf:
ss -tnp | grep -E ':(443|8443)\b' ip -br link show type tun openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief tcpdump -ni tun0 -c 5 -X
Dechreuwch gyda'r cysylltiad allanol. Un sesiwn TCP hirhoedlog i borth TLS yw golwg cludydd WebSocket, ac mae ail sesiwn i westeiwr di-gyswllt yn haeddu esboniad cyn ichi edrych yn ddyfnach. Yna darganfyddwch y rhyngwyneb twnnel ar y cleient, oherwydd mae dyfais tun neu tap yn dweud wrthych fod y cleient yn trin pecynnau IP yn hytrach na phrocsio un ffrwd ap.
Mae'r dal ar y rhyngwyneb twnnel fel arfer yn setlo'r cwestiwn llwyth. Mae penawdau darllenadwy yno yn golygu na chafodd y pecynnau mewnol eu hamgryptio ar wahân erioed, tra bod llwythau ag entropi uchel yn golygu iddynt gael eu hamgryptio. Ailadroddwch y dal ar y rhyngwyneb allanol a chymharu'r ddau: os yw'r ddau'n edrych yn hap, mae'r haen fewnol yn gwneud gwaith na all yr haen allanol ei ddadwneud.
Adolygwch yr ymddiriedaeth a roddwyd gennych mewn gwirionedd
Mae tystysgrif gwraidd gorfforaethol sydd wedi'i gosod yn ffaith am storfa ymddiriedaeth y cleient, nid yn ddatganiad am beth mae unrhyw brocsi'n ei gofnodi neu'n ei archwilio. Sefydlwch y polisi a weithredwyd a'r llwybr cysylltu gwirioneddol yn hytrach na chasglu ymddygiad o bresenoldeb CA.
Ar offer a reolir, gofynnwch i'r gweinyddwr pa gydran sy'n gorffen TLS, a yw'r cleient yn dilysu tystysgrif biniedig neu un gyhoeddus, a beth yw fformat y llwyth. Mae'r tri ateb hynny'n cynhyrchu canfyddiad y gallwch ei amddiffyn yn ddiweddarach.
Ysgrifennwch y canlyniad fel terfyn yn hytrach nag fel dedfryd. "Mae TLS yn gorffen wrth y procsi archwilio, ac mae'r llwyth mewnol wedi'i amgryptio ar wahân ag allweddi nad yw ond gan y pwyntiau terfyn" yn ddatganiad gwirio y gellir ei brofi ac sy'n goroesi newid gwerthwr. "Mae WebSockets yn ddiogel" nid yw.