Applicazione didattica autenticazione

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Applicazione didattica autenticazione

Messaggio da Toni »

Ciao,
Ho configurato su slackware un webserver che fa uso di ssl e quindi raggiungibile all'indirizzo https://www.example.com
la pagina web fornita da tale server contiene un applet java che permette al client di estrarre un certificato x509 da un dispositivo hardware.

Tale certificato deve essere trasmesso dalla applet al server.
( Le comunicazioni client <------> server devono sfruttare il canale cifrato esistente)

Il server deve:
1) Tramite verifiche a catena controllare la validità del certificato
2) Estrarre la chiave pubblica dal certificato e cifrare un nonce ( numero casuale usato una volta sola)
3) Trasmettere alla applet java ( lato client) questo nonce criptato
4) Ricevere dalla applet il nonce in chiaro e quindi verificarne la correttezza

Per espletare i compiti 1-4 sul server, quale soluzione potrei utilizzare?
servlet,php,asp etc etc

Considerate che ho buone conoscenze su java, c , c++
Tutto il resto dovrò studiarlo.

Grazie

UPDATE
http://php.net/manual/en/book.openssl.php

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Applicazione didattica autenticazione

Messaggio da masalapianta »

Toni ha scritto:Ciao,
Ho configurato su slackware un webserver che fa uso di ssl e quindi raggiungibile all'indirizzo https://www.example.com
la pagina web fornita da tale server contiene un applet java che permette al client di estrarre un certificato x509 da un dispositivo hardware.

Tale certificato deve essere trasmesso dalla applet al server.
( Le comunicazioni client <------> server devono sfruttare il canale cifrato esistente)

Il server deve:
1) Tramite verifiche a catena controllare la validità del certificato
2) Estrarre la chiave pubblica dal certificato e cifrare un nonce ( numero casuale usato una volta sola)
3) Trasmettere alla applet java ( lato client) questo nonce criptato
4) Ricevere dalla applet il nonce in chiaro e quindi verificarne la correttezza

Per espletare i compiti 1-4 sul server, quale soluzione potrei utilizzare?
servlet,php,asp etc etc

Considerate che ho buone conoscenze su java, c , c++
Tutto il resto dovrò studiarlo.
puoi usare il linguaggio che vuoi, quasi tutti hanno i binding per le libssl (o le possono usare direttamente come il C e il C++).
Perdona se te lo chiedo ma, a parte l'orrore di utilizzare una workstation con un browser ed un applet per accedere ad un HSM, a che serve l'architettura che hai descritto?

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Applicazione didattica autenticazione

Messaggio da Toni »

puramente didattico.

Anche io penso sia un orrore ma non avendo esperienza in merito è stata la prima "soluzione" a cui abbia pensato.
La scelta della applet è stata suggerita dalla possibilità di utilizzare pkcs#11 fornito da java per "processare" una smart card.

Potresti darmi una traccia valida per una soluzione meno orribile?
grazie

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Applicazione didattica autenticazione

Messaggio da masalapianta »

Toni ha scritto:puramente didattico.

Anche io penso sia un orrore ma non avendo esperienza in merito è stata la prima "soluzione" a cui abbia pensato.
La scelta della applet è stata suggerita dalla possibilità di utilizzare pkcs#11 fornito da java per "processare" una smart card.
ok, quindi non è un HSM
Potresti darmi una traccia valida per una soluzione meno orribile?
grazie
personalmente non userei http(s), browser, applet e web server, ma scriverei un demone e un client apposta usando libssl, il demone in C e il client in un linguaggio più comodo (in caso di ambiente non didattico, sul server metterei un rng hardware ed un acceleratore crittografico hardware per ssl); https non è la migliore soluzione, inoltre mettendo in mezzo web server e browser hai vagonate di codice inutile che introduce potenziali buchi di sicurezza nel processo di autenticazione.

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Applicazione didattica autenticazione

Messaggio da Toni »

masalapianta ha scritto:
Toni ha scritto:puramente didattico.

Anche io penso sia un orrore ma non avendo esperienza in merito è stata la prima "soluzione" a cui abbia pensato.
La scelta della applet è stata suggerita dalla possibilità di utilizzare pkcs#11 fornito da java per "processare" una smart card.
ok, quindi non è un HSM
Potresti darmi una traccia valida per una soluzione meno orribile?
grazie
personalmente non userei http(s), browser, applet e web server, ma scriverei un demone e un client apposta usando libssl, il demone in C e il client in un linguaggio più comodo (in caso di ambiente non didattico, sul server metterei un rng hardware ed un acceleratore crittografico hardware per ssl); https non è la migliore soluzione, inoltre mettendo in mezzo web server e browser hai vagonate di codice inutile che introduce potenziali buchi di sicurezza nel processo di autenticazione.
ok

ipotizzando il vincolo browser e webserver su https, quale potrebbe essere la soluzione migliore ?

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Applicazione didattica autenticazione

Messaggio da masalapianta »

Toni ha scritto:
masalapianta ha scritto:
Toni ha scritto:puramente didattico.

Anche io penso sia un orrore ma non avendo esperienza in merito è stata la prima "soluzione" a cui abbia pensato.
La scelta della applet è stata suggerita dalla possibilità di utilizzare pkcs#11 fornito da java per "processare" una smart card.
ok, quindi non è un HSM
Potresti darmi una traccia valida per una soluzione meno orribile?
grazie
personalmente non userei http(s), browser, applet e web server, ma scriverei un demone e un client apposta usando libssl, il demone in C e il client in un linguaggio più comodo (in caso di ambiente non didattico, sul server metterei un rng hardware ed un acceleratore crittografico hardware per ssl); https non è la migliore soluzione, inoltre mettendo in mezzo web server e browser hai vagonate di codice inutile che introduce potenziali buchi di sicurezza nel processo di autenticazione.
ok

ipotizzando il vincolo browser e webserver su https, quale potrebbe essere la soluzione migliore ?
in tal caso non c'è una soluzione migliore in senso stretto, fanno tutte schifo.

Rispondi