Chimera

How many passwords must a man write down?

Chimera

Cosa è

“Centralized Multiple Re-Authenticator”, ma cosa significa?

Internet è satura di autenticatori dell’identità digitale: server SMTP, POP3, LDAP, e tanti altri.

Anche su uno stesso server diverse applicazioni per siti affini spesso richiedono autenticazioni distinte, ad esempio per il forum e per il ticket system.

Chimera permette di utilizzare per l’autenticazione le identità digitali già esistenti, senza dover necessariamente definire un nuovo repository di utenti e password.

In breve

Si definiscono diversi domìni di autenticazione accettati (ad esempio “gmail”, “MobileMe”), si specifica il metodo con cui verranno autenticati (ad esempio POP3/POP3S, o SMTP/SMTPS) e da quel momento si può utilizzare Chimera perché provveda ad una autenticazione centralizzata.

Chimera è un modulo Perl (CMRA.pm) accompagnato da un server LDAP opzionale (scritto in pure Perl); non un prodotto finito ed autonomo, ma un utile servizio, una base su cui realizzare il proprio sistema di autenticazione e gestione permessi centralizzato.

Diversi tipi di dominio

Chimera attualmente può autenticare gli utenti tramite SMTP, SMTPS, POP3, POP3S, confronto con un file .INI locale, LDAP (semplice bind) o LDAPS, file .htpasswd di Apache, tabella MySQL (anche crittata md5_hex, ad esempio per un Forum phpBB già esistente).

Di semplice implementazione l’estensione a diversi tipi che possono essere necessari: verso gli utenti di un database, verso una tabella di un database diverso da MySQL, verso SSH, telnet ecc.

Canali di autenticazione

Per effettuare una autenticazione tramite Chimera ci si può avvvalere del metodo Perl CMRA::login() una volta incluso il modulo CMRA, o si può utilizzare il server LDAP che accompagna Chimera.

Estensioni di autenticazione sono semplicissime da realizzare (in POP3, HTTP o quant’altro) con un minuscolo script Perl.

Uso applicativo

Chimera è anche un utile complemento allo sviluppo applicativo: sia Bastet che Booking Manager si avvalgono di Chimera per non reinventare una efficiente procedura di autenticazione.

È bene sottolineare che il processo di autenticazione prevede la sola e semplice verifica dell’identità digitale dell’utente.
Diritti, gruppi e quant’altro sono e rimangono di competenza applicativa.

Single Sign-On

Sono tanti i sistemi che effettuano il single sign-on, ma tutti presentano un unico, forte e sostanziale limite: la base di utenti deve essere una ed unica, spesso definiti nello stesso strumento che effettua il sign-on.

Chimera è la base necessaria per qualunque sistema di Single Sign-On: se si vuole accedere tramite un ID univoco, è necessario che questo ID sia verificabile presso sorgenti esterne ed eterogenee, altrimenti tutto quel che avremo ottenuto sarà solo un nuovo ultetiore ID per ogni utente.

Perché il nome “Chimera”

Chimera è un modulo Perl (CMRA.pm) che si avvale di diversi moduli CPAN esistenti: Config::INI::Reader, Config::INI::Writer, Net::LDAP, Mail::POP3Client, Net::SMTP, Net::SMTP::SSL, Apache::Htpasswd, DBI e DBD::mysql.
Tutti questi metodi e protocolli cuciti insieme formano il nostro animale mitologico, assemblato con parti eterogenee.