Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

AES Verschlüsselung - Sicheres Speichern des SALT Wertes

Frage Sicherheit Verschlüsselung & Zertifikate

Mitglied: mertaufmberg

mertaufmberg (Level 1) - Jetzt verbinden

06.12.2017 um 12:30 Uhr, 263 Aufrufe, 11 Kommentare, 3 Danke

Hallo Zusammen,

ich habe mir einen TCP/Ip Server/Client programmiert. Ich verschlüssle den zu übertragenden String mit AES 265 bit.

Zur verschlüsselung/entschlüsselung wird ja ein sogennanter SALT Wert benötigt. Dieser ist bei mir im Programm gespeichert.

Doch wie wäre es am sichersten und sinnvollsten den SALT Wert zu speichern ?


Vielen Dank für eure Zeit,

Mfg
Mitglied: kaiand1
06.12.2017 um 12:54 Uhr
100% Sicherheit wirst du nicht erreichen.
Die Frage ist eher vor wem möchtest du den "Verstecken" ?
Der Normale User wird sich da kaum die Mühe machen als Leute mit Ahnung/Wissen.
Zudem dürfte Wireshark den Code auch bekommen egal wo der gespeichert ist.

Aber welche Sprache zu verwendest ist auch so eine Sache da du das ganze auch in Batch machen kannst oder in C,VB ect wo du da noch die Daten "Verschlüsseln" kannst das die so nicht einfach einzusehen sind.

Jeder der ein Kopierschutz entwirft hat die selben Probleme das ganze Sicher zu machen und die Spielefirmen haben etliche Leute und Budget für so was und werden teilweise nach kurzer Zeit umgangen....
Bitte warten ..
Mitglied: StefanKittel
06.12.2017 um 12:56 Uhr
Hallo,

überlichweise wird das Kennwort für AES mit RSA übertragen (PKI) oder gespeichert.

Ein Salt speichert man üblichweise direkt mit dem Benutzername und dem Hash des Kennwortes.
Es verhindert "nur" die Verwendung einer Ranbow-Table um den Hash zu knacken. Ein Hacker hat üblicherweise aber Zugriff auf beides, da er das System kontrolliert. Du kannst das Hash aber auch in einer anderen Tabelle, Datenbank oder in einer Datei speichern. Hilft aber alles nichts wenn der Hacker schon "drin" ist.

Stefan
Bitte warten ..
Mitglied: mertaufmberg
06.12.2017 um 12:58 Uhr
Okei dann ist das wohl ein größeres Thema. Mein Programm ist eher nur für Private Zwecke gedacht und im Lokalen Netzwerk.

Programmieren tuhe ich das ganze in Viusal Basic. Habe den Salt Wert in den Settings gespeichert. Habe mich dann eben gefragt wie man das eigentlich richtig macht :D

Wie würde man den zum Beispiel den Salt Wert verschlüsseln ?

Vielen Dank
Bitte warten ..
Mitglied: StefanKittel
LÖSUNG 06.12.2017 um 13:08 Uhr
Zitat von mertaufmberg:
Wie würde man den zum Beispiel den Salt Wert verschlüsseln ?

Gar nicht
Ein Salt verwendet man eigentlich bei einer Kennwortabfrage.
Einfach den String der Eingabe oder des Kennwortes nehmen und den Salt hinten anfügen. Davon einen Hash bilden.
Hash(Kennwort+Salt) = Hash in der DB
Wichtiger ist, dass für jedes Kennwort ein eigenes Salt verwendet wird als wie das Salt gespeichert wird.

Wegen AES und RSA schau mal bei Google. Man überträgt ein Einmalkennwort für AES mit RSA (PKI)

Stefan
Bitte warten ..
Mitglied: kaiand1
06.12.2017 um 14:13 Uhr
Oder ein Token Verwenden der den Benutzer als solchen Autorisiert.
Bitte warten ..
Mitglied: StefanKittel
06.12.2017 um 14:17 Uhr
Zitat von kaiand1:
Oder ein Token Verwenden der den Benutzer als solchen Autorisiert.
Ein Token ist aber auch nichts als Benutzername und Kennwort in einem. Mit oder ohne Hash und Salt.

Stefan
Bitte warten ..
Mitglied: kaiand1
06.12.2017 um 14:56 Uhr
nicht ganz da der User diesen meist selbst immer neu Generieren kann für die Authorisierung.
Bitte warten ..
Mitglied: em-pie
06.12.2017, aktualisiert um 20:38 Uhr
Moin,

klinke mich eigentlich nur kurz zum Thema Salt ein, weil es a) den Autor ggf. interessieren könnte, mich aber mal aus rein persönlichen Interesse, ohne konkretes Vorhaben:

Wäre es sinnvoll, das Salt aus dem Hash des Kebnnwortes zu bilden und anzuhängen?

Quasi wie folgt (Code frei erfunden):
01.
$myPassword = meinKennwort 
02.
$hash = hash($myPassword & hash($myPassword)) 
03.
 
04.
print "Ergebnis: " & $hash
Die Ausgabe wäre dann:
01.
 bbff31b7b52e8dce424e5af229a0afa85ffdc911394e4a9cb11916a898662f91 
*Hashes via SHA-256 Online erzeugt: hashgenerator.de

Bzw. könnte ich ja den "inneren" Hash mittels SHA-256 erzeugen und den gesamten Hash nochmal via SHA-512...

Wäre sowas geeignet oder auch fehlerbehaftet?
Klar, wenn ich weiss, wie das Kennwort zusammengesetzt wird, habe ich "verloren", aber mit einem fest kodierten, in abhängigkeit des Users eingesetzten Salts ist das System ja genauso anfällig, oder?

Gruß
em-pie

P.S. Sry, wenn das Thema ggf. jetzt etwas aufgebläht wird, aber ich finde, es passt hier aber gerade ganz gut rein.
Bitte warten ..
Mitglied: StefanKittel
06.12.2017 um 22:03 Uhr
Hallo,

bei dem Salt geht man davon aus, dass das System kompromitiert ist und der Angerifer Zugriff auf den Code und die Datenbank hat.
Also hilft die Verschleierung nicht.

Wenn man nun einen Kennworthash ohne Salt hat, kann man mit einer Rainbow-Table das Klartextkennwort ermitteln.
Durch das Salt benötige ich für jeden Salt eine eigene Tabelle.

Dafür kann man Monsterfarmen mieten die sowas in kurzer Zeit erstellen.
Was natürlich Geld kostet.

Wenn nun Jemand eine komplette Kundendatei aus einem Shop hat mit Email und Hash macht das einen großen Unterschied.
Für 500 Kundendatensätze kann sich eine RBT schon lohnen. Aber nicht 500.

Stefan
Bitte warten ..
Mitglied: XPFanUwe
06.12.2017, aktualisiert um 23:08 Uhr
A Chiffriersoftware zu programmieren setzt extrem viel Erfahrung und Wissen zur Sache voraus. Das ist eine Kette von a mathematischer Grundalgorithmus b Software zum Algorithmus c Software PRNG d Gestaltung Funktionssoftware mit Ergebnis d Fertigung Endsoftware.

B Regenbogentabellen werden in der echten (De)Kryptografie kaum genutzt, da diese spätestens bei 12 Stellen zu groß und zu unhandlich werden

C Regel 1 Selbst erstelle Kryptografie Software ist so lange Kinderquatsch, bis ein Team weltweit anerkannter Kryptografen diese einem Audit unterzogen hat

D Geschehen bei Truecrypt und Veracrypt

E Klar, wenn ich weiss, wie das Kennwort zusammengesetzt wird, habe ich "verloren", Echte Kryptografie muss immer vollständig Quelloffen sein! Es darf außer dem PW kein Geheimnis notwendig sein. Echte Kryptografie Software liegt vollständig im Quelltext vor und basiert auf der Tatsache, bis Dato nicht gelöster mathematischer Probleme!
Bitte warten ..
Mitglied: StefanKittel
07.12.2017 um 00:08 Uhr
Ja und Nein
- ein shared Secret aus dem Algorithmus zu machen ist wenig sinnvoll, kann Scriptkiddies aber durchaus aufhalten
- Salt und Pepper sind machen es Angreifern schwer
- Die Sicherheitsstufe muss zu meinem Projekt passen. Ein Team weltweit anerkannter Kryptografen ist wohl nicht immer notwendig. RSA und AES sind gut dokumentiert.

Nur am Rande
- Es gibt keinen Algorithmus der mathematisch sicher ist.
Die Sicherheit basiert allein auf der benötigen Zeit für einen Bruteforceangriff auf die Verschlüsselung. Eine aktuell sichere Verschlüsselung mit AES-256 kann durchaus in 20 Jahren innerhalb von 5 Minuten geknackt sein.

Vertrauen ist ein Problem.
Wenn mein OS durch den Hersteller schon kompromitiert ist, kann man keine Daten sicher speichern.
Und wer weiß ob die Hardware nicht auch solche Funktionen enthält? Alle Daten müssen an der CPU vorbei... Trojaner in Hardware sind möglich...
Bitte warten ..
Ähnliche Inhalte
Windows Server
Acronis Backup sicher gegen Verschlüsselung
Frage von jocologneWindows Server2 Kommentare

Hallo an die Forengemeinde, aufgrund der aktuellen Trojanerwelle, bin ich am überlegen, wie eine verschlüsselungssichere Datensicherung eines W2K12r2 Servers ...

Netzwerkprotokolle
Sichere IPSec-VPN-Verschlüsselung
Frage von FlatcherNetzwerkprotokolle3 Kommentare

Hallo Admin´s, Kurze Frage - Was ist derzeit die sicherste Methode um einen IPSec VPN einzurichten? Hab hier eine ...

Batch & Shell
Wie speichere ich von einer "Grundbatchdatei" einen bestimmten Wert?
gelöst Frage von IchBins01000010Batch & Shell5 Kommentare

Ich Bräuchte mal Hilfe (logisch) Ich Bin neu in der ganzen Programmierwelt und hänge gerade an einer Sache. Ich ...

Batch & Shell
Wert aus Batch Schleife in Variable speichern
gelöst Frage von anmelderBatch & Shell5 Kommentare

Ich möchte aus einem Verzeichnis alle Dateien mit einer bestimmten Endung anzeigen lassen. Die Dateien sind nummeriert. Der Nutzer ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 2 StundenVerschlüsselung & Zertifikate

Interessant SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...