[Openstandaarden] [OT] e-id (nog eens)

Geert Uytterhoeven geert at linux-m68k.org
Mon Jun 20 10:47:49 CEST 2005


On Mon, 20 Jun 2005, Geert Hendrickx wrote:
> On Mon, Jun 20, 2005 at 10:01:53AM +0200, Geert Uytterhoeven wrote:
> > Hashes op binaries zijn niet betrouwbaar (cfr. de MD5 collision die ik
> > gisteren postte), tenzij je de binary _zelf_ hebt gemaakt. Potentieel
> > kan iemand (intern bij e-ID) dus 2 versies van de firmware maken die
> > dezelfde hash geven.
> 
> In theorie, ja.  Maar dat kon altijd al.  Er zijn inderdaad al strings
> met samenvallende hashes geproduceerd, maar in de praktijk zal het zeer
> moeilijk, nagenoeg onmogelijk, zijn om twee werkende binaries, met bijvb
> dezelfde grootte te genereren, die ook nog hetzelfde (lijken te) doen,
> met samenvallende hashes.  Dus hier ben je nogal paranoide IMHO.  

Ik denk dat je het artikel nog niet hebt gelezen... Het is heel simpel. In
pseudo-code:


    char blob1[] = ...;
    char blob2[] = ...;
    
    if (!memcmp(blob1, blob2, sizeof(blob1))) {
	// variante 1
	...
    } else {
	// variante 2
	...
    }

Je hebt verder 2 binaire blokken met dezelfde hash nodig (zijn al bekend).

Als je in blob1[] en blob[2] hetzelfde binaire blok steekt zal de code
variante 1 uitvoeren. Als je er verschillende binaire blokken insteekt zal de
code variante 2 uitvoeren.

Beide binaries hebben dezelfde hash en dezelfde grootte.

Als je meerdere hashes gebruikt wordt het natuurlijk moeilijker...

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


More information about the Openstandaarden mailing list