22
S e g h i s m e d S 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 seg ura els ura els his his torials torials mèd mèd ics ics dels pacients a través d'una xarxa de comunicacions dels pacients a través d'una xarxa de comunicacions Autor Autor Ignacio Cougil Jares Ignacio Cougil Jares Consultor Consultor Jordi Castellà Roca Jordi Castellà Roca Juny-09 Juny-09 UOC - Enginyeria en Informàtica UOC - Enginyeria en Informàtica

Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

  • Upload
    icougil

  • View
    334

  • Download
    3

Embed Size (px)

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.

Citation preview

Page 1: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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

Page 2: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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ó

Page 3: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Í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ó

Page 4: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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

Page 5: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

PlanificacióPlanificació

Desenvolupament en cascadaDesenvolupament en cascada

Page 6: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Esquema generalEsquema general

Page 7: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

PKIPKI

1

2

3

4

5

6

7

Page 8: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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)

Page 9: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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)

Page 10: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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

Page 11: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Descripció funcional [1/3]Descripció funcional [1/3]

Actors: Metge, Pacient i GestorActors: Metge, Pacient i Gestor

MetgeMetge

Page 12: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Descripció funcional [2/3]Descripció funcional [2/3]

PacientPacient

Page 13: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Descripció funcional [3/3]Descripció funcional [3/3]

GestorGestor

Page 14: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Descripció técnica [1/4]Descripció técnica [1/4]3 aplicacions: 3 aplicacions: MetgeMetge, , Pacient Pacient i i GestorGestor

Arquitectura baseArquitectura base

Page 15: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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)

Page 16: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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

Page 17: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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ó

Page 18: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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 >

Page 19: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Interfícies gràfiquesInterfícies gràfiques

Criteris homogenisCriteris homogenis

AplicatiusPacientMetgeGestor (Serveis Web)

Page 20: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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

Page 21: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

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)

Page 22: Seghismed - Disseny i desenvolupament d'un esquema criptogràfic per gestionar de forma SEGura els HIStorials MEDics dels pacients a través de la xarxa

Gracies per la seva atencióGracies per la seva atenció