Gå til innhold

Sikker hardkoding av passord


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet (endret)
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
Skrevet (endret)

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
Skrevet
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.

Skrevet

Tja, hvis FTP serveren støtter MD5 passord pålogging er det det beste alternativet :)

 

Anbefaler at du bruker en kraftig FTP server som GENE6 i andre enden, den støtter MD5 pålogging :)

Skrevet

Så det går faktisk an å logge seg på med en MD5 av passordet? Der hadde man jammen enda en ting jeg ikke visste om :D.

 

Får bare håpe min ftp-server støtter dette.

Takk for alle kommentarer!

 

Degeim

  • 3 uker senere...
Skrevet (endret)

Det beste hadde jo vært om man kunne bruke ett serfikat, er det bare støttet i SFTP?

Endret av jonnyh
Skrevet

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?

Skrevet

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

Skrevet
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.

Skrevet

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.

 

:)

Skrevet
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?

Skrevet

http://www.aisto.com/roeder/dotnet/

 

Øverste. Reflector. Last ned og kjør på .exe fila :-P

 

 

Hvorfor bruker du FTP forresten? Jeg ville heller vurdert å lage en webservice og en funksjon i programmet hvor brukeren registrerte seg. Uansett ville det for meg vært obligatorisk at hver bruker hadde eget login/passord...

Skrevet (endret)

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
Skrevet
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å...

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å
×
×
  • Opprett ny...