May 28, 2013

Bioinformatics

Tittle: Combining Cryptography with Biometrics for Enhanced Security
Authors: SP.Venkatachalam, P.Muthu Kannan y V.Palanisamy

In the past few years of computer security, biometrics has been used for various types of security problems. The uniqueness of biometrics for any human being makes the identification system more secure. Biometrics is widely used in person identification and verification. The combnation of cryptography with biometrics is a new research area. This technique proves to be more secure than conventional cryptography. This article is about biometric encryption or biometric cryptography approaches and algorithms which use various biometric data.

Conventional cryptography uses encryption keys, which are just bit strings usually 128 bit long. These keys, either “symmetric,” “public,” or “private,” are an essential part of any cryptosystem. A person cannot memorize a long random key, so that the key is generated, after several steps, from a password or a PIN that can be memorized and often made by the user. The password management is the weakest point of any cryptosystem, as the password can be guessed, found with a brute force search, or stolen by an attacker. On the other hand, biometrics provides a person with unique characteristics which are always there. biometric images or templates are variable by nature. An obvious role of biometrics in the conventional cryptosystem is just password management.

The key must be stored in a secure location, this scheme is still prone to the security vulnerabilities, becuase the biometric system and the application are connected via one bit only. Biometric templates stored in a database can be encrypted by conventional cryptographic, this would improve the level of system security, if an attacker gain the access to the encryption keys first. However, there still ome issues because the the database is controlled by a custodian.


User-based cryptographic keys

Cryptographic systems require a secret key or a random number which must be tied to an individual through an identifier. This identifier indeed could be a globally unique user id or biometric data. Generating userID-based key or random number is straightforward and the techniques could easily be found in literature. But generating user-based cryptographic keys includes several of approaches.


User-dependent Key Generation

In cryptography, pseudorandom numbers are generated these numbers can be used directly as a key or adjusted with user-dependent data like an user ID or biometric data. In order to make the key depends on a specific user, two ways could be applied:
  • First the key generation algorithm could be modified by using the userdependent data.
  • Second the pseudorandom number could be modified. This modification is accomplished using a front-end or back-end approach, in which the pseudorandom numbers are treated as intermediate values and processed further.
Biometric template of user is denoted by T which is a t-bit value. The aim of the authors is to generate an n-bit-long random number or key K, using T.

To generate pseudo random numbers are neccesary, some of them are:

Method 1

This method is based on pairing the biometric data with random numbers. The seed value of the pseudo random number generator consists of a secret random value R and T. In order to eliminate any structure
of a complex function f is applied, so the seed value is defined by seed=f(R, T) where f is the one-to-one mixing function.

Method 2 

In this method R and T are inputs to a more complex function that generates an n-bit pseudorandom number S which could be used directly as a key or as an input to key generation algorithm. The algorithm is as follows:
  • Generate a secret pseudorandom number R by using a generator.
  • Let Z=H(R,T) || H(R+1,T) || H(R+2,T) || ... || H(R+a,T)
    where a=[n/h]-1. Here H is a strong collision-resistance oneway hash function. H generates an h bit output from any length input. The symbol “||” denotes the concatenation operation. 
  • Let S be n specific bits of Z like the leftmost bit.
In practice this method is designed for the user to store the value of R and generate S from R and T on demand. S might be an encryption key; in this case, R might be encrypted and stored within a cryptographic subsystem.

Method 3 

In this method R and T are combined via a simple XOR function to generate an n-bit secret pseudorandom number S. The algorithm is as follows: 
  • Let Z=H(R,T) || H(R+1,T) || H(R+2,T) || ... || H(R+a,T)
    where a=[n/h]-1. 
  • Xn specific bits of Z. 
  • R = n-bit secret pseudorandom number, where R is either specified by the system or generated in his step using a generator.
  • S = R (XOR) X.


Method 4

Due to the hash function collision probability the previous three methods do not guarantee that a key or random number derived for a user will be unique. The probability of two users ending up with the same pseudorandom number is still present and will be quite small if n and h are chosen to be large. 

In this method, the user can prove or can't deny that a key is one belonging to his/her designated space of keys or random numbers. It is assume that the value to be generated is n-bit long where (n > t). The algorithm is a two step process:
  • Divide the space (2n) into 2t subspaces.
  • Choose n-bit value at random from the user’s subspace. The first step of the algorithm is realized by taking the first t bits from the biometric data representation and allow the remaining n - t bits to take any value.

Biometric Encryption Algorithm 

For encription in the biometric part it can be use:

Correlation

This algorithm uses the entire image instead of using a feature based approach. In order to present the biometric input a correlation mechanism is applied. The correlation between the input image and the obtained image during the verification phase is formally defined as, where, FT is the Fourier Transform and F denotes the transformed image. is usually represented by a filter function H(u) and is used as a biometric template. This filter function produces a distinctive correlation peak at the output of the system.

The process of correlation is used as a mechanism for linking and retrieving the digital key. The process of the Biometric Encryption does not extract a simple True/False system it produces a more sophisticated output pattern which is linked during enrolment with a digital key and subsequently regenerated during verification to retrieve the same key. The filter function consistently produces the same output pattern for a legitimate user and tolerant to distortions present in the input image. Storing only the phase of the filter function H(u), satisfies the security requirement for biometric encryption. The magnitude of H(u) is necessary for the discrimination and distortion tolerance properties.

Enrollment

Enrollment phase contains three stages.

  • Stage E-1
This stage is responsible for combining a series of input fingerprint images with a random phase array to create two output arrays: Hstored(u) and c0(x).

The objective of this stage is to generate an output pattern to be passed to stage E-2, as well as to generate the stored filter function.

Image Processing at Stage E-1

  • Stage E-2
This second stage links a cryptographic key, k0, to the pattern c0(x), via the link algorithm.

This stage is responsible for linking the output pattern with an n-bit key. In this algorithm a lookup table is created and stored for use in key retrieval during verification. Link algorithm first comprises a selection of a portion, then the real and imaginary components of the cropped portion are concatenated to form an enrollment template according to their position in the portion. All these values are stored in a table after they are binarized by a threshold scheme. Then is selected for example  L bits from the template to represent each of the n key bits.

    Key link algorithm
  • Stage E-3
Finally at this stage the algorithm creates an identification code, id0, derived from the key k0.

The method used for key validation is based on encrypting S bits of data by using the input n-bit key k0, then the encrypted text is hashed by a one-way hash function to create an identification code, which then will be stored.

Overview of the enrollment process

Verification

This session is symmetric to the enrollment session with respect to the linking and retrieving of the digital key. Verification also has three stages:
V-1 - some image processing is applied to combine Hstored(u), from the Bioscrypt, with a new series of input fingerprint images to create an out pattern c1(x).
V-2 - key k1 is retrieved by the retrieval algorithm this key is validated by creating a new identification code, id1 and comparing it with id0. As in enrollment, a set of fingerprints are acquired from the user and Fourier transforms are performed on the images. By using the Hstored(u) retrieved from the Bioscrypt, an output pattern is calculated and passed to the second stage of verification. The key retrieval algorithm takes the output pattern c1(x) and create a binarized verification template.
Overview of the retrieval algorithm

V-3 - The key k1 is released if and only if it precisely matches k0. Although the Biometric Encryption algorithm is first developed for the image type biometric templates it could be easily adapted to the other biometrics as well. Biometric encryption provides convenient and secure widespread use of biometric cryptographic systems.


Using keystroke dynamics for security

In order to generate stronger passwords which can not be easily found, a technique based on keystroke dynamics could be proposed. A stronger password might be generated by using the password’s textual characteristics and the user’s typing patterns. This hardened password then might be used as a cryptographic key.

Keystrokes as a Biometric Cryptographic key 

Legitimate user’s typing patterns consist of durations and latencies between keystrokes. In this scheme these properties are combined to generate a hardened password, but there are several problems in such a system like:
  • Identify typing features that the user reliably repeats 
  • Use these features when the user types her password to generate the correct hardened password.
If an attacker learns the durations and latencies which are reliably repeated by the user, this will be a catastrophic end. 

This technique improves the hardened password over time by adapting itself to the user’s typing patterns.


Keystroke Patterns for Computer Access Security.

Keystroke patterns are used for authenticating a user. Keystroke rhythms are a method that tries to understand individual’s behaviour. In this method biometric data is assigned to a vector which carries all well-known values of the property. By using a minimum-distance classifier, it will be easy to make a decision by finding the distance between the test pattern and the templates of each individual which are previously determined after a training phase. The main steps are:

  • First, parameters of users’ keystroke are collected using a login form and stored in a database. 
  • Next, is the validation step where the users’ parameters are processed by an efficient validation algorithm. Also new parameters are generated. 
  • Then, is the decision making step, new values calculated during the validation phase are transferred to a decision function. In this step user is accepted or rejected. 
  • Finally, the parameters belong to the successful login are updated in the database. 
The system learns user’s keystroke dynamics. Keystroke patterns are low-cost user-specific data especially for biometric authentication and cryptography and it should be noted that they are usually difficult to detect and analyze.

Cryptographic keys generater from voice

Human voice is a good biometric to generate a cryptographic key. The authors focus on focus on a way of generating a key upon its user speaking a chosen password to it.

The keys must be unguessable by attackers and reproducible by intended parties when needed to perform cryptographic operations. For the goal of unguessability, one solution is in which a user utters a password to his/her device and that device would generate a key. Repeated utterance of the same password by the same
user would improve the security of the key after successful matches with his/her previous recorded utterances.


Generating Feature Descriptors from Voice

The algorithm in "Using voice to generate cryptographic keys: A position paper" by F. Monrose, M. K. Reiter, Q. Li and S. Wetzel; represents a user utterance as a sequence of frames, each of which is a 12-dimensional vector of cepstral coefficients characterizing a 30 milliseconds window of the utterance. After the voice is captured, some endpoint detection, silence removal and cepstrum mean subtraction are applied and then speaker and text independent acoustic model is used to segment the sequence of frames into m portions.

The previuos algorithm is as follows:

  • For each segment find the centroid in the acoustic model that yields the highest likelihood score for the model. 
  • Use the Viterbi algorithm to compute a new segmentation with ‘m’ segments that maximizes the product of segment likelihoods relative to the centroids chosen in the previous step.

Segmentation

Conclusion

In this article are presented a general overview of using biometrics for security purposes and several algorithms that allow users to generate cryptographic keys and random numbers based on their unique biometric information.

Biometrics offer many advantages over current authentication methods, because they are convenient for users and cannot be forgotten or shared between users. They are particularly attractive for use with single sign-on systems, as both the benefits and the costs of the biometric system can be shared across multiple domains. Furthermore, developers of single sign-on systems are realizing that in order to be successful, they must be able to prove that an account belongs to a live person. On the other hand, the need for cryptographic keys and random numbers highly increases by the growing concern over the possible attacks based on the generation of values that lie within a certain undesirable interval or satisfy some other properties that favour the attacker. This article is focused on the trademark encryption algorithm proposed by Mytec Technologies named as Biometric Encryption and Bioscrypt. This method does not propose a two-stage scheme, which first authenticates the user and releases the key. Instead the key is linked with the biometric data during the enrollment phase and later is retrieved at the verification phase. This scheme also uses the image-type patterns and does not present a feature-based representation method because of the prevention of data loss during the extraction. Biometric Encryption could be applied to any biometric image or an array consisting of biometric features.

Using voice instead of keystroke dynamics is another biometric-based cryptography method. This biometric security system uses a similar approach as presented previously in keystroke-based biometric cryptosystem, except for the feature extraction and key generation phases. This algorithm uses cepstral coefficients as voice features and uses Viterbi algorithm to strengthen the key.

Personal Conclusions

Separately the biometrics and cryptography have many vulnerabilities, such keys can be guessed by brute force mechanisms and man in the middle.

Another problem occurs when users choose passwords that are easy or simple when encrypt remain vulnerable.

By combining these two technologies yields a more secure system because even if one of the keys to decrypt would yet another to decipher. Also if you use the encryption using keystrokes or voice encryption this adds more complexity to break the system.

The use of biometrics along with other areas makes you get more robust and complete systems, even if biometrics is still an area that has several faults or is still under investigation.

References

May 25, 2013

Aplicación Redes Sensoras.

Título: Application of Sensor Network for Secure Electric Energy Infrastructure
Autores: Ramón Alberto León Candela

Las redes de sensores inalámbricas se están convirtiendo en la tecnología de elección para aplicaciones de detección sobre todo debido a su facilidad de instalación y su bajo menores.

En este trabajo el autor propone un nuevo diseño conceptual de una aplicación de la tecnología inalámbrica de sensores para evaluar la salud estructural de las líneas de transmisión y su aplicación para mejorar la observabilidad y la fiabilidad de los sistemas de energía.

Introducción.

Con la creciente amenaza del terrorismo en todo el mundo, se está prestando más atención a la seguridad de la infraestructura de transmisión eléctrica. Aunque es muy difícil de evitar o predecir cuándo y dónde pueden producirse estos actos terroristas, la evaluación rápida de la situación puede ayudar a los operadores a tomar medidas óptimas para evitar eventos en cascada y los apagones parciales o totales consiguientes.

Las fallas mecánicas resultantes de los ataques maliciosos en una línea de transmisión son básicamente las mismas que las que resultaría en que los acontecimientos naturales extremos afectan a una parte de la línea de transmisión.

El método actual para evaluar el daño causado por cualquier acontecimiento físico inesperado en la red de transmisión es la inspección visual de la infraestructura de transmisión. Con los problemas que se producen en entornos de concentrados, como subestaciones o plantas de generación, no es difícil de encontrar y evaluar los daños con una bastante pequeña tripulación o con cámaras de vigilancia adecuadamente localizada. Pero en líneas de transmisión que están geográficamente dispersos a través de cientos de kilómetros, esta tarea es más difícil. Sin embargo, una vez que se produce un evento, el operador del centro de control recibe únicamente que se produjo un fallo eléctrico, pero no si es temporal o permanente. Por lo tanto, las normas de funcionamiento que él / ella tiene que tratar de reinsertar la línea en falta con el fin de comprobar la condición temporal / permanente del evento. Una vez que todos los intentos fallan, entonces la línea se marca como permanentemente fuera de servicio.

Se propone la utilización de una tecnología de red inalámbrica sensora para la detección de fallos mecánicos en líneas de transmisión tales como: insuficiencia conductor, torre se colapsa, puntos calientes, las condiciones mecánicas extremas, etc. La aplicación propuesta consiste en la instalación de sensores para la supervisión mecánica en torres predeterminadas de una línea de transmisión y la comunicación a través de una red inalámbrica. El objetivo principal es obtener una imagen física y eléctrica completa del sistema de energía en tiempo real, diagnosticar inminente, así como fallas permanentes, y determinar las medidas de control adecuadas que podrían adoptarse de forma automática y/o sugeridas a los operadores del sistema una vez que un condición mecánica extrema aparece en una línea de transmisión.

Características mecánicas de líneas aéreas de transmisión.

El diseño de líneas eléctricas aéreas conceptualmente los considera integrado por cuatro componentes: bases, soportes, interfaces y conductores. El proceso de diseño tiene en cuenta la coordinación de las resistencias mecánicas ya que el fallo de uno de los cuatro componentes puede dar lugar al colapso de toda la instalación de transmisión.

Cuando los diferentes componentes de una línea de transmisión se someten a sus límites de la fuerza, su fracaso podría ser repentina, que se producen en la fracción de segundo y puede dar lugar a la inestabilidad, la ruptura o separación completa; o podría ser progresiva, resultando en la pérdida de fuerza que eventualmente conduce a daños después de largos períodos de tiempo.

Hay dos tipos principales de estructuras de apoyo, la tensión y los apoyos de suspensión. Teniendo en cuenta el costo relativamente bajo, una gran parte de una línea de transmisión se ven agravados por los soportes de suspensión. Por lo tanto, debido a sus características de construcción, cuando se produce un fallo en cualquiera de los miembros de suspensión de una sección determinada, hay una muy alta probabilidad de colapso de la suspensión restante de la sección afectada, produciendo un fallo en cascada estructural.

Red sensora propuesta

Existen sensores capaces de controlar las variables mecánicas de la línea de transmisiòn que se podría utilizar para detectar condiciones anormales cuando aparecen los fenómenos ambientales extremos o accidentes relacionados con humanos o sabotajes. Los investigadores han encontrado que la utilización de sensores de aceleración, de deformación y el desplazamiento puede proporcionar un nivel adecuado de observabilidad para terremotos y vientos.

Dado que la temperatura es también una preocupación en la transmisión de la energía eléctrica, la aplicación puede tomar ventaja de la infraestructura de detección para colocar sensores de temperatura en el punto de unión de conductores para detectar posibles puntos calientes y los problemas relacionados con el sobrecalentamiento sobrecargas.

Para una evaluación más completa de las condiciones mecánicas de la línea de transmisiòn, como en la detección de el improbable caso de un fallo aislado, se recomienda para medir fuerzas de tracción en los conductores conectados a un número de soportes de suspensión, la colocación de ellos en ambos lados del punto de la unión de los conductores en cada tercera torre. De esta manera, cada soporte controla sólo un conductor de fase, pero el sistema no observabilidad suelta, ya que cada punto de unión no está supervisando directamente se controla mediante un soporte adyacente.

El autor propone la instalación de acelerómetros en el cuerpo de soporte para la vibración y el seguimiento de inclinación, y en los puntos de unión de conductores para la detección de la vibración inducida por el viento. Esta instalación de conductores es recomendable para la optimización del mantenimiento.

La instalación de sensores de temperatura para la detección de sobrecalentamiento se puede optimizar teniendo en cuenta que las condiciones de calentamiento debido a las sobrecargas son uniformes en porciones largas relativas de la línea. Sin embargo, dado que los puntos calientes son fenómenos muy localizados, sólo pueden ser detectados mediante la colocación de transductores de temperatura cerca de todos los puntos de fijación de los conductores.

Cabe señalar que todas las mediciones de los sensores propuestos por el autor están relacionados de varias maneras. La relación puede ser entre diferentes sensores aplicados a la misma estructura, como en el caso de la tensión y la tensión, o entre la vibración y la inclinación, o puede ser entre los mismos tipos de sensores en diferentes lugares, como en el caso de sensores de tensión aplicados a los conductores en ambos extremos de una interfaz de suspensión.
Posiciòn de los sensores

Arquitectura.

El autor propone depender de la comunicación inalámbrica entre torres, ya que ofrecerían un camino de transmisión fiable en el caso de un fallo de una estructura de soporte, a condición de que el evento causal no daña el transmisor.

Las características de construcción de líneas de transmisión, con soportes separados cientos o incluso miles de metros entre sí representa un obstáculo difícil para el rango de temperaturas para la comunicación inalámbrica entre los nodos sensores localizados en diferentes estructuras. Por diseño, el alcance de las comunicaciones de sensores inteligentes no es muy larga y extenderla no es eficiente debido a las limitaciones de suministro de energía.

El autor propone un modelo de dos capas para superar las restricciones impuestas por el problema de gestión del alcance/energía en los nodos del sensor:

Modelo de 2 capas
Los nodos sensores instalados en cada estructura forman un grupo de sensores locales (LSG) con la comunicación requerida no mayor de 100 pies. A los datos locales y el procesador de comunicaciones (LDCP) instalados en cada soporte se utilizan para agregar la información de los sensores locales LSG. Su radio puede lograr una gama más amplia y viene con un mayor ancho de banda de la comunicación debido a el hecho de que no tiene limitaciones de tamaño y de energía. Por lo demás, se puede cosechar energía de una fuente inductiva colocado cerca del conductor de fase más cercana y también puede venir con una batería más grande. El rango normal esperado para la aplicación varía desde 300 hasta 1500 pies, usando radios más potentes en las estructuras particulares en los que existen tramos más largos.

Los datos del sensor en cada grupo de sensores locales se agregan y se analizan para la verificación de la los datos locales. Los datos de verificación es posible gracias a la relación inherente entre las variables detectadas. Los sensores y sus correspondientes datos locales y procesadores de comunicaciones formarán la capa 1 de la red sensora.

La interacción entre los datos locales sobre cada soporte es la base para la capa 2 de la red sensora y forma las comunicaciones entre el apoyo y la colaboración de capa (ISCC). Esta capa se encarga de todo el procesamiento de mensajes y de transmisión requerido para la entrega de la información sobre el estado mecánico de la subestación.

El funcionamiento propuesto es el siguiente, un procesador de la subestación local (LSP) en un extremo de la línea de transmisión ordena el inicio de un barrido de los datos recogidos, interroga a los primeros datos y procesadores locales. La cabecera de control de mensaje contendrá los parámetros que indican si el barrido se corresponde con el modo de funcionamiento parcial o total, por lo tanto, instruyendo a los datos y procesadores locales, incluyendo qué tipo de tratamiento a aplicar a su contenido y sus propios datos de los sensores locales. La direccionalidad se logra mediante la inclusión de la dirección de remitente y receptor en la cabecera del mensaje. De esta manera, cuando una subestación inicia un barrido, se coloca un valor cero en la dirección de nodo emisor y 1 como el nodo receptor. Esto le dará instrucciones para procesar el mensaje y transmitirlo a los siguientes datps y procesadores locales. Este proceso continuará hasta que el barrido alcanza la subestacón local en el otro extremo de la línea. Entonces, esta subestación dará lugar a una recolección de datos en la dirección opuesta mediante la colocación de su dirección (n+1) como el nodo emisor y n como el nodo receptor.

El cuerpo del mensaje contiene un vector de valores de datos y las direcciones asociadas de los nodos sensores de la que esos valores vienen.

La falta de detección de cualquier procesador de comunicaciones y datos locales (LDCP) se proporciona por medio de la implementación de una función de tiempo de espera en el anterior. Por lo tanto, cuando no hay ninguna confirmación de recepción desde el siguiente LDCP, es marcado como un enlace roto y el barrido invierte la dirección, transmitiendo la información de fallo a la ruta de la subestación local de inicio. Esto podría conducir a nuevos análisis para establecer si hubo un evento mecánico o simplemente un fracaso del LDCP.

Herramienta propuesta para la red sensora

Modos de fallo del sistema mecánico/eléctrico

La severidad de la condición mecánica de una línea de transmisión se puede establecer mediante la comparación de los valores de las variables contra los diferentes límites definidos por el diseño de la línea de transmisión. Una clasificación para el estado mecánico es la siguiente:
  • Normal (N): No hay indicios de variables que son fuera de los límites normales de operación. Las tensiones están dentro de los parámetros de diseño y equilibradas en los soportes de suspensión. Las vibraciones son mínimas, y las estructuras están en la posición vertical.
  • Sospechosa (S): Algunas de las variables están fuera del rango normal. Acumulación de hielo, fuertes vientos o la carga térmica máxima pueden ser eventos asociados a esta condición. No puede haber vibración medible y los inclinómetros detectan ángulos de inclinación pequeños.
  • Inminente (I): Diversas variables están fuera de los límites de detección de los problemas mecánicos, pero no hay ninguna indicación clara de una falla mecánica. Se detectan niveles altos de vibración y ángulos de inclinación de la estructura son sensiblemente diferente de la vertical.
  • Fallo (F): Los fallos mecánicos pueden ser detectados por red sensora de diferentes maneras, por la excursión fuera de los límites de algunas variables, por valores cercanos a cero en los demás, o por la ausencia total de señal de los sensores. Los sensores de tensión indican un conductor roto mediante la detección de valores anormalmente altos o bajos. Estructuras colapsadas serían detectados por los ángulos de inclinación cerca de la horizontal.
Para cada uno de los diferentes modos de falla, diferentes acciones necesitan ser tomadas en el sistema de energía con el fin de evitar la cascada eventos que podrían llevar a un colapso del sistema eléctrico interconectado. Para probar la viabilidad del uso de la red sensora, el autor y su equipo se centraron en la gestión de la sobrecarga de la transmisión impulsada por la clasificación de fallo. Es decir, si una línea que produce una sobrecarga en otra línea de transmisión, la clasificación de fallos proporciona dos maneras de manejar el evento. Para un fallo temporal, las medidas recomendadas deben esperar y tratar de volver a cerrar la línea de falla pocos minutos debido a la naturaleza puramente eléctrica de la culpa, sino para una falla permanente, se recomienda comenzar con el bloqueo más allá de reenganche y el inicio inmediato del proceso de recuperación que puede incluir reprogramación de la generación y/o la desconexión de carga.

Para la determinación de la combinación de aumento y disminución de inyección de nergía que más contribuyen a los cambios de flujo de línea de transmisión, es necesario identificar primero el nodo con el valor máximo de generación de desplazamiento vectorial resultante (GSDF) en el vector original como GSDF.
Entonces, la GSDF de cada nodo referenciado al pivote se obtiene con:
Una vez identificados los nodos para reprogramar la generación, la distribución de generación para cada dirección del cambio (hacia arriba o hacia abajo) que proporcione el alivio rápido de sobrecarga en la línea de transmisión puede ser establecida por:
donde:

= cambio generacional necesario en la unidad.
=tasa de generación de unidad de cambio.
 = valor GSDF de la unidad de referencia a la línea.
= sobrecarga en la línea

Simulación
En las siguientes gráficas se muestra la evolución de un sistema sin una red sensora después de la interrupción de la línea de transmisión y la consiguiente sobrecarga. Se puede observar que durante el tiempo pasado para volver a cerrar la línea, un corte de luz adicional se produce una condición de sobrecarga, el sistema experimenta una caída de tensión.

Cuando está  la presencia de una red sensora para supervisar la línea de transmisiñon, un modo de fallo inminente simulada activará el sistema para recomendar acciones de transferencia entre las generaciones antes de la interrupción real de la línea controlada.

Con la reducción del flujo de la línea como resultado de las medidas recomendadas por el sistema, la línea de transmisión alcanzará 100% de carga (700 MW).

Conlusiones

Este documento propone un nuevo enfoque para el uso de la tecnología inalámbrica de sensores para evaluar la salud mecánica de las líneas de transmisión. Esto ofrece un entorno de monitorización completo para una línea de transmisión.

El estudio realizado y los resultados de la simulación muestran que el utilizar una red sensora puede ayudar a los operadores tomar decisiones rápidas y adecuadas basadas en los modos de fallos mecánicos detectados por la red.

En general el utilizar una red sensora puede ayudar de gran manera a tomar decisiones analizando posibles fallos en el sistema gracias a los sensores o algún punto que muestre cierta inestabilidad o datos fuera de rango y de esta manera evitar grandes problemas tratando desde un principio con problemas pequeños. Este tipo de redes ayuda en gran manera a los operadores ya que gracias a los datos arrojados por la red pueden tomar decisiones y saber en qué punto está fallando la red y no sólo actuar sin saber qué es lo que falla o dónde falla.

Fuentes

Ramón Alberto León Candela. Application of Sensor Network for Secure Electric Energy Infrastructure. Abril de 2007. http://www1.xm.com.co/Artculos%20y%20Reconocimientos/04141131%20Sensor%20Networks.pdf

May 23, 2013

Proyecto Final.

Reconocimiento de caracteres

Link al proyecto en github: Link

Presentación.



 

Reporte

  • Propósito

El propósito del proyecto es el reconocimiento de caracteres en imágenes en base a técnicas de visión computacional. Los caracteres o texto son grabados por una cámara o cargados desde una carpeta si es que ya han sido previamente escaneados.

  • Justificación

La justificación del proyecto son las aplicaciones que tiene, una de ellas la digitalización de documentos.

La digitalización documentos ayuda a preservar documentos importantes (libros, revistas, notas), ahorra el tiempo de tener que transcribir el documento entero.


Esta idea de proyecto la tuve en base al proyecto Gutenberg (Project Gutenberg) el cual digitaliza libros, en su mayoría clásicos, en distintos formatos (txt, html, epub, pdf, etc) y los distribuye de forma gratuita.

Google también tiene en Google books un proyecto de digitalización de libros, solo que aquí si cobran por las descargas.

  • Descripción textual

Básicamente lo que el programa hace es:
  • Obtener los datos de entrada.
  • Un pequeño preprocesamiento.
  • Reconocimiento de caracteres con ayuda de Tesseract.
  • Obtener la salida en forma de un archivo de extensión txt.
  • Convertir ese archivo .txt en un archivo epub.
A continuación se presenta un diagrama para explicar de forma más sencilla el funcionamiento del programa:

ó

La entrada del sistema se puede hacer de dos formas distintas: mediante la cámara web ó cargando imágenes escaneadas previamente desde la carpeta "imagenes" que se encuentra en la misma carpeta que el script. Si se utiliza la opción de la cámara, se abre una ventana que muestra la toma hecha por la cámara web; donde el usuario debe poner a la vista de la cámara el documento que se va a digitalizar, una vez puesto el documento frente a la cámara se debe presionar la tecla "enter" para tomar captura a la imagen, cuando se tengan tomas de las imágenes necesarias se presiona la tecla "esc" para continuar con el proceso.

Captura desde cámara web
En el caso de la cámara web todos los frames o imágenes tomadas se cargan y se recortan de manera de que solamente quede la región de interés, que en este caso es el texto.
Región de interés

Después a las imágenes recortadas o escaneadas se les aplican unos filtros (escala de grises y binarización) esto con el fin de que el motor de reconocimiento tenga imágenes más sencillas de reconocer. Cabe aclarar que obtuve mejores resultados cuando solamente cambiaba a escala de grises que cuando aplicaba ambos filtros.

Imagen procesada

Una vez procesada la imagen actual se llama a Tessaract OCR para que realice el reconocimiento de caracteres con la función image_to_string. Al final el texto que se alcanzó a reconocer (cabe aclarar que un motor de reconocimiento de caracteres no es perfecto) se guarda en un archivo .txt y por último se llama a un módulo que cree, el cual utiliza el módulo ez_epub y epub, los cuales al recibir un archivo de texto lo convierten en un archivo .epub que se puede visualizar desde un dispositivo móvil.

          


Hice distintas pruebas y como es ovbio cuando se capturan imágenes de la cámara entre más grande este la letra se realiza una mejor detección lo cual no es bueno si se considera que los libros tienen un tamaño de letra de 10 o 12.


  • Librerías utilizadas

OpenCV: El módulo de OpenCV para python lo utilicé para usar cámara web, cargar imágenes y para aplicar los filtros de escala de grises y binarización a las imágenes.

os: proporciona una manera de emplear funciones del sistema operativo. Este módulo lo utilicé para crear y remover carpetas y el archivo .txt.


glob: este módulo permite buscar todos los nombres de las rutas que coincidan con un patrón especificado de acuerdo con las reglas utilizadas por el shell de Unix. Lo utilicé para cargar todas las imágenes que se almacenaban en las distintas carpetas.

Pytesser: PyTesser es un módulo de reconocimiento óptico de caracteres de Python. Toma como entrada un archivo de imagen o la imagen y da salida a una cadena. De este módulo utilicé la función image_to_string a la cual se le proporciona una imagen y retorna la cadena de texto que pudo reconocer.

Image: es un módulo para procesamiento de imágenes para el intérprete de Python. Este módulo lo utilicé solamente para cargar las imágenes que se pasan al motor Tesseract.

ez_epub y epub: son una pequeña biblioteca de python para generar libros en formato EPUB.

 
Llegué a utilizar el motor Tesseract debido a que mis primeras aproximaciones fueron detectando caracter por caracter en una imagen. En un entrenamiento se detectaban todos los caracteres:

Detección caracter por caracter

Al momento de detectar cada caracter aumentaba su tamaño, se detectaban los contornos de cada detección (fuese una sola letra o más) y tanto las coordenadas de los contornos como la letra a la que pertenecen los contornos se se almacenaban en dos archivos de texto distintos pero en orden de manera que coincidieran. Después utilizando el algoritmo K-nearest neighbors implementado en OpenCv se le proporcionaba los contornos y las letras y se guardaba un modelo. Pero esta implementación no daba como resultado ni un 10% del texto debido a que en muchas ocasiones no se detectaban letras solas sino en un conjunto y además cuando se pasaba a obtener el texto el algoritmo K-nearest obtiene el más parecido a los contornos que se le pasen como parámetro por lo que no es muy preciso sino se ha entrenado bien el modelo.
Imagen de entrenamiento

También hice una implementación utilizando un método de correlación pero de igual manera no obtuve resultados satisfactorios.
Entrada: SERIF, salida obtenida:flflo

Después de esto también noté que influye mucho el tipo de letra, el espaciado y el tamaño de letra por lo que crear un motor propio iba a requerir mucho tiempo de entrenamiento.

Una implementación extra que intenté realizar fue corregir el ángulo de las imágenes cuándo éstas estuvieran inclinadas pero no pude realizarlo correctamente, el script que realicé se encuentra también en el git del proyecto con el nombre de "ocrprep". Estas son algunas de las pruebas:
Imagen original

Imagen procesada


Prueba utilizando cámara:


Prueba utilizando imágenes escaneadas

Imagen original
Imagen procesada



Archivo .epub:




Evaluación de desempeño

Como mencione anteriormente al utilizar el reconocimiento con la cámara entre más pequeña la letra el reconocimiento era peor, por lo que mi evaluación de desempeño se basó en eso.

Realicé una gráfica que compara los errores y aciertos durante la detección de caracteres. Utilicé 6 pruebas con el mismo tipo de letra ("Arial") pero distinto tamaño (10, 12, 14, 18, 24, 30).

Estos fueron los resultados:

Tamaño de letra Aciertos Errores Total
10 5 15 20
12 7 13 20
14 7 8 15
18 7 8 15
24 14 6 20
30 17 3 20



Como se puede apreciar en la gráfica entre más grande es la letra la detección fue mejor, pero esto también depende de que tan bien esté enfocada la cámara y cómo termina procesada la imagen con los filtros.

  • Trabajo a futuro 

Ahora mismo mi intención solo es mejorar la parte del proyecto que toma las imágenes escaneadas ya que me parece más sencillo y más útil, además el convertir a .epub me sirve mucho para leer en el teléfono móvil. Algunas de las mejoras o ideas que se pueden aplicar a este proyecto es:
  • Mejorar los filtros para obtener al 100% la detección de caracteres mediante Tesseract OCR.
  • Agregar de manera automática los capítulos de cada libro.
  • Mejorar el módulo para corregir el ángulo de las imágenes escaneadas.

Fuentes.

May 21, 2013

Laboratorio. Aplicación de red Ad-hoc

Título: Towards Commercial Mobile Ad Hoc Network Applications:  A Radio Dispatch System.
Autores: Elgan Huangm, Wenjun Hu, Jon Crowcroft y Ian Wassell.

En los últimos años ha habido un interés creciente en el uso de redes móviles ad hoc (MANET) para fines comerciales. Dentro de la industria automotriz ya hay una serie de esfuerzos dirigidos a la utilización de la tecnología de las comunicaciones para mejorar la seguridad del automóvil, proporcionar a los pasajeros información y entretenimiento, y lograr la fluidez del tráfico en las carreteras. Sin embargo, ha habido poco esfuerzo para vincular los aspectos técnicos y de negocio, junto con el fin de diseñar soluciones que sean técnica y económicamente viables; la mayor parte de la investigación se centra actualmente en determinadas cuestiones técnicas. Los escenarios estándar para MANETs tienden a ser innecesarios o demasiado limitados en su alcance.

En este trabajo, proponemos un escenario de aplicación de carácter innovador en la forma de un sistema de despacho de taxis MANET. Una importante aportación novedosa de este trabajo es que utilizamos el realismo en nuestros modelos en todos los niveles, desde la propagación RF en una ciudad, a través de la movilidad de los nodos, hasta la aplicación y en el caso de negocios para el uso de una MANET en lugar de un sistema regulado y centralizado clásica basada en proveedores.

Escenario: Ciudad de taxis.
Uno de los componentes más importantes de las operaciones de una compañía de taxis de la ciudad es su unidad de despacho, que informa a los taxis individuales sobre camionetas de pasajeros, asigna a los pasajeros a los taxis vacíos, y transmite información adicional, como direcciones y noticias sobre el clima o las condiciones del tráfico.Tradicionalmente, las empresas de taxis se han basado en sistemas de despacho basados en radio para estas tareas. Los sistemas de radio tienen problemas de calidad de servicio, hay altos costos asociados con la instalación, funcionamiento y mantenimiento de los mismos, y deben adquirirse licencias de radio.

Sin embargo, la popularización de los teléfonos móviles hoy en día significa que las pequeñas empresas son capaces de entrar en el mercado, apoyándose en las redes públicas de telefonía móvil como a sus sistemas de despacho. Desafortunadamente, este método tiene muchos inconvenientes que incluyen un alto costo por llamada, y la comunicación limitada entre los conductores. Llamadas de teléfono móvil son más difíciles de coordinar y menos eficiente en el tiempo; los despachadores sólo se pueden comunicar con un controlador a la vez y las instrucciones por voz transmitidas también están sujetos a las tasas de error más elevados.

Muchas grandes empresas tienen a su vez actualizar sus propios sistemas para incluir software inteligente con GPS que permite el seguimiento de los taxis y la asignación eficiente de los puestos de trabajo, mejorar la productividad y la utilización de los recursos. Sin embargo, el hardware y el software necesario es costoso y su funcionamiento implica la transferencia de datos inalámbrica a través de redes de telefonía móvil públicas o privadas, que es un costo significativo y recurrente.

En nuestro escenario, un sistema de despacho basado en MANET se utiliza para la comunicación. Cada taxi, está equipado con un dispositivo ad hoc y un servidor central ad hoc se encuentra en la sede de su expedición. Este es un escenario híbrido en el que, aunque el sistema es totalmente una red ad hoc móvil, hay un grado de centralización a la misma, con toda la información disponible procedente de un solo punto, lo que requiere que todos los nodos se conectan a él directamente o indirectamente para recibir trabajos.

Un cliente podría llamar a la sede de expedición de la compañía de taxis. La llamada entonces sería recogido por un gestor de expedición que entraría en los detalles de la oferta en el sistema. Una solicitud automatizada sería enviada a través de la red ad hoc a todos los taxis libres que se encuentren cerca de la vecindad de la solicitud. En el caso de contar con dispositivos especiales habilitados con información sobre la ubicación, el taxi libre más cercano al punto donde se recogerá al cliente se localiza y asigna el trabajo automáticamente, disminuyendo así los tiempos de espera para el cliente y la mejora de las tasas de rotación de la compañía de taxis. El sistema ad hoc se actualiza automáticamente con la información de la condición de camino y los conductores también podrán comunicarse entre sí, potenciando todas las partes interesadas con información valiosa.

Otra implementación de este sistema sería incluso llegar a ser posible que los clientes simplemente puedan pedir un taxi a través de sus propios dispositivos ad hoc donde quiera que estén y la petición se envíaría directamente al taxi más cercano. El taxi iba a la ubicacón del cliente, registra que recogió al cliente y envía la información a través de la red para actualizar otros taxistas y su estado. Con la adición de un punto de acceso en la sede del despacho, los clientes también podrán reservar taxis a través de Internet y la solicitud sería transmitida de inmediato a través de la red ad hoc.

Viabilidad financiera
Los sistemas ad hoc son más robustos que los sistemas centralizados, y el servicio de red no depende de la actuación de los proveedores de servicios ni están sujetos a la infraestructura dañada. El uso de dispositivos especiales descentralizados también puede cambiar la estructura del mercado por lo que es posible ofrecer soluciones a las compañías de taxis, en lugar de obligarlos a firmar con un proveedor de servicios.

Una vez que los clientes se acostumbren a las alternativas a la reserva por teléfono, la carga de trabajo para los despachadores de taxis se reducirá. Sistemas automatizados fiables mejorará la exactitud y velocidad con la que se toman y se aprueban órdenes.

Los sistemas Ad hoc cuestan casi nada para poner en funcionamiento al igual que el mantenimiento del hardware en sí. Además, los móviles y el servicio Push to Talk son sólo los métodos de comunicación de voz, mientras que un sistema ad hoc se basa en las comunicaciones de datos y también proporcionan información sobre la ubicación. El 95% de las reservas se realizan dentro de un radio de 10 millas, lo que hace que las redes ad hoc factible y potencialmente más escalable de servicios autorizados.

Por naturaleza, la cobertura de un sistema ad hoc depende de un número adecuado y la propagación de los nodos en toda la zona de servicio requerida. La movilidad de los nodos plantea el peligro de las brechas de servicios ocasionales cuando no hay taxis están actuando como relevadores dentro de una cierta área, aumentando las preocupaciones de calidad de servicio impredecible. A través de simulaciones basadas en una movilidad real y modelo de propagación, los autores evaluaron diversas métricas de rendimiento del sistema de despacho de radio para determinar el alcance de estos problemas.

Su modelo consistió en una ciudad como una cuadrícula al estilo de Manhattan, con un tamaño de bloque uniforme a través del área de simulación. Todas las calles fueron de doble sentido, con un carril en cada dirección. Un taxi se caracteriza por una velocidad preferida, una aceleración máxima y desaceleración, una variación de la velocidad asociada con la velocidad preferida en el estado estacionario, y una lista de destinos preferidos, es decir, la paradas de taxis. Los taxis son asignados al azar a una de tres velocidades preferidas. Todos los demás parámetros se fijan para ser el mismo en todos los taxis, ya que son de la misma empresa.

La simulación, modela una MANET basada en el estándar IEEE 802.11b, ya que se entiende bien, fácilmente disponible y adaptable a la aplicación bajo consideración. IEEE 802.11b opera en la banda ISM de 2,4 GHz, y una sensibilidad del receptor típico de -80 dBm y una potencia de transmisión de 100 mW (20 dBm) (el límite legal para esta banda). El sistema funciona con los sistemas eléctricos de los taxis en lugar de ser alimentado por baterías, el consumo de energía no es un gran problema.

Las antenas omni-direccionales utilizadas se montan encima de los techos de los taxis, a una altura de aproximadamente 1,5 m, la propagación se puede caracterizar con mayor precisión por un modelo de microcélulas. Los mecanismos de propagación dominantes en tal ambiente se deben a interacciones entre la trayectoria directa y reflejada caminos de los edificios y el suelo, así como la difracción alrededor de los bordes verticales de edificios.

El modelo de propagación que utilizaron supone una pérdida de segundo orden (-20dB/dec) a una distancia de rotura. Para separaciones de antenas mayores que la distancia de rotura, se obtiene el modelo de propagación de tierra plana:


donde Pr es la potencia recibida (W), PT es la potencia de transmisión (W), h1 y h2 son las alturas de antena nodo (m) y d es la separación de antena (m). La distancia punto de corte está dada aproximadamente por:

Por lo tanto, antes del punto de corte se tiene:

y después del punto de corte:

Las operaciones en el sistema se basan en simples intercambios de mensajes. Taxis enviar regularmente las actualizaciones de estado de su envío, y el despacho envía las solicitudes de trabajo y otros datos a los taxis. Los mensajes se envían siempre al salto accesible más cercano con el fin de minimizar la potencia de transmisión y la interferencia. Al ser una red ad hoc, es probable que los taxis entrar y salir de la cobertura, la frecuencia y duración de las cuales dependen del número de puntos de relevo, el rango de transmisión de cada dispositivo, el movimiento de los vehículos, la distancia media entre los coches, etc.

Incluso cuando la cantidad de datos requeridos es grande, a partir de tipos de estudios similares, es posible que en condiciones de conectividad intermitente, un tampón o una unidad a través de proxy (basado en el envío, las paradas de taxis y los propios nodos individuales) podría ser utilizado para acumular datos y solicitudes/respuestas de sus compañeros dentro de la red y remitirá la información a la siguiente oportunidad sin sacrificar significativamente el rendimiento.

Resultados de la simulación.
Basado en el modelo, desarrollaron una simulación estadística para calcular las posiciones en 1 segundo. Los parámetros de control que utilizaron para la simulación son las siguientes: una cuadrícula de Manhattan de 5 x 5 kilómetros, con un tamaño de bloque uniforme de 100 x 100 metros. Un punto central de despacho situado en el centro exacto de la red y que funciona como una parada de taxis. Los resultados varían de acuerdo con el diseño y la distribución de las paradas/destinos de los taxis, sin embargo. Cada ejecución de la simulación duró 3 horas de tiempo de simulación tras un período inicial de calentamiento de 1.000 segundos. Elegieron 3 horas para dar a cada taxi, tiempo suficiente para hacer varios viajes para permitir la distribución de velocidad y destino a converger. Dentro de la red se colocaron un total de 300 taxis habilitados para un sistema ad hoc. Por último, un nodo se considera conectado sólo si es accesible desde el punto de expedición durante tres segundos consecutivos o más, para garantizar el tiempo suficiente para establecimiento de la conexión y la transferencia de datos.

Se define la cobertura de conectividad como el porcentaje de los taxis accesible desde la central de despacho, y el tiempo de interrupción como un periodo continuo de tiempo cuando el taxi no es accesible desde la central de despacho. La siguiente gráfica muestra la cobertura bajo condiciones de control. El porcentaje de vehículos conectados en cualquier punto dado en el tiempo fluctúa, sin embargo siempre hay coches dentro de la cobertura e incluso con sólo 300 nodos, la cobertura media de más de 100 carreras es 107.7 coches o 35,91%. La mediana y la desviación estándar de la media es de 35,84% y 0,6%, respectivamente.

'
La simulación sugiere que con 300 nodos en operación, la comunicación en tiempo real no es posible ya que con sólo un tercio de los taxis se puede llegar en cualquier instante dado. Teniendo en cuenta los números absolutos de los taxis contactables, sin embargo, el rendimiento es adecuado para los fines del sistema de despacho, dado el número probable de peticiones en cualquier punto en el tiempo típico. Además, dado el poco tiempo que cada nodo se pasa fuera de la cobertura media (28.47s), todos los taxis están localizables en intervalos razonables. Por el contrario, en ocasiones ciertos nodos serán inalcanzables para un período más largo (por ejemplo, la hora de tomar pasajeros a destinos lejanos).

Para investigar el efecto de la densidad de nodos, variamos el número de nodos 100 a 700. La siguiente gráfica muestra el porcentaje de nodos alcanzables como una función del número de nodos.

Como era de esperar, la cobertura aumenta a medida que más nodos están disponibles para actuar como puntos de relevo. Con 700 nodos, casi el 70% de los taxis son accesibles en cualquier momento. Al aumentar el número de nodos, una compañía de taxis más grande o un número de pequeñas / medianas empresas que utilizan sistemas compatibles para poder lograr una buena cobertura.

Otro parámetro que afecta en gran medida las estadísticas de cobertura es el tiempo de conexión, es decir, el tiempo de la creación de vínculos y transmitir datos entre nodos vecinos. El tiempo de conexión predeterminado es 3 segundos, sin embargo, esto depende de los protocolos exactos y hardware utilizados. Manteniendo constantes los otros parámetros de control, variaron el tiempo de conexión entre 1 y 10 s, consiguiendo los siguientes resultados:

Con un tiempo de conexión de 1s, el 43% de los nodos están dentro de la cobertura, en promedio, en comparación con el 36% para un tiempo de conexión de 3s.

El tráfico lo introdujeron insertando automóviles que se comportaban de la misma como los taxis, excepto que no tienen destinos preferidos y no hacen pausa entre secuencias de movimiento. Por lo tanto, varió el número de coches de 300 (sólo taxis) hasta 30.000 (300 taxis y 29.700 vehículos regulares) para estudiar cómo afecta la congestión de distribución de nodos, la movilidad y la cobertura. Todos los 30.000 vehículos fueron distribuidos de manera uniforme por todo el mapa, la distancia media entre los vehículos fue de 34 m.

Una de las observaciones es que la variación instantánea de la cobertura es más notable con la congestión añadida. Comparando la siguiente gráfica con la gráfica que muestra la cobertura (primer gráfica), el pico a las variaciones de pico son más grandes. Aunque el modo y la cobertura promedio aumenta sólo ligeramente (38,4% vs 36,3%), en un momento dado, ahora es mucho más probable que se conectará un número más alto (más de 140) de los coches.

Conclusiones

Este sistema de radio basado en redes ad hoc tiene gran potencial, por ejemplo aumenta el ingreso por taxi ya que disminuye el tiempo y el costo para ir a recoger al cliente y aparte es más accesible para el cliente al no tener que esperar demasiado tiempo por un taxi, lo cual aumenta su satisfacción. Además el implementar este sistema no es costoso y es escalable en tamaño.

El rendimiento de este sistema depende de factores como el protocolo de enrutamiento que se utilice, pero teniendo en cuenta la información que se transmitirá y el medio ambiente, los protocolos apto para el propósito y optimizaciones podría ser diseñado para adaptarse a la aplicación.

Las principales ventajas que las redes ad hoc tienen sobre estas otras formas de comunicación son de bajo costo y facilidad de despliegue.

Como se pudo observar en la simulación realizada por los autores es que un sistema basado en MANETs podría sufrir de bajo rendimiento debido a la baja densidad de nodos por lo que es importante que el número esperado de nodos en funcionamiento debe ser considerado en el diseño de un sistema. Un sistema basado en MANETs es ideal cuando se tiene una gran cantidad de nodos.

Fuentes.

Elgan Huangm, Wenjun Hu, Jon Crowcroft y Ian Wassell. Towards Commercial Mobile Ad Hoc Network Applications: A Radio Dispatch System. Mayo de 2005. http://128.232.0.20/research/srg/netos/papers/2005-mobihoc-taxi.pdf