Ab OpenVOS Release 18.0 können VOS-Systemadministratoren einen von 3 neuen Passwort-Verschlüsselungsalgorithmen auswählen. Dieser Beitrag gibt einen Überblick über diese Änderungen.
Der existierende, legacy VOS-Verschlüsselungsalgorithmus ist eine proprietäre Einweg-Hash-Funktion, die den ursprünglichen DES-Algorithmus als Teil seiner Arbeit beinhaltet. Siehe diese Beschreibung. Aufgrund von Fortschritten in der Rechenleistung ist es jetzt möglich, Brute-Force-Angriffe gegen diesen Algorithmus zu verwenden, die einfach nicht durchführbar waren, als er ursprünglich geschrieben wurde. Es ist also an der Zeit, einen neuen Passwort-Verschlüsselungsalgorithmus einzuführen. Um die Kompatibilität mit anderen Betriebssystemen zu gewährleisten, fügen wir Unterstützung für 3 neue Algorithmen hinzu, während wir die Unterstützung für den legacy VOS-Algorithmus beibehalten.
Stratus hat die Bereitstellung der zusätzlichen Verschlüsselungsalgorithmen auf 2 Versionen verteilt. OpenVOS 17.2 fügt die zugrundeliegende Kernel-Unterstützung, neue APIs und Datenstrukturen hinzu, die für die Unterstützung mehrerer Verschlüsselungsalgorithmen erforderlich sind, ermöglicht aber nicht die Verwendung der neuen Algorithmen. Die neuen APIs werden hier beschrieben. OpenVOS 17.2 ist eine Übergangsversion; wir ermutigen die Benutzer, ihre Software auf die neuen APIs umzustellen, wenn sie sie verwenden. Aber Sie sind nicht verpflichtet, OpenVOS 17.2 zu verwenden; Sie können es überspringen und die Arbeit mit OpenVOS 18.0 erledigen.
Mit OpenVOS 18.0 können (müssen aber nicht) Sie mit der Verwendung der neuen Algorithmen beginnen. Um die neuen Algorithmen zu verwenden, müssen alle Module in einem VOS-System mit mehreren Modulen unter 17.2 oder 18.0 laufen, und alle Benutzersoftware, die s$encipher_password oder s$get_registration_info aufruft, muss aktualisiert werden, um die neuen APIs zu verwenden (s$encipher_password2, s$get_registration_info mit einer Struktur der Version 8). Auf dem Master-Modul muss OpenVOS 18.0 laufen. Bestimmte Schichtprodukte von Stratus müssen ebenfalls aktualisiert werden (z. B. Samba, ISP, andere); grundsätzlich muss jedes Schichtprodukt, das sich mit Benutzerpasswörtern beschäftigt, aktualisiert werden. Alle betroffenen Schichtprodukte haben eine Basisversion von 17.2 oder 18.0. Schließlich muss der Systemadministrator den Befehl sync_password_info ausführen, um die Datei change_password.sysdb sowohl mit dem verschlüsselten Wert legacy als auch mit dem neuen verschlüsselten Standardwert zu füllen. An diesem Punkt kann der Administrator den Verschlüsselungsalgorithmus ändern. Bei jedem Benutzer, der anschließend sein Passwort ändert, wird das verschlüsselte Passwort mit dem aktuellen Algorithmus gespeichert.
Sobald ein Benutzer ein Passwort hat, das mit einem der neuen Algorithmen verschlüsselt ist, wird die Kopie des Passworts, die mit dem legacy Algorithmus verschlüsselt wurde, gelöscht. Dies ist notwendig, um sicherzustellen, dass ein Angreifer, der Zugriff auf die Passwort-Datendatei erhält, das Passwort nicht durch einen Angriff auf den schwächeren legacy -Algorithmus herausfinden kann. Die Tatsache, dass wir das mit legacy verschlüsselte Kennwort löschen, bedeutet aber auch, dass ältere Versionen nicht mehr mit dieser Kennwortdatei funktionieren; daher die Anforderung, dass alle Module mindestens mit OpenVOS 17.2 laufen.
Es besteht keine Verpflichtung, die neuen Verschlüsselungsalgorithmen zu verwenden. Ein Kunde kann den Algorithmus legacy für immer weiter verwenden. Ein Kunde kann sogar einen der neuen Verschlüsselungsalgorithmen ausprobieren und bei Problemen wieder zum Algorithmus legacy zurückkehren. Die einzige Voraussetzung ist, dass jeder Benutzer, der sein Kennwort geändert hat, während der neue Algorithmus in Kraft war, es erneut ändern muss, da wir ein Kennwort nur dann verschlüsseln, wenn es geändert wird (weil wir nur dann seinen Klartextwert kennen).
Die neuen Algorithmen stammen aus dem Satz, der von libc auf GNU/Linux- oder FreeBSD-Systemen implementiert wird, und basieren auf den Hash-Funktionen MD5, SHA256 und SHA512. Keiner von ihnen verwendet DES oder 3DES. Bei gleichem Algorithmus und gleichem Klartext-Passwort erzeugt der VOS-Code den gleichen Chiffriertext wie der Linux- oder FreeBSD-Code (in der Tat haben wir den FreeBSD-Code in unserer Implementierung verwendet). Wir haben diese Entscheidung getroffen, um die Interoperabilität von Open-Source-Software zwischen Linux- und OpenVOS-Systemen zu stärken.
Wenn Sie die Multimodul-Fähigkeiten von VOS nicht nutzen, können Sie, sobald Sie Ihr Modul auf OpenVOS 18.0 aktualisieren, mit der Umstellung auf einen der neuen Passwortverschlüsselungsalgorithmen beginnen. Aber wie bereits erwähnt, ist dies eine Option, keine Voraussetzung.
Kunden sind nicht verpflichtet, zuerst OpenVOS 17.2 zu installieren; sie können direkt von einer früheren Version auf 18.0 upgraden. Kunden sind auch nicht verpflichtet, auf Release 18.0 zu bleiben; sie können jederzeit ein Downgrade zurück auf 17.2 durchführen (obwohl alle Benutzer, die ihr Passwort geändert hatten, während der neue Algorithmus in Kraft war, es in diesem Fall erneut ändern müssen).
Alle diese Funktionen sind im SRB und in den Handbüchern für 17.2 vollständig dokumentiert und werden in den Handbüchern für 18.0 dokumentiert, sobald die Version verfügbar ist.
Ich empfehle Kunden, die eine Umstellung auf die neuen Kennwortverschlüsselungsalgorithmen planen, sich im Vorfeld mit dem Customer Assistance Center in Verbindung zu setzen, um zu überprüfen, ob ihr Aktionsplan vollständig und korrekt ist.
Wenn Sie Fragen zu diesem Beitrag haben, schreiben Sie sie bitte in den Kommentarbereich unten oder kontaktieren Sie einen Vertreter von Stratus oder das CAC.