Post on 11-Jan-2016
description
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
Elección de votación
cliente AE PE
GetRoles( Id ) GetRoles( Id )
RolesRoles
GetVotacionesByRol( IdRol )
encuestas
GetOpcionesByVotacion( IdVotacion )
opciones
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
Conteo de Votos
AI AEAC
nroTransaccionnroSesion encriptado PuACnroSesionOpción encriptada nroSesion
Guardo en la base:nroTransacciónnroSesión encriptado PuACnroSesionOpción encriptada nroSesion
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