[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