Gå til innhold

Sikker hardkoding av passord


Anbefalte innlegg

Hei!

 

Jeg har et program som benytter seg av en ftp-tilkopling, og det må derfor ha passordet til ftp-serveren hardkodet i seg.

 

Nå har jeg bare passordet lagret i en konstant, men det forekommer meg at en type med hex-editor kan få tak i dette når det er lagret slik.

 

Så jeg lurer på om det er noen lyse hoder en eller annen plass som har en sikrere måte å lagre det på?

 

 

Takk,

Degeim

Lenke til kommentar
Videoannonse
Annonse
Hei!

 

Jeg har et program som benytter seg av en ftp-tilkopling, og det må derfor ha passordet til ftp-serveren hardkodet i seg.

 

Nå har jeg bare passordet lagret i en konstant, men det forekommer meg at en type med hex-editor kan få tak i dette når det er lagret slik.

 

Så jeg lurer på om det er noen lyse hoder en eller annen plass som har en sikrere måte å lagre det på?

 

 

Takk,

Degeim

6565583[/snapback]

 

 

Er dette Linux, Windows eller Mac? Det vil faktisk påvirke mitt svar i alle fall.

 

Edit: Jeg slapper meg selv, OKEI!:p Vel kan du ikke kryptere det da?

Endret av Quayle
Lenke til kommentar

Ja, beklager, jeg glemte de essensielle detaljene:

 

Visual Basic .Net,

Windows

 

Og kryptering har jeg tenkt på, men da må jeg jo inkludere en dekrypteringsalgoritme (og lage den?). Jeg var egentlig ute etter å få vite om det fantes noe jeg ikke visste om (feks "Dim as SecureString"), noe som ofte forekommer - og får meg til å finne opp hjulet for ørtende gang.

 

Men da lager jeg heller en enkel krypteringsalgoritme :)

 

Takk skal du ha!

Endret av Degeim
Lenke til kommentar
Og kryptering har jeg tenkt på, men da må jeg jo inkludere en dekrypteringsalgoritme (og lage den?).

6566890[/snapback]

 

Vel du trenger vel ikke det? Du kan jo kjøre passordet igjennom krypteringsalgoritmen og hardkode hash-en. Deretter kjører du påloggingsforsøk igjennom denne algoritmen og sammenlikner hash-ene.

 

Da slipper du å dekryptere noe som helst.

Lenke til kommentar
  • 3 uker senere...

unnskyld meg, mulig det bare er meg, menneh... logge seg på med MD5 av passordet?? er ikke hele vitsen med å lagre et passord i MD5 borte da liksom?

 

trodde poenget med å lagre et passord i md5 at en ikke skulle kunne finne ut hva det originalet passordet var... hvis en bare kan bruke md5 versjonen så er jo poenget borte på en måte?

Lenke til kommentar
Joda, det er jo helt logisk!

 

Hvis man logger seg på med MD5, så sjekker jo bare FTP-serveren om MD5-en stemmer med MD5-en av passordet den har lagret!

 

Eller?

 

 

Degeim

6664702[/snapback]

Poenget med MD5 er at man på klientsiden tester hvorvidt inndata fra brukeren, som er kjørt gjennom MD5, stemmer overens med en lagret MD5-hash (passordet til FTP-serveren). Å sende en MD5-hash til serveren løser overhodet ikke problematikken, ettersom en i likhet med vanlig pålogging må forsyne serveren med passord til klienten, og derav FTP-serveren.

 

Dersom du skal la dette gå automatisk, må du rett og slett lage en kompleks algoritme som genererer passordet (på en slik måte at det er meget vanskelig å følge prosessen i Assembly). Helt sikkert blir det aldri, men det viktigste er nok at det i praksis er uoverkommelig.

Lenke til kommentar
MSIL Disassembler er et verktøy som følger med .NET FrameWork 2.0.

 

Det gir meg automatisk oversikt og navn på alle funksjonene i programmet ditt.

Så jeg kan garantere deg at ved bruk av CLR så kan du gi godt faen i å hardkode passordet.

 

:)

6665153[/snapback]

 

Nå har jeg sett på dette, men det hjelper deg vel ikke å vite navnene på funksjonene og hvilke variabeltyper de tar, og navnene på alle kontrollene samt variablene i prosjektet?

 

Så vidt jeg kunne se, så var det ikke mulig å få ut innhold av funksjonene fra det programmet, og da er det vel ikke mulig å dekryptere det hardkodede passordet?

Lenke til kommentar

Jippi... Kan man ikke forvente NOE SOM HELST sikkerthet fra gubbene i ms? Det skal ikke være nudvendig å beskytte filene sine utover kompilering (men mindre man er paranoid). Og hva klarer ms? Jo å lage en MSIL (mellomkode) som er like sikkert som et papirark. Detta gjør meg sinna!

 

Er for trøtt til å sjekke, men vet du om denne virker på signerte bibloterer jorn79?

Endret av ze5400
Lenke til kommentar
Jippi... Kan man ikke forvente NOE SOM HELST sikkerthet fra gubbene i ms? Det skal ikke være nudvendig å beskytte filene sine utover kompilering (men mindre man er paranoid). Og hva klarer ms? Jo å lage en MSIL (mellomkode) som er like sikkert som et papirark. Detta gjør meg sinna!

 

Er for trøtt til å sjekke, men vet du om denne virker på signerte bibloterer jorn79?

6669491[/snapback]

 

Signerte, som med Strong Name? Ja, den viser kildekoden til disse også. Men, man får ikke forandret på dem og gitt dem samme Strong Name igjen.

 

Hvorfor sinna egentlig? Java er jo akuratt det samme. Det er jo ikke så mye forskjell fra alle andre kompilatorer heller, bortsett fra at de gjør det vanskeligere å lese...

 

Btw, det finnes mange tredjeparts verktøy for å obfuscate programmet ditt. Fulgte vel med Obfuscater Community edition i VS2003 også...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...