Warning: Missing argument 2 for wpdb::prepare(), called in /home/stromber/public_html/kryptoblog/wp-content/plugins/wp-super-edit/wp-super-edit.core.class.php on line 109 and defined in /home/stromber/public_html/kryptoblog/wp-includes/wp-db.php on line 1222
Yubico öppnar upp sin teknologi och kod » Kryptoblog

Yubico öppnar upp sin teknologi och kod

May 17th, 2008 by Joachim Strömbergson Leave a reply »

Svenska Yubico som utvecklar den fräcka OpenID-nyckeln Yubikey har valt att öppnat upp sin källkod.

YubiKey

Yubicos sida för utvecklare finns information och länkar till bland annat hur man sätter upp OpenID-server som använder Yubico samt API:er i .Net, Ruby, Java, PHP samt en PAM-modul för att bygga webbtjänster som kan använda Yubico för autenticiering. Slutligen finns det ett grundbibliotek i Java och C för att dekryptera och tolka de OTP-lösenord som Yubico genererar.

En kul detalj är att Yubico valt att lägga upp koden på Google Code. Vidare har Yubico valt att inte försöka vara smarta och klura till en egen, förvirrande och avskräckande licens, utan det är BSD-licens rätt av.

Yubico har även publicerat en säkerhetsanalys av Yubico utförd av Simon Josefsson, av en av Sveriges duktigaste säkerhetstekniker som arbetat mycket med design och implementation av exempelvis DNSSEC, Kerberos, OpenPGP. Väl värd att läsa.

Jag är generellt tveksam till hembyggda säkerhetsalgoritmer. Men Yubico gör nog så bra man som ett företag kan göra. Publicera inte bara resultat utan hela analyser. Inte försöka låsa in teknologin utan öppna upp API:er, kod och använda licenser som ger stor frihet. Då blir andra intresserade att titta närmare på, analysera och använda teknologin.

Jag gillar YubiKey för att den för mig som användare är så enkel att använda. Och nu är det enkelt även för utvecklare och säkerhetsanalytiker att integrera och bedöma YubiKey-teknologin. Att döma av Yubicos webbplats är deras affärsmodell att sälja YubiKey-nycklar och tjänster kring dessa, att då öppna upp teknologin borde borde vara i samklang med affärsmodellen.

Smart, bra och kul att se ett företag som grokkat hur Internet, säkerhet och öppen kod-världen fungerar.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Advertisement

4 comments

  1. f0bar says:

    Om jag förstår det hela rätt betyder det att man måste ge sin AES nyckel till alla som ska kunna authentisera en. Detta betyder att man måste lita på / ha trust till den man vill authentisera sig hos.

    Jag tycker säkerhets analysen som Simon gjort säger väldigt lite, eller inget alls om hur själva authentiseringen av användaren går till och att servern som ska authentisera sig faktiskt måste känna till den nyckeln.

    Ett alternativ för att få det “bättre” antar jag kan vara att köra sin egen openID server och alltid authentisera sig mot den. Jag hade dock klart föredragigt att man hade haft ett public/private key system och därmed hade det endast varit en enda usbsticka som kunde skapa giltiga authentiseringar.

    Det känns som säkerheten faller tillbaka på lösenordet man valt iallafall och att själva enheten blir lite snakeoil eftersom både Yubico och alla servrar man vill authentisera sig mot kan fejka authentiseringar.

    Vore klart intressant att se en tredje parts analys av systemet.

  2. Simon says:

    f0bar,

    Tanken är inte att AES-nyckeln ska cirkulera runt, det ställer för stora krav på att man litar på alla inblandade parter eftersom, som du påpekar, alla parter då kan fejka inloggningar hos varandra.

    Min analys var skriven långt innan det fanns någon server, så det är inte så konstigt att den inte täcker detta. 🙂

    Vår tanke idag är att den som köper nyckel bestämmer ett ställe där AES nyckeln ska lagras, och låter det stället köra vårt web-service-API för att besvara förfrågningar om valideringar. De tjänster som ska validera nycklarna får då prata med servern, och måste då lita på servern.

    Dock är vår affärsmodell att sälja nycklarna, så om du vill använda dem i en annan modell så går det bra.

    Att använda public-key är något vi övervägt, men det för med sig flera problem, varav dessa är de största:

    1) Processorn måste vara betydligt kraftigare (= dyrare) eftersom den måste implementera bignum (RSA) och hashning.

    2) En RSA-signature är betydligt längre än de 44 tecken yubikey’n matar ut idag. Enkelt överslag ger det 512 modhex-tecken för en 2048-bits RSA-nyckel. Detta tar för lång tid att föra över till datorn.

    3) Hantering av revokering av nycklar kräver en online-tjänst eller besvärlig CRL-hantering. Så man behöver ändå en online-server, vilket kan betraktas som en nackdel med dagens lösning.

    Andra får gärna titta närmare på vår modell och göra sin egen analys.

    Mvh,
    Simon (@yubico.com)

  3. Joachim says:

    Aloha!

    Min uppfattning är att med Yubikey går det att lyfta nivån på den enklaste typ av säkerhet – lösenord eller PIN-kod till något som är mycket svårare att gissa.

    Och tricket man gör detta genom är att omvandla säkerheten från något man vet till något man har.

    Yubikey är inte Fort Knox, men det är otroligt mycket bättre än att Sigge använder lösenordet “sigge”.

  4. Nixon says:

    Yubikey är jättesöt, och verkar lösa många av användbarhetsproblemen med de vanliga dosorna. Men det som gör att vi inte tittar vidare på Yubikey för närvarande är att man lägger alla ägg i samma korg. Blir autenticeringsservern knäckt ryker hela din autenticeringsinfrastruktur. Det är lika skoj som när en Kerberos-KDC blir knäckt, men med extrabonusen att det inte bara är lösenord som måste bytas, utan fysisk hårdvara.

Leave a Reply

You must be logged in to post a comment.