Autor Beitrag
BlackSeven
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 11.11.04 00:36 
Kurz zu meinem Problem:

Habe ein Programm geschrieben, welches VNC (Server) sowie weitere Dienste auf die ausgewählten Netzwerkcomputer mit einem vordefinierten Passwort verteilt. Dies funktioniert bisher problemlos. Nun suche ich jedoch nach einer Möglichkeit, die in der Registry verschlüsselten Passwörter jederzeit ändern zu können.


Greetz
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 11.11.04 10:29 
könntest du die frage nochmal anders formulieren? ich komm leider nicht dahinter was dein problem ist :cry:

du kannst aber das alte passwort im registry einfach überschreiben, wenn du das meinst....

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
Martin77
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 282

XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
BeitragVerfasst: Do 11.11.04 10:43 
So wie Ich das verstanden habe sucht er den Algo um die Passwörter zu verschlüsseln, also um sein neues zu setzen. Decrypt würde mich darauf schliessen lassen das er das alte auch lesen will, was aber für seinen Zweck (aus meiner SIcht) nicht notwendig ist.

Martin
BlackSeven Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 11.11.04 10:46 
sorry, das ich mich nicht klar ausgedrückt habe...
hast schon recht, ich könnte im winvnc-server ein neues passwort generieren und das verschlüsselte passwort als registry-key abspeichern und auf den anderen rechnern verteilen...

ich brauche allerdings eine funktion, der ich ein passwort übergebe
z.b. 1234 - diese funktion sollte dann das passwort in verschlüsselter form (ab 38 a6 cf 30 44 d3 ff)
zurückgeben


function Encrypt(passwort : string) : string
begin
...
end;
Martin77
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 282

XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
BeitragVerfasst: Do 11.11.04 12:58 
Kenne den Aglo nicht den VNC verwendet, aber wenn Ich mich nicht recht irre gibt es auf der Seite doch auch einen Source download. Also laden, versuchen zu vertsehen und ihn dann nachbilden ;)


Martin
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 11.11.04 13:16 
sowas macht man in der regel über prüfsummen.
am weitesten verbreitet ist der MD5 algo. wobei auch SHA stark im kommen ist.
source hab ich grad keinen da aber es gibt bei torry unmengen von komponenten die das leisten.

eine prüfsumme ist eine art eineweg-verschlüsselung->sie lässt sich zwar encodieren aber nicht mehr decodierten.
wozu dann das ganze??
ganz einfach: die verschlüsselten daten sind nicht mehr rückführbar
man erstellt eine prüfsumme und speichert diese ab.
ein angreifer kann die prüfsumme zwar sehen aber weis nicht wie das dazugehörige passwort heißt->nicht decodierbar.

wenn du nun überprüfen willst, ob das passwort stimmt, musst du nur das passwort wieder encodieren und anschließend das ergebnis mit der gespeicherten checksumme vergleichen.

in der regel werden noch zusätzliche daten zu dem passwort hinzugefügt (wie z.b. <passwort>+abc)
damit sich ein angreifer nicht ohne weiteres eine eigene checksumme von einem beliebigen passwort erstellen kann und die gespeicherte einfach durch seine ersetzt

_________________
Patrick
im zweifelsfall immer das richtige tun!!!


Zuletzt bearbeitet von patrick am Mi 17.11.04 10:21, insgesamt 1-mal bearbeitet
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Do 11.11.04 15:32 
saug dir den quellcode von VNC und schau dir den durch !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
BlackSeven Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 16.11.04 23:09 
nicht gerade leicht, das in delphi code umzusetzen
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 17.11.04 11:27 
das denk ich mir.
du kannst den C code ja spasseshalber mal hier posten !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
BlackSeven Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 18.02.05 23:41 
hab da soeben was entdeckt: das ganze wäre mit einer dll zu lösen
doch wie setze ich das nun in delphi um?
muss zugeben, dass ich mich mit vb6 überhaupt nicht auskenne

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
Private Declare Function vncDec Lib "vncauth.dll" Alias "vncDecryptPasswd" (ByVal sEncPass As String) As String
Private Declare Function vncEnc Lib "vncauth.dll" Alias "vncEncryptPasswd" (ByVal sUncPass As String) As String
Private Declare Function vncHex Lib "vncauth.dll" Alias "vncMakeHexFromBytes" (ByVal sEncPass As String) As String
Private Declare Function vncBty Lib "vncauth.dll" Alias "vncMakeBytesFromHex" (ByVal sHexPass As String) As String

Examples (for use with VB6):
   To encrypt a password use:
   sEncryptedPasswd = vncEnc(sPasswd)
   sEncryptedPasswd = Left$(sEncryptedPasswd, InStr(sEncryptedPasswd, vbNullChar) - 1)
   
   To decrypt a password use:
   sPasswd = vncDec(sEncryptedPasswd)
   sPasswd = Left$(sPasswd, InStr(sPasswd, vbNullChar) - 1)
   
   To make a hexdump out of the encrypted password:
   sHexEncrypted = vncHex(sEncryptedPasswd)
   sHexEncrypted = Left$(sHexEncrypted, InStr(sHexEncrypted, vbNullChar) - 1)
   
   To convert a hexdump back to the encrypted password:
   sEncryptedPasswd = vncBty(sHexEncrypted)
   sEncryptedPasswd = Left$(sEncryptedPasswd, InStr(sEncryptedPasswd, vbNullChar) - 1)



thx & greetz