# 2FA Authentification



## rwolf (31. Jul 2020)

hallo,

wo finde ich eine genauere Beschreibung von *2-Faktor-Autorisierung* ,
die für Java-Programmierer interessant sein könnte ?

Fertig gibts das in diversen Versionen jedenfalls für Smartphone-Systeme,
aber fürWindows(?) ; jedenfalls muß das ja mal jemand programmiert haben.. wer wann wo ?


----------



## httpdigest (31. Jul 2020)

Vielleicht erstmal, was 2-Faktor-Authentisierung (2FA) oder auch allgemeiner MFA (Mehrfaktor-Authentisierung) bedeutet:
Ein Faktor ist etwas aus folgenden drei möglichen Kategorien, den man für eine Authentisierung (also einen Beweis, wer man ist) nutzen kann:
- Etwas, das ich weiss (z.B. Passwort)
- Etwas, das ich habe  (z.B. Hardware-Dongle/Token oder eben Smartphone mit App)
- Etwas, das ich "bin" (Biometrie)
Zweifaktor bedeutet dann nur, dass man zwei Faktoren aus unterschiedlichen Kategorien nutzt, meist "Etwas, das ich weiss" (Passwort) und "Etwas, das ich habe" (Smartphone mit OneTimePasswort-App).

Für Java gibt es OneTimePassword-Libraries, die z.B. mit der Google Authenticator App funktionieren. Siehe: https://medium.com/@ihorsokolyk/two...th-java-and-google-authenticator-9d7ea15ffee6


----------



## mihe7 (31. Jul 2020)

rwolf hat gesagt.:


> wo finde ich eine genauere Beschreibung von *2-Faktor-Autorisierung*


Was willst Du denn da genau beschrieben haben? Authentifizierung anhand von zwei verschiedenartigen Faktoren (aus Wissen, Besitz und Biometrie). Natürlich wird sichere Übertragung benötigt.

EDIT: Überschneidung mit Beitrag von @httpdigest - nimm seinen Kommentar, der ist besser.


----------



## rwolf (31. Jul 2020)

danke httpdigest,
sieht sehr nützlich aus..muss erstmal lesen..

nebenbei  : woran kann es liegen, daß mein Smartphone Installationen generell ablehnt
mit der vielsagenden Meldung "Uups, da ist uns ein Fehler passiert ! Versuch es noch einmal..",
was aber nie klappt, auch nicht über PC..
Hab hier Huawei mit Android 8.0.0. und jede Menge Google Zeugs, u.a. PlayStore..ist ja nicht so das Thema hier, evtl hast Du ne Idee ?


----------



## insert2020 (31. Jul 2020)

Frage:


rwolf hat gesagt.:


> woran kann es liegen, daß mein Smartphone Installationen generell ablehnt


und Antwort:


rwolf hat gesagt.:


> Hab hier Huawei


in einem Beitrag. 

Viele Apps sind aber nicht per se gefährlich. Nicht die das Wie viel ,sondern das Was ist meist wichtig.


----------



## rwolf (2. Aug 2020)

Hab gestern eine Java-Code gefunden, mit dem die secret-key-methode und andere realisiert werden.

Aber es gibt ein Problem mit Libs  :

Viele Beispiele basieren auf  .org.apache.commons.codec.binary.Base32 

In meinem NetBeansProjekt und dem vom Web übernommenen Code 
wird aber nur org.apache.commons.codec.binary.Base64 
bei der automatischen Funktionsliste aufgeführt.

Folgende Libs dazu sind derzeit eingebunden :
commons-codec-1.2.jar
zxing-1.7.-javase.jar
zxing-core-2.0.jar


Mit Base64() kommen aber andere Fehler : decode(..) u. encode(..) gibts da Nicht..

Und wo finde ich die Klasse SecureRandom ?

Leider werden überhaupt bei Beispielen Sehr selten die verwendeten Libs - einzubindende Jars - aufgeführt 
ewiges Suchen und Probieren..vor allem wenn man Nicht jeden Tag programmiert


----------



## mihe7 (2. Aug 2020)

rwolf hat gesagt.:


> Leider werden überhaupt bei Beispielen Sehr selten die verwendeten Libs - einzubindende Jars - aufgeführt


Was in der Regel daran liegt, dass man keine Libs benötigt. SecureRandom ist Bestandteil von Java SE: https://docs.oracle.com/javase/8/docs/api/java/security/SecureRandom.html


----------



## rwolf (2. Aug 2020)

Wenn allerdings eine .jar benötigt wird, wäre es schon nützlich,
das erforderliche Release wissen.. nicht immer sind alle erforderlichen Funktionen usw. drin..


----------



## LimDul (2. Aug 2020)

In der Regel wird sowas nicht über das direkte einbinden von Jars gemacht, sondern über maven oder gradle. Da sollten dann auch entsprechende Infos vorhanden sein.


----------



## user30 (2. Aug 2020)

rwolf hat gesagt.:


> eine genauere Beschreibung von *2-Faktor-Autorisierung* ,


Braucht man in der Regel als Privatperson nicht.


----------



## mihe7 (2. Aug 2020)

user30 hat gesagt.:


> Braucht man in der Regel als Privatperson nicht.


Also ich finde PIN/TAN jetzt nicht verkehrt.


----------



## user30 (2. Aug 2020)

Na dann soll er eine Lib/Framework nehmen, das das kann... Wenn er das nicht kann, dann scheint es auch nicht so wichtig zu sein....


----------

