Zajímalo by mě, jak by mohlo vypadat schéma, kdy certifikační autorita CA podepíše něčí veřejný klíč na základě testu který s vysokou pravděpodobností zaručuje že se jedná o člověka a ne bota. Zároveň musí být znemožněno snadné vytvoření nového certifikátu, tedy armáda Indů vyplňující CAPTCHA nesmí někomu posloužit k vytvoření velkého množství falešných identit pod jeho kontrolou. Cílem je najít řešení na Sybilin útok.
http://en.wikipedia.org/wiki/Sybil_attackMožné řešení:
Předpokládejme že někde bude centrální důvěryhodná autorita CA která bude mít pod sebou n-ární strom ověřených kontaktů, z nichž některé budou listy. Pokud někdo bude chtít vytvořit nový certifikát pro svůj veřejný klíč tak:
1) výřeší turingovský test vygenerovaný dostatečně důvěryhodnými uzly nebo CA:
http://en.wikipedia.org/wiki/Minimum_Intelligent_Signal_Testhttp://code.google.com/p/mindpix/=> to by šlo ještě vylepšit vygenerováním otázek do textu a lá captcha aby nešly řešit pomocí databáze odpovědí
2) od nějakého listu dostane vyřešit kryptografickou hádanku, až ji vyřeší tak od tohoto uzlu dostane kontakt na jeho předka který mu dá další kryptografickou hádanku a tak dále až dojde ke kořenové CA která mu dá taky hádanku a až ji vyřeší tak ho konečně certifikuje. Toto by bylo třeba pravidelně opakovat. Kryptografická hádanka je třeba lousknutí slabého hesla bruteforcem, něco co trvá dostatečně dlouho.
Kombinace 1) a 2) by měly zajistit že ověření bude dostatečně drahé aby se někomu nevyplatilo vytvářet velké množství virtuálnch Byzantinských identit ale zároveň příliš neomezovalo jednoho uživatele. Podle počtu vyřešených hádanek by se dala i ohodnotit důvěryhodnost identity.
Jaké to má vady, a jak by to šlo vylepšit?