X FOR HAN ARK VUR
» SAM INFO AKT BSK

"krypterings" spørgsmål


Svar
dRxLdRxLSkrevet 22/04-04 17:40 
Jeg har brug for at sikre mig at den jeg snakker med over et netværk hele tiden er den samme på den mest brugervenlige måde.

Det jeg har tænkt mig er at sende et tilfældig genereret 128bit tal til serveren som klienten så skal kombinere via en algoritme med md5 summen af sit kodeord (også 128bit) som sendes tilbage til serveren.

Både challenge koden og svaret skal sendes over et ukrypteret radionetværk hvor alle kan lytte med, så det vigtigt for mig at man ikke kan udlede md5 summen af kodeordet ved at opsnappe tilstrækkeligt med "spørgsmål" og svar.
Jeg regner med at jeg kan opnå dette ved at smide tilstrækkeligt med betydende data væk, og så måske bare sende et 8bit tal tilbage.

Er den formodning rigtig?

Ville den stadig holde hvis vedkommende der prøvede at udlede koden har adgang til algoritmen?

Jeg går ikke ud fra at det er alle herinde der kan svare kvalificeret på spørgsmålet, men mon ikke i hvert fald RJK og et par af de programmøruddannede kan have noget fornuftigt at sige?
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
RJKRJKSkrevet 22/04-04 18:21, rettet 22/04-04 18:21 
Jeg skal vide lidt mere konkret om, hvordan det skal bruges, før jeg kan overskue det og dermed besvare ordentligt.

Det er nemt at lave en algoritme så kompleks, at ingen normale mennesker vil kunne udlede algoritmen af resultaterne.

Men hvis algoritmen omvendt er kendt, så kan jeg ikke se din fremgangsmåde på nogen måde sikrer dig mere, end hvis du slet ikke brugte algoritmen.

Måske fordi jeg ikke helt forstår problematikken.
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
dRxLdRxLSkrevet 22/04-04 18:32 
Det er beregnet som en slags keepalive på en firewall til et radionetværk. Det er et ret stort netværk med mange teknisk ubegaved brugere, så i første omgang vil jeg gerne undgå skulle supporte dem mht. at opsætte "virtuelt privat netværk" forbindelser.

Oprindeligt havde jeg tænkt på bare at lade folk logge på en https server for at åbne de adgange igennem firewall'en som de havde brug for, men så undersøgte jeg det nærmere og kom frem til at der var en ret stor risiko for at "angribere" kunne overtage legitime brugeres MAC/IP adresser og dermed adgangen til firewall'en hvis disse ikke loggede sig selv ud.

Så jeg kom på følgende procedure for hvordan det kunne gøres:


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
1) Man indtaster brugernavn og adgangskode i en java-applet man har downloadet fra den frit tilgængelige http logon server.
2)java-appletten sender ens brugernavn til serveren.
3)serveren slår brugernavnet op i databasen og sender en tilfældig genereret ”challengekode”.
4)java-appletten kombinerer md5 summen af éns kodeord med challengekoden for at genere et svar, på en måde så der smides så mange betydende cifre væk at kodeordet ikke kan de- chifreres ved opsamling af tilpas mange svar.
5)Serveren kører samme algoritme for at kontrollere svaret, hvis det er okay, åbnes de ressourcer i firewall'en som brugeren har adgang til og brugerens tilstedeværelse skrives ind i databasen.
6)Serveren sender med jævne mellemrum disse challenges for at sikre at brugeren er logget ind.
7)Når serveren ikke længere får et tilfredsstillende svar lukkes forbindelserne i firewall'en.

Med denne løsning vil folk stadig risikere at deres trafik bliver overvåget, men må man så gå ud fra at virkelig vigtig trafik overføres via sikre forbindelsestyper. Metoden har så vidt jeg kan se følgende fordele:

1)Let at betjene for slutbrugeren (ifhld. til at skulle oprette VPN forbindelser)
2)Universel for alle styresystemer (der vel at mærke understøtter JAVA)
3)Realtime overblik over tilsluttede forbindelser via databasesøg.
4)Ret høj grad af adgangskontrol, jeg kan ikke lige se hvordan man skulle kunne ”spoofe” sig adgang.
5)Ubetydeligt overhead.
6)Minimalt resourceforbrug på serveren.
7)Brugeren behøver ikke at huske at logge af, forbindelsen afbrydes automatisk når vedkommende ikke længere bruger netværket.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Efter jeg postede her på forumet er jeg så kommet i tanke om at man også har sekvensnummeret af kontrolopkaldet man kunne inddrage i algoritmen.
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
dRxLdRxLSkrevet 22/04-04 18:36 
Så har jeg forresten et andet spørgsmål:

Er der nogen herinde der ved hvor let/vanskeligt det er at "disassemble" den kompilerede java "bytecode"?
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
KTCKTCSkrevet 22/04-04 18:51 
Meget let at disassemble...

Det lyder til at du bare skal bruge envejskryptering, hvis klienterne bare skal "authorizes"
A small cog? Now that you mention it, I know a puzzle about an object that almost fits that description.
dRxLdRxLSkrevet 22/04-04 19:04 
har du nogle java/linux kompatible biblioteker du gerne vil anbefale?
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
KTCKTCSkrevet 22/04-04 19:39 
jcrypt mener jeg det hed, det jeg brugte i min hovedopgave...
A small cog? Now that you mention it, I know a puzzle about an object that almost fits that description.
Login for at besvare
Profilnavn
Kodeord
Husk mig