O.Auth 3: Unterschied zwischen den Versionen
D.hack (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
D.hack (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 13: | Zeile 13: | ||
Der Evaluator prüft durch Quelltextanalyse und praktische Tests das Vorhandensein der Zwei-Faktor-Authentifizierung. Insbesondere prüft er, ob die verwendeten Faktoren aus unterschiedlichen Kategorien stammen (Wissen, Besitz, Inhärenz). | Der Evaluator prüft durch Quelltextanalyse und praktische Tests das Vorhandensein der Zwei-Faktor-Authentifizierung. Insbesondere prüft er, ob die verwendeten Faktoren aus unterschiedlichen Kategorien stammen (Wissen, Besitz, Inhärenz). | ||
== Lösungsansätze == | == Lösungsansätze == | ||
=== Implementierung === | |||
;Funktion | |||
:2FA (Zwei-Faktor-Authentifizierung) ist eine zusätzliche Schranke beim Login in Diensten. Typischerweise besteht diese aus zwei verschiedenen Kategorien wie Wissen (Passwort) und Besitz (Mobilfunkgerät oder Email) oder Biometrie (Fingerabdruck)[https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Accountschutz/Zwei-Faktor-Authentisierung/zwei-faktor-authentisierung_node.html]. | |||
Ein minimalistisches Beispiel einer SMS-Authentifizierung mit einem Einmalpin könnte dabei folgendermaßen aussehen: | |||
<syntaxhighlight lang="php" style="border: 3px dashed blue;"> | |||
// PHP | |||
// Funktion zur Generierung eines zufälligen 6-stelligen Einmalpasscodes | |||
function generateOTP() { | |||
return str_pad(rand(0, 999999), 6, '0', STR_PAD_LEFT); | |||
} | |||
// Funktion zum Versenden eines Einmalpasscodes per SMS | |||
function sendOTP($phoneNumber, $otp) { | |||
// Hier müsste die Integration mit einem SMS-Dienst wie Twilio erfolgen | |||
// Beispiel: Twilio API-Aufruf zum Versenden einer SMS | |||
// replace SID, Token, and Twilio phone number with your actual values | |||
$twilio_sid = 'your_twilio_sid'; | |||
$twilio_token = 'your_twilio_token'; | |||
$twilio_phone_number = 'your_twilio_phone_number'; | |||
$client = new Twilio\Rest\Client($twilio_sid, $twilio_token); | |||
$client->messages->create( | |||
$phoneNumber, | |||
array( | |||
'from' => $twilio_phone_number, | |||
'body' => "Your OTP is: $otp" | |||
) | |||
); | |||
} | |||
// Beispielaufruf der Funktionen für die 2FA-Authentifizierung | |||
$phoneNumber = '+1234567890'; // Beispiel-Telefonnummer des Benutzers | |||
$otp = generateOTP(); // Einmalpasscode generieren | |||
sendOTP($phoneNumber, $otp); // Einmalpasscode per SMS senden | |||
// Hier müsste der Benutzer aufgefordert werden, den empfangenen Einmalpasscode einzugeben und zu überprüfen | |||
</syntaxhighlight> | |||
Um 2FA-Funktionalität zu ermöglichen sind bereits einige Frameworks im Umlauf. | |||
{| class="wikitable" style="margin:auto" | |||
! Framework !! Sprache | |||
|- | |||
| Authy || PHP, Python, Ruby, Node.js, Java | |||
|- | |||
| Google Authenticator || PHP, Python, Java, JavaScript | |||
|- | |||
| Duo Security || Python, Java, JavaScript, .NET | |||
|- | |||
| Auth0 || PHP, Python, Java, JavaScript, .NET, Node.js | |||
|} | |||
;Authy | |||
:: Authy ist ein cloudbasierter 2FA-Authentifizierungsdienst, das zusätzlich zur API eine mobile Anwendung für Benutzer bietet. Authy zeichnet sich durch seine Benutzerfreundlichkeit und cloudbasierte Infrastruktur aus. | |||
;Google Authenticator | |||
:: Google Authenticator ist eine Open-Source-App zur Erzeugung von Einmalpasswörtern (OTP - One-Time-Passwords) für die Zwei-Faktor-Authentifizierung. Es eignet sich gut für Anwendungen, die eine einfache Integration und keine Abhängigkeit von Drittanbietern bevorzugen. | |||
:::::::::::::: '''Wichtig''': Google Authenticator unterstützt nur die OTP-Methode. | |||
;Duo Security | |||
:: Duo Security bietet eine Vielzahl von Authentifizierungsmethoden, darunter OTP, Push-Benachrichtigungen, biometrische Authentifizierung und mehr. Es ist eine gute Wahl für Programme, die eine flexible Authentifizierungslösung mit umfangreichen Sicherheitsfunktionen benötigen. | |||
;Auth0 | |||
:: Auth0 ist eine Identity-as-a-Service (IDaaS)-Plattform, die eine umfassende Lösung für Authentifizierung und Autorisierung bietet. Es unterstützt eine Vielzahl von Authentifizierungsmethoden, einschließlich Benutzername/Passwort, Social-Login, Multi-Faktor-Authentifizierung und mehr. Auth0 ist besonders geeignet für Projekte, die eine hochgradig anpassbare und skalierbare Authentifizierungslösung benötigen. | |||
== Weblinks == | == Weblinks == | ||
[https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Accountschutz/Zwei-Faktor-Authentisierung/zwei-faktor-authentisierung_node.html BSI: Zwei-Faktor-Authentifizierung] BSI: Zwei-Faktor-Authentifizierung, aufgerufen am 02.05.2024 | |||
== Ressourcen und Einzelnachweise == | == Ressourcen und Einzelnachweise == | ||
[https://epub.uni-regensburg.de/21269/1/Kap16_Starke_Authentifizierung.pdf Christian Senk, et al.: Starke Authentifizierung für den sicheren Zugriff auf IT-Ressourcen in Föderationen] Christian Senk, Dieter Bartmann: Starke Authentifizierung für den sicheren Zugriff auf IT-Ressourcen in Föderationen, 2011, aufgerufen am 02.05.2024 | |||
[https://downloads.hindawi.com/journals/jat/2018/1935974.pdf_gl=1*vp0hnl*_ga*MzU2NzM2NTkyLjE3MTQ2NjY4MzM.*_ga_NF5QFMJT5V*MTcxNDY2NjgzMy4xLjAuMTcxNDY2NjgzMy42MC4wLjA.&_ga=2.139019574.400115163.1714666834-356736592.1714666833 Wonsuk Choi, et al.: Sound-Proximity: 2-Factor Authentication against Relay Attack on Passive Keyless Entry and Start System] Wonsuk Choi, Minhye Seo, and Dong Hoon Lee: Sound-Proximity: 2-Factor Authentication against Relay Attack on Passive Keyless Entry and Start System, 2018, aufgerufen am 02.05.2024 | |||
[[Category:Pruefaspekt]] | [[Category:Pruefaspekt]] | ||
[[Category:EXAMINE]] | [[Category:EXAMINE]] |
Version vom 21. Mai 2024, 13:14 Uhr
Beschreibung
Jeder Authentifizierungsvorgang des Nutzers MUSS in Form einer Zwei-Faktor-Authentifizierung umgesetzt werden.
Kurzfassung
Zwei-Faktor-Authentifizierung.
Anmerkungen
Prüftiefe
- EXAMINE
Der Evaluator prüft durch Quelltextanalyse und praktische Tests das Vorhandensein der Zwei-Faktor-Authentifizierung. Insbesondere prüft er, ob die verwendeten Faktoren aus unterschiedlichen Kategorien stammen (Wissen, Besitz, Inhärenz).
Lösungsansätze
Implementierung
- Funktion
- 2FA (Zwei-Faktor-Authentifizierung) ist eine zusätzliche Schranke beim Login in Diensten. Typischerweise besteht diese aus zwei verschiedenen Kategorien wie Wissen (Passwort) und Besitz (Mobilfunkgerät oder Email) oder Biometrie (Fingerabdruck)[1].
Ein minimalistisches Beispiel einer SMS-Authentifizierung mit einem Einmalpin könnte dabei folgendermaßen aussehen:
// PHP
// Funktion zur Generierung eines zufälligen 6-stelligen Einmalpasscodes
function generateOTP() {
return str_pad(rand(0, 999999), 6, '0', STR_PAD_LEFT);
}
// Funktion zum Versenden eines Einmalpasscodes per SMS
function sendOTP($phoneNumber, $otp) {
// Hier müsste die Integration mit einem SMS-Dienst wie Twilio erfolgen
// Beispiel: Twilio API-Aufruf zum Versenden einer SMS
// replace SID, Token, and Twilio phone number with your actual values
$twilio_sid = 'your_twilio_sid';
$twilio_token = 'your_twilio_token';
$twilio_phone_number = 'your_twilio_phone_number';
$client = new Twilio\Rest\Client($twilio_sid, $twilio_token);
$client->messages->create(
$phoneNumber,
array(
'from' => $twilio_phone_number,
'body' => "Your OTP is: $otp"
)
);
}
// Beispielaufruf der Funktionen für die 2FA-Authentifizierung
$phoneNumber = '+1234567890'; // Beispiel-Telefonnummer des Benutzers
$otp = generateOTP(); // Einmalpasscode generieren
sendOTP($phoneNumber, $otp); // Einmalpasscode per SMS senden
// Hier müsste der Benutzer aufgefordert werden, den empfangenen Einmalpasscode einzugeben und zu überprüfen
Um 2FA-Funktionalität zu ermöglichen sind bereits einige Frameworks im Umlauf.
Framework | Sprache |
---|---|
Authy | PHP, Python, Ruby, Node.js, Java |
Google Authenticator | PHP, Python, Java, JavaScript |
Duo Security | Python, Java, JavaScript, .NET |
Auth0 | PHP, Python, Java, JavaScript, .NET, Node.js |
- Authy
-
- Authy ist ein cloudbasierter 2FA-Authentifizierungsdienst, das zusätzlich zur API eine mobile Anwendung für Benutzer bietet. Authy zeichnet sich durch seine Benutzerfreundlichkeit und cloudbasierte Infrastruktur aus.
- Google Authenticator
-
- Google Authenticator ist eine Open-Source-App zur Erzeugung von Einmalpasswörtern (OTP - One-Time-Passwords) für die Zwei-Faktor-Authentifizierung. Es eignet sich gut für Anwendungen, die eine einfache Integration und keine Abhängigkeit von Drittanbietern bevorzugen.
- Wichtig: Google Authenticator unterstützt nur die OTP-Methode.
- Google Authenticator ist eine Open-Source-App zur Erzeugung von Einmalpasswörtern (OTP - One-Time-Passwords) für die Zwei-Faktor-Authentifizierung. Es eignet sich gut für Anwendungen, die eine einfache Integration und keine Abhängigkeit von Drittanbietern bevorzugen.
- Duo Security
-
- Duo Security bietet eine Vielzahl von Authentifizierungsmethoden, darunter OTP, Push-Benachrichtigungen, biometrische Authentifizierung und mehr. Es ist eine gute Wahl für Programme, die eine flexible Authentifizierungslösung mit umfangreichen Sicherheitsfunktionen benötigen.
- Auth0
-
- Auth0 ist eine Identity-as-a-Service (IDaaS)-Plattform, die eine umfassende Lösung für Authentifizierung und Autorisierung bietet. Es unterstützt eine Vielzahl von Authentifizierungsmethoden, einschließlich Benutzername/Passwort, Social-Login, Multi-Faktor-Authentifizierung und mehr. Auth0 ist besonders geeignet für Projekte, die eine hochgradig anpassbare und skalierbare Authentifizierungslösung benötigen.
Weblinks
BSI: Zwei-Faktor-Authentifizierung BSI: Zwei-Faktor-Authentifizierung, aufgerufen am 02.05.2024
Ressourcen und Einzelnachweise
Christian Senk, et al.: Starke Authentifizierung für den sicheren Zugriff auf IT-Ressourcen in Föderationen Christian Senk, Dieter Bartmann: Starke Authentifizierung für den sicheren Zugriff auf IT-Ressourcen in Föderationen, 2011, aufgerufen am 02.05.2024
Wonsuk Choi, et al.: Sound-Proximity: 2-Factor Authentication against Relay Attack on Passive Keyless Entry and Start System Wonsuk Choi, Minhye Seo, and Dong Hoon Lee: Sound-Proximity: 2-Factor Authentication against Relay Attack on Passive Keyless Entry and Start System, 2018, aufgerufen am 02.05.2024