MultiOTP
multiOTP
Screenshot z webového rozhraní open source multiOTP verze 5.4.1.7
multiOTP je třída PHP, nástroj příkazového řádku a webová konzola, která poskytuje silné ověřovací řešení nezávislé na jakémkoli operačním systému. multiOTP je certifikován OATH od verze 4.1.0 a je vyvíjen na základě licence LGPL švýcarskou společností SysCo systems de communication sa. K dispozici jsou také komerční verze s názvem multiOTP Pro a multiOTP Enterprise.
Při tisku konfigurační stránky uživatele se automaticky generuje QR kód.
Historický
- Verze 1.0.0 z 7. června 2010poskytl pouze základní nástroj příkazového řádku s názvem otpauth, který je již napsán v PHP. O několik dní později byl nástroj ve verzi 1.1.4 přejmenován na multiotp, aby nedošlo k záměně s jiným projektem se stejným názvem.
- Verze 2.0.0 z 19. července 2010byl kompletně přepsán jako třída PHP, díky čemuž byl nástroj příkazového řádku implementací třídy. V systému Windows existuje nástroj příkazového řádku ve formě spustitelného souboru, včetně kódu a tlumočníka PHP v jednom souboru.
- Verze 3.0.0 z 2. září 2010 Umožňuje import nezakódovaných souborů zajišťujících formát PSKC a vylepšenou strukturu interního úložiště.
- Verze 3.1.1 z 19. prosince 2010 umožňuje ukládání informací v databázi MySQL.
- Verze 3.2.0 z 6. července 2011 umožňuje ověřit pomocí obecného účtu tak, že předáte účet a heslo konkrétního uživatele jako heslo (v případě odkazu na knihovnu s ověřením v systému Windows vyžadujícím jednoho uživatele).
- Verze 3.9.2 z 25. října 2011je verze připravená pro seminář o integraci silné autentizace v internetových aplikacích. Tento workshop se konal v rámci Fóra bezpečnosti aplikací - Západní Švýcarsko 2011 v Yverdon-les-Bains (Švýcarsko). Knihovna byla také použita k ověření a distribuci semene tokenů distribuovaných sponzorem akce Feitian. Každý účastník musel uvést e-mailovou adresu, číslo mobilního telefonu, sériové číslo tokenu a OTP kód zobrazený na tokenu, poté byl účastníkovi zaslán šifrovaný e-mail, zatímco byl zaslán dešifrovací kód e-mailu.
- Verze 4.0.7 z 30. srpna 2013 přináší řadu vylepšení, a zejména operaci klient / server s lokálním ukládáním definičních souborů použitých tokenů do mezipaměti, kompletní přepracování podpory MySQL (včetně vytvoření a aktualizace potřebných tabulek), podpora Ověřování CHAP (kromě ověřování PAP), generování QRcode pro přímé zajišťování v Google Authenticator, rychlé vytváření uživatelů pomocí jediného příkazu atd.
- Verze 4.0.9 z 22. září 2013je přechodná verze používaná k předvedení konceptu silné autentizace během různých fór, jako je Rump Session of Application Security Forum - Western Switzerland 2013 v Yverdon-les-Bains (Švýcarsko) a 45minutová prezentace během Technologického fóra Studerus ( TEFO) 2013 v Curychu (Švýcarsko).
- Verze 4.1.0 z 23. prosince 2013je certifikován OATH pro HOTP a TOTP, což znamená plnou kompatibilitu se všemi certifikovanými hardwarovými tokeny, včetně šifrovaných souborů zajišťujících PSKC. Jeho beta verze byla použita během 30minutové prezentace přednesené na konferenci PasswordsCon 2013 v norském Bergenu. Zahrnuty jsou všechny pokyny a soubory potřebné k nastavení silného ověřovacího zařízení založeného na nano-počítači Raspberry Pi. Nyní je možné automaticky zaregistrovat nepřiřazené hardwarové tokeny a během ověřování je také možné provést resynchronizaci tokenů nebo odemknutí. Zobrazí se základní webové rozhraní.
- Verze 4.1.1 z 20. ledna 2014přináší spoustu oprav po zpětné vazbě od uživatelů, včetně lepší podpory pro Microsoft Authenticator. Při resynchronizaci tokenu (zadáním dvou po sobě jdoucích tokenů) již není nutné zadávat PIN kód.
- Verze 4.2.0 z 7. února 2014 poskytuje podporu pro protokoly MS-CHAP a MS-CHAPv2.
- Verze 4.2.1 z 14. února 2014 podporuje odkaz Active Directory / LDAP za účelem vytváření účtů na základě uživatelů služby Active Directory přítomných v konkrétní skupině.
- Verze 4.2.2 z 3. března 2014nabízí vylepšené webové rozhraní umožňující importovat konfigurační soubory hardwarových tokenů, vytvářet uživatele, resynchronizovat tokeny, odblokovat uživatele nebo dokonce vytisknout list zajišťující tokeny (s tiskem QR kódu pro tokeny typu TOTP a HOTP). Byla přidána rozšířená podpora pro server TekRADIUS RADIUS, aby bylo možné na něj vrátit konkrétní informace, což je zvláště užitečné během připojení MS-CHAP nebo MS-CHAPv2.
- Verze 4.2.3 z 13. března 2014 opravuje chybu týkající se možné špatné zpětné vazby na server TekRADIUS, pokud je k vyjednání šifrovacího klíče k vytvoření zabezpečeného spojení použit multiOTP.
- Verze 4.2.4 z 30. března 2014vylepšuje podporu MySQL a nyní podporuje také třídu mysqli. Je také možné zvolit ve zdrojovém kódu pole, která se mají v databázi úložiště zašifrovat, bez modifikace. Bylo vylepšeno generování QRcode, bylo přidáno mnoho testů kvality a byla aktualizována dokumentace.
- Verze 4.2.4.1 z 6. dubna 2014přidává generování a výstup do standardního proudu klíče NT_KEY, aby bylo možné vyjednat šifrovací klíče pomocí FreeRADIUS. Nyní je možné importovat definice tokenů uložené v plochém souboru typu CSV. Odstraněný uživatel je nyní také odebrán z tokenu přiřazeného tomuto uživateli. Byla přidána možnost příkazového řádku -user-info pro získání podrobných informací o konkrétním uživateli.
- Verze 4.2.4.2 z 13.dubna 2014zlepšuje manipulaci s XML v celém projektu pomocí více než jedné identické knihovny. Byla opravena chyba, ke které mohlo dojít při importu definic tokenů do souboru CSV.
- Verze 4.2.4.3 z 12. června 2014 opravuje chybu týkající se poskytovatele SMS aspsms.
- Verze 4.3.0.0 z 4. listopadu 2014přidává možnost použít heslo AD / LDAP namísto statického kódu PIN. Toto vydání také přidává podporu pro protokol Yubico OTP, včetně importu klíčů pomocí souboru protokolu poskytnutého obslužným programem přizpůsobení Yubico. Synchronizace uživatelů v AD / LDAP byla zcela přepracována. Tato verze byla použita na4. listopadu 2014 na jednodenní workshop představený na fóru bezpečnosti aplikací - Západní Švýcarsko 2014 v Yverdon-les-Bains (Švýcarsko).
- Verze 4.3.1.0 z 9. prosince 2014přidává do verze CLI specifický proxy server, což umožňuje výrazně zvýšit rychlost zpracování implementací prováděnou na Raspberry Pi. Byla přidána obecná podpora LDAP (pro síťové disky Synology i pro jakoukoli jinou implementaci založenou na Linuxu). OTP včetně sériového čísla jsou také lépe podporovány (v PAP). Od této verze a je-li tato možnost aktivována, je rovněž nutné použít předčíslí PIN kód s použitím hesel, která mají být vyčištěna. Proměnná prostředí MULTIOTP_PATH je nyní podporována a umožňuje definovat hlavní adresář multiotp (pokud speciální implementace znamená, že tento adresář není nalezen automaticky).
- Verze 4.3.1.1 z 15. prosince 2014poskytuje vylepšení synchronizace AD a LDAP, přičemž zohledňuje více polí. Projekt multiOTP je nyní k dispozici také na GitHubu.
- Verze 4.3.2.2 z 9. června 2015 vylepšit některé staré části, přidat / upravit některá výchozí nastavení, povolit použití minusu (-) v hesle, ve výchozím nastavení povolit možnosti autoresync a cache, implementovat resynchronizaci přímo ve třídě a vyčistit informace o souboru protokolu.
- Verze 4.3.2.3 z 10. června 2015je verze, která byla představena během Dev (Talks): 2015 v Bukurešti (Rumunsko). Tato verze obsahuje vylepšení webového rozhraní.
- Verze 4.3.2.4 z 24. června 2015opravuje chybu, pokud se při generování hesel, která mají být přeškrtnuta, používají speciální znaky. Synchronizace AD / LDAP může nyní automaticky definovat účet jako typ multi_account.
- Verze 4.3.2.5 z 15. července 2015změní chování verze příkazového řádku, když je volána bez parametrů. Místo informačního kódu (19) je vrácen chybový kód (30). Soubory umožňující použití jako virtuální zařízení jsou nyní k dispozici, ať už ve standardním formátu OVA, s vylepšeními nástrojů open-vm, nebo dokonce ve formátu Hyper-V.
- Verze 4.3.2.6 z 18. července 2015 přidává generování QR kódu pro kódy typu mOTP (Mobile-OTP) a nyní je implementována nová metoda pro načítání dat o konkrétním uživateli do tabulky.
- Verze 5.0.2.5 z 16. října 2016 nabízí lepší podporu SSL, možnost zvolit atribut AD / LDAP používaný k synchronizaci účtů, lepší podporu MS-CHAPv2, lepší správu opakování stejného hesla (například při použití multiOTP pro VPN), je nyní zaškrtnuto soukromé ID YubicoOTP, AD / Synchronizace LDAP v SSL je nyní kompatibilní s Windows 2012R2, speciální znaky AD / LDAP (RFC4515) jsou lépe podporovány, existují nové metody, aby bylo možné '' implementovat asynchronní aktivity při změně uložených dat.
- Verze 5.0.2.6 z 4. listopadu 2016 vylepšuje zprávy protokolu, aktualizuje některé externí nástroje a přizpůsobuje formát záložního souboru tak, aby byl kompatibilní s maloobchodní verzí.
- Verze 5.0.3.0 z 14. listopadu 2016 přidává podporu pro IP adresu Dial-In (včetně synchronizace s atributem Active Directory msRADIUSFramedIPAddress) a zlepšuje import tokenů podporou binárních šifrovacích klíčů.
- Verze 5.0.3.4 z 26. ledna 2017vylepšil proces synchronizace AD / LDAP pro velké adresáře AD / LDAP tím, že ve výchozím nastavení povolil ukládání do mezipaměti v systémové dočasné složce. Na jednom řádku lze nyní provádět více příkazů CLI. Nyní je podporováno více skupin uživatelů (upozornění, ne všechna zařízení podporují více skupin). Výchozí generátor TOTP / HOTP je nyní FreeOTP (pro Android / iOS). Nyní je podporován formát víceúčelového zajišťování tokenů PSKCV10.
- Verze 5.0.3.5 z 3. února 2017 opraveny některé chyby a přidána metoda GetUserInfo.
- Verze 5.0.3.6 z 21. února 2017přidává binární podporu raw a base32 pro metody SetUserTokenSeed a SetTokenSeed. Způsob obnovení konfigurace byl aktualizován.
- Verze 5.0.3.7 z 23. února 2017 přidáno několik drobných vylepšení, jako je vyčištění názvů skupin (trim) a zpracování režimu složek Linux.
- Verze 5.0.4.4 z 16. května 2017 vylepšeno zásady odmítnutí tím, že se nezvýší čítač chyb pro stejný znovu provedený token.
- Verze 5.0.4.5 z 29. května 2017 přidána podpora PostgreSQL na základě zdrojového kódu poskytnutého Frankem van der Aa.
- Verze 5.0.4.6 z 2. června 2017 předefinováno v Linuxu umístění konfiguračních složek, zařízení, skupin, tokenů a uživatelů v / etc / multiotp /
- Verze 5.0.4.8 z 6. června 2017 opravit neúspěšné připojení pomocí protokolu LDAP SSL / TLS pro PHP 7.x.
- Verze 5.0.4.9 z 7. července 2017 opraveny některé drobné chyby a přidány konfigurační metody pro připojení TLS.
- Verze 5.0.5.0 z 8. září 2017 odstraněno použití nástroje nircmd.exe kvůli falešně pozitivní detekci virů.
- Verze 5.0.5.2 z 29. září 2017 nastavit výchozí generátor mOTP pro Android / iOS na OTP Authenticator
- Verze 5.0.5.6 z 4. listopadu 2017 vylepšila dokumentaci pro použití s FreeRADIUS 3.x a opravila několik drobných chyb.
- Verze 5.1.0.3 z 19. února 2018přidána podpora pro vypršela hesla AD / LDAP a lepší zpracování unicode. Byla také provedena některá vylepšení pro poskytovatele pověření multiOTP (pro Windows).
- Verze 5.1.0.8 z 5. března 2018vylepšil poskytovatele pověření multiOTP a nyní je možné používat položky registru. Opravuje také odkaz „přijímat OTP prostřednictvím SMS“ pro Windows 10.
- Verze 5.1.1.2 z 20. března 2018 za předpokladu, že první soubor Docker vytvořil kontejner obsahující plně otevřený zdrojový server multiOTP.
- Verze 5.2.0.2 z 16. července 2018 vylepšená podpora protokolu AD / LDAP pro Active Directory a přidána možnost „DN uživatelů“ (volitelně, jinak se pro vyhledávání uživatelů stále používá „DN DN“)
- Verze 5.3.0.0 z 21. srpna 2018 přidána podpora pro více „DN uživatelů“ (oddělených středníkem) pro synchronizaci AD / LDAP (s dalšími ladicími zprávami synchronizace) a nový algoritmus „without2FA“, pokud někteří uživatelé chtějí pouze heslo / předponu bez tokenu.
- Verze 5.3.0.1 z 22. srpna 2018 přidány informace o procesu synchronizace.
- Verze 5.3.0.3 z 26. srpna 2018 opraven proces obnovení v nástroji příkazového řádku a vylepšen proces klient / server.
- Verze 5.4.0.1 z 14. září 2018 opraven režim kompatibility komponenty serveru Windows Radius během instalace.
- Verze 5.4.0.2 z 13. listopadu 2018 vylepšený import souboru PSKC s binárním dekódovacím klíčem a přidaná podpora pro více poskytovatelů SMS (Swisscom LA REST, Afilnet, Clickatell2, eCall, Nexmo, NowSMS, SMSEagle a poskytovatel SMS)
- Verze 5.4.1.1 z 7. ledna 2019 přidána podpora pro Raspberry Pi 3B +.
- Verze 5.4.1.4 z 18. ledna 2019 přidána podpora Debianu 9.x (stretch).
- Verze 5.4.1.6 z 25. ledna 2019 opraven problém s možností NTP DHCP.
- Verze 5.4.1.7 z 30. ledna 2019 upravuje knihovnu generování QRcode a poskytuje nový binární obraz Raspberry Pi připravený k použití pro Raspberry Pi 1B / 1B + / 2B / 3B / 3B +.
- Verze 5.4.1.8 ze dne 29. března 2019 přidala podporu pro Access-Challenge
- Verze 5.8.0.2 ze dne 20. září 2020 přidala definici generického poskytovatele webových SMS, automatické mazání neexistujících účtů v AD / LDAP a podporu pro Debian Buster 10.5, PHP 7.3 a Raspberry PI 4B
- Verze 5.8.1.0 z 12. února 2021 vylepšila zobrazení stavu účtu na webovém rozhraní
Úkon
Srdcem multiOTP je třída PHP. Lze jej proto vytvořit v jakékoli aplikaci PHP za předpokladu, že je použita verze PHP vyšší nebo rovna verzi 5.3.0 (do verze 4.2.4.2 knihovna vždy pracuje s instalačním PHP verze 4.4.4 nebo vyšší, ale bez záruka).
Knihovna multiOTP je poskytována ve formě jediného souboru pro zahrnutí obsahujícího veškerý požadovaný kód PHP, čímž se zabrání jakémukoli problému s relativními nebo absolutními odkazy ve srovnání s jinými soubory, které by měly být zahrnuty. Samostatné zdrojové kódy jsou však k dispozici také v komprimovaném souboru projektu a na platformě GitHub.
Pokud se silné ověřování neprovádí z internetové aplikace, ale ze síťového zařízení, projdeme server RADIUS, který zavolá nástroj příkazového řádku dodávaný s knihovnou multiOTP.
Obecný popis
U projektů v systému Windows je knihovna multiOTP dodávána s předkonfigurovaným serverem RADIUS (freeRADIUS), který lze nainstalovat do služby, a předkonfigurovaným webovým serverem (mongoose), který lze také nainstalovat do služby. Webová služba poskytuje serverovou část, pokud chcete použít multiOTP v konfiguraci klient / server.
U projektů pod Linuxem soubor readme.txt dodávaný s knihovnou označuje, co je nutné udělat pro konfiguraci serveru RADIUS a webové služby.
Ověření klienta v aplikaci nebo zařízení vyžadujícím silné ověření lze provést různými způsoby:
- softwarový klíč (např. pomocí softwaru Google Authenticator)
- hardwarový klíč (například klíč typu Feitian C200 pro časově závislý kód)
- kód zaslaný SMS (od verze 4.0.4)
- seznam křížových hesel (od verze 4.0.4)
Standardizace a normalizace
multiOTP je certifikován OARH pro HOTP a TOTP a implementuje následující standardy týkající se silné autentizace:
- HOTP, algoritmus jednorázového hesla založený na HMAC ( RFC4226 )
- TOTP, časově založený jednorázový algoritmus hesla ( RFC6238 )
- Yubico OTP
-
mOTP , Mobile-OTP, silné, dvoufaktorové ověřování pomocí mobilních telefonů
- Google Authenticator (OATH / HOTP nebo OATH / TOTP, seed32 seed, QRcode provisioning)
- SMS tokeny (pomocí aspsms, clickatell, intellismů nebo dokonce vlastního skriptu)
- PSKC (další přenosné profily algoritmu kontejneru symetrických klíčů) ( RFC6030 )
- CHAP (Challenge Handshake Authentication Protocol) ( RFC1994 )
- MS-CHAP (Microsoft PPP CHAP Extensions) ( RFC2433 )
- MS-CHAPv2 (Microsoft PPP CHAP Extensions, verze 2) ( RFC2759 )
- Protokol Syslog (klient) ( RFC5424 )
- Protokol jednoduchého přenosu pošty ( SMTP ) ( RFC2821 )
- Rozšíření služby SMTP pro zabezpečený SMTP přes TLS ( RFC2487 )
- Lightweight Directory Access Protocol (LDAP) ( RFC4511 )
- Řetězcové vyjádření vyhledávacích filtrů v LDAP ( RFC4515 )
Praktické aplikace
multiOTP umožňuje zejména:
- přidejte silné ověření pro identifikaci uživatele (vyhnete se tak spojení s odcizeným nebo uhodnutým heslem).
- opravou hardwarového klíče na konkrétním místě, aby byla zajištěna přítomnost osoby na daném místě v přesný okamžik (kód poskytnutý osobou v daném okamžiku umožňující znát čas, kdy byl tento kód zobrazen).
- ověřit uživatele zasláním kódu pomocí SMS, čímž se uživatel automaticky ověří podle jeho čísla mobilního telefonu.
- automaticky vytvořit silné ověřovací účty pro uživatele služby Active Directory (nebo LDAP) přítomných v konkrétní skupině.
Příspěvky a omezení
Skutečnost, že multiOTP je k dispozici jako knihovna PHP, umožňuje instalaci kdekoli, včetně sdíleného webového serveru.
Implementace je dostatečně lehká, aby hladce fungovala na nano počítačích, jako je Raspberry Pi . Soubor readme dodávaný s komprimovaným souborem označuje všechny kroky k provedení implementace multiOTP na druhém.
Ekonomické a sociální aspekty
Tradiční hesla jsou v dnešních výpočetních prostředích stále velmi přítomná, ale obecně představují hlavní Achillovu patu autentizace. Ve skutečnosti jsme to nedávno viděli s nejnovějšími narušeními zabezpečení, zejména s Heartbleed , jednoduché heslo již nestačí, i když je zasláno údajně zabezpečeným kanálem!
Poskytnutím jednoduchého, lehkého a bezplatného řešení silné autentizace umožňuje multiOTP demokratizovat používání silné autentizace. Od verze 4.1.0 je dokonce možné snadno nastavit samostatné silné ověřovací zařízení za méně než 100 USD v hardwaru nebo jednoduše recyklací starého stroje s Linuxem.
Příklady použití knihovny
- Od té doby listopadu 2016tým multiOTP poskytuje poskytovatele pověření pro Windows 7/8 / 8.1 / 10/2012 (R2) / 2016 s různými možnostmi, jako je silné ověřování pouze během připojení RDP nebo podpora názvu UPN. Tento software se nazývá multiOTP Credential Provider, založený na MultiOneTimePassword Credential Provider vytvořeném Last Squirrel IT.
- ownCloud OTP je aplikace pro jednorázové heslo založená na třídě multiOTP, která přidává silné ověřování k projektu OwnCloud , alternativě open source k DropBoxu.
- 2FA Credential Provider for Windows Credential Provider for Windows based on the multiOTP library.
- Třída multiOTP byla použita jako učební nástroj při demonstracích zabezpečení. nebo pro bakalářskou práci
Poznámky a odkazy
-
" multiOTP pověření Provider " , multiOTP team (k dispozici na 1. st únor 2019 )
-
„ MultiOneTimePassword Credential Provider “ , Last Squirrel IT (přístup 28. července 2015 )
-
„ Jednorázový back-end hesla pro ownCloud, “ tým apps.ownCloud.com (přístup 30. října 2013 )
-
„ 2FA Credential Provider for Windows “ , Fluid Technology Solutions Ltd (přístup k 30. říjnu 2013 )
-
„ Silná autentizace ve webové aplikaci - nejnovější stav 2011 “ , Compass Security AG (přístup 30. října 2013 )
-
„ Jednorázová hesla bakalářská práce (česky) “ , Vysoká škola ekonomická v Praze (zpřístupněno 30. října 2013 )
Podívejte se také
externí odkazy