Download - Autenticación del cliente

Transcript
Page 1: Autenticación del cliente

Autenticación del cliente

cliente AE PE

DNI DNI

IDID

InitConnection()

Random : sesionFirmo

sesionSesion firmada + DNI Sesion firmada + DNI + sesion

Verifica firma con DNI

True o FalseTrue o False

Page 2: Autenticación del cliente

Elección de votación

cliente AE PE

GetRoles( Id ) GetRoles( Id )

RolesRoles

GetVotacionesByRol( IdRol )

encuestas

GetOpcionesByVotacion( IdVotacion )

opciones

Page 3: Autenticación del cliente

Votación

cliente AEAC

GetSesionEncr() GetNroSesionEncByID( ID)

Array encriptado con PuCli ->

NroSesion

ID firmado por la AC

NroSesion encriptado con PuACNroSesion encriptado con PuCliNroTransacción

PE

Encrypt( ID, nrosesion )

Encrypt( Array )

Id, nrosesion & Array encriptados

Guardo en la base:

sesión encriptadanroTransaccion

Array encriptado con PuCli ->

NroSesion ID firmado por la AC

NroSesion encriptado con PuAC

NroTransacción

Desencripta el Array, y verifica el ID firmado por la AC.

Sesión encriptada por ClienteEncuestaOpción encriptada con nrosesionDniFirma cliente: [nroTransaccion + nroSesion encriptado por el + opcion encriptada con nrosesion]Encriptado con la privCli y después con la pubAE.

Opcion encriptada con la sesiónnroTransacciónnroSesion encriptada con PuAC

Guardo en la base:

Opción encriptada

Guardo en la base:

Opción encriptadanroTransacciónFrma ElectorFirma AEnroSesion encriptado con PuClinroSesion encriptado con PuAC

IDDNIEncuesta

AI

Generar checksum:nroTransacciónFirma ACFirma ELnroSesion encriptada PuClinroSesion encriptada PuACOpción encriptada nroSesion

Guardo en la base:

nroTransacciónChecksum1Checksum2Checksum3

True

Page 4: Autenticación del cliente

Conteo de Votos

AI AEAC

nroTransaccionnroSesion encriptado PuACnroSesionOpción encriptada nroSesion

Guardo en la base:nroTransacciónnroSesión encriptado PuACnroSesionOpción encriptada nroSesion

Page 5: Autenticación del cliente

Autenticación del cliente

PE -> método encripta Pública a cliente , le llega el dni

GetNroSesionByDni de AC

AC-> q encripte ID y no DNI. TODO lo que sea DNI en AC q cambie a ID

AC-> Borrar cuando se genera trans.clave_el

Cliente-> le manda en el objeto transacción el DNI a AE ->peligrossso

AC, AE-> en Votar, y en todas las partes que se hace copy de la trama, no pasarle a la AC el DNI

SACAR los checksum salvo los que se guardan en la AI.

PE ->GetDNIbyID ->borrarlo

GetIDByDNI ->encriptar con la PuPE