Door Anoniem: Door Anoniem: Je laat nu alleen maar je onkunde zien voor het werkelijke probleem dat PyPi heeft met gesignde packages.
Dat heeft allemaal niks te maken met wat je hier beschrijft als gebruiks mogelijkheden.
Terwijl het artikel al een paar prima links had naar uitleg met _wat_ er niet werkt, en waarom "hetzelfde als wat Linux distro's doen" voor hen geen oplossing is.
Lees dat eens, en roep dan nog eens wat ze 'gewoon' moeten doen .
Ik heb een van de links gelezen waarop de keuze voor het verlaten van PGP is gebaseerd, en het lijkt wel of het geschreven is door ChatGPT. De auteur lijkt niets van PGP te snappen. Wat zijn 'binding signatures'? In PGP heb je geen CA, dat is de kracht van PGP. Een PGP sleutel hoeft ook niet naar een persoon te wijzen. Iets als "Ubuntu CD Image Automatic Signing Key" is genoeg.
Ja - wanneer je - net als Ubuntu - een heel build & maintain team hebt dat al die programma's die ze mee packagen ophaalt, build en valideert dat ze de echte source van de echte auteur hebben, en ook nog dat het geen malware is .
*Dan* tekent Ubuntu zelf alle packages, en de hele distributie - en neemt, als Ubuntu project - een forse verantwoording *dat* wat ze op die basis distribueren de "originele" versie is, eventueel met eigen Ubuntu patches, en ook nog dat de betreffende packages 'betrouwbaar' zijn .
Datzelfde doet Oracle/Redhat voor hun distro , en doet het Debian project .
Dat is ook precies wat ik (en heel velen met mij) verwachten van een distro, en waarom ik "third party repositories" zelden of nooit gebruikt - want min of meer iedereen kan wel een .rpm/.dpkg bakken van iets, maar dat is garantie tot eth0 .
Is het echt zo moeilijk om in te zien hoeveel werk _dat_ deel is ? *Als* je dat allemaal gedaan hebt, is het technisch valideren/tekenen ervan ook echt niet moeilijk , *door een distributie* .
Dus heb je - als gebruiker van een distro - ook alleen te maken met de Ubuntu distro signing key , als je die (op basis van TLS) ophaalt van ubuntu.com ben je wel fors zeker dat je precies krijgt *wat de ubuntu packager* getekend heeft .
De term 'binding signature' is/was me ook niet helemaal duidelijk - uit de context lijkt het te gaan om
1) niet self-signed
2) nul actieve signatures -
Dan kun je wel gaan miepen dat "geen CA" de kracht van PGP is - maar effectief zegt een PGP key met een naam/identiteit erin en verder niks ook *helemaal niks* .
Wat moet je - wanneer je wilt weten of een package van een bepaalde persoon is, als je een PGP key hebt met de naam van die persoon erin ? En dan ?
Dat een groot deel van die keys dan publiek onvindbaar zijn is ook wel een teken dat geen hond er iets mee doet .
Ook is het erg vals om 1024 bit signing keys van PGP aan te halen. DH/DSS sleutels waren voor het verlopen van het patent op RSA in Amerika de norm voor nieuwe PGP sleutels en de DSA component van 1024 was de standaard omdat de Amerikaanse overheid toen dacht dat dat genoeg was. Meer was niet mogelijk volgens de Amerikaanse standaard.
Wat voor excuus is dat in 2023 ?
Alleen maar een signaal van "bitrot" - het kan de gebruiker/eigenaar van z'n key duidelijk niks (meer) schelen wanneer je dat nog gebruikt als signing key .
Mijn grootste vraag is, wat komt er voor PGP in de plaats wat wel makkelijk en gebruikersvriendelijk is? Hoe controleer je dat een overheid niet je source code heeft aangepast na het uploaden naar PyPi? Met PGP is deze controle triviaal. Zolang je private key veilig is.
Nog steeds snap je er niet veel van.
Hoe controleer ik nou dat JOUW package onveranderd is als ik JOUW key , met een goede keten van signatures zodat ik kan weten dat het ECHT JOUW KEY is - helemaal nergens kan vinden ?
Want dat is de situatie van een enorm percentage "gesignde" packages op PyPi - leg nog eens wat de onkunde is van PyPi daarin ?
Verder - in de context van package validatie - jouw key is eigenlijk alleen maar goed om te tekenen voor jouw package.
Als ik 'gewoon' jouw key in een keyring hebt , kun jij evenzeer tekenen voor gcc, llvm, linux.image - dat is niet de bedoeling.
En als je verwacht dat "het Pypi project" al die validatie doet - automatisch ? - is dat al helemaal niet de bedoeling .
Is S/MIME wel makkelijk en transparant in het gebruik?
Anoniem 15:09
Ik zie - voor het soort probleem dat PyPi heeft - geen oplossing met alleen maar een andere tool.
Je wilt een betrouwbare koppeling tussen de identiteit van een willekeurige 'contributor' en een bepaalde public key.
En dan wil je daarnaast dat die bepaalde public key vertrouwd is om alleen de software van die willekeurige contributor te valideren als "onveranderd" .
https://caremad.io/posts/2013/07/packaging-signing-not-holy-grail/legt dat netjes uit. Jij hangt op 'the boring easy part' , (tools om een signature te maken of te controleren).
en het hele probleem dat (oa) PyPi heeft volgt daaronder.
De linux distro's lossen dat op door feitelijk de hele keten van alle controle verantwoordelijkheden op zich te nemen, en de oorspronkelijke developer van een bepaald package staat min of meer alleen in de readme en sources.
Maar alle crypto signatures valideren dat ik krijg/heb wat "het Ubuntu project" op de "very secure Ubuntu build server" gemaakt heeft ; Of het nu gcc, llvm,python, of een van de standaard python packages is .
En daar hebben ze een fors team voor - die hopelijk - netjes en goed hun best doen om te valideren de bron-sources die ze gebruiken "de echte" zijn.
Wanneer je - zoals PyPi - alleen maar een verzamel plaats bent waar iedere jan lul dev dingetjes kan neerzetten zie ik geen manier waarop PyPi - (of ik als gebruiker) die controles altijd goed kan doen voor de hele verzameling packages.
Een CA gebaseerd systeem is ook zo goed als de controle op de identiteit van de certificaat houder , en dat heeft ook de nodige beperkingen . Evenzeer blijft , zonder een forse berg tooling , ook het probleem om de trust voor een bepaald certificaat te beperking tot het package waar die developer over gaat .
(tsja, iemand kan gaan dromen over een digitale europese identiteit, als bron voor persoonlijke public keys met een behoorlijk trusted koppeling tussen identiteit en een bepaalde key . Effectief is dan een overheid de CA.
Je zou kunnen zeggen dat bij PGP eigenlijk ook al gold - het normale advies voor keysigning parties was om paspoort/rijbewijs te controleren voordat je iemands key sign-de .
Je moet maar hopen dat degen die signed ook wel redelijk in staat was om een nep-ID te herkennen, en dan ook nog de ballen had om iemand in z'n gezicht te zeggen "je paspoort lijkt me vals dus ik ga jouw key niet signen" .
Beveiligers en KMAR krijgen er echt les in , valse IDs herkennen.
Heb je echt zorgen over overheids inmenging - die kunnen , net als makro maffia , gewoon een echt vals paspoort regelen.
)