scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

En la actualidad, la mejora de las técnicas de secuenciación de ADN y el aumento de los grupos de investigación han permitido el desarrollo de varias aplicaciones. En el ámbito de la e-salud, comienzan a catalogarse genes defectuosos que disparan la probabilidad de padecer enfermedades como cáncer, párkinson 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ón del genoma de un mismo individuo en distintos momentos de la vida permite detectar mutaciones (p.ej. debibas a radiación ionizante). Además, como el genoma de cada individuo es único y guarda estrecha relación con el de sus parientes, puede ser utilizado tanto en aplicaciones biométricas como para realizar estudios filogénicos. Para desarrollar estas aplicaciones, la secuencia de ADN es codificada digitalmente y se incorporan aquellos metadatos (datos personales, datos médicos, anotaciones sobre la secuencia, etc.) que sean pertinentes. Con este propósito, 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, éstos están diseñados para trabajar con muestras pequeñas (para aplicaciones específicas) y por ello no habilitan métodos de compresión. Además, no siempre incluyen mecanismos para la protección de los datos, tal como obliga la legislación vigente (en España, la LOPD). El objetivo de este Proyecto Fin de Carrera es diseñar un contenedor digital optimizado para el almacenamiento e intercambio de genomas humanos o partes de éstos. Éste podrá ser utilizado tanto para las aplicaciones antes descritas (p.ej. genética clínica y biometría) como para futuras aplicaciones por desarrollar. Existen tres elementos de gran interés en su diseño: la selección de un algoritmo de compresión sin pérdidas que permita reducir el tamaño del genoma (aprox. 3 GB), el desarrollo de un sistema robusto de seguridad y control de acceso según roles (p.ej. médico, investigador, sistema biométrico) y la capacidad de interoperar con los estándares ya existentes. Se implementará una interfaz gráfica que permita tanto la construcción como el acceso al contenedor según roles diferenciados. Finalmente se medirán los ratios de compresión de la secuencia genética, el overhead debido a los elementos de seguridad y los tiempos de construcción y acceso al contenedor para evaluar la calidad del diseño. Sanlorenzo Tabuenca, Manuel; Rubio Martín, Óscar Jesús

Full text

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 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. “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. ´ 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 ADNNuclear.................................. 5 2.2 ADNMitocondrial ............................... 6 2.3 Basesdedatos ................................. 7 2.4 Aplicaciones................................... 7 2.4.1 Gen´eticacl´ı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 CFactyCFact2............................. 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 Perfilesdeacceso................................ 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 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 Datospersonales ............................ 28 4.4.2 Datosm´edicos ............................. 28 4.5 Secci´on 2: Datos t´ecnicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.6 Secci´on3:ADNnuclear ............................ 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´on5:Seguridad .............................. 31 5 Evaluaci´on y conclusiones 33 5.1 Muestras de ADN utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.2 Ratiodecompresi´on .............................. 34 5.3 Overhead .................................... 35 5.4 Retardos..................................... 35 5.5 Conclusiones .................................. 37 5.6 Lineasfuturas.................................. 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 Interfazdesarrollada .............................. 49 C.2 Creaci´on del contenedor digital . . . . . . . . . . . . . . . . . . . . . . . . 49 ´ INDICE GENERAL iii C.3 Accesoalosdatos ............................... 56 D Esquema XML 61 21.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,...). 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. 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 62.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. 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 82.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. 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 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, 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. 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. 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. 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. Cap´ıtulo 3. Compresi´on y seguridad 21 Figura 3.4: Contexto de uso del contenedor digital en el ´ambito de la e-salud 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 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 Cap´ıtulo 4. Interoperabilidad y estructura del contenedor digital 25 Figura 4.1: Esquema de interoperabilidad del contenedor digital 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> 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. 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 Node 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 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. NoMuestra 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 36 5.4. Retardos Figura 5.1: Comparativa de tiempos de cifrado de diferentes secuencias de ADN NoMuestra 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 Cap´ıtulo 5. Evaluaci´on y conclusiones 37 algoritmo de cifrado sim´etrico m´as lento (3DES) y las claves de cifrado asim´etrico m´as largas (RSA de 4096 bits). Por otro lado, se ha evaluado un caso favorable, utilizando el algoritmo de cifrado RC6 y cifrado asim´etrico con claves RSA de 1024 bits. En ambos casos se ha utilizado ´un algoritmo de hash SHA-512. Los tiempos obtenidos se muestran en la Tabla 5.4. Por ´ultimo se han evaluado los tiempos de descompresi´on y acceso a los datos (verificaci´on de la firma digital y descifrado) en los casos descritos anteriormente. Los resultados obtenidos se pueden consultar en la Tabla 5.5. NoMuestra Longitud (bytes) T acceso (s) T descompresi´on (s) 1 2.963.455.513 26 - 27 197 1.1 2.278.637.726 22 - 22 152 1.2 1.548.443.517 14 - 14 103 1.3 696.416.518 7 - 7 47 2 3.095.677.412 26 - 27 206 3 2.809.547.336 26 - 27 187 4 220.866 <1<1 Tabla 5.5: Retardos t´ıpicos en el acceso al contenedor digital Tal como se puede apreciar en las Tablas 5.4 y 5.5, los tiempos de protecci´on y acceso no var´ıan mucho entre el caso m´as favorable y el m´as desfavorable. Esto es debido a que la informaci´on cifrada es peque˜na, ya que la se˜nal gen´etica no es cifrada, y se utiliza cifrado sim´etrico, que es muy r´apido, mientras que el cifrado asim´etrico, m´as lento, se utiliza ´unicamente para las claves de los usuarios. Por otro lado, la relaci´on entre el tiempo de compresi´on y descompresi´on var´ıa entre 1.65:1 y 1.89:1 para las muestras utilizadas dado que el proceso de descompresi´on es m´as sencillo que el de compresi´on. Tambi´en hay que tener en cuenta que los tiempos de descompresi´on se refieren a la se˜nal completa. En el caso de acceder s´olo a una parte de la se˜nal, por ejemplo un gen o cromosoma, el tiempo de descompresi´on ser´ıa proporcional a la longitud de ´esta, y los tiempos ser´ıan mucho menores. 5.5 Conclusiones Se ha desarrollado un contenedor digital para almacenamiento e intercambio de secuencias gen´eticas que re´une las siguientes caracter´ısticas: •Capacidad de almacenamiento de un genoma completo, a diferencia de los est´andares actuales que s´olo permiten almacenar secuencias de menor tama˜no. Se ha conseguido un sistema que permite el almacenamiento e intercambio de 38 5.6. Lineas futuras genomas humanos completos y que permite el acceso parcial a los datos. •Implementaci´on y optimizaci´on de un algoritmo de compresi´on de ADN sin p´erdidas, LSBD. ´ Este facilita la indexaci´on, permite la codificaci´on de caracteres extra˜nos y presenta tiempos de compresi´on y descompresi´on adecuados: ≈360 s y ≈196 s para un genoma completo. •El contenedor desarrolado es interoperable tanto con el est´andar de generaci´on de informaes m´edicos HL7 como con el est´andar de almacenamiento de secuencias gen´eticas BSML. Tambi´en es compatible con las bases de datos gen´eticas. •Desarrollo de un sistema de seguridad que combina cifrado asim´etrico, sim´etrico y parcial, estableciendo un compromiso entre seguridad, overhead y retardos. Se dificultan el espionaje, la alteraci´on y falsificaci´on de la informaci´on y se controla su acceso mediante una serie de perfiles. Cada usuario puede acceder a ciertos datos de un contenedor seg´un cu´al sea su rol: administrador, m´edico, investigador, profesor/alumno y sistema biom´etrico. El overhead debido a los elementos de seguridad es muy bajo, <<1 % para genomas completos y los tiempos de protecci´on, ≈20 −35 segundos, y acceso, ≈26 −27 s, son muy inferiores a los tiempos de compresi´on y descompresi´on. 5.6 Lineas futuras A continuaci´on se presentan, por orden de importancia, las lineas de investigaci´on que podr´ıan continuar el presente trabajo: •Visualizaci´on y edici´on: implementaci´on de un m´odulo de visualizaci´on capaz de interpretar y mostrar distintos segmentos de inter´es de la secuencia gen´etica. Con esta implementaci´on, es preciso exportar la secuencia y visualizarla mediante una herramienta externa. Ser´ıa recomendable que esto pudiera hacerse directamente a partir de nuestro formato. Adem´as este m´odulo podr´ıa permitir realizar nuevas divisiones de la secuencia para resaltar zonas de especial inter´es. •Interoperabilidad: lograr que el sistema sea capaz de generar un informe HL7 directamente a partir del contenedor. Con la implementaci´on actual es preciso utilizar un int´erprete que una los diferentes datos exportados: personales, t´ecnicos y la secuencia gen´etica. •Importaci´on de nuevos algoritmos de seguridad: los organismos encargados de evaluar el nivel de seguridad de los diferentes algoritmos de cifrado (p. ej. el NIST [34]), prev´en que ´estos seguir´an siendo seguros m´as all´a del a˜no 2030, simplemente utilizando claves m´as largas. No obstante, si aparecen algoritmos de seguridad con mejores prestaciones (p.ej. igual de seguros pero m´as r´apidos), ´estos podr´ıan ser f´acilmente importados y utilizados dentro de nuestro sistema. Cap´ıtulo 5. Evaluaci´on y conclusiones 39 •Algoritmos de compresi´on: Si alguna de las investigaciones sobre compresi´on de se˜nales gen´eticas revela un algoritmo de compresi´on que permita la indexaci´on, la inclusi´on de caracteres extra˜nos y reduzca el tiempo de compresi´on, se utilizar´ıa ´este algoritmo para reemplazar el que se ha utilizado. Bibliograf´ıa [1] The Human Genome Project Information, http://www.ornl.gov/sci/techresources/Human Genome/home.shtml [2] Klein and Lohmann-Hedrich. Impact of genetic findings in Parkinson´s disease. Curr Opin Neurol 20: 453-464.2007. [3] Montoya, F., Bedoya, C. I., Restrepo, M. C., Vilegas, A., Posada, S. C., Garc´ıa, H. I., & Vicario, J. L. (1996). Determinaci´on de marcadores gen´eticos en pacientes con diabetes tipo I y poblaci´on sana. Acta m´ed. colomb, 21(1), 10-6. [4] Ruiz Flores, P., Calder´on, G., Laura, A., & Barrera Salda˜na, H. A. (2001). Gen´etica del c´ancer de mama. BRCA1 y BRCA2: los principales genes del predisposici´on a la enfermedad; Breast cancer genetics BRCA1 and BRCA2: the main susceptibility genes. Rev. invest. cl´ın, 53(1), 46-64. [5] Standards and eHealth, ITU-T Technology Watch Report, January 2011 [6] Digital Imaging and Communications in Medicine (DICOM). National Electrical Manufacturers Association. Rosslyn, VA, PS 3.1-2011, http://medical.nema.org/standard.html, 2011. [7] SCP-ECG, Standard Communication Protocol for Computer - Assisted electrocardiography, EN1064:2005+ A1:2007. [8] Cerami, E. (2005). XML for Bioinformatics (Cap´ıtulos 1 y 2). Springer-Verlag New York Incorporated. [9] LabBook Inc. Bioinformatic Sequence Markup Language (BSML), 2002 [10] World Wide Web Consortium (W3C) http://www.w3.org/. 41 42 Bibliograf´ıa [11] Spellman PT, et al.: Design and implementation of microarray gene expression markup language (MAGE-ML). Genome Biol 2002, 3(9):RESEARCH0046 [12] Health Level 7 (HL7) International, http://www.hl7.org/index.cfm [13] Ley Org´anica de Protecci´on de Datos de car´acter personal (LOPD) 15/1999 de 13 de Diciembre. [14] The Health Insurance Portability and Accountability Act of 1996 (HIPAA); Pub.L. 104-191, 110 Stat. 1936, enacted August 21, 1996. [15] Personal Information Protection and Electronic Documents Act (PIPEDA); S.C. 2000, c. 5. [16] W.S. Klug and M.R. Cummings “Conceptos de gen´etica”, Prentice Hall Iberia, 1999. [17] Li´ebecq, C. - IUPAC - IUBMB Joint Commission on Biochemical Nomenclature and Nomenclature Commission of IUBMB “Biochemical Nomenclature and Related Documents”, 2nd edition, Portland Press, 1992, [ISBN 1-85578-005-4]. [18] Kelly A. Frazer “Decoding the human genome”, doi: 10.1101/gr.146175.112 Genome Res. 2012. 22: 1599-1601 [19] GenBank, National Center for Biotechnology Information (NCBI), http://www.ncbi.nlm.nih.gov/genbank/. [20] EMBL, European Bioinformatics Institute (EBI), http://www.ebi.ac.uk/embl/. [21] DNA DataBank of Japan, National Institute of Genetics (NIG), http://www.ddbj.nig.ac.jp/. [22] Ram´on Marcos “Consecuencias para la salud de la radiaci´on en Fukushima”, 19 de marzo de 2001, Blog de Greenpeace, http://www.greenpeace.org/espana/es/Blog/consecuencias-para-lasalud-de-la-radiacin-en/blog/33830/. [23] S. Grumbach and F. Tahi, “Compression of DNA sequences”, in Proc. of the Data Compression Conf., DCC-93, Snowbird, Utah, 1993, pp. 340-350. [24] J. Ziv and A. Lempel, “A universal algorithm for sequential data compression”, IEEE Trans. on Information Theory, vol. 23, pp. 337343, 1977. Bibliograf´ıa 43 [25] S. Grumbach and F. Tahi, “A new challenge for compression algorithms: genetic sequences”, Information Processing & Management, vol. 30, no. 6, pp. 875-886, 1994. [26] E. Rivals, J.-P. Delahaye, M. Dauchet, and O. Delgrange, “A guaranteed compression scheme for repetitive DNA sequences”, Tech. Rep. IT-95-285, LIFL, Universit´e des Sciences et Technologies de Lille, Nov. 1995. [27] E. Rivals, J.-P. Delahaye, M. Dauchet, and O. Delgrange, “A guaranteed compression scheme for repetitive DNA sequences”, in Proc. of the Data Compression Conf., DCC-96, Snowbird, Utah, 1996, p. 453. [28] X. Chen, S. Kwong, and M. Li, “A compression algorithm for DNA sequences and its applications in genome comparison”, in Genome Informatics 1999: Proc. of the 10th Workshop, K. Asai, S. Miyano, and T. Takagi, Eds., Tokyo, Japan, 1999, pp. 51-61. [29] X. Chen, S. Kwong, and M. Li, “A compression algorithm for DNA sequences”, IEEE Engineering in Medicine and Biology Magazine, vol. 20, pp. 61-66, 2001. [30] T. V. Mridula and P. Samuel, “Lossless segment based DNA compression”, Electronic Computer Technology, pages 298-302, 2011. [31] http://www.keylength.com/en/4/ [32] PKCS 12 v1.0: Personal Information Exchange Syntax, RSA Laboratories, June 24, 1999. [33] Entrez, National Library of Medicine (NLM), http://www.ncbi.nlm.nih.gov/omim. [34] National Institute of Standards and Technology, http://www.nist.gov/index.html. [35] RSA Laboratories, PKCS 1: RSA Cryptography Standard; 2002. http://tinyurl.com/76oms. [36] Kravitz DW. (FIPS PUBS 186: Digital Signature Standard (DSS); 1994. http://tinyurl.com/2pxg3h. [37] Certicom Research, Standards for efficient cryptography, Section 1: Elliptic Curve Cryptography, Version 2.0; 2009. http://tinyurl.com/6sqlb3d. 50 C.2. Creaci´on del contenedor digital Figura C.1: GUI: Men´u de selecci´on de idioma la opci´on de “Crear”para crear un contenedor nuevo o la opci´on de “Acceso”para acceder a los datos de un contenedor. A continuaci´on se explica el proceso de creaci´on de un nuevo contenedor, y m´as adelante se explicar´a el de acceso. En la Figura C.2 se muestra el men´u principal para crear el contenedor. Figura C.2: GUI: Men´u principal de creaci´on Anexo C. Desarrollo de la GUI 51 1. A˜nadir usuarios con permiso de acceso Tras pinchar en el bot´on “A˜nadir usuarios”se abrir´a el men´u de la Figura C.3. En ´el se puede dar permiso de acceso hasta a cinco usuarios distintos, a˜nadiendo para cada uno de ellos su certificado p´ublico y seleccionando en cada caso el perfil de acceso. Una vez seleccionados todos los certificados y perfiles basta con volver al men´u anterior cerrando la ventana, o seleccionando cualquiera de los otros men´us. Figura C.3: GUI: Men´u a˜nadir usuarios 52 C.2. Creaci´on del contenedor digital 2. Datos personales A continuaci´on se a˜naden los datos personales del paciente y sus datos m´edicos. Una vez completados se pulsa sobre el bot´on “guardar”para terminar, y para salir basta pulsar otro bot´on del men´u principal o cerrar la ventana. Figura C.4: GUI: Men´u datos personales Anexo C. Desarrollo de la GUI 53 3. Datos t´ecnicos En este men´u se a˜naden los datos referentes a la obtenci´on de la muestra y el organismo que crea el contenedor. Se ha de seleccionar tambi´en si el contenedor incluir´a la informaci´on gen´etica nuclear, mitocondrial o ambas, y por ´ultimo cu´al va a ser el algoritmo de compresi´on de la secuencia gen´etica. Figura C.5: GUI: Men´u datos t´ecnicos 54 C.2. Creaci´on del contenedor digital 4. Informaci´on gen´etica El siguiente paso es seleccionar el archivo de texto donde se encuentra la secuencia gen´etica completa y el archivo en formato XML que contiene la informaci´on de dicha secuencia. Una vez seleccionados los dos archivos se pulsa el bot´on “codificar”para generar la secuencia codificada. Como puede observarse en la Figura C.6 el men´u cuenta con dos ´areas diferentes, una para la secuencia gen´etica nuclear y otra para la mitocondrial. Ambas secuencias han de codificarse por separado. En la parte superior del men´u se puede seleccionar el algoritmo de compresi´on de la secuencia. El algoritmo seleccionado aqu´ı y el del men´u datos t´ecnicos deben coincidir para asegurar la integridad y correcci´on de la informaci´on. Figura C.6: GUI: Men´u informaci´on gen´etica Anexo C. Desarrollo de la GUI 55 5. Proteger En realidad los pasos anteriores podr´ıan aplicarse en cualquier orden, pero se ha propuesto un orden concreto que corresponde con el orden de las secciones del contenedor digital y que facilita la labor de creaci´on de un nuevo contenedor. Sin embargo, el ´ultimo paso siempre ser´a aplicar los sistemas de protecci´on. En caso de no haber realizado alguno de los pasos anteriores, al intentar proteger la muestra, la aplicaci´on detectar´a que falta alg´un dato y abortar´a el proceso. En el men´u de la Figura C.7 se muestran los par´ametros necesarios para aplicar la protecci´on. Por un lado el certificado p´ublico del agente y su clave privada protegida por contrase˜na y por otro los algoritmos de cifrado y hash a aplicar. Una vez seleccionados se pulsa el bot´on “proteger”que realizar´a las tareas de encriptado y firma digital y por ´ultimo se puede guardar una copia del contenedor pulsando el bot´on “exportar contenedor digital”. Figura C.7: GUI: Men´u proteger 56 C.3. Acceso a los datos C.3 Acceso a los datos Si se escoge la opci´on “Acceso”en el panel de selecci´on de idioma aparecer´a el siguiente men´u: Figura C.8: GUI: Men´u principal de acceso Tal y como se aprecia en la figura anterior en este men´u se selecciona el certificado p´ublico y las claves del usuario. A continuaci´on, si la contrase˜na es correcta, se debe cargar el contenedor digital creado previamente y pulsar el bot´on “Acceso”. El programa comprobar´a que el usuario tiene derechos de acceso y que el fichero es ´ıntegro, verificando la firma digital con la clave p´ublica del agente. Si ´esta es correcta el usuario podr´a acceder a los datos del fichero, visualizando una nueva ventana cuya apariencia ser´a diferente seg´un el perfil de usuario. Anexo C. Desarrollo de la GUI 57 1. Usuario de perfil 0 (Administrador) El administrador del contenedor no puede acceder a los datos. Su funci´on es la de a˜nadir o quitar usuarios autorizados o crear una nueva copia del contenedor. Adem´as, tal como se ha visto en el Apartado ??, el administrador recibe un contendor digital del que tiene que exportar los datos para construir uno nuevo, que ser´a el que entregue a los usuarios finales. Por lo tanto tambi´en puede exportar los datos del contenedor. Figura C.9: GUI: Men´u de acceso para el administrador 58 C.3. Acceso a los datos 2. Usuario de perfil 1 (Diagn´ostico/Examen) Este tipo de usuarios pueden acceder a todos los datos e incluso modificar los datos personales y m´edicos del paciente. Los botones “datos personales”y “datos t´ecnicos”abren las mismas ventanas presentadas en el Apartado C.2 para este mismo tipo de datos. Tambi´en se ofrece la posibilidad de buscar la informaci´on y secuencia de un gen o segmento deseado simplemente escribiendo el nombre en el campo en blanco y pulsando el bot´on “buscar gen”. Por ´ultimo se pude guardar tanto la informaci´on de un s´olo gen o toda la informaci´on gen´etica descodificada pulsando los botones de exportar. Una vez finalizado se pulsa el bot´on “finalizar y salir”que ´guardar´a una copia modificada del archivo original incluyendo los datos del acceso. En caso de haber modificado los datos del paciente, el usuario actual pasar´a a actuar de agente, asegurando la integridad de los datos con su firma digital. Figura C.10: GUI: Men´u de acceso para usuarios de perfil 1 Anexo C. Desarrollo de la GUI 59 3. Usuario de perfil 2 (Investigaci´on/Ense˜nanza) Estos usuarios tienen permiso para acceder a todas las secciones excepto a los datos personales del paciente. El men´u de acceso para usuarios de este perfil es similar al mostrado anteriormente, excepto en el bot´on “datos personales”, que en este caso s´olo permite ver los datos m´edicos del apciente, pero no su identidad, tal y como se muestra en la figura siguiente. Figura C.11: GUI: Men´u de acceso para usuarios de perfil 2