Hej igen,
Ursäkta att det tagit lite tid att svara. Vi jobbar för fullt på att bli lite mer färdiga med Tillitis TKey.
Elias Rudberg mail@eliasrudberg.se, 2022-12-20 05:21 (+0100):
En av våra första PoC-användningar av TKey är en SSH-agent (host- sidan) som tillsammans med en ed25519-signerare (device-sidan)
Få se nu om jag förstår rätt: om jag skulle ha en TKey som jag pluggar in i en USB-port i min dator, då är min dator "host-sidan" och TKey är "device-sidan"?
Ja.
TKey är inte alls lika polerad eller ens inriktad på att ersätta en traditionell legitimation som BankID eller Freja e-ID men kan nog vara intressant för projektdeltagarna att känna till.
Okej, men om vi ändå skulle tänka ett steg till på hur det skulle gå till att använda TKey för e-legitimation, hur skulle det kunna gå till? Jag föreställer mig att utfärdaren (kunde vara Skatteverket eller Polisen eller annan myndighet, eller någon privat aktör) då skulle ge varje person en egen TKey som personen har med sig i fickan, precis som man har körkort och andra id-kort i plånboken. Utfärdaren skulle också upprätthålla ett register med motsvarande publika nycklar där det framgår vem som är vem, och där det blir möjligt att återkalla en legitimation när det behövs. Skulle det gå att göra ungefär så?
Ja. Men om man gör exakt som du säger skulle man i så fall behöva slå upp och kontrollera denna publika nyckel centralt varje gång man använde den. Det känns lite primitivt att behöva kontrollera varje gång, kräva att de man legitimerar sig för har uppkoppling hela tiden och att alla är beroende av en central tjänst.
Istället kan man tänka sig att man registrerar sin TKey första gången genom att signera någon slags utmaning. Sedan utfärdas något slags certifikat signerat av utfärdaren som man sparar någonstans hos användaren (inte riktigt ännu inne i själva TKey men det kommer troligen).
Ett sådant certifikat innehåller då typiskt:
- lite information om dig: det som ett vanligt leg innehåller. - publika nyckeln som din TKey fick av signer-appen. - tidsstämpel för utfärdande. - giltighetstid.
Allt är i sin tur signerat av utfärdaren.
Då kan man sedan presentera både certifikatet och en egen signatur gjort över något meddelande med TKey till den man vill legitimera sig för. De behöver i sin tur bara hålla reda på utfärdarens publika nyckel och vid varje identifiering verifiera din signatur mot publika nyckeln i certifikatet för att se att allt stämmer.
Till att börja med måste ett sådant certifikat sparas utanför TKey för det finns inget sätt att lagra något i TKey som den ser ut just nu.
Hårdvarudesign, alla ritningar och alla program är släppta under fria licenser.
Om det läser jag i readme-filen här https://github.com/tillitis/tillitis-key1/blob/main/README.md följande: "All of the TKey software, firmware, FPGA Verilog source code, schematics and PCB design files are open source. Like all trustworthy security software and hardware should be. This in itself makes it different, as other security tokens utilize at least some closed source hardware for its security-critical operations."
Är Yubikey och Nitrokey exempel på "other security tokens" som har "some closed source hardware"? Hur ser argumentationen ut där, hävdar de att det är nödvändigt för säkerheten att ha hemlig hårdvara, medan du menar att det inte är nödvändigt?
Jag tror det inte har med säkerheten att göra i första hand. Det är nog ett rent komersiellt intresse för att undvika att det dyker upp billiga kopior.