Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[EiP][Groepsproject] Echt veilige usb stick.

Pagina: 1 2 Laatste
Acties:

  • ls470
  • Registratie: November 2004
  • Laatst online: 13:17
flux_w42 schreef op donderdag 20 maart 2008 @ 08:57:
[...]
Niet direct nee. Maar bij het ingeven van een juiste pin, moet de key controller zijn key doorgeven aan de chip die het flashgeheugen uitleest en de data encrypt/decrypt? Akkoord?
Inderdaad, maar dan kent de attacker de pincode en kan hij dus toch sowieso aan de data (of de gebruiker is zo dwaas dat hij nog een geldige code ingeeft op een stick waar iemand aan heeft zitten knoeien)
Dus als de stick dezelfde key gebruikt nadat een aanvaller de pin gereset en opnieuw ingesteld heeft kan een aanvaller de key 'afluisteren'.
Zoals ik zei: bij het resetten (niet bij veranderen in normaal gebruik) moet je inderdaad een andere key nemen, maar dat mag maar zeldzaam voorkomen, zodat niet veel reservekeys nodig zijn.
Als je 100 sticks maakt heb je 100 verschillende firmwares nodig :?
De firmware zelf (code) is dezelfde, het enige dat je moet doen is een aantal random codes meevoorzien. Aangezien testers nu al soortgelijke (veel chips hebben een individueel serienummer) en veel ingewikkeldere (defecten 'herstellen' op geheugenchips door't programmeren van fuses voor redundante bitlijnen/woordlijnen/...) taken doen lijkt het me dat dat geen probleem mag zijn...

  • flux_w42
  • Registratie: November 2006
  • Laatst online: 07-09-2024

flux_w42

jah, nu is het helemaal kapot

Zoals ik zei: bij het resetten (niet bij veranderen in normaal gebruik) moet je inderdaad een andere key nemen, maar dat mag maar zeldzaam voorkomen, zodat niet veel reservekeys nodig zijn.
Ah, ik dacht dat je alleen een andere key nam als er 3 mislukte pogingen gedaan waren om de pin te raden. Zo is het idd wél veilig. Alleen jammer dat je dan 'maar' 100x je pin mag vergeten. :(
Een stick zou moeten blijven werken tot hij écht kapot gaat, en niet omdat de keys op zijn :|

Met een random aangemaakte key kan je zo veel resetten als je wil én het blijft veilig.

  • T1psY
  • Registratie: December 2006
  • Laatst online: 19-11 22:35

T1psY

Dumo-Technics

misschien een functie in je firmware programmeren die ervoor zorgt dat er 100 random keys in je geheugen zitten. En dan als je bijvoorbeeld onder de 80 komt vult hij ze terug aan ofzo

http://www.dumo-technics.com


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
Maar hoe krijg je random op een gesloten omgeving van een stick?

Stel je gebruikt de white noise van een weerstand, iemand koopt zo'n stick, duwd deze in een storingsveld die die white noise flink beinvloed tot er alleen 1's uitkomen, die gaat dan gewoon pincodes invullen en na 300x een pincode ingerost te hebben is hij 100 keys verschoven en zit je in het gebied van keys die alleen 111111111... zijn, geef die stick aan iemand en jat 'm later terug, hoppa...
Klinkt misschien omslachtig, maar dat eerste deel zou geautomatiseerd kunnen worden.

Denk dat je dan (veel) beter 100 random keys erin kan zetten in de fabriek, de optie ervoor uit de formware halen en na 100 keys is ie gewoon stuk.

Als zo'n ding in gebruik is zal hij toch nooit gereset worden (wie formateerd er wekelijks zijn usb stick :P?)
Denk dat 100 keys meer dan zat is voor een levensduur van de nodige decenia, en hij zal misschien net op 15 staan als hij weggegooit wordt omdat hij veel te klein is voor de data die er dan is...

  • flux_w42
  • Registratie: November 2006
  • Laatst online: 07-09-2024

flux_w42

jah, nu is het helemaal kapot

Om je random key te genereren moet je dan factoren gebruiken die niet te beïnvloeden zijn of niet te voorspellen zijn.

Bijvoorbeeld de tijd dat een USB stick ooit al verbonden is geweest met de PC, in miliseconden.
Je kan het nog moeilijker maken door de volgende methode te gebruiken:

Houd ergens in het eprom geheugen twee tellers bij van 128 bits. Van zodra de usbstick voedingsspanning krijgt haalt hij deze twee waarden uit het eprom, zet ze naar het ramgeheugen en vervangt de twee waarden door de MD5 hash van de opgeslage waarden. Zo bekom je weer 2 tellerwaarden van 128 bits (samen dus 256 bits). Zolang de usbstick spanning krijgt via usb telt hij bij allebei de tellers iedere milliseconde één bij. Als de stick uit de pc gehaald word na een onbekende tijd, worden de waarde van de tellers snel weer opgeslagen in het eprom.

Van zodra de stick weer op een pc aangesloten is word alles weer herhaald:

Tellers uit eprom naar ram verplaatsen
tellers vervangen door de MD5 hashen van de tellers
zolang de stick spanning krijgt: per ms de tellers één bijtellen
als de spanning wegvalt: tellers uit ram weer veiligstellen in eprom
...
enz

Zo krijg je door die MD5 hashen te nemen op een onbekend tijdstip (afhankelijk van hoelang de stick ooit al gebruikt is) een redelijk onvoorspelbaare 256 bits code. Die waarde van de tellers kan je dan gebruiken om een 'random' key uit te genereren. Eventueel kan bij het branden van de firmware bijde tellers een willekeurige startwaarde (en verschillende van elkaar) meegegeven worden.

't is natuurlijk niet écht radom, maar het kan wel voldoen voor onze toepassing én het is niet te beïnvloeden.

[ Voor 4% gewijzigd door flux_w42 op 20-03-2008 23:04 ]

Pagina: 1 2 Laatste