seghismed - disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma segura...
DESCRIPTION
Presentation of Final Project in my studies in computer engineering at the UOC. Presentació del Projecte Final de Carrera dels meus estudis d'Enginyeria en Informàtica a la UOC. Presentación del Proyecto Final de Carrera de mis estudios de Ingeniería en Informática en la UOC.TRANSCRIPT
S e g h i s m e dS e g h i s m e d
Disseny i desenvolupament d'un esquema criptogràfic Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma per gestionar de forma segura els ura els hishistorials torials mèdmèdics ics
dels pacients a través d'una xarxa de comunicacions dels pacients a través d'una xarxa de comunicacions
AutorAutor
Ignacio Cougil JaresIgnacio Cougil Jares
ConsultorConsultor
Jordi Castellà RocaJordi Castellà Roca
Juny-09Juny-09
UOC - Enginyeria en Informàtica UOC - Enginyeria en Informàtica
IntroduccióIntroducció
Societat de la informacióSocietat de la informació
Aplicació de les TI al sector sanitariAplicació de les TI al sector sanitari
LOPDLOPD
Gestió de la informació Gestió de la informació
ÍndexÍndexObjectiusObjectius
PlanificacióPlanificació
Esquema generalEsquema general
PKIPKI
Esquema criptogràficEsquema criptogràfic
Descripció funcionalDescripció funcional
Descripció técnicaDescripció técnica
Persistència de la informacióPersistència de la informació
Interfícies gràfiquesInterfícies gràfiques
ConclusióConclusió
ObjectiusObjectiusConstrucció d'un sistema criptogràfic que permeti la gestió, a Construcció d'un sistema criptogràfic que permeti la gestió, a través d’una xarxa de comunicacions, de la informació través d’una xarxa de comunicacions, de la informació relacionada amb els historials mèdics dels pacients, de forma relacionada amb els historials mèdics dels pacients, de forma segurasegura
Principis a garantirPrincipis a garantir
DisponibilitatDisponibilitat
ConfidencialitatConfidencialitat
IntegritatIntegritat
AutenticitatAutenticitat
IrrefutabilitatIrrefutabilitat
PlanificacióPlanificació
Desenvolupament en cascadaDesenvolupament en cascada
Esquema generalEsquema general
PKIPKI
1
2
3
4
5
6
7
Esquema criptogràfic [1/3]Esquema criptogràfic [1/3]
OpenSSLOpenSSL
CACA
Objectes pels actors dels aplicatius:Objectes pels actors dels aplicatius:
Generació de claus públiques i privadesGeneració de claus públiques i privades
Peticions i emisions de certificats X.509Peticions i emisions de certificats X.509
Creació dels seus contenidors PKCS#12Creació dels seus contenidors PKCS#12
Tractament amb l'ús de les llibreries: IAIK + JCE (Tractament amb l'ús de les llibreries: IAIK + JCE (Java Java Cryptography Extension)Cryptography Extension)
Esquema criptogràfic [2/3]Esquema criptogràfic [2/3]
Procols criptogràfics (comuns)Procols criptogràfics (comuns)
IdentificacióIdentificació
Autenticació (basat en el definit per Autenticació (basat en el definit per Roger Needham i Roger Needham i Michael SchroederMichael Schroeder))
Seguretat de la informació emmagatzemadaSeguretat de la informació emmagatzemada
Historial mèdicHistorial mèdicFormat per:Format per:
Referència al pacient (les seves dades generals)Referència al pacient (les seves dades generals)Llista de visites protegidaLlista de visites protegida
Llista de descriptors de visites xifrades (visites realitzades)Llista de descriptors de visites xifrades (visites realitzades)Llista de metges amb accés concedit (temporalment)Llista de metges amb accés concedit (temporalment)
Llista de pacients protegits (relació de pacients xifrats i assignats a Llista de pacients protegits (relació de pacients xifrats i assignats a cada metge)cada metge)
Esquema criptogràfic [3/3]Esquema criptogràfic [3/3]
Procols criptogràfics (específics)Procols criptogràfics (específics)
Metges i PacientsMetges i Pacients
Consulta de les dades generals d’un pacientConsulta de les dades generals d’un pacient
Desxifrar l’historial xifrat específicament per l’usuariDesxifrar l’historial xifrat específicament per l’usuari
Consulta d’una visita d’un pacientConsulta d’una visita d’un pacient
Només els MetgesNomés els Metges
Consulta dels pacients assignats a un metgeConsulta dels pacients assignats a un metge
Afegir una visita a l’historial mèdicAfegir una visita a l’historial mèdic
Només el GestorNomés el Gestor
Cerca d’un historial i retornar-lo xifrat per l’usuariCerca d’un historial i retornar-lo xifrat per l’usuari
Comprovar si l’usuari té accés a la visitaComprovar si l’usuari té accés a la visita
Descripció funcional [1/3]Descripció funcional [1/3]
Actors: Metge, Pacient i GestorActors: Metge, Pacient i Gestor
MetgeMetge
Descripció funcional [2/3]Descripció funcional [2/3]
PacientPacient
Descripció funcional [3/3]Descripció funcional [3/3]
GestorGestor
Descripció técnica [1/4]Descripció técnica [1/4]3 aplicacions: 3 aplicacions: MetgeMetge, , Pacient Pacient i i GestorGestor
Arquitectura baseArquitectura base
Descripció técnica [2/4]Descripció técnica [2/4]Patrons de dissenyPatrons de disseny
Dependency Injection Dependency Injection ((Injecció de Dependències / Injecció de Dependències / ID)ID)
Business ObjectsBusiness Objects (Objectes de negoci / BO)(Objectes de negoci / BO)
Model View ControllerModel View Controller (Model Vista Controlador / MVC)(Model Vista Controlador / MVC)
Data Access ObjectsData Access Objects (Objectes d'Accés a Dades / DAO)(Objectes d'Accés a Dades / DAO)
Capes definidesCapes definides
Persistència (SGBD)Persistència (SGBD)
Lògica de negoci (Serveis, Utilitats, Xifratge,...)Lògica de negoci (Serveis, Utilitats, Xifratge,...)
Presentació (JSP, Accions, HTML,...)Presentació (JSP, Accions, HTML,...)
Integració (WebServices)Integració (WebServices)
Descripció técnica [3/4]Descripció técnica [3/4]
Comunicació entre aplicacionsComunicació entre aplicacions
WebServices (CXF+JAXB)WebServices (CXF+JAXB)
Java: Anotacions XMLJava: Anotacions XML Missatgeria SOAPMissatgeria SOAP
Descripció técnica [4/4]Descripció técnica [4/4]
Eines empradesEines emprades
Maven2Maven2 (gestió de la configuració, dependències de (gestió de la configuració, dependències de llibreries, empaquetat, etc)llibreries, empaquetat, etc)
Eclipse GanymedeEclipse Ganymede (IDE) (IDE)
Tomcat 6Tomcat 6 (contenedor de servlets) (contenedor de servlets)
MySQL 5MySQL 5 (gestor de base de dades) (gestor de base de dades)
Proves unitàries (Junit)Assegurament de la qualitat del desenvolupamentProves de regressió
Persistència de la informacióPersistència de la informació
F K _ P A C I E N T _ U S U A R I
F K _ M E T G E _ U S U A R I
F K _ H I S T O R I A L _ P A C I E N T
F K _ P A C I E N T A L E R G I A _ P A C I E N T
F K _ P A C I E N T A L E R G I A _ A L E R G I A
F K _ V I S I T A _ M E T G EF K _ M E T G E P A C I E N T C I P H E D _ M E T G E
F K _ H I S T O R I A L M E T G E C I P H E D _ H I S T O R I A L
F K _ H I S T O R I A L V I S I T A C I P H E D _ H I S T O R I A L
F K _ M E T G E C I P H E D _ U S U A R I C I P H E D
F K _ P A C I E N T C I P H E D _ U S U A R I C I P H E D
F K _ M E T G E P A C I E N T C I P H E D _ P A C I E N T C I P H E D
F K _ H I S T O R I A L M E T G E C I P H E D _ M E T G E C I P H E D
F K _ H I S T O R I A L V I S I T A C I P H E D _ V I S I T A C I P H E D
U s u a r i
I dN o mP r i m e r C o g n o mS e g o n C o g n o mD n iU n i t a t O r g a n i t z a t i v aD a t a A l t aD a t a M o d i f i c a c i oC e r t i f i c a t
i n t e g e rv a r c h a r ( 2 5 )v a r c h a r ( 5 0 )v a r c h a r ( 5 0 )v a r c h a r ( 1 0 )v a r c h a r ( 1 5 )d a t e t i m ed a t e t i m eb l o b
< p k >
< a k >M e t g e
I dN u m e r o C o l e g i a tE s p e c i a l i t a t
i n t e g e rv a r c h a r ( 2 5 )v a r c h a r ( 2 5 )
< p k , f k >
P a c i e n t
I dG r u p S a n g u i n i
i n t e g e ri n t e g e r
< p k , f k >
V i s i t a
I dD a t a H o r aT e m aA n a m n e s iD i a g n o s iT r a c t a m e n tD a t a A l t aD a t a M o d i f i c a c i oI d M e t g e
i n t e g e rd a t e t i m ev a r c h a r ( 5 0 )v a r c h a r ( 5 0 0 )v a r c h a r ( 5 0 0 )v a r c h a r ( 5 0 0 )d a t e t i m ed a t e t i m ei n t e g e r
< p k >
< f k >
H i s t o r i a l
I dI d P a c i e n t
i n t e g e ri n t e g e r
< p k >< f k >
A l e r g i a
I dD e s c r i p c i o
i n t e g e rv a r c h a r ( 5 0 )
< p k >
P a c i e n t _ A l e r g i a
I d P a c i e n tI d A l e r g i a
i n t e g e ri n t e g e r
< p k , f k 1 >< p k , f k 2 >
H i s t o r i a l _ M e t g e C i p h e d
I d H i s t o r i a lI d M e t g e C i p h e dD a t a L i m i t
i n t e g e ri n t e g e rd a t e
< p k , f k 1 >< p k , f k 2 >
M e t g e _ P a c i e n t C i p h e d
I d M e t g eI d P a c i e n t C i p h e d
i n t e g e ri n t e g e r
< p k , f k 1 >< p k , f k 2 >
H i s t o r i a l _ V i s i t a C i p h e d
I d H i s t o r i a lI d V i s i t a C i p h e d
i n t e g e ri n t e g e r
< p k , f k 1 >< p k , f k 2 >
M e t g e _ C i p h e d
I d i n t e g e r < p k , f k >
U s u a r i _ C i p h e d
I dI d C i p h e d
i n t e g e rb l o b
< p k >
P a c i e n t _ C i p h e d
I d i n t e g e r < p k , f k >
V i s i t a _ C i p h e d
I dI d C i p h e d
i n t e g e rb l o b
< p k >
Interfícies gràfiquesInterfícies gràfiques
Criteris homogenisCriteris homogenis
AplicatiusPacientMetgeGestor (Serveis Web)
Conclusions [1/2]Conclusions [1/2]Implementat un sistema criptogràfic que permet la gestió segura via Implementat un sistema criptogràfic que permet la gestió segura via
Web, de les dades relacionades amb els historials mèdics dels Web, de les dades relacionades amb els historials mèdics dels pacients, a través de xarxes TCP/IPpacients, a través de xarxes TCP/IP
Objectius assolitsObjectius assolitsAccions desenvolupadesAccions desenvolupades
Confidencialitat de la informacióConfidencialitat de la informacióXifratge i signat de la Xifratge i signat de la informacióinformació
Integritat, iIntegritat, i
Autenticitat de les dadesAutenticitat de les dades
Irrefutabilitat de les operacions Irrefutabilitat de les operacions realitzadesrealitzades
Xifratge de les dades Xifratge de les dades emmagatzemades només emmagatzemades només per al Gestorper al Gestor
Emmagatzematge de totes Emmagatzematge de totes les crides realitzades (log)les crides realitzades (log)
Capa integració (Serveis Capa integració (Serveis Web)Web)
Disponibilitat de l'accés a les dadesDisponibilitat de l'accés a les dades
Conclusions [2/2]Conclusions [2/2]Opinió personalOpinió personal
Gran esforç portat a termeGran esforç portat a terme
Esforç d'aprenentatgeEsforç d'aprenentatge
BugsBugs
Adquisició de molts coneixementsAdquisició de molts coneixements
Técnics (marcs de treball, integració, etc)Técnics (marcs de treball, integració, etc)
Gestió de les TI (maduresa vs avantatges)Gestió de les TI (maduresa vs avantatges)
Visitó de futurVisitó de futur
Integració i explotació amb d'altres sistemes i plataformes Integració i explotació amb d'altres sistemes i plataformes (PDAs, mòbils, etc)(PDAs, mòbils, etc)
Desenvolupament de l'aplicatiu Gestor (paginació, Desenvolupament de l'aplicatiu Gestor (paginació, exportació d'informació -Excel, Word,...-, generació exportació d'informació -Excel, Word,...-, generació estadístiques, etc)estadístiques, etc)
Gracies per la seva atencióGracies per la seva atenció