Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500

    Algoritmo cifratura O-key Intesa - San Paolo

    Ciao a tutti, volevo sapere di più sulla chiavetta O-key usata dalla Intesa - San Paolo; viene data agli intestatari di conti correnti per accedere ai loro conti da internet, e fornisce una serie di 6 cifre che cambiano dopo qualche secondo che si ripreme il tasto per generare il codice! per maggiori informazioni sulla chiavetta vi mando su questo sito
    http://www.appuntidigitali.it/1459/o...e-il-phishing/
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Cosa vorresti sapere?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    Era per sapere per sommi capi il funzionamento, tipo l'algoritmo usato per generare i codici, ovviamente non voglio sapere i dettagli perchè sarà un algoritmo blindato! oppure sapere come fanno a essere sincronizzati pc e chiavetta...dovrebbe significare che nel momeno che si inserisce il codice della chiavetta, il server che riceve il codice ha "installato" l'algoritmo simile a quello della chiavetta per poter stabilire se i codice è valido o meno...giusto il ragionamento??
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Semplicemente l'O-KEY ha un suo algoritmo interno che, in funzione di vari parametri (anche l'orario o persino la temperatura ambientale) generano un codice con un finale di riconoscimento.

    Il server, ovviamente, sa riconoscere in modo opportuno se il codice generato è valido o meno.
    Per la durata, bhè mettiamo caso che

    codice:
    f(15:30) = 598654
    Il server da tale codice riesce a capire che è stato generato alle 15:30..quindi se è passato troppo tempo, timeout, non lo accettiamo.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Però un normale orologio al quarzo non credo che disponga della precisione necessaria... probabilmente o contiene un quarzo particolarmente preciso oppure mantiene l'ora aggiornata tramite il solito radiofaro di Francoforte.

    Difficile poi credere che nel codice ci finiscano dati ambientali... per la verifica di correttezza i dati utilizzati per il codice devono essere presenti sia sul server che sulla chiavetta, per cui probabilmente si tratterà di ora e identificativo cliente.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    Difficile poi credere che nel codice ci finiscano dati ambientali... per la verifica di correttezza i dati utilizzati per il codice devono essere presenti sia sul server che sulla chiavetta, per cui probabilmente si tratterà di ora e identificativo cliente.
    quoto pienamente le parole di Mitaly....è molto difficile che ci siano parametri che riguardano la temperatura, altrimenti l'algoritmo presente sul server non funziona!!

    Per il resto, mi sembra molto simile il discorso delle funzioni di hash, in fin dei conti, l'algoritmo della chiavetta altro non fa che associare a una chiave ( in questo esempio l'ora---vedi f(15:30) = "codice" ) ad un codice. il dubio che mi sorge è che quando ho studiato queste cose, avevo letto che ci sono alcune funzioni di hash che data una chiave è possibile fare un procedimento diciamo di criptaggio, ma non è possibile fare il procedimento inverso, ovvero dal codice trovare la chiave, e se si riesce è moolto complesso!
    Spero di ricordare bene queste cose...se c'è qualcuno che ne sa qualcosa in più ne sono grato...
    ciao
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  7. #7
    Io sapevo che la chiave generava il codice a partire dall'orario (precisione al minuto, non al secondo quindi non importa il quarzo...) e che il server visto l'account richiedente va a pescare che algoritmo usa quella "chiave", guarda l'orario e genera (in teoria) lo stesso codice, se corrisponde si accede, sennò nisba!

    A quanto pare tempo fa era saltato fuori che alcune banche usavano lo stesso algoritmo per vari account rendendo la cosa molto meno affidabile.
    Can You See Curtains? Then Isn't Windows!

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Ho letto certe bo**te in questo thread, e non potevo non intervenire

    La O-key, la chiavetta della Unicredit, le chiavette della maggiorparte delle banche, implementato tutte lo stesso algoritmo: rsa. Che e' un algoritmo asimmetrico, cioe basato su una copia di chiavi privata/pubblica.

    Oggi sul mercato, ci sono principalmente 3 tipi di chiavette:
    1. Quella sviluppata dalla RSA Security che fa parte della EMC2, e viene chiamata RSA SecurID, e si stima occupi ~70% del mercato dell'autenticazione a due fattori. In Italia viene usata ad esempio dalla Unicredit.
    2. Quella sviluppata dalla Vasco, chiamata Digipass. In Italia viene usata ad esempio dalla Intesa San Paolo.
    3. Altri sconosciuti alla scienza

    Il funzionamente di base non cambia, si tratta sempre dell'algoritmo rsa.

    Il tutto funziona cosi: Sulla chiavetta c'e' una chiave (seed), detta pubblica. Sul server di autenticazione c'e' un altra, privata, assegnata all'account dell'utente.
    Sulle chiavette, ogni 15, 30, 60 secondi (e altre variazioni, puo cambiare di banca in banca), o alla pressione del pulsante, viene generato un nuovo numero. Naturalmente si tratta del datetime corrente crittato con la chiave pubblica. Il risultato ottenuto si chiama token, ed e' quello che vediamo sul display della chiavetta. Se usiamo il token che vediamo per autenticarci, il server remoto, lo decodifica usando la sua chiave privata. Poi confronta il risultato con il suo datetime, tenendo anche contro dell'intervallo di cui sopra. In questo modo riesce a verificare la correttezza di un token.

    Per quanto riguarda la sincronizzazione delle ore: Il server ovviamente sara' sempre sincronizzato con l'orologio atomico. Sulla chiavetta e' probabile che sia stato usato un meccanismo abbastanza affidabile che non si desincronizzi troppo durante i 3 anni della durata della chiavetta. Poi, se va avanti/rimane indietro di qualche secondo, non importa. Come dicevo sopra, la chiave viene generata non sul datetime comprendente il secondo corrente, ma sull'intervallo corrente. Spesso molti server mantengono la validita' di un token anche un paio di secondi dopo la scandeza.

    Il fatto che le banche usino la stessa chiave publica/privata per diversi account (e non l'algoritmo, quello ovviamente e' sempre unico, quello adottato dalla banca) e' una leggenda metropolitana. La copia delle chiavi viene generata non solo in base ai dati del cliente, ma anche ad altre chiavi, progressivi etc, per garantire l'univocita'.

  9. #9
    Originariamente inviato da bubi1
    Ho letto certe bo**te in questo thread, e non potevo non intervenire
    Be', comunque alla fine andando a logica non eravamo andati troppo fuori strada...
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Hai ragione, ho usato a sproposito il termine algoritmo mentre intendevo quello che tu chiami seed (e che io chiamo chiave normalmente, non so in questo ambito)!

    In ogni caso il fatto che ci siano seed condivisi tra più account non è una leggenda metropolitana a quanto pare visto che ne sono state ritirate parecchie di chiavette...
    Can You See Curtains? Then Isn't Windows!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.