Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 982
Jeg driver på med å lager en nettverks applikasjon på vegne av en bedrift som stiller høye krav til sikkerhet, derfor har jeg valgt å bruke SSL tunnel opp på TCP socketen, men for å øke sikkerheten et nivå til, så vil dataen som blir sendt over SSL-socketen kryptert med AES algorithme. Men siden AES er en symmetrisk algorithme så trenger jeg en måte å utveksle nøkler på over SSL-socketen uten at tredje part for tilgang til den, selv om dem har tilgang til sertifikatet og kan dekryptere SSL-trafikken.

Jeg har sett litt på Diffie-Hellman og RSA algorithme til asymmetrisk key exchange, men har veldig liten erfaring innen dette feltet, så tenkte å høre med freakene om hvilken asymmetrisk nøkkel utvekslings algorithme som er best egnet til å bruke til slikt.

Spørsmålet er hvilken key exchange algoritme ville dere ha valgt?

Tilleggs spørsmål: Hva er den mest effektive metoden å generere store primtal?
Så du vil kryptere kryptert data? Jeg ser ikke helt hvorfor det skal hjelpe å legge til et ekstra ledd? Slik jeg har forstått SSL (om jeg husker rett) er dette nøkkelutveksling gjennom RSA, hvor det brukes AES kryptering av dataen etterpå. Nkkelutvekslingen bruker også digitale signaturer, og ved å sjekke disse skal du være ganske sikker.

Det jeg prøver å si er: Så lenge du bruker SSL ordentlig, altså har gode nok nøkkler, samt sørger for å sikre deg mot MITM-angrep ved bruk av signaturer skal det være mer enn bra nok.
Sist endret av etse; 5. oktober 2013 kl. 16:39.
Ingen bedrift med høye krav til sikkerhet ville valgt en egenkomponert implementasjon av krypto-algoritmer. Bruk kjente biblioteker med lang fartstid, f.eks. OpenSSL sitt SSL/TSL-bibliotek, og følg standarder og anbefalinger til punkt og prikke. Det er utrolig lett å gjøre optimaliseringer eller småtriks som åpner for nye angrepsvektorer, og selve eksperter med lang erfaring kan gå i disse fellene.

PKCS#1 har eksistert en stund nå, og er en velprøvd standard. Vil du gjøre noe mer moderne så kan du se på ECC-baserte algoritmer og Elliptic curve Diffie–Hellman (ECDH) til utveksling av nøkler.
War room
0xFF's Avatar
Trådstarter Donor
Sitat av Dyret Vis innlegg
Ingen bedrift med høye krav til sikkerhet ville valgt en egenkomponert implementasjon av krypto-algoritmer. Bruk kjente biblioteker med lang fartstid, f.eks. OpenSSL sitt SSL/TSL-bibliotek, og følg standarder og anbefalinger til punkt og prikke. Det er utrolig lett å gjøre optimaliseringer eller småtriks som åpner for nye angrepsvektorer, og selve eksperter med lang erfaring kan gå i disse fellene.

PKCS#1 har eksistert en stund nå, og er en velprøvd standard. Vil du gjøre noe mer moderne så kan du se på ECC-baserte algoritmer og Elliptic curve Diffie–Hellman (ECDH) til utveksling av nøkler.
Vis hele sitatet...
Selvsagt så vil det bli brukt tredjeparts libraries som OpenSSL i prosjektet, men den har jo ikkje støtte for AES, så den må finnes i en annen library. Men hvis dere mener dette er bortkastet så vil hele AES algoritmen droppes, eneste grunnen til at jeg ønsket å bruke den er hvis noen klarer å penetrere SSL laget, så vil det fortsatt ligge et lag til med sikkerhet.

Eneste jeg hadde tenkt å lage selv av kryptografi delen var nøkkel utvekslings for AES algoritmen.
Men SSL er jo akkurat det du snakker om? Det bruker nøkkelutveksling til å sette opp synkron kryptering. Vil tro du er bedre tjent med å bruke tid og ressurser på å sørge for at dette er gjort ordentlig slik at det ikke skjer penetrering på SSL-laget.