Mae gludo proffil tls-crypt-v2 i docyn yn edrych yn ddiniwed nes i chi gyfrif beth sydd yn y ffeil. Mae allwedd sianel reoli'r cleient yn sefyll wrth ymyl copi amgryptiedig o'r un allwedd, ac nid yw trydydd gwrthrych, yr allwedd lapio, byth yn gadael y gweinydd sy'n derbyn. Mae'r tri yn ateb gwahanol gwestiynau am gadwraeth, rhannu a diddymu. Mae eu gwahanu yn setlo'r rhan fwyaf o ddadleuon polisi cyn iddynt ddechrau.

Beth sydd yn y proffil mewn gwirionedd

Hanner cleient tls-crypt-v2 yw allwedd ynghyd â chopi wedi'i lapio ohoni. Mae'r cleient yn defnyddio'r allwedd plaen ar gyfer amddiffyn y sianel reoli ac yn trosglwyddo'r copi wedi'i lapio i'r gweinydd yn ystod y gosodiad, felly mae'r gweinydd yn adfer yr un allwedd heb storio copi plaen ar gyfer pob cleient. Mae'r allwedd lapio yn gwneud yr adferiad hwnnw'n bosibl ac yn perthyn i'r ochr sy'n derbyn yn unig. Mae popeth isod yn dilyn o ble mae'r tri gwrthrych hynny'n byw.

ObjectWhere it livesWhat can open itWhat a leak costs
Server wrapping keyaccepting servers onlythe unwrap step inside the serverevery wrapped copy issued to that group becomes readable
Wrapped client keyinside the client profilethe server wrapping keyit names a client and exposes its metadata, but not the key inside
Client control keyinside the client profile, usable as-isthe client that owns itsomeone can open handshakes as that client until the server refuses the key

Darllenwch y tabl yn ôl cadwraeth yn hytrach nag yn ôl enw, ac mae'r canlyniadau yn syrthio allan. Colli'r allwedd lapio yw'r digwyddiad drud, oherwydd ni all unrhyw beth mewn proffil ei hailadeiladu a'r adferiad gonest yw ailgyhoeddi'r grŵp. Mae proffil sydd wedi gollwng yn rhatach ond yn llawer mwy cyffredin, oherwydd mae proffiliau'n cael eu gludo i docynnau gan bobl sy'n credu bod y copi wedi'i lapio yn gwneud y ffeil yn ddiogel i'w rhannu. Mae'r ddwy fethiant angen ymatebion gwahanol, a dyna'r rheswm dros gadw'r gwrthrychau ar wahân.

Pam nad yw'r copi wedi'i lapio yn yr holl stori

Mae proffil yn cario'r deunydd cleient defnyddiadwy ynghyd â'i gymar wedi'i lapio, felly nid yw amddiffyn y copi ar gyfer y gweinydd yn dweud dim am amddiffyn y ffeil. Mae'r blob yn ddiogel i'w drosglwyddo ac yn anniogel i'w gyhoeddi. Mae'r metadata y tu mewn iddo yn weladwy i bwy bynnag sy'n derbyn y blob, gan gynnwys unrhyw un sy'n darllen y tocyn y cafodd ei ludo iddo yn ddiweddarach.

Triniwch broffil fel cymhwyster yn hytrach na sampl ffurfweddu. Mae ffeil sydd wedi gollwng yn rhoi hunaniaeth cleient weithredol i'w deiliad nes i'r gweinydd roi'r gorau i dderbyn yr hunaniaeth honno, ac nid yw'r lapio yn gwneud dim am y ffenestr honno. Cyhoeddwch un proffil fesul cleient fel bod diddymu yn parhau'n benderfyniad un ffeil, a chadwch gopi wrth gefn o'r allwedd lapio ar wahân i ffurfweddiad y gweinydd mae'n ei alluogi. Nid yw'r naill arfer na'r llall yn trwsio proffil sydd wedi'i gyfaddawdu, ond mae'r ddau yn penderfynu pa mor gyflym y caiff yr un nesaf ei gynnwys.

Ble mae'r bachyn gwirio yn eistedd yn yr ysgwyd llaw

Mae'r bachyn gwirio yn rhedeg cyn i'r pentwr TLS gael ei amlygu, a'i waith yw archwilio'r metadata a gariwyd yn y blob wedi'i lapio. Mae'n derbyn y metadata hwnnw ynghyd ag amgylchedd bach, dogfennol, ac mae ganddo lai i weithio ag ef na bachyn dilysu. Mae tybio ei fod yn gallu gweld enwau defnyddwyr, cyflwr sesiwn neu newidynnau ategyn yw'r ffordd arferol y mae'r bachyn hwn yn cael ei ysgrifennu'n wael. Darllenwch adran llawlyfr y bachyn ei hun yn hytrach na benthyg disgwyliadau o fachyn gwahanol.

Ei statws gadael yw'r penderfyniad: mae canlyniad nad yw'n sero yn gwrthod y cleient ac mae canlyniad sero yn gadael i'r ysgwyd llaw barhau. Felly rhaid i'r polisi ddweud beth sy'n digwydd pan fo metadata ar goll, yn annarllenadwy neu'n annisgwyl. Ysgrifennwch y llwybr gwrthod yn gyntaf, yna penderfynwch pa werthoedd sy'n dderbyniol.

tls-crypt-v2 /etc/openvpn/server/tcv2-server.key
tls-crypt-v2-verify /etc/openvpn/server/verify-client-metadata.sh

Y ddau linell hynny yw arwyneb y polisi ar y gweinydd: mae un yn enwi'r allwedd lapio, mae'r llall yn enwi'r rhaglen sy'n barnu pob cleient. Mae popeth diddorol yn byw yn y sgript, sy'n haeddu rheolaeth fersiwn a'r un adolygiad ag unrhyw reol mynediad arall.

Mae cyfrif, tystysgrif ac allwedd reoli yn ymddeol ar wahân

Nid yw derbyn cynnar y sianel reoli yn ddilysu, oherwydd mae'n digwydd cyn y gwiriad hunaniaeth TLS a chyn unrhyw awdurdodiad cyfrif. Mae analluogi cyfrif, dirymu tystysgrif a gwrthod allwedd reoli cleient yn dair gweithred gyda thri mecanwaith. Mae defnydd sy'n cyflawni dim ond un ohonynt yn cael bwlch yn hytrach na pholisi. Cysoniwch y tri yn fwriadol, a chofnodwch pa gam sy'n arfer pa awdurdod.

Amseru yw'r ail wahaniaeth. Mae rhestr dderbyn sydd wedi newid yn berthnasol i ysgwyd llaw newydd, tra bo sesiynau sydd eisoes wedi'u sefydlu yn parhau i redeg nes i rywbeth eu terfynu. Cyfrif cofnodion yn y rhestr newydd fel prawf bod hen sesiynau wedi dod i ben yw sut mae cleient sydd wedi'i dynnu yn aros wedi'i gysylltu am oriau.

Mae awdurdodau heb eu cysoni yn gadael dau dwll sy'n hawdd eu canfod yn ymarferol. Gellir analluogi cyfrif tra bo ei allwedd reoli yn dal i agor ysgwyd llaw, a gellir dirymu tystysgrif tra bo'r polisi metadata yn dal i dderbyn yr un cleient. Mae'r ddau yn yr un camgymeriad mewn gwahanol leoedd, oherwydd bod gweithredwr wedi trin un rhestr fel yr holl awdurdod. Gosodwch y tair rhestr ochr yn ochr adeg tynnu a daw'r camgymeriad yn weladwy.

Cyhoeddi a diddymu proffil

Cyhoeddi yw'r hanner hawdd: crëwch allwedd y cleient ar yr ochr sy'n derbyn, trosglwyddwch y proffil i un perchennog yn union, cadwch y deunydd lapio'n gyfyngedig, a rhedwch yr un rhaglen wirio ar bob gweinydd sy'n derbyn. Mae derbyniad rhad yn briodwedd o'r grŵp cyfan, nid o'r gwesteiwr diweddaraf. Mae ail weinydd â sgript hŷn neu fwy llac yn dod yn dawel bach y llwybr gwannaf yn y defnydd.

Mae diddymu angen y tri cham mewn trefn fwriadol. Gwrthodwch y cleient yn y bachyn gwirio fel bod ysgwyd llaw newydd yn methu, dirymwch ei dystysgrif os defnyddir PKI, ac analluogwch y cyfrif fel nad oes gan awdurdodiad diweddarach ddim i'w awdurdodi. Yna terfynwch y sesiynau y caniataodd yr hen dderbyniad, gan na fyddant yn sylwi ar unrhyw un o'r tri. Ymarferwch y dilyniant ar gleient y gallwch fforddio ei dorri.

Mae metadata mewn proffil yn fewnbwn i'r polisi hwnnw, nid yn brawf bod rheolaeth mynediad eisoes yn bodoli. Mae dogfen ddylunio OpenVPN 2.6 yn disgrifio'r gwrthrychau a'r ffin maent yn ei thynnu, tra bo gorfodi yn aros gyda'r gweithredwr.

Erthyglau cysylltiedig