MultiOTP
multiOTP
Skjermbilde av open source multiOTP versjon 5.4.1.7 webgrensesnitt
multiOTP er en PHP-klasse, et kommandolinjeverktøy og en nettkonsoll for å gi en sterk autentiseringsløsning uavhengig av ethvert operativsystem. multiOTP er OATH-sertifisert siden versjon 4.1.0 og er utviklet under LGPL- lisensen av det sveitsiske selskapet SysCo systems de communication sa. Kommersielle versjoner kalt multiOTP Pro og multiOTP Enterprise er også tilgjengelig.
En QR-kode genereres automatisk når en bruker skriver ut konfigurasjonssiden.
Historisk
- Versjon 1.0.0 av 7. juni 2010ga bare et rudimentært kommandolinjeverktøy kalt otpauth, allerede skrevet i PHP. Verktøyet ble omdøpt til multiotp i versjon 1.1.4 noen dager senere for å unngå forveksling med et annet prosjekt med samme navn.
- Versjon 2.0.0 av 19. juli 2010har blitt fullstendig omskrevet som en PHP-klasse, noe som gjør kommandolinjeverktøyet til en implementering av klassen. Under Windows eksisterer kommandolinjeverktøyet i form av en kjørbar fil, inkludert koden og PHP-tolk i en enkelt fil.
- Versjon 3.0.0 av 2. september 2010 Tillater import av ukodet PSKC-format klargjøringsfiler og intern lagringsstruktur forbedres.
- Versjon 3.1.1 av 19. desember 2010 tillater lagring av informasjon i en MySQL-database.
- Versjon 3.2.0 av 6. juli 2011 lar deg autentisere med en generisk konto ved deretter å sende kontoen og passordet til den spesifikke brukeren som passord (dette i tilfelle en bibliotekkobling med autentisering under Windows som krever en enkelt bruker).
- Versjon 3.9.2 av 25. oktober 2011er versjonen utarbeidet for en workshop om integrering av sterk autentisering i Internett-applikasjoner. Denne workshopen fant sted innenfor rammen av Application Security Forum - Vest-Sveits 2011 i Yverdon-les-Bains (Sveits). Biblioteket ble også brukt til å validere og distribuere frøet til tokens distribuert av sponsoren til Feitian-arrangementet. Hver deltaker måtte bare oppgi en e-postadresse, et mobilnummer, token-serienummeret og OTP-koden som ble vist på tokenet, og deretter ble en kryptert e-post sendt til deltakeren mens e-dekrypteringskoden ble sendt. Per tekstmelding.
- Versjon 4.0.7 av 30. august 2013 gir mange forbedringer, og spesielt en klient / server-operasjon med en lokal hurtiglagret lagring av definisjonsfilene til de brukte tokens, fullstendig overhaling av MySQL-støtten (inkludert oppretting og oppdatering av de nødvendige tabellene) CHAP-autentisering (i tillegg til PAP-autentisering), generering av QR-kode for direkte klargjøring i Google Authenticator, rask brukeroppretting med en kommando, etc.
- Versjon 4.0.9 av 22. september 2013er en mellomversjon som brukes til å demonstrere konseptet med sterk autentisering under forskjellige fora som Rump Session of Application Security Forum - Vest-Sveits 2013 i Yverdon-les-Bains (Sveits) og 45-minutters presentasjon under Studerus Technology Forum ( TEFO) 2013 i Zürich (Sveits).
- Versjon 4.1.0 av 23. desember 2013er OATH-sertifisert for HOTP og TOTP, noe som betyr full kompatibilitet med alle sertifiserte maskinvaretokener, inkludert krypterte PSKC-klargjøringsfiler. Betaversjonen ble brukt under 30 minutters presentasjon gitt på PasswordsCon 2013- konferansen i Bergen (Norge). Alle instruksjonene og filene som er nødvendige for å sette opp en sterk autentiseringsenhet basert på en Raspberry Pi nano-datamaskin er inkludert. Det er nå mulig å automatisk registrere ikke-tildelte maskinvaretokener, og det er også mulig å utføre en toksynkronisering eller -låsning under autentisering. Et grunnleggende nettgrensesnitt vises.
- Versjon 4.1.1 av 20. januar 2014gir mange løsninger etter tilbakemeldinger fra brukerne, inkludert bedre støtte for Microsoft Authenticator. Når du synkroniserer et token på nytt (ved å skrive inn to påfølgende tokens), er det ikke lenger nødvendig å oppgi PIN-koden.
- Versjon 4.2.0 av 7. februar 2014 gir støtte for protokollene MS-CHAP og MS-CHAPv2.
- Versjon 4.2.1 av 14. februar 2014 støtter en Active Directory / LDAP-kobling for å opprette kontoer basert på Active Directory-brukere som er tilstede i en bestemt gruppe.
- Versjon 4.2.2 av 3. mars 2014tilbyr et forbedret webgrensesnitt som lar deg importere maskinvaretokenkonfigurasjonsfiler, opprette brukere, synkronisere tokens på nytt, oppheve blokkering av brukere eller til og med skrive ut token-klargjøringsarket (med utskrift av en QR-kode for TOTP- og HOTP-type tokens). Utvidet støtte for TekRADIUS RADIUS-serveren er lagt til for å kunne returnere spesifikk informasjon til den, noe som er spesielt nyttig under en MS-CHAP- eller MS-CHAPv2-forbindelse.
- Versjon 4.2.3 av 13. mars 2014 korrigerer en feil angående mulig dårlig tilbakemelding til TekRADIUS-serveren hvis multiOTP brukes til å forhandle om en krypteringsnøkkel for å etablere en sikker kobling.
- Versjon 4.2.4 av 30. mars 2014forbedrer MySQL-støtte og støtter nå også mysqli-klassen. Det er også mulig å velge feltene som skal krypteres i lagringsdatabasen uten endring i kildekoden. Generasjonen av QR-koden er forbedret, mange kvalitetstester er lagt til og dokumentasjonen er oppdatert.
- Versjon 4.2.4.1 av 6. april 2014legger til generering og utdata til standardstrømmen til NT_KEY-nøkkelen for å kunne forhandle om krypteringsnøkler ved hjelp av FreeRADIUS. Det er nå mulig å importere token-definisjoner lagret i en flat CSV-fil. En slettet bruker fjernes nå også fra tokenet som er tilordnet den brukeren. Kommandolinjealternativet -user-info er lagt til for å få detaljert informasjon om en bestemt bruker.
- Versjon 4.2.4.2 av 13. april 2014forbedrer XML-håndtering gjennom hele prosjektet ved å bruke mer enn ett, identisk bibliotek. En feil som kan oppstå når du importerer token-definisjoner til en CSV-fil, er løst.
- Versjon 4.2.4.3 av 12. juni 2014 korrigerer en feil angående aspsms SMS-leverandøren.
- Versjon 4.3.0.0 av 4. november 2014legger til muligheten til å bruke et AD / LDAP-passord i stedet for en statisk PIN-kode. Denne utgivelsen legger også til støtte for Yubico OTP-protokollen, inkludert import av nøkler ved hjelp av loggfilen som tilbys av Yubico-tilpasningsverktøyet. Synkroniseringen av brukere i AD / LDAP er fullstendig revidert. Denne versjonen ble brukt på4. november 2014 for en-dags workshop presentert på Application Security Forum - Vest-Sveits 2014 i Yverdon-les-Bains (Sveits).
- Versjon 4.3.1.0 av 9. desember 2014legger til en spesifikk proxy til CLI-versjonen, noe som gjør det mulig å øke prosesseringshastigheten betydelig med en implementering utført på en Raspberry Pi. Generisk LDAP-støtte er lagt til (for Synology-nettverksdisker samt enhver annen Linux-basert implementering). OTP-er inkludert serienummer støttes også bedre (i PAP). Fra denne versjonen, og hvis alternativet er aktivert, er også prefikset PIN-kode nødvendig ved hjelp av passordene som skal strykes. Miljøvariabelen MULTIOTP_PATH støttes nå, og den lar deg definere hovedkatalogen til multiotp (hvis en spesiell implementering betyr at denne katalogen ikke blir funnet automatisk).
- Versjon 4.3.1.1 av 15. desember 2014gir forbedringer i AD- og LDAP-synkronisering, med tanke på flere felt. MultiOTP-prosjektet er nå også tilgjengelig på GitHub.
- Versjon 4.3.2.2 av 9. juni 2015 forbedre noen gamle deler, legge til / tilpasse noen standarder, tillate bruk av minus (-) i passordet, aktivere autosynkronisering og hurtigbufferalternativer som standard, implementere resynkronisering direkte i klassen og rydde opp loggfilinformasjonen.
- Versjon 4.3.2.3 av 10. juni 2015er den versjonen som ble presentert under Dev (Talks): 2015 i Bucuresti (Romania). Denne versjonen inneholder forbedringer av nettgrensesnittet.
- Versjon 4.3.2.4 av 24. juni 2015korrigerer en feil hvis det brukes spesielle tegn når du genererer passord som skal strykes. AD / LDAP-synkronisering kan nå automatisk definere en konto som type multi_account.
- Versjon 4.3.2.5 av 15. juli 2015endrer oppførselen til kommandolinjeversjonen når den kalles uten parametere. En feilkode (30) returneres i stedet for en informasjonskode (19). Filer som tillater bruk som et virtuelt apparat leveres nå, enten det er i standard OVA-format, med forbedringer av open-vm-verktøy, eller til og med i Hyper-V-format.
- Versjon 4.3.2.6 av 18. juli 2015 legger til generering av en QR-kode for mOTP-koder (Mobile-OTP), og en ny metode er nå implementert for å laste data om en bestemt bruker i en tabell.
- Versjon 5.0.2.5 av 16. oktober 2016 tilbyr bedre SSL-støtte, muligheten til å velge AD / LDAP-attributtet som brukes til å synkronisere kontoer, bedre MS-CHAPv2-støtte, bedre styring av å gjenta det samme passordet (når du for eksempel bruker multiOTP for VPN), er YubicoOTPs private ID nå sjekket, AD / LDAP-synkronisering i SSL er nå kompatibel med Windows 2012R2, AD / LDAP-spesialtegn (RFC4515) støttes bedre, nye metoder eksisterer for å '' implementere asynkrone aktiviteter når du endrer lagrede data.
- Versjon 5.0.2.6 av 4. november 2016 forbedrer loggmeldinger, oppdaterer noen eksterne verktøy og tilpasser backup-filformatet for å være kompatibelt med detaljversjonen.
- Versjon 5.0.3.0 av 14. november 2016 legger til støtte for oppringt IP-adresse (inkludert synkronisering med Active Directory-attributt msRADIUSFramedIPAddress) og forbedrer tokenimport ved å støtte binære krypteringsnøkler.
- Versjon 5.0.3.4 av 26. januar 2017forbedret AD / LDAP-synkroniseringsprosessen for store AD / LDAP-kataloger ved å aktivere hurtigbufring i systemets midlertidige mappe som standard. Flere CLI-kommandoer kan nå utføres i en enkelt linje. Flere brukergrupper støttes nå (advarsel, ikke alle enheter støtter flere grupper). Standard TOTP / HOTP-generator er nå FreeOTP (for Android / iOS). PSKCV10 multipurpose token provisioning format støttes nå.
- Versjon 5.0.3.5 av 3. februar 2017 fikset noen feil og la til GetUserInfo-metoden.
- Versjon 5.0.3.6 av 21. februar 2017legger til rå og base32 binær støtte for metodene SetUserTokenSeed og SetTokenSeed. Metoden for å gjenopprette konfigurasjonen er oppdatert.
- Versjon 5.0.3.7 av 23. februar 2017 lagt til noen mindre forbedringer som opprydding av gruppenavn (trim) og håndtering av Linux-mappemodus.
- Versjon 5.0.4.4 av 16. mai 2017 forbedret avvisingspolitikken ved ikke å øke feiltelleren for det samme utførte tokenet.
- Versjon 5.0.4.5 av 29. mai 2017 lagt til PostgreSQL-støtte, basert på kildekoden levert av Frank van der Aa.
- Versjon 5.0.4.6 av 2. juni 2017 omdefinert i Linux plasseringen av konfigurasjonsmapper, enheter, grupper, tokens og brukere i / etc / multiotp /
- Versjon 5.0.4.8 av 6. juni 2017 fikse mislykket forbindelse med LDAP SSL / TLS for PHP 7.x
- Versjon 5.0.4.9 av 7. juli 2017 fikset noen mindre feil og lagt til konfigurasjonsmetoder for TLS-tilkobling.
- Versjon 5.0.5.0 av 8. september 2017 fjernet bruken av verktøyet nircmd.exe på grunn av en falsk positiv under virusoppdagelse.
- Versjon 5.0.5.2 av 29. september 2017 angi standard mOTP-generatoren for Android / iOS til å være OTP Authenticator
- Versjon 5.0.5.6 av 4. november 2017 forbedret dokumentasjonen for bruk med FreeRADIUS 3.x og fikset noen mindre feil.
- Versjon 5.1.0.3 av 19. februar 2018lagt til støtte for utgått AD / LDAP-passord og bedre unicode-håndtering. Noen forbedringer for leverandøren av multiOTP-legitimasjon (for Windows) er også gjort.
- Versjon 5.1.0.8 av 5. mars 2018har forbedret multiOTP Credential Provider, og det er nå mulig å bruke registeroppføringer. Det løser også lenken "motta en OTP via SMS" for Windows 10.
- Versjon 5.1.1.2 av 20. mars 2018 ga den første Docker-filen for å lage en container som inneholder en full open source multiOTP-server.
- Versjon 5.2.0.2 av 16. juli 2018 forbedret AD / LDAP-protokollstøtte for Active Directory, og lagt til alternativet "Brukere DN" (valgfritt, ellers brukes fortsatt "Base DN" for brukersøk)
- Versjon 5.3.0.0 av 21. august 2018 lagt til støtte for flere "Users DN" (atskilt med semikolon) for AD / LDAP-synkronisering (med tilleggssynkroniseringsfeilsøkingsmeldinger) og den nye "without2FA" -algoritmen, dette hvis noen brukere bare vil ha passord / prefiks uten token.
- Versjon 5.3.0.1 av 22. august 2018 lagt til informasjon om synkroniseringsprosessen.
- Versjon 5.3.0.3 av 26. august 2018 fikset gjenopprettingsprosessen i kommandolinjeverktøyet og forbedret klient / server prosessen.
- Versjon 5.4.0.1 av 14. september 2018 fikset kompatibilitetsmodus for Windows Radius-serverkomponenten under installasjonen.
- Versjon 5.4.0.2 av 13. november 2018 forbedret PSKC-filimport med binær dekodernøkkel og lagt til støtte for flere SMS-leverandører (Swisscom LA REST, Afilnet, Clickatell2, eCall, Nexmo, NowSMS, SMSEagle og SMS-leverandør)
- Versjon 5.4.1.1 av 7. januar 2019 lagt til støtte for Raspberry Pi 3B +.
- Versjon 5.4.1.4 av 18. januar 2019 lagt til Debian 9.x (stretch) støtte.
- Versjon 5.4.1.6 av 25. januar 2019 løst et NTP DHCP-alternativproblem.
- Versjon 5.4.1.7 av 30. januar 2019 endrer QRcode-generasjonsbiblioteket og gir et nytt Raspberry Pi binært bilde klart til bruk for Raspberry Pi 1B / 1B + / 2B / 3B / 3B +.
- Versjon 5.4.1.8 av 29. mars 2019 la til støtte for Access-Challenge
- Versjon 5.8.0.2 av 20. september 2020 la til definisjonen av generisk nett-SMS-leverandør, automatisk sletting av ikke-eksisterende kontoer i AD / LDAP og støtte for Debian Buster 10.5, PHP 7.3 og Raspberry PI 4B
- Versjon 5.8.1.0 av 12. februar 2021 har forbedret visningen av kontostatus på nettgrensesnittet
Operasjon
Hjertet i multiOTP er en PHP-klasse. Det kan derfor instantieres i ethvert PHP-program, forutsatt at en PHP-versjon større enn eller lik versjon 5.3.0 brukes (frem til versjon 4.2.4.2, fungerer biblioteket alltid med en installasjons-PHP-versjon 4.4.4 eller høyere, men uten garanti).
MultiOTP-biblioteket er gitt i form av en enkelt inkluderingsfil som inneholder all nødvendig PHP-kode, som unngår ethvert problem med relative eller absolutte lenker sammenlignet med andre filer som skal inkluderes. De separate kildekodene er imidlertid også tilgjengelige i den komprimerte prosjektfilen og på GitHub-plattformen.
Hvis den sterke autentiseringen ikke gjøres fra et Internett-program, men fra en nettverksenhet, vil vi gå gjennom en RADIUS- server som vil ringe kommandolinjeverktøyet som følger med multiOTP-biblioteket.
Generell beskrivelse
For prosjekter under Windows leveres multiOTP-biblioteket med en forhåndskonfigurert RADIUS-server (freeRADIUS) som kan installeres i tjenesten, samt en forhåndskonfigurert webserver (Mongoose) som også kan installeres i tjenesten. Nettjenesten gir serverdelen når du vil bruke multiOTP i klient- / serverkonfigurasjon.
For prosjekter under Linux indikerer readme.txt-filen som følger med biblioteket hva som er nødvendig å gjøre for å konfigurere RADIUS-serveren og webtjenesten.
Autentisering av en klient på et program eller en enhet som krever sterk autentisering kan gjøres på forskjellige måter:
- programvarenøkkel (f.eks. ved hjelp av Google Authenticator-programvare)
- maskinvarenøkkel (for eksempel en Feitian C200-type nøkkel for en tidsavhengig kode)
- kode sendt på SMS (siden versjon 4.0.4)
- liste over passord å krysse (siden versjon 4.0.4)
Standardisering og normalisering
multiOTP er OARH-sertifisert for HOTP og TOTP og implementerer følgende standarder for sterk autentisering:
- HOTP, HMAC-basert engangspassordalgoritme ( RFC4226 )
- TOTP, tidsbasert engangs passordalgoritme ( RFC6238 )
- Yubico OTP
-
mOTP , Mobile-OTP, sterk, tofaktorautentisering med mobiltelefoner
- Google Authenticator (OATH / HOTP eller OATH / TOTP, base32 seed, QRcode provisioning)
- SMS-tokens (ved hjelp av aspsms, clickatell, intellismer eller til og med ditt eget skript)
- PSKC (tilleggsportable symmetriske nøkkelcontaineralgoritmeprofiler ) ( RFC6030 )
- CHAP (Challenge Handshake Authentication Protocol) ( RFC1994 )
- MS-CHAP (Microsoft PPP CHAP Extensions) ( RFC2433 )
- MS-CHAPv2 (Microsoft PPP CHAP Extensions, versjon 2) ( RFC2759 )
- Syslog Protocol (klient) ( RFC5424 )
- Simple Mail Transfer Protocol ( SMTP ) ( RFC2821 )
- SMTP Service Extension for Secure SMTP over TLS ( RFC2487 )
- Lightweight Directory Access Protocol (LDAP) ( RFC4511 )
- Stringrepresentasjon av søkefiltre i LDAP ( RFC4515 )
Praktiske applikasjoner
multiOTP tillater spesielt:
- legge til sterk autentisering for identifisering av en bruker (og dermed unngå forbindelse med et stjålet eller gjettet passord).
- ved å fikse en maskinvarenøkkel på et bestemt sted, for å sikre tilstedeværelsen av en person på det stedet i et presist øyeblikk (koden gitt av personen i et gitt øyeblikk som gjør det mulig å vite tidspunktet da denne koden ble vist).
- å autentisere en bruker ved å sende ham en kode på SMS, og dermed automatisk validere brukeren mot mobilnummeret sitt.
- automatisk opprette sterke godkjenningskontoer for brukere av en Active Directory (eller en LDAP) som er tilstede i en bestemt gruppe.
Bidrag og begrensninger
Det faktum at multiOTP er tilgjengelig som et PHP-bibliotek, gjør at den kan installeres hvor som helst, inkludert på en delt webserver.
Implementeringen er lett nok til å kjøre problemfritt på nano-datamaskiner som Raspberry Pi . Viktig-filen som fulgte med den komprimerte filen, indikerer alle trinnene for å gjennomføre implementeringen av multiOTP på sistnevnte.
Økonomiske og sosiale aspekter
Tradisjonelle passord er fremdeles veldig til stede i dagens databehandlingsmiljøer, men de er den viktigste akilleshælen for autentisering generelt. Vi har faktisk sett det nylig med de siste sikkerhetsbruddene, og spesielt med Heartbleed , er et enkelt passord ikke lenger tilstrekkelig, selv om det sendes via en kjent sikker kanal!
Ved å tilby en enkel, lett og gratis sterk autentiseringsløsning, gjør multiOTP det mulig å demokratisere bruken av sterk autentisering. Siden versjon 4.1.0 er det til og med mulig å enkelt sette opp en frittstående sterk autentiseringsenhet for mindre enn $ 100 i maskinvare, eller bare ved å resirkulere en gammel Linux-maskin.
Eksempler på bruk av biblioteket
- Siden november 2016, multiOTP-teamet tilbyr en legitimasjonsleverandør for Windows 7/8 / 8.1 / 10/2012 (R2) / 2016, med forskjellige alternativer som sterk autentisering bare under RDP-tilkobling eller UPN-navnestøtte. Denne programvaren kalles multiOTP Credential Provider, basert på MultiOneTimePassword Credential Provider opprettet av Last Squirrel IT.
- ownCloud OTP er en engangs-passordapp basert på multiOTP-klassen som gir sterk autentisering til OwnCloud- prosjektet , et alternativ med åpen kildekode til DropBox.
- 2FA Credential Provider for Windows Credential Provider for Windows basert på multiOTP-biblioteket.
- MultiOTP-klassen har blitt brukt som et læringsverktøy i sikkerhetsdemonstrasjoner. eller for en bacheloroppgave
Merknader og referanser
-
" multiOTP Credential Provider " , multiOTP lag (tilgjengelig på en st februar 2019 )
-
" MultiOneTimePassword Credential Provider " , Last Squirrel IT (åpnet 28. juli 2015 )
-
" One Time Password Backend for ownCloud, " apps.ownCloud.com Team (åpnet 30. oktober 2013 )
-
" 2FA Credential Provider for Windows " , Fluid Technology Solutions Ltd (åpnet 30. oktober 2013 )
-
" Sterk autentisering i webapplikasjon - toppmoderne 2011 " , Compass Security AG (åpnet 30. oktober 2013 )
-
" Engangspassord Bacheloroppgave (på tsjekkisk) " , University of Economics, Praha (åpnet 30. oktober 2013 )
Se også
Eksterne linker