Hlavní navigace

Vlákno názorů ke zprávičce Šifrování v Androidu není tak bezpečné, jak jsme mysleli od xMartin - Zběžně jsem si pročetl původní popis útoku na...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 5. 7. 2016 16:09

    xMartin (neregistrovaný) ---.anonymouse.org

    Zběžně jsem si pročetl původní popis útoku na blogu autora. Z toho, co jsem pochopil, musím konstatovat, že šifrování jako takové v Androidu rozhodně nebylo prolomeno a je stále bezpečné při použití dlouhého a komplikovaného hesla. Co však prolomeno bylo, je obezlička, která má za úkol z krátkého, a tedy nebezpečného, hesla ve zkratkce odvodit heslo o bezpečné délce.

    Android totiž ve výchozím stavu pracuje pouze s jedním heslem (pinem, kombinací), které používá jak pro zamykací obrazovku, tak pro odvození šifrovacího hesla. Pro potřeby zamykání naprosto postačuje relativně krátké heslo, protože systém jednoduše neumožní zadat stovky a tisíce pokusů (prodlevy, smazání dat, vypnutí; jde o online útok). V případě zašifrovaného úložiště je situace kvůli možnosti offline útoku jiná. Zde je naprosto zásadní dlouhé a komplikované heslo, protože útočník může bez problémů zkoušet i miliony a víc hesel za sekundu.

    Aby tedy uživatel nemusel při každém odemykání obrazovky zadávat dvacetimístné heslo, radši systém uměle "prodlouží" krátké heslo (pin, kombinaci) a teprve to použije pro zašifrování úložiště. Bohužel ta funkce "prodloužení" hesla je implementována nešikovně a lze ji prolomit. Díky tomu se úloha uhodnutí dlouhého hesla mění na úlohu uhodnutí krátkého hesla, kterou lze často vyřešit v proveditelném čase pomocí hrubé síly.

    Co s tím může udělat uživatel kromě změny přístroje? Na nerootnutém telefonu je jediné řešení použití dlouhého a komplikovaného hesla (gl & hf). U rootnutého telefonu (popř. root => změna => unroot) lze změnit samotné šifrovací heslo pomocí utility Cryptfs Password na něco dlouhého (zadává se jednou při startu, takže nevadí), přičemž zamykací heslo (pin, kombinace) zůstává původní.

  • 5. 7. 2016 19:26

    Filip Jirsák

    Jakékoli algoritmické „prodlužování“ hesla bude vždy nešikovné a půjde prolomit. Bezpečnost dlouhého hesla spočívá v tom, že je to příliš mnoho kombinací. Když se heslo nějak algoritmicky prodlouží, zůstává pořád ten počet kombinací krátkého hesla, takže bezpečnost se nezvýší.

  • 6. 7. 2016 11:06

    Palo (neregistrovaný) ---.primanet.sk

    Jedina moznost je urobit tu funkciu 'predlzovania' (key derivation) dostatocne komplikovanou, napriklad tak ze bude trvat sekundy. To by ale zase vsetci hubovali aky je ten android pomaly pri starte. Samozrejme musi sa tam pridat este nejaky salt aby sa takato tabulka nedala predpocitat ale aj tak ak dobre pocitam ak mam iba 4 cisla a derivacna funkcia by trvala 10 sekund na ARM tak je to 27 hodin :-/ co samozrejme neberie do uvahy rychlost ARM vs Intel vs GPU takze je to bieda.
    Takze jedina sanca, ostava stale je HW clen ktory po 3 pokusoch kluc zmaze a je vymalovane.

  • 6. 7. 2016 11:18

    Filip Jirsák

    Tu prodlužovací funkci ale nemusí útočník spouštět na tom jednom pomalém ARMu, může jí pustit paralelně v nějakém clusteru.

  • 6. 7. 2016 18:52

    Jenda (neregistrovaný) ---.net.upcbroadband.cz

    To moc nepomůže. I pokud ta funkce místo milisekundy bude trvat 4 sekundy, znamená to efektivní prodloužení hesla o pouhé dva znaky (64 možných znaků ^ 2).

    > Takze jedina sanca, ostava stale je HW clen ktory po 3 pokusoch kluc zmaze a je vymalovane.

    Ještě je možné prostě si nastavit delší heslo ;). Mně nevadí, že při bootu ho na té dotykové klávesnici zadávám relativně dlouho, protože bootuju jednou za měsíc.