TFC (Tinfoil Chat) նախագիծն առաջարկել է ապարատային սարք՝ 3 USB պորտով՝ 3 համակարգիչ միացնելու և պարանոիդից պաշտպանված հաղորդագրությունների համակարգ ստեղծելու համար։
Առաջին համակարգիչը գործում է որպես ցանցին միանալու և Tor թաքնված ծառայության գործարկման դարպաս՝ այն շահարկում է արդեն գաղտնագրված տվյալները:
Երկրորդ համակարգիչն ունի վերծանման բանալիներ և օգտագործվում է միայն ստացված հաղորդագրությունները վերծանելու և ցուցադրելու համար:
Երրորդ համակարգիչը ունի կոդավորման բանալիներ և օգտագործվում է միայն նոր հաղորդագրություններ գաղտնագրելու և ուղարկելու համար:
USB splitter-ը գործում է օպտոկապլերների վրա «տվյալների դիոդ» սկզբունքով և ֆիզիկապես տվյալներ է փոխանցում միայն նշված ուղղություններով՝ տվյալներ ուղարկելով դեպի երկրորդ համակարգիչ և տվյալներ ստանալով երրորդ համակարգչից:
Առաջին համակարգչի վտանգի ենթարկելը թույլ չի տա մուտք գործել գաղտնագրման բանալիներ, բուն տվյալները, և թույլ չի տա շարունակել հարձակումը մնացած սարքերի վրա:
Երբ երկրորդ համակարգիչը վտանգված է, հարձակվողը կկարդա հաղորդագրություններն ու ստեղները, բայց չի կարողանա դրանք փոխանցել արտաքին աշխարհ, քանի որ տվյալները ստացվում են միայն դրսից, բայց դուրս չեն ուղարկվում:
Եթե երրորդ համակարգիչը վտանգված է, հարձակվողը կարող է անձնավորել բաժանորդին և հաղորդագրություններ գրել նրա անունից, բայց չի կարողանա կարդալ դրսից եկող տվյալները (քանի որ այն գնում է երկրորդ համակարգիչ և այնտեղ վերծանվում է):
Կոդավորումը հիմնված է 256-բիթանոց XChaCha20-Poly1305 ալգորիթմի վրա, իսկ դանդաղ Argon2id հեշ ֆունկցիան օգտագործվում է բանալիները գաղտնաբառով պաշտպանելու համար: Բանալին փոխանակելու համար օգտագործվում են X448 (Diffie-Hellman արձանագրություն՝ հիմնված Curve448-ի վրա) կամ PSK (նախապես համօգտագործված) ստեղները: Յուրաքանչյուր հաղորդագրություն փոխանցվում է կատարյալ առաջ գաղտնիության (PFS, Perfect Forward Secrecy) ռեժիմում՝ հիմնված Blake2b հեշերի վրա, որոնցում երկարաժամկետ բանալիներից մեկի փոխզիջումը թույլ չի տալիս վերծանել նախկինում գաղտնալսված նիստը:
Հավելվածի ինտերֆեյսը չափազանց պարզ է և ներառում է երեք ոլորտների բաժանված պատուհան՝ ուղարկում, ստացում և հրամանի տող՝ դարպասի հետ փոխազդեցության մատյանով: Վերահսկումն իրականացվում է հրամանների հատուկ հավաքածուի միջոցով:
Ծրագիր նախագծի կոդը գրված է Python-ում և հասանելի է GPLv3 լիցենզիայի ներքո: Ներառված են բաժանարար սխեմաներ (PCB) և հասանելի են GNU FDL 1.3 լիցենզիայի ներքո, բաժանարարը կարող է հավաքվել հասանելի մասերից:
Source: linux.org.ru