O.Cryp 1
Beschreibung
Beim Einsatz von Verschlüsselung in der Web-Anwendung DÜRFEN KEINE fest einprogrammierten geheimen, bzw. privaten Schlüssel eingesetzt werden.
Kurzfassung
Keine fest einprogrammierten Schlüssel oder anderweitige Geheimnisse.
Anmerkungen
Prüftiefe
- EXAMINE
Der Evaluator prüft, ob fest einprogrammierte geheime, bzw. private Schlüssel eingesetzt werden.
Lösungsansätze
Just-in-Time-Bereitstellung (JIT): Die Implementierung von JIT-Privilegien ermöglicht es, erweiterte Berechtigungen nur für die Dauer einer Sitzung oder Aufgabe zu gewähren, was die potenzielle Angriffsfläche erheblich reduziert und sicherstellt, dass keine fest einprogrammierten Schlüssel verwendet werden.
<code|lang=python> import datetime import random
def grant_JIT_privileges(user, resource, duration):
temporary_credentials = generate_temporary_credentials() expiry_time = datetime.datetime.now() + datetime.timedelta(seconds=duration) grant_access(resource, temporary_credentials, expiry_time) return "Access granted successfully"
def generate_temporary_credentials():
# Beispielhafte Generierung zufälliger Anmeldeinformationen username = "user_" + str(random.randint(1000, 9999)) password = .join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890', k=12)) return {"username": username, "password": password}
def grant_access(resource, credentials, expiry_time):
# Hier würde die eigentliche Logik stehen, um dem Benutzer Zugriff auf die Ressource zu gewähren print(f"Granted access to resource {resource} with credentials {credentials} until {expiry_time}")
- Beispielaufruf
grant_JIT_privileges("Alice", "example_resource", 3600) # Zugriff für eine Stunde gewähren
Zero Standing Privileges: Das Prinzip des ZSP besagt, dass niemand oder nichts dauerhaften Zugriff auf Ihre Cloud-Konten und -Daten haben sollte. Dies schließt die Verwendung fest einprogrammierter geheimer Schlüssel aus.