• No se han encontrado resultados

ManuelSanlorenzoTabuenca Dise˜nodeuncontenedordigitaloptimizadoparaalmacenamientoeintercambiodeADNhumano

N/A
N/A
Protected

Academic year: 2022

Share "ManuelSanlorenzoTabuenca Dise˜nodeuncontenedordigitaloptimizadoparaalmacenamientoeintercambiodeADNhumano"

Copied!
79
0
0

Texto completo

(1)

INGENIER´IA SUPERIOR DE TELECOMUNICACIONES Especialidad en Comunicaciones

Proyecto Final de Carrera (PFC)

Dise˜ no de un contenedor digital optimizado para

almacenamiento e intercambio de ADN humano

Manuel Sanlorenzo Tabuenca

Director:

Oscar J. Rubio Mart´ın ´ Ponente:

Alvaro Alesanco Iglesias ´

Escuela de Ingenier´ıa y Arquitectura (EINA) Universidad de Zaragoza

Septiembre 2013

(2)
(3)

Agradecimientos

En primer lugar me gustar´ıa dar las gracias a ´Oscar y ´Alvaro por supervisar mi trabajo. Su dedicaci´on, sus consejos y experiencia durante todo este largo tiempo han hecho posible la culminaci´on de este trabajo.

En segundo lugar me gustar´ıa dar las gracias a mi madre, por tener paciencia y animarme siempre a superarme a m´ı mismo. A mi padre, por estar siempre para darme

´

animos y a mis hermanas, por su apoyo durante estos a˜nos.

Tambi´en quisiera dar las gracias a los wazax, mis compa˜neros de teleco y dem´as amigos por vivir conmigo los buenos y malos momentos. Por vuestros consejos, vuestra ayuda y amistad.

Finalmente, a Silvia, por su apoyo, su cari˜no y sus ´animos constantes y por creer siempre en m´ı.

A todos vosotros, muchas gracias.

(4)
(5)

“Dise˜ no de un contenedor digital optimizado para almacenamiento e intercambio de ADN humano”

RESUMEN

En la actualidad, la mejora de las t´ecnicas de secuenciaci´on de ADN y el aumento de los grupos de investigaci´on han permitido el desarrollo de varias aplicaciones. En el ´ambito de la e-salud, comienzan a catalogarse genes defectuosos que disparan la probabilidad de padecer enfermedades como c´ancer, p´arkinson o diabetes. Analizando el genoma de un individuo, es posible detectar prematuramente estas enfermedades y llevar a cabo un tratamiento personalizado. Por otra parte, la comparaci´on del genoma de un mismo individuo en distintos momentos de la vida permite detectar mutaciones (p.ej.

debibas a radiaci´on ionizante). Adem´as, como el genoma de cada individuo es ´unico y guarda estrecha relaci´on con el de sus parientes, puede ser utilizado tanto en aplicaciones biom´etricas como para realizar estudios filog´enicos.

Para desarrollar estas aplicaciones, la secuencia de ADN es codificada digitalmente y se incorporan aquellos metadatos (datos personales, datos m´edicos, anotaciones sobre la secuencia, etc.) que sean pertinentes. Con este prop´osito, han surgido varios protocolos (HL7 genomics para e-salud, BSML, MAGE-ML) que permiten el almacenamiento e intercambio estandarizado de muestras de ADN. No obstante, ´estos est´an dise˜nados para trabajar con muestras peque˜nas (para aplicaciones espec´ıficas) y por ello no habilitan m´etodos de compresi´on. Adem´as, no siempre incluyen mecanismos para la protecci´on de los datos, tal como obliga la legislaci´on vigente (en Espa˜na, la LOPD).

El objetivo de este Proyecto Fin de Carrera es dise˜nar un contenedor digital optimizado para el almacenamiento e intercambio de genomas humanos o partes de ´estos.

Este podr´´ a ser utilizado tanto para las aplicaciones antes descritas (p.ej. gen´etica cl´ınica y biometr´ıa) como para futuras aplicaciones por desarrollar. Existen tres elementos de gran inter´es en su dise˜no: la selecci´on de un algoritmo de compresi´on sin p´erdidas que permita reducir el tama˜no del genoma (≈ 3 Gb), el desarrollo de un sistema robusto de seguridad y control de acceso seg´un roles (p.ej. m´edico, investigador, sistema biom´etrico) y la capacidad de interoperar con los est´andares ya existentes. Se implementar´a una interfaz gr´afica que permita tanto la construcci´on como el acceso al contenedor seg´un roles diferenciados. Finalmente se medir´an los ratios de compresi´on de la secuencia gen´etica, el overhead debido a los elementos de seguridad y los tiempos de construcci´on y acceso al contenedor para evaluar la calidad del dise˜no.

(6)
(7)

´ Indice general

1 Introducci´on y objetivos 1

1.1 Contexto . . . 1

1.2 Objetivos . . . 2

1.3 Organizaci´on de la memoria . . . 3

2 Caracterizaci´on del ADN 5 2.1 ADN Nuclear . . . 5

2.2 ADN Mitocondrial . . . 6

2.3 Bases de datos . . . 7

2.4 Aplicaciones . . . 7

2.4.1 Gen´etica cl´ınica . . . 7

2.4.2 Contaminaci´on nuclear . . . 8

2.4.3 Antropolog´ıa . . . 8

2.4.4 Medicina forense y biometr´ıa . . . 8

3 Compresi´on y seguridad 9 3.1 Algoritmos de compresi´on de ADN . . . 9

3.1.1 Biocompress . . . 10

3.1.2 CFact y CFact2 . . . 10

3.1.3 GenCompress . . . 10

3.1.4 LSBD . . . 11

3.1.5 Comparativa de algoritmos . . . 11

3.2 Modificaci´on del algoritmo “Lossless Segment Based DNA Compression” . 12 3.3 Perfiles de acceso . . . 14

3.3.1 Perfil 0 - Almacenamiento . . . 14

3.3.2 Perfil 1 - Diagn´ostico/Examen . . . 15

3.3.3 Perfil 2 - Investigaci´on/Ense˜nanza . . . 15 i

(8)

ii ´INDICE GENERAL

3.3.4 Perfil 3 - Biometr´ıa . . . 15

3.4 Protecci´on . . . 15

3.4.1 Esquema de protecci´on y acceso . . . 17

3.4.2 Resistencia a los ataques . . . 18

3.5 Contexto de uso en el ´ambito de la e-salud . . . 19

4 Interoperabilidad y estructura del contenedor digital 23 4.1 Los est´andares HL7, MAGE-ML y BSML . . . 23

4.2 Interoperabilidad . . . 24

4.3 Estructura . . . 26

4.4 Secci´on 1: Datos personales . . . 27

4.4.1 Datos personales . . . 28

4.4.2 Datos m´edicos . . . 28

4.5 Secci´on 2: Datos t´ecnicos . . . 29

4.6 Secci´on 3: ADN nuclear . . . 30

4.6.1 Secuencia gen´etica . . . 30

4.6.2 Informaci´on gen´etica . . . 30

4.7 Secci´on 4: ADN mitocondrial . . . 31

4.8 Secci´on 5: Seguridad . . . 31

5 Evaluaci´on y conclusiones 33 5.1 Muestras de ADN utilizadas . . . 33

5.2 Ratio de compresi´on . . . 34

5.3 Overhead . . . 35

5.4 Retardos . . . 35

5.5 Conclusiones . . . 37

5.6 Lineas futuras . . . 38

Bibliograf´ıa 41 A Acr´onimos y abreviaturas 45 B La LOPD en el contexto de la e-salud 47 C Desarrollo de la GUI 49 C.1 Interfaz desarrollada . . . 49

C.2 Creaci´on del contenedor digital . . . 49

(9)

´INDICE GENERAL iii

C.3 Acceso a los datos . . . 56

D Esquema XML 61

(10)
(11)

´ Indice de figuras

2.1 Estructura del ADN . . . 6

2.2 Esquema del ADN mitocondrial y varias de las enfermedades en las que influye . . . 7

3.1 Esquema del algoritmo LSBD. Imagen obtenida de [30] . . . 12

3.2 Esquema de creaci´on y protecci´on del contenedor digital . . . 17

3.3 Esquema de acceso al contenedor digital . . . 18

3.4 Contexto de uso del contenedor digital en el ´ambito de la e-salud . . . 21

4.1 Esquema de interoperabilidad del contenedor digital . . . 25

5.1 Comparativa de tiempos de cifrado de diferentes secuencias de ADN . . . 36

C.1 GUI: Men´u de selecci´on de idioma . . . 50

C.2 GUI: Men´u principal de creaci´on . . . 50

C.3 GUI: Men´u a˜nadir usuarios . . . 51

C.4 GUI: Men´u datos personales . . . 52

C.5 GUI: Men´u datos t´ecnicos . . . 53

C.6 GUI: Men´u informaci´on gen´etica . . . 54

C.7 GUI: Men´u proteger . . . 55

C.8 GUI: Men´u principal de acceso . . . 56

C.9 GUI: Men´u de acceso para el administrador . . . 57

C.10 GUI: Men´u de acceso para usuarios de perfil 1 . . . 58

C.11 GUI: Men´u de acceso para usuarios de perfil 2 . . . 59

C.12 GUI: Men´u de acceso para usuarios de perfil 3 . . . 60

v

(12)
(13)

´ Indice de tablas

3.1 Comparaci´on de las caracter´ısticas de los algoritmos de compresi´on de ADN 12

3.2 Resumen de los permisos de acceso seg´un el perfil de usuario . . . 16

3.3 Relaci´on entre los perfiles de usuario y aplicaciones basadas en ADN . . . 16

5.1 Muestras gen´eticas utilizadas en la evaluaci´on . . . 33

5.2 Ratios de compresi´on del algoritmo LSBD optimizado . . . 34

5.3 Overhead del contenedor debido a los elementos de seguridad . . . 35

5.4 Retardos t´ıpicos en la creaci´on del contenedor digital . . . 36

5.5 Retardos t´ıpicos en el acceso al contenedor digital . . . 37

vii

(14)
(15)

Cap´ıtulo 1

Introducci´ on y objetivos

1.1 Contexto

En el a˜no 2003 se public´o el primer borrador con los resultados del Proyecto Genoma Humano (PGH) [1]. Desde entonces, los estudios sobre el genoma humano se han convertido en una de las principales lineas de investigaci´on en el ´ambito de la e-salud, favoreciendo aplicaciones como la prevenci´on prematura de enfermedades, como el parkinson [2], diabetes [3] o el c´ancer de mama [4], y sus tratamientos (gen´etica cl´ınica), biometr´ıa, detecci´on de la exposici´on a la radiaci´on, etc. En muchas de estas investigaciones se trabaja con secuencias gen´eticas que han sido digitalizadas y que, en algunos casos, se pueden encontrar en bases de datos p´ublicas en Internet. Existen varias bases de datos gen´eticas, que contienen secuencias gen´eticas de diferentes organismos, entre ellos, los genes que componen el genoma humano, y contienen tanto informaci´on biol´ogica como de los estudios o investigaciones que se han desarrollado sobre ellos.

En el ´ambito de la e-salud, a partir de los a˜nos 90, se han desarrollado unas codificaciones espec´ıficas de las pruebas m´edicas y de sus metadatos asociados (datos personales, anotaciones, etc.) que permiten un almacenamiento e intercambio estandarizado entre los distintos dispositivos y sistemas m´edicos [5], incluso de distintos fabricantes. Algunos ejemplos destacados son DICOM [6] en el diagn´ostico por imagen o SCP-ECG [7] para los electrocardiogramas. En el campo de la gen´etica destacan BSML [9], que proporciona las instrucciones para la presentaci´on de secuencias gen´eticas mediante el lenguaje XML [10] y la inclusi´on de metadatos, o MAGE-ML [11] que define, adem´as, un modelo de datos para almacenar informaci´on asociada a los experimentos llevados a cabo o el material utilizado para ello. Adem´as existe otro est´andar, HL7 [12], de uso m´as extendido y que permite integrar, intercambiar y compartir informaci´on m´edica electr´onica de distinto tipo para la gesti´on y el diagn´ostico cl´ınico de los servicios de salud.

En el ´ambito de la gen´etica cl´ınica, BSML y MAGE-ML, habitualmente contienen fragmentos de informaci´on peque˜nos como genes o segmentos de ´estos. Sin embargo, no

1

(16)

2 1.2. Objetivos

ha sido desarrollada ninguna herramienta que permita incluir en un solo contenedor, de forma ordenada y segura, la secuencia gen´etica codificada de un indivduo junto con los metadatos asociados. Por otro lado, existen un buen n´umero de investigaciones que tienen como objetivo desarrollar algoritmos eficientes de compresi´on para reducir el tama˜no de las muestras (un genoma completo ocupa 3GB) y mejorar tanto el almacenamiento e intercambio de las secuencias gen´eticas.

1.2 Objetivos

Los objetivos principales de este Proyecto Fin de Carrera (PFC) son el dise˜no e implementaci´on de un contenedor digital seguro, compacto y accesible a distintos tipos de usuarios y aplicaciones, que permita el almacenamiento e intercambio de un genoma, o parte de ´este, junto con los metadatos del individuo y permita, seg´un el tipo de usuario final, darle el nivel de seguridad adecuado. Para ello ser´a preciso:

• Encontrar un algoritmo eficiente de codificaci´on de ADN, que adem´as favorezca la compresi´on e indexaci´on. De esta forma, un usuario final podr´a acceder tanto a la secuencia completa como a los distintos genes seg´un se precise o incluso a varias versiones de genes tomadas en distintos momentos.

• Facilitar la inclusi´on de informaci´on adicional: datos personales y datos m´edicos del paciente, informaci´on sobre la estructura gen´etica (genes y segmentos), datos t´ecnicos y de obtenci´on de la muestra, etc. para favorecer las aplicaciones antes citadas.

• Asegurar la compatibilidad con el est´andar HL7 de forma que el contenedor sea interoperable con los est´andares de HL7.

• Facilitar la implementaci´on de los mecanismos de seguridad y control previstos por la Ley Org´anica de Protecci´on de Datos (LOPD) [13], la Health Insurance Portability and Accountability Act (HIPAA) [14], y la Personal Information Protection and Electronic Documents Act (PIPEDA) [15].

• Desarrollar una interfaz gr´afica sencilla que permita tanto la construcci´on del contenedor digital como su acceso y edici´on seguros.

• Evaluar el ratio de compresi´on, el overhead debido a la seguridad, los tiempos de retardo de la compresi´on y la protecci´on y la resistencia ante ataques con secuencias gen´eticas reales obtenidas de los bancos de muestras de libre acceso de internet (GenBank, EMBL,...).

(17)

Cap´ıtulo 1. Introducci´on y objetivos 3

1.3 Organizaci´ on de la memoria

Esta memoria est´a dividida en cinco cap´ıtulos y cuatro anexos organizados del siguiente modo:

• Cap´ıtulo 2 - Caracter´ısticas del ADN: se describe brevemente la estructura y composici´on del ADN nuclear y mitocondrial. Adem´as se presentan las bases de datos p´ublicas de ADN utilizadas para la evaluaci´on y se incluye un apartado con las aplicaciones del ADN.

• Cap´ıtulo 3 - Compresi´on y seguridad: se presentar´an varias t´ecnicas de compresi´on espec´ıficas de ADN y se valorar´an en t´erminos de ratio de compresi´on, complejidad computacional y capacidad de indexaci´on. Se describir´a el algoritmo escogido, la raz´on de la elecci´on y las modificaciones que se le han hecho para poder utilizarlo en la aplicaci´on. En este cap´ıtulo se presentar´a tambi´en los sistemas de seguridad que se implementan en el contenedor digital.

• Cap´ıtulo 4 - Propuesta del contenedor digital de ADN: se presentar´a en detalle el est´andar HL7 y sus caracter´ısticas. A continuaci´on se detallar´a y justificar´a la estructura, contenido y formato del contenedor digital dando una descripci´on de cada una de sus secciones. Por ´ultimo se justificar´a la compatibilidad del contenedor con el est´andar de soporte de diagn´ostico HL7.

• Cap´ıtulo 5 - Evaluaci´on y conclusiones: se evaluan el ratio de compresi´on, el overhead debido a los elementos de seguridad y los tiempos de compresi´on, protecci´on y acceso. Finalmente se presentan las conclusiones y las lineas futuras de investigaci´on.

• Anexos: Adem´as se incluyen los siguientes anexos:

– Anexo A - Abreviaturas y acr´onimos utilizadas a lo largo de la memoria.

– Anexo B - La LOPD en el contexto de la e-salud.

– Anexo C - Gu´ıa de uso de la Interfaz Gr´afica desarrollada.

– Anexo D - Esquema XML del contenedor digital.

(18)
(19)

Cap´ıtulo 2

Caracterizaci´ on del ADN

El ´acido desoxirribonucleico (ADN) contiene las instrucciones gen´eticas necesarias para el desarrollo y funcionamiento de los seres vivos, as´ı como de su transmisi´on hereditaria. Su funci´on principal es el almacenamiento de esta informaci´on a largo plazo.

2.1 ADN Nuclear

Desde un punto de vista de la informaci´on que contiene, el ADN, es un compuesto formado por un conjunto de unidades simples interconectadas (nucle´otidos). Cada uno de estos nucle´otidos est´a formado, a su vez, por un az´ucar (la desoxirribosa), una base nitrogenada (que puede ser adenina (A), timina (T), citosina (C) o guanina (G)) y un grupo fosfato que act´ua como enganche con el siguiente nucle´otido. Lo que distingue a cada nucle´otido es su base nitrogenada, por lo que a la secuencia de ADN se la especifica nombrando simplemente la secuencia de sus bases nitrogenadas [16]. La disposici´on secuencial de estas bases (A, C, G, T) es la que codifica la informaci´on gen´etica.

No obstante, numerosos investigadores se han visto obligados a desarrollar notaciones alternativas que les permita introducir caracteres “ambiguos”[17], importantes para representar variaciones de las bases o posiciones en las que puede haber diferentes bases.

En su organizaci´on, se distinguen varios niveles, tal como se ve en la Figura 2.1:

• Estructura primaria: secuencia de nucle´otidos encadenados. Desde el punto de vista de la informaci´on representa la secuencia gen´etica.

• Estructura secundaria: es una estructura en doble h´elice. Permite explicar el almacenamiento de la informaci´on gen´etica y el mecanismo de duplicaci´on del ADN. No aporta informaci´on de inter´es en este caso.

• Cromosomas: durante el ciclo celular, se duplican antes de que la c´elula se divida. La secuencia de ADN de un ser humano est´a formada por 23 parejas de cromosomas. Desde el punto de vista de la informaci´on facilita la indexaci´on al dividir la secuencia en 23 partes.

5

(20)

6 2.2. ADN Mitocondrial

Figura 2.1: Estructura del ADN

Por otra parte, el ADN de un organismo puede dividirse en dos tipos: el codificante (codifica prote´ınas, importantes para la vida por sus funciones pl´asticas, biorreguladoras, enzim´aticas, etc.) y el no codificante. Alrededor del 90 % del ADN humano es no codificante. Este tipo de ADN se consideraba “basura”, pero recientes investigaciones han demostrado que regula la expresi´on diferencial de los genes, es decir, cu´ando se activa un gen concreto [18], y por lo tanto, cu´ando se codifica una prote´ına concreta.

Este ADN no codificante est´a formado, principalmente, por secuencias repetidas que pueden encontrarse seguidas o a lo largo del genoma.

2.2 ADN Mitocondrial

El ADN mitocondrial es una mol´ecula bicatenaria, circular, cerrada, sin extremos (cromosoma mitocondrial) que se encuentra en las mitocondrias. En los seres humanos tiene un tama˜no de 16.569 pares de bases, conteniendo un peque˜no n´umero de genes, Las difrencias con el ADN nuclear son, principalmente, la organizaci´on (23 cromosomas en el nuclear y con forma de anillo en el mitocondrial) y la longitud, es decir, la cantidad de pares de bases (16.569 en el mitocondrial y m´as de 3.000 millones en el nuclear).

Tiene un origen bacteriano y al contrario que el ADN nuclear su herencia no es mixta sino monoparental, transmiti´endose de madres a hijos.

(21)

Cap´ıtulo 2. Caracterizaci´on del ADN 7

Figura 2.2: Esquema del ADN mitocondrial y varias de las enfermedades en las que influye

2.3 Bases de datos

Diferentes organismos han creado bases de datos que permiten a los investigadores acceder de una manera r´apida a millones de secuencias gen´eticas humanas. Existen tres principales bases de datos:

• GenBank en el Centro Nacional de Informaci´on Biotecnol´ogica (NCBI) [19].

• EMBL-BANK en el Instituto europeo de Bioinform´atica (EBI) [20].

• DNA Data Bank of Japan (DDBJ) en el Instituto Nacional de Gen´etica (NIG) [21].

Estas bases de datos son p´ublicas y a trav´es de sus portales en internet permiten el acceso y la descarga de informaci´on gen´etica, tanto de las propias secuencias como de las funciones de cada gen o de las investigaciones que se han llevado a cabo sobre ellos.

Estas tres bases de datos acordaron un formato de presentaci´on de la informaci´on que permitiera el intercambio de ´esta entre ellas, basado en tablas de caracter´ısticas (feature tables) y bajo el formato XML.

2.4 Aplicaciones

2.4.1 Gen´etica cl´ınica

El principal campo de aplicaci´on del contenedor es en el ´ambito de la e-salud. La informaci´on contenida permitir´a tener definido un perfil gen´etico a trav´es del cual, los epecialistas puedan estudiar las enfermedades gen´eticas del paciente y buscar el tratamiento m´as eficiente. Incluso ofrece la posibilidad de detectar predisposiciones a ciertas enfermedades y evitar que estas aparezcan. La ventaja del contenedor es que

(22)

8 2.4. Aplicaciones

permite disponer del genoma completo, lo que permite un an´alisis m´as extenso. Por otro lado el estudio de los genomas de un grupo de pacientes que padezcan una enfermedad puede permitir detectar y analizar genes que sean causantes o activadores de dicha enfermedad favoreciendo la b´usqueda de f´armacos o terapias. La terapia g´enica es uno de los campos en los que m´as activamente se est´a trabajando en medicina. Mediante el uso de t´ecnicas de ADN recombinante, los especialistas son capaces de introducir genes en los organismos para producir una determinada prote´ına para reemplazar genes da˜nados o que han dado lugar a una patolog´ıa y as´ı, eventualmente, reestablecer el estado fisiol´ogico normal. Tambi´en es posible introducir genes aislados en microorganismos para que ´estos los reproduzcan y utilizarlos como “f´abricas” de grandes cantidades de sustancias ´utiles como insulina o vacunas.

2.4.2 Contaminaci´on nuclear

La exposici´on prolongada a contaminaci´on nuclear debida a factores externos al individuo, como por ejemplo desastres nucleares (Fukushima [22], Chernobyl, etc.) puede producir mutaciones en el ADN que se podr´ıan detectar mediante comparaciones del ADN inalterado con muestras expuestas a contaminaci´on nuclear.

2.4.3 Antropolog´ıa

A trav´es del estudio de las mutaciones y la evoluci´on de secuencias gen´eticas, los investigadores son capaces de conocer la filogenia de una especie, es decir, la historia evolutiva de un organismo. Por ello permite avances en campos tan diversos como la biolog´ıa evolutiva, la ecolog´ıa o la antropolog´ıa. Tambi´en permite determinar el grado de parentesco de dos individuos (pruebas de paternidad).

2.4.4 Medicina forense y biometr´ıa

Los m´edicos forenses pueden utilizar el ADN presente en la sangre, el semen, la piel, la saliva o el pelo en la escena de un crimen para identificar al responsable. Esto es debido a que la secuencia de ADN de cada individuo es ´unica. Esta t´ecnica se denomina “perfil de ADN”. Del mismo modo, esta propiedad tendr´ıa aplicaciones en sistemas biom´etricos basadas en la comparaci´on de secuencias gen´eticas de alta variabilidad entre individuos.

(23)

Cap´ıtulo 3

Compresi´ on y seguridad

3.1 Algoritmos de compresi´ on de ADN

El genoma humano est´a compuesto por alrededor de 20.000 a 25.000 genes, formados por un total de 3.200 millones de bases. Una versi´on digital del genoma completo ocupar´ıa en torno a 3 GB de espacio en memoria. Puesto que la variaci´on de una sola base puede alterar completamente un gen, los algoritmos de compresi´on deben ser sin p´erdidas. La principal caracter´ıstica de la secuencia que explotan este tipo de algoritmos son ciertos patrones de repetici´on del ADN.

Tal como se ver´a m´as adelante, como resultado de la compresi´on se genera una tabla de referencias (Biocompress, CFact, GenCompress) o una tabla de ´ındices (LSBD). El resultado de cifrar estas tablas, en t´erminos de seguridad, es equivalente al de cifrar la secuencia completa. Esto es debido a que estas tablas son imprescindibles para descomprimir la secuencia. Por lo tanto, debido a la compresi´on, basta con realizar un cifrado parcial para obtener un nivel de seguridad equivalente al de cifrar las secuencias completas.

A continuaci´on se presentan los algoritmos de compresi´on de ADN m´as destacados.

Se valoran en funci´on de 3 factores:

1. Ratio de compresi´on: existen dos procedimientos para medir el ratio de compresi´on; compresi´on de la secuencia respecto al texto plano (8 bits por cada base), que es como la encontramos en las bases de datos, y compresi´on de la secuencia respecto a codificar cada base con dos bits, el m´ınimo posible al haber cuatro bases. Debido a la variabilidad de las secuencias a comprimir, un mismo algoritmo presenta un rango de valores de ratio de compresi´on.

2. Capacidad de indexaci´on: para facilitar el acceso a una parte de la secuencia gen´etica sin descompresi´on total.

3. Complejidad computacional: es muy recomendable utilizar algoritmos que tengan un coste computacional bajo para reducir al m´ınimo los tiempos de acceso.

9

(24)

10 3.1. Algoritmos de compresi´on de ADN

3.1.1 Biocompress

Biocompress [23] fue el primer algoritmo de compresi´on propio de ADN que se desarroll´o. Fue propuesto por Grumbach et al. en 1993. Se basa en el algoritmo de ventana deslizante propuesto por Ziv y Lempel, conocido como LZ77 [24]. De acuerdo a esta t´ecnica una subsecuencia de bases es codificada usando una referencia a una subsecuencia id´entica codificada con anterioridad. Esta subsecuencia es sustituida por dos par´ametros, la posici´on inicial de la secuencia codificada y la longitud de bases id´enticas. Adem´as, Biocompress, explota una caracter´ıstica presente en las secuencias de ADN, la aparici´on ocasional de secuencias de bases complementarias. La segunda versi´on de Biocompress, Biocompress-2 [25], introduce un modo de operaci´on adicional, basado en la codificaci´on directa con 2 bits/base para las subsecuencias no repetidas.

• El factor de compresi´on presenta valores de 1.03:1 a 1.54:1 aproximadamente seg´un la secuencia codificada utilizando Biocompress-2, respecto a codificar cada base con 2 bits.

• Biocompress no facilita la indexaci´on. La codificaci´on de una subsecuencia depende de lo que se ha codificado anteriormente, por lo que es necesario descomprimir la secuencia completa.

• El coste computacional es O(n2).

3.1.2 CFact y CFact2

Rivals et al. propusieron otra t´ecnica de compresi´on basada en repeticiones, pero aplicando una estrategia de dos iteraciones [26; 27]. En la primera iteraci´on la secuencia completa es analizada buscando coincidencias exactas. En la segunda iteraci´on estas subsecuencias son codificadas usando referencias a subsecuencias anteriores si se consigue una ganancia, mientras que el resto de bases se codifican de forma directa con 2 bits/base.

• Cfact y CFact2 obtienen unos ratios variables seg´un la secuencia, entre 1.03:1 y el 1.47:1.

• Al igual que Biocompress, CFact tampoco facilita la indexaci´on.

• El coste computacional tambi´en es O(n2).

3.1.3 GenCompress

Chen et al. tambi´en explotaron la idea de las subsecuencias repetidas creando el algoritmo GenCompress y su evoluci´on GenCompress-2 [28; 29]. Su idea se basa no s´olo en buscar subsecuencias id´enticas, sino en buscar subsecuencias aproximadas.

Para reproducir la secuencia original el algoritmo utiliza operaciones como reemplazos,

(25)

Cap´ıtulo 3. Compresi´on y seguridad 11

inserciones y eliminaciones, que son codificadas. Al igual que Biocompress, este algoritmo incluye un mecanismo para decidir si merece la pena, en t´erminos de ganancia, codificar la secuencia utilizando este procedimiento. Si no es as´ı, se recurre, de nuevo, a la codificaci´on directa con 2 bits/base.

• GenCompress alcanza unos ratios de compresi´on m´aximos de hasta el 1.82:1 y m´ınimos del 1.03:1 respecto a la codificaci´on con dos bits.

• Del mismo modo que los anteriores, GenCompress codifica subsecuencias en funci´on de subsecuencias anteriores, por lo que no permite la indexaci´on

• Al utilizar un esquema de compresi´on similar a los anteriores tambi´en presenta un coste computacional de O(n2).

3.1.4 LSBD

Por ´ultimo se ha estudiado un algoritmo basado en en la codificaci´on de segmentos llamado LSBD por sus siglas en ingl´es (“Lossless Segment Based DNA Compression”) [30]. Este algoritmo divide la secuencia en segmentos y codifica cada segmento por separado, creando una tabla con la posici´on inicial, final y el offset de cada segmento.

Dentro de cada segmento se codifican triplets de bases (segmentos de tres bases) mediante una tabla de codificaci´on y explota las repeticiones consecutivas de estos triplets. Como ventaja a los anteriores, permite la codificaci´on de caracteres extra˜nos. Tal como se ha explicado anteriormente, los investigadores utilizan caracteres “ambiguos”[17] para el desarrollo de sus estudios (ver Apartado 2.1).

• LSBD obtiene ratios de compresi´on entre 0.77:1 y 1.02:1.

• Este algoritmo s´ı facilita la indexaci´on mediante una tabla de acceso.

• Cada subsecuencia (triplet) se codifica en el momento de ser le´ıda. El coste computacional es de O(n).

3.1.5 Comparativa de algoritmos

A la hora de evaluar los distintos algoritmos se han tenido en cuenta diferentes par´ametros, tal como se ve en la Tabla 3.1. Sin embargo, no todas estas caracter´ısticas tienen la misma importancia. En primer lugar, el algoritmo a alegir debe facilitar el acceso parcial a los datos (ver Apartado 1.2). En segundo lugar, dado que se va a trabajar con se˜nales de gran tama˜no la complejidad computacional ser´a el otro factor de m´as peso. Por otro lado, debido a la capacidad de almacenamiento de los dispositivos de memoria actuales, el ratio de compresi´on, a´un siendo importante, no va a ser un factor determinante. Finalmente, es deseable que el algoritmo permita la codificaci´on de caracteres ambiguos o extra˜nos (ver Apartado 2.1).

Por lo tanto, el mejor algoritmo, de acuerdo a estos criterios, es el LSBD.

(26)

12 3.2. Modificaci´on del algoritmo “Lossless Segment Based DNA Compression”

Algoritmo Indexaci´on Complejidad O()

CR Caracteres

extra˜nos

Biocompress No n2 1.03:1 - 1.54:1 No

CFact No n2 1.03:1 - 1.47:1 No

GenCompress No n2 1.03:1 - 1.82:1 No

LSBD Si n 0.77:1 - 1.02:1 Si

Tabla 3.1: Comparaci´on de las caracter´ısticas de los algoritmos de compresi´on de ADN

3.2 Modificaci´ on del algoritmo “Lossless Segment Based DNA Compression”

Figura 3.1: Esquema del algoritmo LSBD. Imagen obtenida de [30]

El algoritmo presentado en [30] no aprovecha todas sus ventajas y por ello se han propuesto peque˜nas modificaciones que mejoran sus prestaciones. Tanto el primer paso como el segundo se han aplicado tal como se indica en [30]. Se crea la tabla de b´usqueda con las 64 combinaciones de tres bases codificando seg´un la siguiente relaci´on, ’A’ es ’00’,

’T’ es ’11’, ’C es ’01’ y ’G’ es ’10’. A continuaci´on se utiliza dicha tabla para codificar progresivamente triplets de tres bases. El primer cambio se ha introducido en el tercer paso.

1. En el algoritmo se explica que cuando aparece un caracter extra˜no, es decir, un caracter que no sea A, C, G o T ´este se codifica con 24 bits si aparece m´as de tres veces consecutivas o se a˜nade tal cual en caso contrario. El problema que tiene este m´etodo es que a la hora de descomprimir, si se ha a˜nadido el caracter tal cual, puede confundirse con un triplet de bases, y producir una secuencia erronea.

En lugar de ello, el car´acter se codificar´a con 3 bytes siempre, con la siguiente estructura:

• Un byte que har´a de marcador

• El segundo byte contendr´a la codificaci´on del caracter seg´un la norma ISO 8859-1 o ISO Latin-1

(27)

Cap´ıtulo 3. Compresi´on y seguridad 13

• El tercer byte contendr´a el n´umero de repeticiones consecutivas del caracter.

Debido a que en el segundo paso del algoritmo se ha dividido el segmento en triplets de bases, se puede dar el caso de que aparezcan una o dos bases antes de un caracter extra˜no, es decir, que apareca, por ejemplo un triplet ’ACx’, siendo x un caracter extra˜no. En ese caso las bases ’AC’ se codificar´ıan dentro del byte marcador y la secuencia volver´ıa a dividirse en triplets despu´es del caracter extra˜no. Por lo tanto la estructura del byte marcador ser´a la siguiente:

• Los dos primeros bits ser´an ’11’ para indicar que hay un caracter extra˜no.

• Los dos bits siguientes indican cu´antas bases hay antes del caracter extra˜no.

En el caso de que haya una se marcar´an como ’01’ y en el caso de que sean dos como ’10’

• Los cuatro bits menos significativos se dedican a codificar las bases anteriores al caracter extra˜no si las hubiera. Los dos bits menos significativos corresponder´ıan a la base inmediatamente anterior al caracter y los otros dos a la base que se encontrara dos posiciones antes.

Por ejemplo, en el caso de tener la secuencia ...TTTACx... la codificaci´on ser´ıa la siguiente:

• El triplet ’TTT’ se codificar´ıa seg´un la tabla de b´usqueda como ’00111111’

• El triple ’ACx’ se codificar´ıa con 24 bits (3 bytes)

– El primer byte comenzar´ıa por ’11’ para indicar que hay un caracter extra˜no. Le seguir´ıan los bits ’10’ para indicar que hay dos bases antes del caracter extra˜no y los cuatro ´ultimos bits ser´ıan ’0001’, que es la codificaci´on de una base ’A’ y una base ’C’.

– El segundo bit ser´ıa la codificaci´on del caracter extra˜no seg´un el est´andar ISO 8859-1. En este caso x es ’01111000’.

– El tercer byte codificar´ıa el n´umero de repeticiones del caracter extra˜no, en este caso 1, por lo tanto ser´ıa ’00000001’

• El resultado final ser´ıa ’00111111 11100001 01111000 00000001’

De esta forma los caracteres extra˜nos quedan perfectamente codificados y se podr´an descodificar inequ´ıvocamente.

2. Otra peque˜na modificaci´on al algoritmo se ha a˜nadido para el caso de triplets de bases repetidas. En el algoritmo, un triplet repetido m´as de tres veces se codifica de forma parecida a un caracter extra˜no, usando 24 bits. En realidad es posible codificar las repeticiones s´olo con 16 bits. Los ocho primeros corresponden a la codificaci´on del triplet en la tabla de b´usqueda, excepto los dos primeros bits, que en lugar de ser ’00’ se escriben con un valor ’01’. En los ocho ´ultimos bits se codifica

(28)

14 3.3. Perfiles de acceso

el n´umero de repeticiones del triplet. Esto hace que la codificaci´on sea todav´ıa m´as eficiente, ya que reduce el n´umero de bits para codificar la misma informaci´on.

Por ejemplo, si tuvi´eramos 8 triplets seguidos con las bases ’ATG’ bastar´ıa con codificar el triplet de bases ’ATG’ como ’01001110’ y luego a˜nadir un byte que indicara que se repite ocho veces ’00001000’.

3. Por ´ultimo el algoritmo nos presenta una m´etodo para codificar genes similares, basado en buscar genes anteriores similares y codificar s´olo las diferencias, igual que hac´ıa el algoritmo GenCompress. Este m´etodo se ha suprimido debido al alto coste computacional que exige la b´usqueda de genes similares. Por lo tanto, en este aspecto, se genera una merma de las prestaciones del codificador. Se ha preferido perder ratio de compresi´on a cambio de reducir considerablemente el coste de computaci´on, ya de por s´ı elevado, debido al tama˜no de la se˜nal a comprimir, que como se ha comentado anteriormente ser´ıa entorno a 3 GB en un genoma completo.

3.3 Perfiles de acceso

Siguiendo las indicaciones de la LOPD, se ha propuesto un control de acceso a los datos del contenedor basado en roles o perfiles. El administrador elige qu´e secciones son accesibles a cada usuario final seg´un el rol profesional de ´este (m´edico, investigador, estudiante, etc.), otorg´andole permisos para leer y/o escribir esas secciones y ocultarle el resto de la informaci´on. Adem´as cada acceso al contenedor quedar´a registrado en el Registro de Acceso Seguro (SAR), que est´a inclu´ıdo en su secci´on de seguridad.

Como paso inicial se ha de separar la informaci´on del contenedor en grupos de acceso, seg´un su grado de confidencialidad:

• Grupo A: datos personales (subsecci´on 1.1 del contenedor, ver Apartado 4.4).

• Grupo B: datos m´edicos (subsecci´on 1.2, ver Apartado 4.4).

• Grupo C: datos t´ecnicos (secci´on 2, ver Apartado 4.5), e informaci´on gen´etica (secciones 3 y 4, ver Apartados 4.6 y 4.7).

La secci´on de seguridad, que se presentar´a en el Apartado 4.8 es accesible a todos los usuarios. Se han propuesto cuatro perfiles de acceso diferenciados.

3.3.1 Perfil 0 - Almacenamiento

Utilizado por el administrador. Es un perfil que no permite ni la lectura ni la modificaci´on de los datos. Su funci´on es la de realizar copias seguras para usuarios autorizados con el perfil adecuado (perfil 1, 2 o 3). La informaci´on de los grupos A, B y C permanece encriptada y el ´unico cambio posible es el de a˜nadir o eliminar usuarios con permisos de acceso al contenedor.

(29)

Cap´ıtulo 3. Compresi´on y seguridad 15

• Uso: almacenamiento seguro.

• Privilegios: permitir copias seguras sin acceder a la informaci´on.

3.3.2 Perfil 1 - Diagn´ostico/Examen

Dedicado a m´edicos y expertos en ADN, para la realizaci´on de diagn´osticos gen´eticos.

Requiere permisos de lectura de toda la informaci´on del contenedor y de edici´on de los datos m´edicos del paciente.

• Uso: examen y diagn´ostico de enfermedades debido a alteraciones gen´eticas del paciente.

• Privilegios: lectura de los datos de todos los grupos (A, B y C) y posibilidad de editar los datos m´edicos del paciente (grupo B).

3.3.3 Perfil 2 - Investigaci´on/Ense˜nanza

Este perfil est´a dise˜nado para investigadores y estudiantes en formaci´on que requieran un acceso a la informaci´on gen´etica y a los datos m´edicos, para establecer correlaciones entre alteraciones gen´eticas y ciertas enfermedades, filogenia, mutaciones, etc. No obstante, no se permite acceder a los datos personales para proteger la confidencialidad del paciente.

• Uso: investigaci´on gen´etica y ense˜nanaza.

• Privilegios: lectura de la informaci´on gen´etica y t´ecnica (grupo C) y los datos m´edicos (grupo B).

3.3.4 Perfil 3 - Biometr´ıa

Este perfil est´a dise˜nado para ser utilizado por sistemas de identificaci´on biom´etricos.

Permite acceder a la informaci´on gen´etica y a los datos personales del individuo.

• Uso: identificaci´on del individuo.

• Privilegios: lectura de los datos personales (grupo A) y de la informaci´on gen´etica (grupo C).

3.4 Protecci´ on

Seg´un detalla la LOPD (ver Ap´endice B), existen tres requisitos b´asicos de seguridad para pruebas m´edicas: privacidad, integridad y autenticidad. Proteger la privacidad consiste en evitar que los datos puedan ser le´ıdos y registrar los accesos permitidos para

(30)

16 3.4. Protecci´on

Perfil Grupo A Grupo B Grupo C

Almacenamiento Copia Copia Copia

Diagn´ostico/Examen Lectura Lectura y edici´on Lectura

Investigaci´on/Ense˜nanza - Lectura Lectura

Biometr´ıa Lectura - Lectura

Tabla 3.2: Resumen de los permisos de acceso seg´un el perfil de usuario Aplicaci´on/

Perfil

Gen´etica cl´ınica

Contaminaci´on nuclear

Antropolog´ıa Biometr´ıa

Almacenamiento Diagn´ostico/

Examen

x x

Investigaci´on/

Ense˜nanza

x x x x

Biometr´ıa x

Tabla 3.3: Relaci´on entre los perfiles de usuario y aplicaciones basadas en ADN que el paciente pueda consultarlo si lo desea. Comprobar la integridad consiste en validar que los datos no han sido modificados sin permiso y comprobar que toda la informaci´on es genu´ına y est´a completa. Por ´ultimo, se considera que los datos son aut´enticos s´olo si pertenecen al paciente correcto y tienen su origen en la entidad emisora.

• Para proteger la privacidad se utiliza un esquema de cifrado mixto: sim´etrico y asim´etrico. El cifrado sim´etrico (m´as r´apido) ser´a utilizado para encriptar los grupos de datos (A, B o C). Para cada grupo, la GUI (ver Ap´endice C.1) crear´a internamente una clave sim´etrica y un vector de inicializaci´on seguros para el algoritmo seleccionado: AES, Twofish, Blowfish, RC6, 3DES. Este cifrado opera en Output Feedback Mode (OFB) para dificultar el criptoan´alisis y evitar bits extra de relleno. Por otro lado, se utilizar´a cifrado asim´etrico, que es m´as seguro, para proteger las claves sim´etricas y vectores de inicializaci´on. Al contrario que el cifrado sim´etrico, no necesita acordar previamente una clave, sino que utiliza un par de claves constantes(p´ublica y privada) de cada usuario, contenidas en su certificado digital RSA [35].

• Para validar la integridad y autenticidad del contenedor se le a˜nade una firma digital (DS). Primero se realiza un resumen de los datos del contenedor mediante una funci´on de hash (SHA-1, SHA-2, RIPEMD-160 or RIPEMD-256), y a continuaci´on se cifra utilizando un algoritmo asim´etrico (DSA [36] o ECDSA [37]) con la clave privada del administrador. Un usuario cualquiera puede comprobar la validez del contenedor mediante la firma digital almacenada utilizando la clave

(31)

Cap´ıtulo 3. Compresi´on y seguridad 17

p´ublica del administrador, extra´ıda de su certificado digital.

3.4.1 Esquema de protecci´on y acceso

Figura 3.2: Esquema de creaci´on y protecci´on del contenedor digital El procedimiento de protecci´on (ver Figura 3.2) es el siguiente:

1. Como paso previo a la protecci´on se comprime la secuencia gen´etica y se organizan los metadatos por grupos (A, B o C).

2. Se genera una clave sim´etrica y un vector de inicializaci´on (IV) seguros para cada grupo de datos y se aplica el algoritmo de cifrado sim´etrico seleccionado.

La secuencia gen´etica, codificada previamente, no necesita cifrado. La tabla de

´ındices generada, necesaria para decodificar la secuencia ha sido inclu´ıda en la secci´on de informaci´on gen´etica, y por lo tanto basta con cifrar esta informaci´on para proteger la secuencia completa. De esta forma, utilizando cifrado parcial, se reduce considerablamente el coste computacional del proceso.

3. Se genera un conjunto de etiquetas para cada usuario, cifradas con su clave p´ublica para que s´olo ´el tenga acceso. Estas etiquetas contienen las claves sim´etricas y vectores de inicializaci´on que permiten descifrar los datos a los que tiene acceso seg´un su perfil. Estas etiquetas se a˜naden a la secci´on de seguridad del contenedor.

4. La GUI utilizar´a el algoritmo de hash elegido junto con la clave privada del

(32)

18 3.4. Protecci´on

administrador para generar la firma digital del contenedor, que se a˜nade en la secci´on de seguridad.

Figura 3.3: Esquema de acceso al contenedor digital El procedimiento de acceso (ver Figura 3.3) es el siguiente:

1. La GUI determina si el usuario est´a autorizado analizando 40 bytes de la clave p´ublica contenida en su certificado digital.

2. La GUI utiliza la clave p´ublica del certificado digital del administrador para recuperar el hash del contenedor original.

3. Se realiza un hash del contenedor recibido y se compara con el hash recuperado en el paso anterior. Si coinciden, se valida la integridad y autenticidad del contenedor digital recibido.

4. Se utiliza la clave privada del usuario para descifrar las claves secretas de los grupos de datos a los que tenga permiso de acceso.

5. La GUI utiliza esas claves sim´etricas para descifrar los datos correspondientes.

6. Los datos son representados por pantalla y existe la posibilidad de exportarlos. Se requiere un entorno de trabajo seguro, puesto que los datos, una vez exportados, ya no tienen seguridad.

3.4.2 Resistencia a los ataques

Existen tres tipos de ataques posibles: espionaje, alteraci´on y falsificaci´on. La protecci´on que se ofrece frente a cada uno de ellos es directamente proporcional a la gravedad de cada uno.

(33)

Cap´ıtulo 3. Compresi´on y seguridad 19

• Espionaje: consiste en la lectura no autorizada de los datos, vulnerando su privacidad. En el contexto m´edico, un ataque con ´exito de este tipo podr´ıa acarrear consecuencias negativas para el paciente (difusi´on de informaci´on sensible, p´erdida de empleo, aumento de la cuota del seguro, etc.) y medidas legales contra la entidad a cargo de administrar y almacenar la prueba. Existen dos formas de atacar el contenedor. Por un lado, el atacante puede intentar romper la clave sim´etrica de cada grupo de datos. Por otro lado puede intentar romper por fuerza bruta la clave privada de un usuario autorizado y con ella descifrar las claves sim´etricas de los grupos. Ambas opciones son muy improbables puesto que los algoritmos de cifrado utilizados proporcionan seguridad alta o muy alta [31]. Adem´as puesto que la GUI permite el uso de diferentes algoritmos, en caso de que alguno de ellos se volviera vulnerable, el administrador generar´ıa una copia del contenedor utilizando otro algoritmo de cifrado.

• Alteraci´on: consiste en la modificaci´on de los datos almacenados en el contenedor, vulnerando su integridad. En el contexto m´edico, un ataque de este tipo, podr´ıa provocar un cambio en el tratamiento del paciente, afectando gravemente a su salud o desembocando en una investigaci´on err´onea. Aunque este tipo de ataques se puede detectar (mediante la firma digital), no se pueden evitar porque no se implementan medidas de correcci´on de errores. Por tanto, ante este ataque ser´a preciso solicitar una nueva copia del contenedor al administrador.

• Falsificaci´on: consiste en la modificaci´on indetectable de los datos y vulnera la autenticidad del contenedor. Se puede interpretar como una combinaci´on de los dos ataques anteriores. El atacante lee los datos originales, los modifica sin autorizaci´on y los hace pasar por aut´enticos. Este tipo de ataque debe ser considerado el m´as peligroso de todos. El atacante necesita tanto la clave privada de un usuario (o las claves sim´etricas de los datos) como la clave privada del administrador, para generar una firma digital v´alida del contenedor falso. Dada la complejidad de romper por fuerza bruta al menos una clave asim´etrica y otra sim´etrica, la seguridad ante este tipo de ataques es muy alta.

3.5 Contexto de uso en el ´ ambito de la e-salud

En primer lugar, se han definido los diferentes actores involucrados en el proceso de creaci´on y acceso del contenedor digital:

• Laboratorio de secuenciaci´on de ADN: su labor es la de obtener la secuencia gen´etica del paciente y entreg´arsela al administrador.

• Administrador: es el organismo (normalmente un centro m´edico) que encarga la prueba. Es el encargado de generar un contenedor digital y dar permisos a los usuarios.

(34)

20 3.5. Contexto de uso en el ´ambito de la e-salud

• Usuarios: aquellos que reciben permisos para acceder a los datos. Como se ha mencionado en el Apartado 3.3, el administrador le asignar´a a cada usuario un perfil de acceso.

El procedimiento para la creaci´on de un contenedor, tal como se muestra en la Figura 3.4 es:

1. El centro m´edico o de investigaci´on (administrador) encarga la prueba al laboratorio de secuenciaci´on de ADN utilizando un canal seguro (LSS, TLS, etc.).

2. El laboratorio consigue una muestra gen´etica del paciente y secuencia su ADN, obteniendo el genoma del paciente. Crea un contenedor digital (A) con la GUI y da un perfil 0 al administrador. Por ´ultimo, lo env´ıa por un canal seguro TLS al administrador.

3. El administrador crea una nueva versi´on del contenedor (B) con la prueba recibida del laboratorio, los datos t´ecnicos y los datos del paciente. Utiliza el certificado p´ublico de los usuarios en el proceso de protecci´on y genera una versi´on del contenedor digital con permisos para esos usuarios, guard´andose una copia.

4. El administrador transmite el contenedor, por un canal seguro TLS, a los usuarios.

5. Los usuarios utilizan sus claves privadas protegidas mediante contrase˜na (PKCS12 [32]) para acceder a los datos.

6. Los usuarios de perfil 1 pueden modificar los datos m´edicos del paciente, generando una versi´on modificada del contenedor (C). Esta versi´on modificada ser´a enviada por un canal seguro TLS al administrador para que la conserve.

(35)

Cap´ıtulo 3. Compresi´on y seguridad 21

Figura 3.4: Contexto de uso del contenedor digital en el ´ambito de la e-salud

(36)
(37)

Cap´ıtulo 4

Interoperabilidad y estructura del contenedor digital

4.1 Los est´ andares HL7, MAGE-ML y BSML

HL7 (Health Level Seven) [12] es, basicamente, un conjunto de est´andares para facilitar el intercambio electr´onico de informaci´on cl´ınica. Han sido desarrollados por HL7 International, una “Organizaci´on de Desarrollo de Est´andares”(SDOs), para el

´

ambito de la salud. Su misi´on es proveer est´andares globales para los dominios: cl´ınico, asistencial, administrativo y log´ıstico, con el fin de lograr una interoperabilidad real entre los distintos sistemas de informaci´on en el ´area de la salud.

En el ´ambito de la gen´etica se ha desarrollado el est´andar HL7 Version 3 Standard:

Clinical Genomics que utiliza el lenguaje XML. Este est´andar:

• Proporciona un m´etodo estandarizado para la transmisi´on y recepci´on de informaci´on gen´etica detallada que permita el diagn´ostico cl´ınico.

• Promueve la prevenci´on y detecci´on temprana de enfermedades hereditarias.

• Establece mecanismos de interoperabilidad entre el historial cl´ınico electr´onico y las pruebas gen´eticas para promover el cuidado del paciente.

La ´ultima versi´on de este est´andar ha sido dise˜nada de forma que junto a la informaci´on gen´etica pueda a˜nadirse otro tipo de informaci´on, como por ejemplo anotaciones m´edicas, adem´as es capaz de interoperar con otros est´andares (por ejmplo DICOM) y con otros est´andares gen´eticos, como BSML o MAGE-ML, que encapsulan las secuencias, codificadas en texto plano, en formato XML generando documentos que luego son encapsulados dentro de mensajes HL7 version 3. Este est´andar es utilizado para diferentes pruebas gen´eticas, desde el estudio de mutaciones hasta trastornos gen´eticos, o secuenciaci´on de genes.

23

(38)

24 4.2. Interoperabilidad

BSML [9] es un est´andar abierto para la representaci´on e intercambio de datos gen´eticos mediante el lenguaje XML [8]. Permite la representaci´on de secuencias gen´eticas y la inclusi´on de metadatos (investigaciones, anotaciones, representaciones visuales, referencias literarias, etc.). Por otro lado MAGE-ML [11] es otro est´andar de almacenamiento e intercambio de secuencias gen´eticas. Permite la inclusi´on de metadatos de forma organizada mediante un modelo de objetos (MAGE-OM). Es capaz de almacenar informaci´on relativa a la secuencia, experimentos, material utilizado, referencias a bases de datos, etc. Como se ha mencionado anteriormente, HL7 es capaz de encapsular ambos, por lo que la interoperabilidad con cualquiera de ellos certifica, directamente, la interoprabilidad con HL7.

Por lo tanto, existe la necesidad de que el contenedor digital sea interoperable con este est´andar. Para ello, la informaci´on obtenida del contenedor debe seguir las especificaciones de elaboraci´on de archivos de uno de estos est´andares.

4.2 Interoperabilidad

Como se ha mencionado en el Apartado 1.2, uno de los objetivos del presente proyecto era lograr una interoperabilidad con el est´andar HL7. Anteriormente ya se ha descrito este est´andar, y como es capaz de encapsular pruebas y datos creados mediante otros est´andares como BSML o MAGE-ML.

En la actualidad, en el caso de ADN humano, estos est´andares se utilizan para el almacenamiento e intercambio de se˜nales gen´eticas peque˜nas, menores que un genoma completo. Debido a ello, se han definido dos contextos de uso:

• En el caso de que se exporte una parte de la secuencia, se presentar´a la informaci´on en un archivo con formato del est´andar BSML. Esto permitir´a la interoperabilidad con HL7. Tambi´en permite la interoperabilidad con las aplicaciones de las bases de datos, dado que ´estas, ofrecen la posibilidad de introducir la secuencia en texto plano, tal y como est´a en el archivo BSML.

• Cuando se exporte un genoma completo, la informaci´on se exportar´a en dos archivos diferentes. Por un lado la informaci´on gen´etica y los ´ındices, que mantendr´an el formato del archivo que se ha utilizado en la creaci´on del contenedor (ver Apartado 4.6). Por otro lado la secuencia gen´etica en un archivo de texto con extensi´on “.fasta”que es el formato propio de las bases de datos.

De esta forma podemos asgurar la compatibilidad tanto con el est´andar HL7 para el uso de secuencias cortas como con las bases de datos para secuencias cortas o el genoma completo. En la Figura 4.1 se puede observar un esquema de la interoperabilidad del contenedor. Por el momento, no se ha planteado la elaboraci´on de un fichero BSML con el genoma completo debido a la dificultad que existe en la gesti´on de archivos XML de gran tama˜no. Adem´as de esta informaci´on, los datos personales y t´ecnicos inclu´ıdos en el

(39)

Cap´ıtulo 4. Interoperabilidad y estructura del contenedor digital 25

Figura 4.1: Esquema de interoperabilidad del contenedor digital

(40)

26 4.3. Estructura

contenedor han sido elaborados utilizando clases propias del est´andar HL7, garantizando tambi´en, en este sentido, la compatibilidad total entre el contenedor y el est´andar.

4.3 Estructura

Uno de los factores claves a la hora de dise˜nar un contenedor de este tipo es que los datos deben estar ordenados, lo que favorece el acceso. Con ese objetivo se ha propuesto una estructura de datos que permita acceder s´olo a una parte de ellos o a todos seg´un los permisos que tenga el usuario final (ver Apartado 3.3).

El contenedor estar´a estructurado como un archivo XML, con la etique raiz

“DNADigitalContainer”, que contenga campos con la etiqueta “SECTION” y un atributo, llamado “id”, que indique el n´umero de secci´on. Dentro de cada una de ellas se incluir´a la informaci´on cifrada (con dos excepciones) como se ver´a m´as adelante. Cada subsecci´on cifrada, a su vez, est´a codificada tambi´en con formato XML.

En el Ap´endice D se encuentra la definici´on del esquema XML del contenedor. La estructura general es la siguiente:

<?xml version=“1.0” encoding=“ISO-8859-1”?>

<DNADigitalContainer>

<SECTION id=“1”>

<personaldata>datos cifrados</personaldata>

<medicaldata>datos cifrados</medicaldata>

</SECTION>

<SECTION id=“2”>

<technicaldata>datos cifrados</technicaldata>

</SECTION>

<SECTION id=“3”>

<geneticdata>datos cifrados</geneticdata>

<Seq-data>secuencia comprimida</secuence>

</SECTION>

<SECTION id=“4”>

<geneticdata>datos cifrados</geneticdata>

<Seq-data>secuencia comprimida</secuence>

</SECTION>

<SECTION id=“5”>

<acert>certificado del agente</cert>

<hash>funci´on de hash (0-3)</hash>

(41)

Cap´ıtulo 4. Interoperabilidad y estructura del contenedor digital 27

<digsig>firma digital</firma>

<algcif>algoritmo de cifrado sim´etrico (0-4)</algcif>

<access>tabla de acceso

<date>fecha de protecci´on</date>

<user0>

<profile>perfil 0 de administrador</profile>

<clave id=“1”>clave secci´on 1</clave>

<IV id=“1”>vector de inic. sec. 1</IV>

...

</user0>

<user1>

<profile>perfil de usuario</profile>

<clave id=“1”>clave secci´on 1</clave>

<IV id=“1”>vector de inic. sec. 1</IV>

...

</user1>

<user2>... </user2>

...

</access>

<sar>registro de acceso seguro

<date>

<ID>40 bytes de la clave p´ublica</ID>

<profile>perfil de acceso</profile>

</date>

<date>... </date>

...

</sar>

</SECTION>

4.4 Secci´ on 1: Datos personales

Tal como se ha mencionado en el Apartado 1.2, es necesario facilitar la inclusi´on de datos adicionales a la secuancia gen´etica. Ese es el objetivo tanto de esta secci´on como de la siguiente. Esta secci´on incluye todos los datos personales del individuo del que se toma la muestra. Est´a dividida en dos subsecciones, cada una de ellas cifradas por separado.

En la primera se incluyen los datos identificativos tales como el nombre, direcci´on, etc.

(42)

28 4.4. Secci´on 1: Datos personales

y en la segunda los datos m´edicos.

4.4.1 Datos personales

En este apartado (subsecci´on 1.1) est´an incluidos los datos personales del paciente.

Se ha utilizado la clase recordTarget del est´andar HL7:

<?xml version=“1.0” encoding=“ISO-8859-1”?>

<recordTarget>

<patientRole>

<id extension=“xxx” root=“xxx”/> Id del paciente, asignada por el administrador.

<patient>

<name>

<given> Nombre del paciente

<family> Apellidos del paciente

</name>

<administrativeGenderCode code=“(M o F)”> Sexo del paciente

<birthTime value=“aaaammdd”> Fecha de nacimiento

<birthPlace> Lugar de nacimiento

<place>

<addr>

<city>

<country>

<addr/>

<place/>

<birthPlace/>

<patient/>

<patientRole/>

<recordTarget/>

</Personaldata>

4.4.2 Datos m´edicos

Esta subsecci´on (subsecci´on 1.2) incluye ´unicamente los tres campos siguientes:

<?xml version=“1.0” encoding=“ISO-8859-1”?>

<Medicaldata>

<CHRONICAL>Enfermedades cr´onicas no gen´eticas del individuo.

(43)

Cap´ıtulo 4. Interoperabilidad y estructura del contenedor digital 29

Permite la inclusi´on por nombre y/o por c´odigo CIE-10

<DIAGNOSED>Enfermedades gen´eticas diagnosticadas. Tanto en este campo como en el siguiente se incluye el c´odigo MIM de la enfermedad y, opcionalmente, el nombre de ´esta.

<PREDISPOSED>Enfermedades gen´eticas a las que el individuo tenga predisposici´on. Tambi´en se indican mediante su c´odigo MIM.

</Medicaldata>

El proyecto MIM (Mendelian Inheritance in Man) es una base de datos que sirve para catalogar todas aquellas enfermedades conocidas que poseen un componente gen´etico y, cuando es posible, la asociaci´on a los genes del genoma humano. Se publica en formato libro y a trav´es de internet como OMIM (Online MIM). Cada enfermedad de la base de datos se distingue con su c´odigo MIM, de 6 d´ıgitos, cuyo primer d´ıgito clasifica el m´etodo de herencia seg´un la siguiente relaci´on.

• 100.000 - 299.999: Autos´omico locus o fenotipo (catalogadas antes del 15 de mayo de 1994)

• 300.000 - 399.999: Asociado a cromosoma X locus o fenotipo

• 400.000 - 499.999: Asociado a cromosoma Y locus o fenotipo

• 500.000 - 599.999: Mitocondrial locus o fenotipo

• 600.000 - 699.999: Autos´omico locus o fenotipo (catalogadas despu´es del 15 de mayo de 1994)

La informaci´on de cada c´odigo puede encontrarse a trav´es del buscador Entrez de la National Library of Medicine (NLM) [33].

4.5 Secci´ on 2: Datos t´ ecnicos

En esta secci´on se incluyen los datos referentes a la creaci´on del contenedor. Se ha utilizado la clase author de HL7 y presenta los siguientes campos:

<?xml version=“1.0” encoding=“ISO-8859-1”?>

<author>

<time value=“aaaammddhhmmsszzzz”/> Fecha de realizaci´on de la prueba con precisi´on de segundos y zona horaria

<assignedAuthor>

<id extension=“xxx” root=“xxx”/> Id del administrador

<addr> Direcci´on del administrador

<streetAddressLine>

(44)

30 4.6. Secci´on 3: ADN nuclear

<county>

<country>

<postalCode>

</addr>

</assignedAuthor>

</author>

4.6 Secci´ on 3: ADN nuclear

Es la secci´on principal del contenedor. Aqu´ı se incluye la informaci´on gen´etica de ADN nuclear, tanto la propia secuencia codificada como informaci´on sobre los genes que comprende. Tanto esta secci´on como la siguiente son opcionales. Esto es debido a que en ocasiones ser´a interesante incluir ´unicamente el ADN nuclear o el mitocondrial, y por lo tanto s´olo se incluir´ıa la secci´on correspondiente. Esta secci´on se compone de dos partes que se detallan a continuaci´on.

4.6.1 Secuencia gen´etica

La secuencia gen´etica codificada, utilizando la modificaci´on del algoritmo LSBD propuesta en el Apartado 3.2. La secuencia se incluye completa dentro de un campo con la etiqueta “Seq-data” dentro de la etiqueta de la secci´on 3. No est´a cifrada porque para poder descomprimirla har´ıa falta la tabla de traducci´on, como se ha explicado en el cap´ıtulo anterior, y est´a incluida dentro de la siguiente subsecci´on, cuya informaci´on s´ı que est´a cifrada.

4.6.2 Informaci´on gen´etica

Comprende la informaci´on relevante sobre los distintos genes, de forma que al acceder a la informaci´on de un gen se disponga de informaci´on adicional de la propia secuencia.

Como se ha explicado en el cap´ıtulo 2 existen bases de datos p´ublicas en internet que ofrecen informaci´on y secuencias de genes concretos y este apartado ofrece la posibilidad de incorporar dicha informaci´on. Para ello se precisa, como paso previo a crear el contenedor, que se elabore un archivo XML que contenga toda la informaci´on que se quiera incluir sobre los genes. Cada gen se distinguir´a mediante la etiqueta SEGMENT y bajo ella podr´ıa haber tantos campos de informaci´on como se desee. Al crear el contenedor a cada entrada “SEGMENT” se le a˜nadir´an los campos que indiquen d´onde empieza y termina la secuencia del gen en la secuencia completa, tanto comprimida como descomprimida, de forma que facilite la indexaci´on, as´ı como el nombre del gen o segmento.

(45)

Cap´ıtulo 4. Interoperabilidad y estructura del contenedor digital 31

4.7 Secci´ on 4: ADN mitocondrial

Esta secci´on tiene un formato similar al de la anterior. La principal diferencia es que la secci´on anterior incluye la informaci´on gen´etica del ADN nuclear y ´esta incluye la informaci´on gen´etica del ADN mitocondrial. El ADN mitocondrial es mucho menos extenso, tal y como se ha explicado en el cap´ıtulo 2, por lo que el contenido de esta secci´on, ser´a menor que el de la anterior. Al igual que en el caso anterior esta secci´on tambi´en es opcional.

4.8 Secci´ on 5: Seguridad

Esta secci´on incluye informaci´on sobre los algoritmos utilizados para proteger el contenedor digital, las claves sim´etricas cifradas, la firma digital, etc. Presenta los siguientes campos:

<SECTION id=“5”>

<acert>Certificado del agente

<hash>Funci´on de hash utilizada. Valores de 0 a 3 (SHA2 512, SHA1, RIPMED 160, RIPMED 256)

<digsig>Firma digital del agente

<Last update date> ´Ultima fecha y hora de modificaci´on del archivo

<algcif>Algoritmo de cifrado sim´etrico utilizado. Valores de 0-4 (Rjindael (AES), TwoFish, BlowFish, RC6, 3DES)

<access>Tabla de acceso seguro. Contiene la informaci´on de acceso para los usuarios. Una entrada para cada usuario.

<date>Fecha de protecci´on del contenedor

<user0>Perfil y claves del administrador

<cert>40 bytes del certificado del usuario

<profile>Perfil 0 de administrador

<clave id=“1”>Clave secci´on 1

<IV id=“1”>Vector de inic. sec. 1

</user0>

<user1>Perfil y claves del usuario 1

<cert>40 bytes del certificado del usuario

<profile>Perfil de usuario

<clave id=“1”>Clave secci´on 1

<IV id=“1”>Vector de inic. sec. 1

</user1>

(46)

32 4.8. Secci´on 5: Seguridad

</access>

<SAR>Registro de acceso seguro. Una entrada por acceso

<date>Fecha y hora del acceso

<user>40 bytes del certificado del usuario

<profile>Perfil de acceso

</date>

</SAR>

</SECTION>

(47)

Cap´ıtulo 5

Evaluaci´ on y conclusiones

Se ha desarrollado una interfaz gr´afica (GUI) para evaluar las prestaciones del sistema. La informaci´on sobre esta interfaz, as´ı como una gu´ıa de uso, se encuentra en el Ap´endice C.

5.1 Muestras de ADN utilizadas

Se han utilizado tres muestras de genomas completos. Cada una de ellas ha sido obtenida a partir de las bases de datos mencionadas en el Apartado 2.3. Tambi´en se han utilizado segmentos de la primera muestra y un conjunto de 4 genes debido a que ciertas aplicaciones s´olo necesitan almacenar muestras de menor tama˜no que un genoma completo. Estos 4 genes son los mismos que se han utilizado para la comparaci´on del ratio de compresi´on de los algoritmos. Las caracter´ısticas de las muestras son las siguientes:

No muestra

Proyecto Ensamblado Cromosomas No de bases GB

1 PRJNA176729 CHM1 1.0 23(XX) 2.963.455.513 2,76

1.1 PRJNA176729 CHM1 1.0 14 2.278.637.726 2,12

1.2 PRJNA176729 CHM1 1.0 8 1.548.443.517 1,44

1.3 PRJNA176729 CHM1 1.0 3 696.416.518 0,65

2 PRJNA31257 GRCh37.p10 24(XY) + M 3.095.677.412 2,88

3 PRJNA20837 HuRef 24(XY) 2.809.547.336 2,62

No muestra

Genes No de bases KB

4 HUMDYSTROP, HUMHDABCD,

HUMHPRTB, HUMGHCSA

220.866 216

Tabla 5.1: Muestras gen´eticas utilizadas en la evaluaci´on 33

(48)

34 5.2. Ratio de compresi´on

Las muestras 1, 2 y 3 representan secuencias gen´omicas diferentes, organizadas por cromosomas. Esto es as´ı porque las bases de datos no permiten obtener la secuencia completa de cada cromosoma a partir de los genes que contiene ya que permiten acceder a las secuencias de ADN codificante pero no a las secuencias de ADN no codificante. La muestra n´umero 2 incluye, adem´as, la informaci´on del ADN mitocondrial organizada en un solo segmento de 16.569 bases. Las muestras 1.1, 1.2 y 1.3 son porciones de la muestra 1 que representan, aproximadamente, el 75 %, el 50 % y el 25 %, respectivamente, de la longitud de la muestra 1.

5.2 Ratio de compresi´ on

Por un lado se ha medido el ratio de compresi´on directo entre la muestra original, codificada en UTF-8, y la se˜nal comprimida a la salida del compresor y por otro lado entre la muestra y la se˜nal comprimida y codificada en Base 64. Los resultados se muestran en la Tabla 5.2.

En el fichero final se ha inclu´ıdo la se˜nal codificada en Base 64. La se˜nal comprimida es una secuencia binaria, pero el archivo final es un archivo XML con formato de texto y codificaci´on ISO-8859-1. Una codificaci´on directa de binario a texto, codificando 8 bits como un caracter podr´ıa provocar errores en la decodificaci´on de la se˜nal y por lo tanto en la descompresi´on de la muestra. Esto es debido a que al pasar a texto plano, los caracteres de control de ASCII se representan con el mismo s´ımbolo, provocando un fallo en la decodificaci´on. Para evitar estos errores se ha optado por codificar la se˜nal binaria en Base 64, asegurando la integridad de la se˜nal a costa de reducir el ratio de compresi´on, tal como se puede apreciar en la Tabla 5.2, en un factor de 1/4.

Muestra No de bytes sin comprimir

Ratio muestra a binario

Ratio muestra a Base 64

1 2.963.455.513 3,155:1 2,366:1

1.1 2.278.637.726 3,146:1 2,359:1

1.2 1.548.443.517 3,128:1 2,346:1

1.3 696.416.518 3,168:1 2,376:1

2 3.095.677.412 3,156:1 2,367:1

3 2.809.547.336 3,039:1 2,279:1

4 220.866 3,014:1 2,261:1

Tabla 5.2: Ratios de compresi´on del algoritmo LSBD optimizado

(49)

Cap´ıtulo 5. Evaluaci´on y conclusiones 35

5.3 Overhead

Se ha medido el overhead producido al a˜nadir elementos de seguridad a las diferentes muestras en dos casos de inter´es, teniendo en cuenta el n´umero de usuarios involucrados y la longitud de las claves utilizadas [31]. Se ha estudiado que el caso m´as favorable consiste en dar permisos unicamente al administrador con certificado RSA de 1024 bits, algoritmo de cifrado sim´etrico 3DES y funci´on de hash SHA-512. Se ha considerado como un caso muy adverso dar permisos de acceso a 5 usuarios (adem´as del administrador) sobre todas las secciones (perfil 1), con certificados digitales RSA de 4096 bits, algoritmo de cifrado sim´etrico AES256 y funci´on de hash SHA512.

No Muestra Longitud del contenedor(bytes) Overhead

1 1.252.463.179 0,001 % - 0,004 %

1.1 965.906.007 0,001 % - 0,005 %

1.2 659.964.575 0,002 % - 0,008 %

1.3 293.108.555 0,004 % - 0,018 %

2 1.271.538.763 0,001 % - 0,004 %

3 1.232.710.899 0,001 % - 0,004 %

4 976.239 1,279 % - 5,274 %

Tabla 5.3: Overhead del contenedor debido a los elementos de seguridad

Se puede apreciar que incluso en el caso de secuencias peque˜nas el overhead introducido por los elementos de seguridad representa una porci´on peque˜na (t´ıpicamente

<6 %). En el caso de secuencias mucho mayores, como varios cromosomas o genomas completos, el overhead es despreciable incluso en el caso m´as desfavorable.

5.4 Retardos

En primer lugar se han comparado los retardos producidos al cifrar la secuencia gen´etica. Se han estudiado tres casos diferentes: cifrado asim´etrico y sim´etrico directamente sobre toda la secuencia gen´etica y cifrado sim´etrico parcial, tal como se ha explicado en el Apartado 3.4. Como se puede observar en la Figura 5.1 el retardo al aplicar el cifrado (tanto asim´etrico como sim´etrico) directamente sobre la secuencia gen´etica completa es mucho mayor que en el caso de aplicar cifrado parcial.

Esto demuestra que el esquema de cifrado parcial descrito en el Apartado 3.4 reduce sustancialmente los retardos producidos al aplicar las medidas de seguridad.

A continuaci´on se han evaluado las prestaciones de tiempo de compresi´on y protecci´on, seg´un el esquema de cifrado presentado en el Apartado 3.4; es decir, cifrado sim´etrico, asim´etrico y firma digital. Se ha propuesto un caso desfavorable, utilizando el

(50)

36 5.4. Retardos

Figura 5.1: Comparativa de tiempos de cifrado de diferentes secuencias de ADN

No Muestra Longitud (bytes) T compresi´on (s) T protecci´on (s)

1 2.963.455.513 372 18 - 22

1.1 2.278.637.726 265 11 - 14

1.2 1.548.443.517 173 8 - 9

1.3 696.416.518 78 4 - 5

2 3.095.677.412 378 36 - 41

3 2.809.547.336 331 32 - 36

4 220.866 1 <1

Tabla 5.4: Retardos t´ıpicos en la creaci´on del contenedor digital

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

(29) Cfr. MUÑOZ MACHADO: Derecho público de las Comunidades Autóno- mas, cit., vol. Es necesario advertir que en la doctrina clásica este tipo de competencias suele reconducirse

[r]

[r]