COMUNICACIÓN SEGURA CON UN TECLADO.

Un procedimiento de comunicación con un teclado (162) que comprende:

la recepción, en un componente, de un primer valor (412) de uso único desde el teclado; el envío, desde el componente (202), de un segundo valor de uso único al teclado; la creación de un primer valor inicial y de un segundo valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación de dicho primer valor de uso único y dicho segundo valor de uso único, usando una clave y un tercer valor inicial que es conocido tanto al teclado como al componente; la recepción, en un componente, de una pluralidad de datos que han sido cifrados con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando la clave y el primer valor inicial procedente del teclado, estando incluida cada pulsación separada de tecla procedente de dicho teclado dentro de un dato separado de dicha pluralidad de datos, estando cifrado cada dato de la pluralidad de datos usando un bloque separado de dichos algoritmo triple DES y encadenamiento de bloques de cifrado; la decodificación de la pluralidad de datos en base a dicho valor inicial y dicha clave

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E04010225.

Solicitante: MICROSOFT CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: ONE MICROSOFT WAY REDMOND, WA 98052 ESTADOS UNIDOS DE AMERICA.

Inventor/es: Peinado,Marcus, Benaloh,Josh.

Fecha de Publicación: .

Fecha Solicitud PCT: 29 de Abril de 2004.

Clasificación PCT:

  • G06F21/04

Clasificación antigua:

  • G06F1/00 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Detalles no cubiertos en los grupos G06F 3/00 - G06F 13/00 y G06F 21/00 (arquitecturas de computadores con programas almacenados de propósito general G06F 15/76).

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia, Ex República Yugoslava de Macedonia, Albania.

PDF original: ES-2361074_T3.pdf

 


Fragmento de la descripción:

Campo de la invención

La presente invención está relacionada en general con el campo de la seguridad informática. Más en particular, la invención versa acerca del uso seguro de un teclado en un canal que comunicaciones que puede estar sometido a la interceptación o a otros tipos de manipulación.

Antecedentes de la invención

Un teclado comunica datos introducidos por un usuario a un dispositivo electrónico, como un ordenador. Cuando un usuario pulsa una tecla del teclado, el teclado genera datos representativos de la tecla particular que se pulsó (por ejemplo, el código ASCII para la letra “e”), y estos datos son recibidos por un componente del ordenador, tal como un controlador de dispositivo. Acto seguido, el controlador de dispositivo presenta los datos a cualquier programa que esté ejecutándose en el ordenador que reciba la entrada en ese momento (por ejemplo, poniendo los datos en la memoria intermedia de entrada para cualquier programa de aplicación que esté activo).

Un programa que surge en el uso de un teclado para recibir datos es cuando los datos son sensibles o sea preciso por otros motivos mantenerlos secretos. Por ejemplo, una aplicación segura (o un servicio seguro de un sistema operativo) puede pedir al usuario que introduzca una contraseña, que generalmente no debería ser divulgada al público general. Sin embargo, la ruta que conduce desde el teclado hasta el componente lógico que recibirá los datos no es segura, dado que hay varias oportunidades para interceptar los datos. Por ejemplo, los datos se desplazarán a menudo por un bus que está sometido a rastreos, y serán gestionados por un controlador de dispositivo que puede estar sujeto a manipulaciones (o a que el sistema operativo permita que sea sustituido con un controlador no seguro de dispositivo que almacene y divulgue la información que gestiona el controlador). En otras palabras, hay varias oportunidades de observar o manipular datos secretos en ruta desde el teclado a su destino definitivo.

En general, es posible cifrar los datos para la transmisión entre dos componentes que están conectados por medio de un canal no seguro. Sin embargo, muchas técnicas de cifrado no pueden aplicarse fácilmente en el contexto de un teclado, debido a diversos factores, como las cuestiones de la gestión de claves, la posibilidad de ataques de reinyección y el hecho de que el abanico relativamente pequeño de datos que puede ser generado por un teclado haría que un cifrado ordinario en las comunicaciones del teclado fuera relativamente fácil de romper si puede interceptarse una muestra de tamaño moderado de la cifra.

En vista de lo anterior, existe la necesidad de una técnica que facilite la comunicación segura con un teclado.

El documento EP-A-1 286 242 da a conocer un dispositivo de cifrado interconectado entre un dispositivo de entrada y un decodificador del dispositivo de entrada. Los dispositivos cifradores pueden ser controlados para que operen en un modo normal, en el que los datos pasan inalterados, y un modo seguro, en el que los datos son cifrados. Un caso útil dado a conocer por el documento se relaciona con la introducción de un número de identificación personal (PIN).

G. Treat: “Keyboard encryption”, IEEE Potentials, vol. 21, nº 3, agosto de 2002 – septiembre de 2002, páginas 40 a 42, se relaciona con el cifrado de datos de teclado, ya sea usando un dispositivo intercambiable entre el teclado y el ordenador, o usando un microcontrolador modificado en el teclado y componentes lógicos de decodificación cargados en un chip de BIOS existente del ordenador.

Resumen de la invención

El objeto de la presente invención es evitar los ataques de inyección en un canal de comunicaciones cifradas entre un teclado y un componente lógico de un ordenador.

Este objeto se resuelve con la materia de las reivindicaciones independientes.

Las realizaciones preferentes están definidas por las reivindicaciones dependientes.

La presente invención proporciona una técnica para una comunicación segura entre dos componentes por medio de un canal no seguro de comunicaciones. La técnica usa un modelo de cifrado que está particularmente bien adaptado para un teclado, y que aborda problemas que existirían en la aplicación de un modelo de cifrado estándar a un teclado.

Un teclado según la invención almacena una clave y un valor constante que se usa para la inicialización del modelo de cifrado. Un componente (por ejemplo, una aplicación que se ejecuta en un ordenador) almacena la misma clave y el mismo valor constante que se almacenan en el teclado. Para iniciar una sesión segura entre el componente y el teclado, cada uno genera un valor de uso único, y después intercambian el valor de uso único entre sí, de modo que el teclado y el componente estén en posesión de ambos valores de uso único. El teclado y el componente calculan entonces dos valores iniciales, cada uno de los cuales se basa en los dos valores de uso único, la clave y el valor constante. Por ejemplo, puede crearse el primer valor inicial usando el algoritmo CBC-3DESMAC, en el que el algoritmo CBC-3DESMAC usa el valor constante almacenado como su valor inicial de encadenamiento y aplica la clave a un mensaje creado en base a los dos valores de uso único. (CBC-3DESMAC se refiere a la aplicación de un cifrado triple según el algoritmo Estándar de Cifrado de Datos (DES) con encadenamiento de bloques de cifrado y al uso del bloque final de la cifra para crear un Código de Autenticación de Mensajes (MAC)). Preferentemente, el segundo valor inicial se crea invirtiendo los bits del primer valor inicial (es decir, llevando a cabo una operación de “o exclusivo” entre el primer valor inicial y el número 0xfffffffffffffff). Dado que el teclado y el componente calculan los valores iniciales primero y segundo de la misma manera, ambos están en posesión de los mismos dos valores iniciales.

En una realización preferente alternativa, el teclado y el componente están equipados con dos valores constantes, y los valores iniciales primero y segundo pueden ser creados aplicando el algoritmo CBC-3DESMAC al mensaje que se basa en ambos valores de uso único, usando la primera constante para crear el primer valor inicial, y la segunda constante para crear el segundo valor inicial.

Una vez que han sido creados los valores iniciales primero y segundo, el teclado está listo para comunicar datos cifrados, y el componente que recibirá los datos está lista para descifrar y verificar los datos. Cuando se introducen datos en el teclado, el teclado cifra los datos en base al primer valor inicial y a la clave. Preferentemente, el teclado cifra los datos con la clave anteriormente mencionada usando CBC-3DES (triple DES con encadenamiento de bloques de cifrado), usándose el primer valor inicial para cebar la cadena de bloques de cifrado. El teclado crea también, preferentemente, un MAC para cada unidad de datos usando el algoritmo CBC-3DESMAC, en el que el algoritmo CBC-3DESMAC aplica la clave anteriormente mencionada y usa el segundo valor inicial para cebar la cadena de bloques de cifrado. Preferentemente, se cifra cada pulsación de tecla en un bloque de cifrado separado, y toda la corriente de datos generados en el teclado durante una sesión constituye una cadena de bloques de cifrado, dado que esta técnica permite que la misma pulsación de tecla (por ejemplo, la letra “e”) aparezca como una cifra diferente, dependiendo de la pulsación de tecla que la precedió.

Una vez que los datos cifrados y el o los MAC han sido recibidos en el componente receptor, el componente receptor usa la clave anteriormente mencionada y los valores iniciales primero y segundo para descifrar y verificar los datos recibidos.

Más abajo se describen otras características de la invención.

Breve descripción de los dibujos

El resumen anterior, así como la siguiente descripción detallada de las realizaciones preferentes, se entiende mejor como se lee en conjunto con los dibujos adjuntos. Con el fin de ilustrar la invención, se muestran en los dibujos construcciones ejemplares de la invención; sin embargo, la invención no está limitada a los procedimientos e instrumentaciones dadas a conocer. En los dibujos:

la FIG. 1 es un diagrama de bloques de un entorno informático ejemplar en el que pueden implementarse aspectos de la invención;

la FIG. 2 es un diagrama de bloques de un primer entorno ejemplar en el que la comunicación entre un teclado... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento de comunicación con un teclado (162) que comprende:

la recepción, en un componente, de un primer valor (412) de uso único desde el teclado;

el envío, desde el componente (202), de un segundo valor de uso único al teclado;

la creación de un primer valor inicial y de un segundo valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación de dicho primer valor de uso único y dicho segundo valor de uso único, usando una clave y un tercer valor inicial que es conocido tanto al teclado como al componente;

la recepción, en un componente, de una pluralidad de datos que han sido cifrados con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando la clave y el primer valor inicial procedente del teclado, estando incluida cada pulsación separada de tecla procedente de dicho teclado dentro de un dato separado de dicha pluralidad de datos, estando cifrado cada dato de la pluralidad de datos usando un bloque separado de dichos algoritmo triple DES y encadenamiento de bloques de cifrado;

la decodificación de la pluralidad de datos en base a dicho valor inicial y dicha clave.

2. El procedimiento de la reivindicación 1 que, además, comprende:

la recepción, en el componente (202), de una pluralidad de códigos de autenticación de mensajes correspondientes a la pluralidad de datos procedentes del teclado (162), habiendo sido creados dichos códigos de autenticación de mensajes con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando dicha clave y el segundo valor inicial diferente de dicho primer valor inicial, siendo conocido dicho segundo valor inicial tanto al componente como al teclado;

la verificación de la pluralidad de datos usando la pluralidad de los códigos de autenticación de mensajes.

3. El procedimiento de la reivindicación 2 en el que la creación de un primer valor inicial y un segundo valor inicial comprende:

la creación del primer valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación del primer valor de uso único y el segundo valor de uso único, usando la clave y un tercer valor inicial que es conocido tanto al teclado como al componente; y

la creación del segundo valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación del primer valor de uso único y el segundo valor de uso único, usando la clave y un cuarto valor inicial que es conocido tanto al teclado como al componente.

4. El procedimiento de la reivindicación 1 en el que la pluralidad de datos se recibe por medio de un canal cuya integridad conductual no goza de la confianza del componente.

5. El procedimiento de la reivindicación 4 en el que el componente (202) comprende un primer sistema operativo, que se ejecuta en un dispositivo informático junto con un segundo sistema operativo, no teniendo confianza el primer sistema operativo, al menos en algún sentido, en el comportamiento del segundo sistema operativo, comunicándose el teclado con el primer sistema operativo por medio de un controlador controlado por el segundo sistema operativo.

6. El procedimiento de la reivindicación 1 en el que el teclado comprende un teclado USB.

7. El procedimiento de la reivindicación 6 en el que dicho algoritmo triple DES y el encadenamiento de bloques de cifrado cifran los datos en bloques que tienen un tamaño predeterminado y en el que el teclado comunica datos en bloques de dicho tamaño predeterminado.

8. El procedimiento de la reivindicación 1 en el que cada dato de la pluralidad de datos se genera en base a una pulsación individual de tecla recibida en el teclado.

9. Un medio legible por ordenador cifrado con instrucciones ejecutables por ordenador para llevar a cabo un procedimiento de recepción segura de una entrada en un componente lógico (202), procedente de un teclado (162), comprendiendo el procedimiento:

la recepción, en un componente lógico, de un primer valor (412) de uso único desde el teclado;

el envío, desde el componente lógico, de un segundo valor (414) de uso único al teclado; la creación de un primer valor inicial y de un segundo valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación de dicho primer valor de uso único y dicho segundo valor de uso único, usando una clave y un tercer valor inicial que es conocido tanto al teclado como al componente;

la recepción, en un componente lógico, de una pluralidad de pulsaciones cifradas del teclado, habiéndose creado en el teclado las pulsaciones cifradas cifrando las pulsaciones de teclas pulsadas recibidas en el teclado con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando la clave y el primer valor inicial procedente del teclado, estando incluida cada pulsación separada de tecla procedente de dicho teclado dentro de un dato separado de dicha pluralidad de datos, estando cifrado cada dato de la pluralidad de datos usando un bloque separado de dichos algoritmo triple DES y encadenamiento de bloques de cifrado; y

en el componente lógico, la decodificación de la pluralidad de pulsaciones cifradas de tecla usando la clave y el primer valor inicial.

10. El medio legible por ordenador de la reivindicación 9 en el que el componente lógico (202) comprende un primer sistema operativo que se ejecuta en un dispositivo informático junto con un segundo sistema operativo, no teniendo confianza el primer sistema operativo, al menos en algún sentido, en el comportamiento del segundo sistema operativo, comunicándose el teclado con el primer sistema operativo por medio de un controlador controlado por el segundo sistema operativo.

11. El medio legible por ordenador de la reivindicación 9 en el que el procedimiento comprende, además:

la recepción, en el componente lógico (202), de una pluralidad de códigos de autenticación de mensajes correspondientes a la pluralidad de pulsaciones cifradas de tecla procedentes del teclado (162), habiendo sido creados dichos códigos de autenticación de mensajes con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando dicha clave y el segundo valor inicial diferente de dicho primer valor inicial, siendo conocido dicho segundo valor inicial tanto al componente lógico como al teclado;

la verificación de la pluralidad de pulsaciones cifradas de tecla usando la pluralidad de los códigos de autenticación de mensajes.

12. El medio legible por ordenador de la reivindicación 11 en el que la creación de un primer valor inicial y un segundo valor inicial comprende, además:

la creación del primer valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación del primer valor (412) de uso único y el segundo valor (414) de uso único, usando la clave y un tercer valor inicial que es conocido tanto al teclado como al componente lógico (202); y

la creación del segundo valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación del primer valor de uso único y el segundo valor de uso único, usando la clave y un cuarto valor inicial que es conocido tanto al teclado como al componente lógico.

13. El medio legible por ordenador de la reivindicación 9 en el que dichos algoritmo triple DES y encadenamiento de bloques de cifrado cifran los datos en bloques que tienen un tamaño predeterminado y en el que el teclado comunica datos en bloques de dicho tamaño predeterminado.

14. Un teclado (162) que comprende:

uno o más emplazamientos de almacenamiento que almacenan un primer valor inicial y una clave;

un componente (202) de cifrado que está adaptado para recibir un primer valor (412) de uso único procedente del destinatario por medio de la interfaz de comunicaciones, para enviar un segundo valor (414) de uso único al destinatario por medio de la interfaz de comunicaciones y para crear el primer valor inicial aplicando el algoritmo triple DES y el encadenamiento de bloques de cifrado a una combinación del primer valor de uso único y el segundo valor de uso único, usando la clave y un segundo valor inicial que es conocido tanto al teclado como al componente, en el que dicho componente de cifrado cifra los datos de entrada recibidos en el teclado con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando dicha clave y dicho primer valor inicial, con lo cual se crean datos cifrados en base a dichos datos de entrada, siendo representativo cada dato individual de dichos datos de entrada de una pulsación separada de tecla recibida de dicho teclado, siendo cifrado cada dato individual de dichos datos de entrada usando un bloque separado de dichos algoritmo triple DES y encadenamiento de bloques de cifrado; y

una interfaz de comunicaciones que comunica dichos datos cifrados con un dispositivo externo al teclado, estando destinados dichos datos cifrados a un destinatario que conoce dicho primer valor inicial y dicha clave.

15. El teclado (162) de la reivindicación 14 en el que el componente de cifrado crea, además, una pluralidad de códigos de autenticación de mensajes correspondientes a los datos cifrados o a los datos de entrada, habiéndose creado dichos códigos de autenticación de mensajes con el algoritmo triple DES y el encadenamiento de bloques de cifrado usando dicha clave y un valor inicial diferente de dicho primer valor

5 inicial.

16. El teclado (162) de la reivindicación 14 en el que el teclado comprende un teclado USB.

17. El teclado (162) de la reivindicación 14 en el que la interfaz de comunicaciones comunica dichos datos cifrados a un controlador que es controlado por un primer sistema operativo que se ejecuta en dicho dispositivo, con lo que dichos datos cifrados son comunicados a dicho destinatario, siendo dicho destinatario un segundo sistema

10 operativo que se ejecuta en dicho dispositivo, o un programa que se ejecuta bajo dicho segundo sistema operativo, no teniendo confianza el segundo sistema operativo, al menos en algún sentido, en el comportamiento del primer sistema operativo.


 

Patentes similares o relacionadas:

Imagen de 'DISPOSITIVO DE PROTECCIÓN CONTRA LAS INTRUSIONES DE APARATOS…'DISPOSITIVO DE PROTECCIÓN CONTRA LAS INTRUSIONES DE APARATOS ELECTRÓNICOS, del 17 de Diciembre de 2010, de INGENICO FRANCE: Dispositivo anti-intrusión para una caja que comprende: • al menos dos bornes conductores de la electricidad distintos situados sobre una […]

MÉTODO PARA LA ELIMINACIÓN DEL SESGO EN SISTEMAS DE RECONOCIMIENTO BIOMÉTRICO, del 24 de Junio de 2020, de UNIVERSIDAD AUTONOMA DE MADRID: Método para eliminación del sesgo (por edad, etnia o género) en sistemas de reconocimiento biométrico, que comprende definir un conjunto de M muestras de Y personas diferentes […]

Sistema y método para una salida digital pervasiva de dispositivo a dispositivo, del 23 de Octubre de 2019, de Flexiworld Technologies, Inc: Un método de salida de datos para transmitir de forma inalámbrica, en uno o más dispositivos de salida, contenidos digitales a los que se accede mediante un […]

Método y programa de autenticación de usuario, y aparato de formación de imágenes, del 15 de Mayo de 2019, de RICOH COMPANY, LTD.: Un método de autenticación de usuario para un aparato de formación de imágenes que se puede conectar a través de una red a un aparato de […]

Derechos divididos en dominio autorizado, del 27 de Febrero de 2019, de KONINKLIJKE PHILIPS N.V: Un método para controlar el acceso a un elemento de contenido en un sistema que comprende un conjunto de dispositivos, constituyendo el conjunto […]

Método y programa de autenticación de usuario, y aparato de formación de imágenes, del 20 de Febrero de 2019, de RICOH COMPANY, LTD.: Un método de autenticación de usuario para un aparato de formación de imágenes que se puede conectar a través de una red a un aparato […]

Método y sistema para realizar una transacción y para realizar una verificación de acceso legítimo o uso de datos digitales, del 7 de Febrero de 2019, de Ward Participations B.V: Método para realizar una transacción electrónica entre una primera parte de transacción y una segunda parte de transacción usando un dispositivo electrónico operado […]

Método y sistema para realizar una transacción y para realizar una verificación de acceso legítimo o uso de datos digitales, del 16 de Enero de 2019, de Ward Participations B.V: Método para realizar una transacción electrónica entre una primera parte de transacción y una segunda parte de transacción usando un dispositivo […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .