O.Purp 9: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 13: | Zeile 13: | ||
Der Evaluator prüft die Abwägungen des Herstellers, ob die Darstellung von sensiblen Daten zum gegebenen Zeitpunkt für die Erfüllung des Zwecks der Anwendung erforderlich ist. Für die Risikobewertung ist zu berücksichtigen, wie die Anwendung den Nutzer davor schützt, sensible Daten anzuzeigen (vergleiche T.VisibleAsset). Bei Formularen muss die Web-Anwendung den Web-Browser anweisen, die Eingabe bei sensiblen Daten auszublenden (type="password") und Eingaben geeignet zu behandeln. | Der Evaluator prüft die Abwägungen des Herstellers, ob die Darstellung von sensiblen Daten zum gegebenen Zeitpunkt für die Erfüllung des Zwecks der Anwendung erforderlich ist. Für die Risikobewertung ist zu berücksichtigen, wie die Anwendung den Nutzer davor schützt, sensible Daten anzuzeigen (vergleiche T.VisibleAsset). Bei Formularen muss die Web-Anwendung den Web-Browser anweisen, die Eingabe bei sensiblen Daten auszublenden (type="password") und Eingaben geeignet zu behandeln. | ||
== Lösungsansätze == | == Lösungsansätze == | ||
=== Entwicklerseitig === | |||
;Anonymisierung und Maskierung | |||
:Es ist wichtig vertrauenswürdige Daten wie Passwörter oder Kartennummern zu verschleiern, indem man Passwörter nicht dauerhaft in Klarschrift anzeigt oder bei Kartennummern beispielsweise nur die letzten Ziffern zum Abgleich anzeigt. | |||
<pre> | |||
def mask_credit_card_number(credit_card_number): | |||
# Maskiere die ersten 12 Ziffern der Kreditkartennummer | |||
masked_number = "*" * 12 + credit_card_number[-4:] | |||
return masked_number | |||
# Beispielaufruf der Funktion | |||
credit_card_number = "1234567812345678" | |||
masked_number = mask_credit_card_number(credit_card_number) | |||
print("Masked Credit Card Number:", masked_number) | |||
</pre> | |||
;Berechtigung und Zugriff | |||
:Die Implementierung von Berechtigungs- und Zugriffsfunktionen ist elementar für eine sichere Anwendung. | |||
<pre> | |||
function displaySensitiveData(user) { | |||
if (user.role === 'admin') { | |||
// Nur Admins haben Zugriff auf sensible Daten | |||
console.log("Sensitive Data:", sensitiveData); | |||
} else { | |||
console.log("Access Denied: Insufficient Permissions"); | |||
} | |||
} | |||
// Beispielaufruf der Funktion mit Benutzerobjekt | |||
var currentUser = { role: 'user' }; // Beispielbenutzer mit Benutzerrolle | |||
displaySensitiveData(currentUser); | |||
</pre> | |||
</pre> |
Version vom 2. Mai 2024, 16:14 Uhr
Beschreibung
Die Web-Anwendung DARF sensible Daten NICHT auf dem Bildschirm darstellen, außer dies ist für den primären Zweck der Anwendung erforderlich.
Kurzfassung
Nur zweckgebundene Darstellung sensibler Daten auf dem Bildschirm.
Anmerkungen
Prüftiefe
- CHECK
Der Evaluator prüft die Abwägungen des Herstellers, ob die Darstellung von sensiblen Daten zum gegebenen Zeitpunkt für die Erfüllung des Zwecks der Anwendung erforderlich ist. Für die Risikobewertung ist zu berücksichtigen, wie die Anwendung den Nutzer davor schützt, sensible Daten anzuzeigen (vergleiche T.VisibleAsset). Bei Formularen muss die Web-Anwendung den Web-Browser anweisen, die Eingabe bei sensiblen Daten auszublenden (type="password") und Eingaben geeignet zu behandeln.
Lösungsansätze
Entwicklerseitig
- Anonymisierung und Maskierung
- Es ist wichtig vertrauenswürdige Daten wie Passwörter oder Kartennummern zu verschleiern, indem man Passwörter nicht dauerhaft in Klarschrift anzeigt oder bei Kartennummern beispielsweise nur die letzten Ziffern zum Abgleich anzeigt.
def mask_credit_card_number(credit_card_number): # Maskiere die ersten 12 Ziffern der Kreditkartennummer masked_number = "*" * 12 + credit_card_number[-4:] return masked_number # Beispielaufruf der Funktion credit_card_number = "1234567812345678" masked_number = mask_credit_card_number(credit_card_number) print("Masked Credit Card Number:", masked_number)
- Berechtigung und Zugriff
- Die Implementierung von Berechtigungs- und Zugriffsfunktionen ist elementar für eine sichere Anwendung.
function displaySensitiveData(user) { if (user.role === 'admin') { // Nur Admins haben Zugriff auf sensible Daten console.log("Sensitive Data:", sensitiveData); } else { console.log("Access Denied: Insufficient Permissions"); } } // Beispielaufruf der Funktion mit Benutzerobjekt var currentUser = { role: 'user' }; // Beispielbenutzer mit Benutzerrolle displaySensitiveData(currentUser);