it-swarm.com.de

Gibt es eine Alternative neben dem Senden eines Einmalkennworts per SMS?

Ich arbeite an einem kleineren System, auf dem ein Einmalkennwort (OTP, nicht zu verwechseln mit einem Einmalkissen) eingegeben werden muss, um vertrauliche Dateien herunterzuladen, die geliefert werden an den Benutzer.

Die Hauptidee war, ein OTP innerhalb eines festgelegten Zeitlimits über SMS) zu senden.

Aber da die SMS nicht sicher genug sind), begann ich über eine andere Alternative nachzudenken, um meinen Benutzern ein OTP zu liefern.

Ich kann meinen Benutzern vorschlagen, Signal zu verwenden und ihnen dann Informationen zu liefern, aber in diesem Fall befürchte ich, dass dies für sie zu kompliziert sein wird.

Irgendeine Idee oder sollte ich meiner primären Idee folgen?

11
Mirsad

Warum können Sie TOTP oder HOTP nicht verwenden, das Standard ist und von den meisten Authentifizierungs-Apps unterstützt wird?

Wenn sich Personen für Ihren Dienst registrieren, müssen sie ihre Authentifizierungs-App registrieren, indem sie einen QR-Code scannen, der den geheimen Startwert enthält, der zum Generieren von Codes verwendet wird.

Bei nachfolgenden Besuchen fordert die Site sie auf, von der App generierte Codes ohne Netzwerkzugriff einzugeben, da Codes lokal auf dem Gerät generiert werden.

Als Bonus haben Ihre Benutzer möglicherweise bereits eine kompatible Authentifizierungs-App installiert, da Sie Standardprotokolle verwenden. Andernfalls können sie dazu veranlasst werden, die App für weitere Dienste (ihr Google-Konto usw.) zu verwenden. Am Ende sind Benutzer sicherer und jeder gewinnt.

20
André Borie

Da es sich bei der Frage um Ideen handelt:

Automatisierter Sprachanruf mit PIN Codeüberprüfung vor der Rechtschreibung des OTP.

  • Sehr einfach für unerfahrene Benutzer - erfordert keine zusätzliche Software, Anweisungen in Echtzeit, zum Beispiel:

    Hallo, das ist das Verifizierungssystem von mirsad. Bitte geben Sie Ihre PIN ein, um das Passwort für Ihren Download zu hören

    Vielen Dank, Ihr Passwort lautet ....., bitte verwenden Sie es innerhalb von fünf Minuten. Denken Sie daran, geben Sie dieses Passwort nicht an Dritte weiter!

  • Benutzer müssen sich an PIN Code) erinnern

  • Sicherer als SMS - verhindert das passive Abrufen von Passwörtern (ein Angreifer kann nicht vom Bildschirm eines unbeaufsichtigten Geräts lesen)

  • Erfordert Maßnahmen zur Verhinderung des Schnüffelns, zum Beispiel:

    • die hörende Seite erzeugt zufällige hörbare Töne während der Eingabe von PIN) und ruft den vom Benutzer bereitgestellten Code ab, indem die Differenz berechnet wird (meine Bank tut dies).

    • bitten Sie den Benutzer, einen anderen Satz zufälliger Ziffern aus einer längeren PIN einzugeben, d. h. "Drücken Sie die 6. Ziffer Ihrer PIN, drücken Sie die 3. Ziffer Ihrer PIN" (meine andere Bank tut dies).

6
techraf

Es ist unwahrscheinlich, dass Sicherheitslücken in A5/0 und A5/1 ein Hauptproblem für die Authentifizierung eines kleinen Systems mit einigen hundert Clients darstellen.

Wenn Sie jedoch die Verwendung von GSM als Übermittlungskanal vermeiden möchten, können Sie mit Google Authenticator ein zeitbasiertes OTP ( TOTP ) verwenden. Sie müssten für jeden Nutzer auf Ihrem Server ein Geheimnis erstellen, das er mit der Google Authenticator-App scannen kann. Ein Beispiel dafür ist hier

3
Jedi

Wie bereits erwähnt, sind sowohl TOTP als auch HOTP Standards, die als Alternative zum Senden von Einmalcodes über SMS existieren.

  • TOTP sind zeitbasierte Codes und werden häufig mit Apps wie Google Authenticator oder als RSA SecurID-Stil Anhänger oder Karten verfügbar.

  • HOTP basieren auf HMAC und sind häufig über Token-generierende Software verfügbar, einschließlich Google Authenticator und ähnlicher Plattformen.

  • Es gibt auch den von Yubico in den frühen Yubikeys implementierten OTP-Standard, bei dem der Hardware-USB-Dongle eine Tastatur emulierte, um ein extrem langes Einmalpasswort einzugeben.

Und schließlich, wenn wir Optionen ansprechen wollen, die nicht ausschließlich OTP sind, sondern als zweiter Faktor fungieren können:

  • U2F, ein offener Zweitfaktor-Standard (steht für [~ # ~] u [~ # ~] niverseal 2 nd [~ # ~] f [~ # ~] Schauspieler). Es basiert auf einem Challenge-Response-Mechanismus mit einem Schlüsselaustausch zum Zeitpunkt der Hardwareregistrierung. Yubikeys sind derzeit wahrscheinlich die beliebtesten U2F-Anhänger.

  • Da sie auch auf einem Schlüsselaustausch- und Challenge-Response-Mechanismus beruhen, könnten SSH-Schlüssel möglicherweise als zweiter Faktor bei der Authentifizierung verwendet werden. Diese Methode ist jedoch nicht weit verbreitet.

  • PGP-Schlüssel können ebenfalls für diesen Zweck verwendet werden - und wie SSH-Schlüssel sind Anwendungen, bei denen PGP als zweiter Faktor verwendet wird, meines Wissens derzeit begrenzt.

3
Jules

Ich stimme @ André-borie zu. Wenn Sie jedoch darauf bestehen, dem Benutzer einen Authentifizierungscode zu senden, sollten Sie sich die Pushover-App ansehen. Ich habe bei Telegram nachgefragt, aber ich denke, Signal ist ähnlich. Die Telegramm-API ermöglicht keine Kommunikation mit einem Gerät.

Aber Sie können einen Blick auf Pushover werfen.

2
cornelinux