Jump to content
Sign in to follow this  
Degeim

Sikker hardkoding av passord

Recommended Posts

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

Share this post


Link to post
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?

Edited by Quayle

Share this post


Link to post

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!

Edited by Degeim

Share this post


Link to post
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.

Share this post


Link to post

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 :)

Share this post


Link to post

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

Share this post


Link to post

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?

Share this post


Link to post

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

Share this post


Link to post
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.

Share this post


Link to post

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.

 

:)

Share this post


Link to post
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?

Share this post


Link to post

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

Share this post


Link to post

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?

Edited by ze5400

Share this post


Link to post
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å...

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...