Adeiladau atgynhyrchadwy ar gyfer apiau VPN: beth mae cyfatebiaeth yn ei brofi
Mae ailadeiladu sy'n cyfateb yn cysylltu deuaidd a ddosberthir â'r ffynhonnell a'r offer a ddatganwyd. Nid yw'n dweud dim am y gwasanaeth VPN y tu ôl i'r deuaidd hwnnw nac am ei gofnodion.
Mae atgynhyrchadwyedd yn briodwedd gadwyn gyflenwi: rhaid i'r un mewnbynnau datganedig gynhyrchu'r un arteffact. Ar gyfer cleient VPN, mae'r datganiad hwnnw'n clymu'r gosodwr a lawrlwythwyd gennych wrth ffynhonnell a chadwyn offer y gall unrhyw un eu hailadeiladu. Nid yw'n dweud dim am y gwasanaeth y mae'r cleient yn cysylltu ag ef.
Mae'r cwestiwn defnyddiol felly'n gul ac yn atebadwy. A yw'r prosiect yn cyhoeddi gweithdrefn, ac a yw eich arteffact penodol chi'n cyfateb iddi?
Lle mae adeilad yn peidio â bod yn benderfyniadol
Mae crynwyr yn mewnosod stampiau amser, llwybrau absoliwt ac enwau gwesteiwyr adeiladu oni bai eu bod yn cael eu hatal. Mae archifau'n cofnodi trefn ffeiliau ac amseroedd addasu, mae cysylltwyr yn amrywio eu hallbwn gyda fersiwn y gadwyn offer, a gall cywasgu paralel aildrefnu blociau. Mae unrhyw un o'r rhain yn gwneud i ddau adeilad o'r un ffynhonnell wahaniaethu mewn beitiau heb i unrhyw beth sinistr ddigwydd. Mae penderfyniaeth yn cael ei pheiriannu i mewn i adeilad, byth yn cael ei hetifeddu yn y modd diofyn.
Rhaid i brosiect sy'n honni atgynhyrchadwyedd enwi'r normaleiddio y mae'n ei gymhwyso: stampiau amser sefydlog, llwybrau wedi'u mapio, cofnodion archif wedi'u didoli, fersiynau crynwr a dibyniaethau wedi'u pinio. Heb y rhestr honno, ni ellir dehongli anghysondeb, oherwydd nid yw'r gofod o amrywiad cyfreithlon wedi'i ddiffinio.
Rhaid i'r mewnbynnau datganedig fod yn gyflawn hefyd. Nid yw URL cronfa heb dag yn adolygiad, nid yw ffeil glo heb hash yn set ddibyniaethau, ac mae gan sgript adeiladu sy'n lawrlwytho offeryn ar amser rhedeg fewnbwn na all neb ei binio. Mae pob bwlch yn troi'n wahaniaeth yn ddiweddarach. Cwblhewch y rhestr cyn cymharu unrhyw beth, oherwydd ni all un anghyflawn fethu mewn ffordd sy'n golygu rhywbeth.
| Input | How it drifts | What pins it |
|---|---|---|
| Source | Branch moves after release | Commit hash in the build metadata |
| Toolchain | Compiler patch level differs | Container image digest |
| Packaging | Archive order and mtimes vary | Normalised archive settings |
Beth mae'r gymhariaeth yn ei wirio mewn gwirionedd
Mae unrhyw barti annibynnol yn ailadeiladu yn yr amgylchedd datganedig ac yn cymharu'r allbwn â'r arteffact a gyhoeddwyd. Unfathrwydd beitiol yw'r ffurf gref; mae cam normaleiddio dogfennol, lle mae gwahaniaeth a gofnodwyd yn cael ei wrthdroi ac mae'r canlyniadau wedyn yn cyfateb, yn y ffurf wannach ond yn dal yn ddefnyddiol.
Mae'r gymhariaeth yn ymwneud â'r deuaidd. Mae llofnod yn ateb cwestiwn gwahanol: mae'n cysylltu rhyddhad ag allwedd ac allwedd â hunaniaeth, a gall prosiect fod â llofnodion dilys dros arteffactau nad yw neb wedi'u hailadeiladu. Mae'r ddau wiriad yn pentwr yn hytrach na disodli ei gilydd.
sha256sum wireguard-installer.msi gpg --verify wireguard-installer.msi.sig wireguard-installer.msi
Rhedwch y ddau cyn gosod, a chymharwch y hash â'r un a gyhoeddwyd ar gyfer yr un rhyddhad a'r un platfform. Mae hash sy'n cyfateb i dudalen y gwerthwr yn profi bod y lawrlwythiad wedi cyrraedd yn gyfan; mae deuaidd a ailadeiladwyd sy'n cyfateb i hash cyhoeddedig y gwerthwr yn profi rhywbeth cryfach am sut y cafodd ei wneud.
Pam nad yw anghysondeb yn brawf o ymyrryd
Daw'r rhan fwyaf o anghysondebau o fewnbwn na reolodd neb. Mae rhyddhad clwt crynwr gwahanol, llwybr adeiladu a ollyngwyd i symbolau dadfygio, locale a newidiodd y drefn didoli, neu gam pecynnu a gymhwyswyd ar ôl y gymhariaeth i gyd yn cynhyrchu hash gwahanol i waith gonest.
Dyna pam y mae'n rhaid darllen anghysondeb yn erbyn y weithdrefn ddogfennol cyn iddo ddod yn stori. Os yw'r weithdrefn yn pinio popeth ac mae'r gwahaniaeth yn parhau heb ei esbonio, mae hynny'n ddarganfyddiad gwirioneddol sy'n werth ei godi gyda'r prosiect. Os yw'r weithdrefn yn dawel am becynnu, gall y gwahaniaeth fod yn gwbl ddisgwyliedig.
Mae cymesuredd yn bwysig yma hefyd: nid yw cyfatebiaeth yn profi bod y ffynhonnell yn rhydd o ddiffygion, dim ond bod y deuaidd yn cyfateb iddi. Mae cod wedi'i archwilio'n dda a chod atgynhyrchadwy yn briodweddau gwahanol, a gall prosiect feddu ar un heb y llall.
Beth mae'r honiad yn ei ddweud am y gwasanaeth y tu ôl i'r ap
Mae'r cleient yn rhaglen ar eich dyfais; mae'r gwasanaeth yn gweinyddwyr, systemau cyfrifon a pholisïau cadw yn rhywle arall. Mae atgynhyrchadwyedd yn cyfyngu'r cyntaf ac yn dweud dim am yr ail, waeth pa mor ofalus y gwirir y gosodwr.
Gall cyfluniad pen y daith newid ar ôl gosod hefyd, trwy osodiadau anghysbell neu broffil a reolir gan y darparwr. Mae'r newidiadau hynny'n dod dros y rhwydwaith ac nid ydynt yn cael eu cynnwys gan unrhyw hash a gyfrifwyd gennych cyn cysylltu.
Darllenwch yr honiad am ei wir gwmpas, yna gwiriwch y cwestiwn cyfagos ar wahân: beth mae'r darparwr yn ei gofnodi, a than ba awdurdodaeth y mae'n ateb ceisiadau. Gall deuaidd a wiriwyd a gwasanaeth heb ei wirio gydfodoli, a dyna'n union yr achos y mae gwiriad cadwyn gyflenwi wedi'i gynllunio i'w wneud yn weladwy yn hytrach na'i drwsio.