WO2009130340A1 - Sistema y método de seguridad de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico mediante la generación de un código flotante diferente para cada transacción - Google Patents

Sistema y método de seguridad de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico mediante la generación de un código flotante diferente para cada transacción Download PDF

Info

Publication number
WO2009130340A1
WO2009130340A1 PCT/ES2008/000288 ES2008000288W WO2009130340A1 WO 2009130340 A1 WO2009130340 A1 WO 2009130340A1 ES 2008000288 W ES2008000288 W ES 2008000288W WO 2009130340 A1 WO2009130340 A1 WO 2009130340A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
computer
floating
access
personal
Prior art date
Application number
PCT/ES2008/000288
Other languages
English (en)
French (fr)
Inventor
Yuliya Tkach
Original Assignee
Editores Asociados Sc
MATÍAS CLAVERO, Gustavo
Delgado Acedo, Manuel
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Editores Asociados Sc, MATÍAS CLAVERO, Gustavo, Delgado Acedo, Manuel filed Critical Editores Asociados Sc
Priority to PCT/ES2008/000288 priority Critical patent/WO2009130340A1/es
Publication of WO2009130340A1 publication Critical patent/WO2009130340A1/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Definitions

  • the present invention consists of a double-factor security and anti-fraud method and method applied to access to a computer or a computer network whose use must be reserved for authorized users.
  • Such networks may serve, after requiring an access code, to securely provide services that involve a transaction or simply access to information such as in the case of banking telematic services, or to provide secure services in exchange for an economic counterpart such as telecompra , e-commerce in general, including card purchases, or access to pay-per-view television, etc.
  • the user himself or through a device creates a floating variable code from a simple encryption algorithm of his fixed code or PIN every time he wants to make a transaction.
  • the user will only use this floating variable code generated to access the computer or the computer network of the commercial or banking service provider.
  • Said computer system will execute the encryption algorithm in reverse and authorize the User access provided that the response of the latter algorithm is identical to a fixed access key, and invariable for all clients and transactions, which is determined by the configuration of the variables operated by the encryption algorithm.
  • Patents US20005 / 154676 and EP1816595 describe an electronic commerce system through the Internet that compares the information provided and how to interact with the user's system that accesses it with stored information of fraud patterns to determine whether access required is an attempted fraud.
  • patent EP0669032 describes a fraud detection method that uses a complex predictive model that performs a self-learning process based on historical access data and multiple correlative variables requiring, due to its complexity, numerous hours of specialized training and maintenance.
  • patent ES2029450 describes a system for comparing and validating variable, non-predictable codes generated by independent computers for identification. positive of a person or authorized user of a device or system. For the code generation, static variables and dynamic variables generated by clock means are used. Also, document ES2267138T3 describes a system in which the user has a portable device in which an algorithm for generating an access key is executed using various dynamic variables, of which some is updated based on the number of demands for Access made by the card, and one consists of a digitization key that is modified in each new generation of the access code.
  • the present invention by means of a simple and easy to implement method in a computer system, makes it possible to dispense with most of the authentication systems offered to users of banking, electronic commerce, or other electronic services, by the majority of credit institutions or commercial providers, which are weak or single-factor systems that use a single fixed or random key.
  • the present invention not only uses a different code for each transaction, but incorporates two protection factors: something that the customer knows, that is, a key, and something that the customer owns: a token or generation device and alternatively accumulation, of variable passwords. This double factor system makes it possible to avoid capture, or it makes useless, improper capture of the access code and, consequently, fraud.
  • the system and method object of the present invention is an alternative to existing card payment security systems as well as access to bank accounts or to e-commerce systems through
  • the system and method described here use a simple encryption algorithm for the information received that generates a floating code.
  • Said floating code instead of the fixed code or traditional PIN code, serves as the sole means of secure user access to the computer system of a bank or an e-commerce service provider via the Internet from any access point, including any computer, Not only the client's own, or any bank termination.
  • the aforementioned encryption algorithm is implemented in the aforementioned computer system on the floating code introduced, giving rise to a system with several levels of validation of parameters or codes that provides a very high level of security and makes the fact that the fact that the fixed code or PIN of the card user is filtered to third parties, since a new floating code must be obtained each time a transaction is to be made and this requires knowing the algorithm and its input data.
  • This secure transaction method provides numerous advantages, such as not having to memorize the code. Floating being able to write down on a paper, or be stored or generated in a calculator or a mobile or fixed device, since it varies with each operation and if repeated it will lock the user or card.
  • the floating code is for a single use, it can be entered in an access terminal to the bank or financial entity or electronic commerce services in the presence of other people as it cannot be used a second time.
  • the floating code can be entered in an access terminal to the bank or financial entity or electronic commerce services in the presence of other people as it cannot be used a second time.
  • the copied floating code will not help you To the criminals.
  • FIG. 1 The security system object of the present invention is illustrated.
  • Figure 3 diagram of the floating code generation method.
  • FIG. 4 diagram with the authorization method of access to the bank's computer.
  • FIG. 1 shows the security system for access to bank transactions in which the bank customer or bank card user has a fixed code or PIN (PINb), a card or account number (n) and a series of personal codes (sMj), all provided by the bank confidentially. It also represents a device (1) for generating a floating code (CF) in which the customer enters his PIN code (PINb) and the updated personal code series (sMj), which consists of the following components:
  • the user can directly display on a screen or printer connected to the device (1) the personal code selection number (j) and manually enter in the device the corresponding code (Mj) to that number.
  • the memory (3) of personal codes is not necessary.
  • the client may, from his remotely connected personal computer, the bank's server or computer or an e-commerce service provider, generate the floating code (CF) by entering the PINb code.
  • the computer will have a computer program that will execute the algorithm to obtain a floating code from the static code (PINb) and the personal code (Mj) selected by another simple computer program that receives the series of codes via the Internet personal (sMj) and the personal code selection number (j) (Mj).
  • the series of personal codes (sMj) be delivered to the client in paper format or on a card confidentially and that it is the client himself who enters these matrix series in the memory of his personal computer to through its keyboard to prevent the interception of them on the Internet.
  • the computer can display before each code generation floating (CF) the number (j) of selection of the personal code (Mj) and thus the user manually enter said code (Mj).
  • the device (1) or computer can have a storage medium of several dynamic variables (i), successively generated by the computer (2) and transmitted remotely (100,101) in batches to the device (1), next to each number of selection (j) of corresponding personal code (Mj), to be able to generate the corresponding means (5) or computer program a reserve list of floating codes (CF) to be used successively by the user.
  • a storage medium of several dynamic variables (i) successively generated by the computer (2) and transmitted remotely (100,101) in batches to the device (1), next to each number of selection (j) of corresponding personal code (Mj), to be able to generate the corresponding means (5) or computer program a reserve list of floating codes (CF) to be used successively by the user.
  • the client could even generate the floating code by itself from the data provided by the bank and knowing the operation of the algorithm.
  • the bank's computer (2) has a database (7) with the relevant data of each client, means that compare some of this data with those entered by the client for validation, a memory ( 8) that stores an encryption algorithm in reverse of the algorithm (6) that generates the floating code and means (9) that allow executing said algorithm in reverse for the identification / validation of access requested by the user using the code Floating (CF) generated in the device (1) described above.
  • Figure 2 shows the database (7) of the bank's computer (2) where the following data for each customer of the bank is stored in several spaces (71,72,73,74,75).
  • PINb the fixed variable or PIN code (PINb), preferably four or five digits to keep the floating code with six digits, and that can be changed in case of loss or leakage (71),
  • Each dynamic variable (i) can be any three-digit number with the difference between its extreme digits greater than or equal to 2 and less than or equal to 8,
  • each code (Mj) being a vector or matrix of dimensions of 1 x
  • TMj fixed selection table of dimensions 7x10 whose elements correspond to the number (0 ⁇ j ⁇ ll) of selection of the personal code (Mj).
  • the choice of the number j is made based on the dynamic variable (i) that determines the row by placing each series of seven successive numbers of the variable dynamics (i) generated in an orderly manner in each row of the table, and its central digit C that determines the column.
  • the element (1,1) of the table is equal to 1
  • the element (2,1) is equal to 2
  • so on up to element (3,2) which is equal to 10 and in the element (4,2 ) starts again with the number 1 as shown below:
  • This selection table allows one to always know with certainty when and what specific personal code (Mj) has to be used for a specific dynamic variable (i) (74).
  • a means (11) of the computer (2) identifies, from said dynamic variable (i), of the updated series of ten personal codes (sMj) and of the fixed selection table (TMj), the selection number (j) of the corresponding personal code (Mj) that is sent remotely (100, 101) to the floating code generation device (1) (CF).
  • the personal code (Mj) corresponding to the dynamic variable can be registered generated (i) in the corresponding memory (73) of the bank's computer (2).
  • This memory (73) also records the personal codes (Mj) historically used by each user or card to request access to the bank's computer (2), and does so at the time of each access authorization.
  • Figures 3 and 4 represent the security method proposed here that is implemented in the system described above and consists of two stages: generation of at least one floating code from the customer's PIN code by applying an algorithm of Simple encryption and a second one in which the bank's computer (2) performs a validation of the client's data and applies the algorithm of the first stage in reverse on the floating code, among those previously generated, introduced by the client and that always results in a unique validation key equal to 1089, which allows access.
  • CF by entering your fixed code or PIN (PINb) into the ad-hoc device (1) described in Figure 1 or your personal computer, displaying the resulting floating code (CF) on a screen or printing it.
  • PINb PIN
  • the customer will also receive from the bank, on paper support or on a card, the series of personal codes (sMj) every time a new one is generated.
  • the customer will also enter the personal code (Mj) or, if applicable, the set of the ten personal codes (sMj) in the device (1) for generating the floating code or personal computer using a keyboard as indicated above.
  • the floating code generation algorithm (CF) consists of the following steps represented in Figure 3:
  • each time the customer wishes to make a bank transaction he typically introduces, as in the case of access to an ATM, his card into a card reader that extracts the number (n) from it, or alternatively, the client could manually enter the number (n) of his card in the corresponding terminal or in an access via internet.
  • the client communicates to the bank computer (2) the floating code (CF) generated as indicated above.
  • a medium of the bank's computer (2) checks if the floating code (CF) was previously entered in the customer's database (7) and if so, blocks the transaction. Otherwise, the computer
  • the bank's computer (2) selects the personal code (Mj) from the personal code series
  • the system is programmed in this way so that the user can even generate a series of floating codes on his device 1 and save them for later use instead of having to generate them one by one for each access to the computer.
  • the number i extracted from the mix code is the following in the sequence of numbers ib to the last number ib-1 with which the computer that is also registered in the computer memory (2) was accessed.
  • the identified R number must be equal to the difference between the identified number i and its mirror DJ in order to proceed with the transaction, in which case,
  • any of the floating codes introduced by any of the users must always give the same number, 1089, as a response to the implementation of the algorithm in reverse, and that is the only one that finally guarantees access to the database.
  • the PIN code can be changed (or replace the card) at the request of the customer or the bank.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Sistema y método antifraude de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico, incluida la compra con tarjeta, que requieran una clave de acceso, mediante la generación de un código flotante diferente para cada transacción. El usuario por si mismo a través de un dispositivo crea en primer lugar un código flotante a partir de un sencillo algoritmo de encriptación que transforma su código PIN para posteriormente utilizar dicho código flotante para solicitar acceso al sistema informático del proveedor del servicio requerido que ejecuta a partir del código flotante el citado algoritmo de encriptación a la inversa debiendo dar como resultado una clave fija y única para todos los posibles códigos flotantes generados y para todos los clientes.

Description

SISTEMA Y MÉTODO DE SEGURIDAD DE DOBLE FACTOR PARA EL
ACCESO Y OPERACIÓN EN SERVICIOS TELEMÁTICOS BANCARIOS O
DE COMERCIO ELECTRÓNICO MEDIANTE LA GENERACIÓN DE UN
CÓDIGO FLOTANTE DIFERENTE PARA CADA TRANSACCIÓN
OBJETO DE LA INVENCIÓN
La presente invención consiste en un sistema y un método de seguridad y antifraude de doble factor aplicado al acceso a un ordenador o a una red informática cuya utilización deba estar reservada a usuarios autorizados. Tales redes pueden servir, tras requerir una clave de acceso, para proporcionar de forma segura servicios que impliquen una transacción o simplemente acceso a información como en el caso de servicios telemáticos bancarios, o para proporcionar servicios seguros a cambio de una contrapartida económica como la telecompra, el comercio electrónico en general, incluida la compra con tarjeta, o al acceso a la televisión por pago, etc.
El usuario por si mismo o a través de un dispositivo crea un código flotante variable a partir de un sencillo algoritmo de encriptación de su código fijo o PIN cada vez que quiera realizar una transacción. El usuario utilizará únicamente este código flotante variable generado para acceder al ordenador o a la red informática del proveedor de servicios comerciales o bancarios. Dicho sistema informático ejecutará el algoritmo de encriptación a la inversa y autorizará el acceso del usuario siempre que la respuesta de este último algoritmo sea idéntica a una clave de acceso fija, e invariable para todos los clientes y transacciones, que viene determinada por la configuración de las variables operadas por el algoritmo de encriptación.
ANTECEDENTES DE LA INVENCIÓN
Mientras que las entidades bancarias disponen de medidas de seguridad internas muy eficaces a efectos de prevenir y minimizar el fraude electrónico, los usuarios de servicios bancarios electrónicos, y de comercio electrónico en general, están expuestos cada vez más al denominado fraude electrónico.
Son numerosos los métodos conocidos para aumentar la seguridad en el acceso a servicios de comercio o banca electrónica y en el uso de tarjetas bancarias en las transacciones comerciales a través de Internet o para la obtención de dinero en terminales bancarias.
Uno de los métodos más extendido es la de fijar un código fijo a la tarjeta y proporcionar ese código al cliente del banco, al cual le será solicitado dicho código cada vez que quiera operar con su tarjeta. Si este código fijo, o incluso el propio número de la tarjeta, es substraído por un tercero, éste tendría fácil e inmediato acceso a las cuentas bancarias del titular. De hecho, en los últimos años se ha producido una verdadera explosión del crecimiento del fraude relacionado con el acceso a cuentas y al uso de tarjetas bancarias en Internet o en cajeros automáticos de bancos principalmente por la substracción de los citados códigos fijos. Por tanto, la mayoría de los sistemas actuales de seguridad de tarjetas de crédito requieren cambios frecuentes de contraseñas (códigos PIN) .
Existen inventos patentados para evitar el fraude en tarjetas de crédito con más o menos éxito y con diferente grado de complejidad. Por ejemplo, el de la patente EP0252703 que utiliza un algoritmo de codificación a partir de los datos de cuenta corriente y el código de seguridad de la tarjeta, generando un código de verificación que se graba en la tarjeta. Cuando la tarjeta se introduce en un lector de tarjetas el vendedor puede extraer los códigos de verificación y de seguridad e introducirlos en un aparato de verificación que utiliza una algoritmo de verificación que genera una respuesta que debe ser idéntica al código de verificación y en tal caso genera un código de autentificación que el vendedor escribirá en el recibo de pago con la tarjeta de crédito.
Han surgido numerosas invenciones implementadas por ordenador que proponen métodos muy complejos de verificación de la autenticidad del usuario. En las patentes US20005/154676 y EP1816595 se describe un sistema de comercio electrónico a través de Internet que compara la información suministrada y la forma de interactuar con el sistema del usuario que accede al mismo con información almacenada de patrones de fraude para determinar si el acceso requerido es un intento de fraude. Asimismo, la patente EP0669032 describe un método de detección de fraude que utiliza un complejo modelo predictivo que realiza un proceso de autoaprendizaje basado en datos históricos de acceso y en múltiples variables correlativas necesitando, debido a su complejidad, numerosas horas de formación y mantenimiento especializado.
En concreto, y para superar la desventaja de confiar un código fijo y único como medio para conseguir permiso de acceso selectivo a un sistema, la patente ES2029450 describe un sistema para comparar y validar códigos variables, no predecibles, generados por ordenadores independientes para la identificación positiva de una persona o usuario autorizado de un aparato o sistema. Para la generación del código se utilizan variables estáticas y también variables dinámicas generadas por medios de reloj. Asimismo, el documento ES2267138T3 describe un sistema en el que el usuario dispone de un dispositivo portátil en el que se ejecuta un algoritmo de generación de una clave de acceso utilizando diversas variables dinámicas, de las cuales alguna se actualiza en función del número de demandas de acceso realizadas por la tarjeta, y una consiste en una clave de digitalización que es modificada en cada nueva generación de la clave de acceso. El usuario debe remitir la palabra de paso al ordenador remoto, el cual ha realizado los mismos pasos efectuados en el dispositivo portátil, de forma independiente, para su comparación y posterior autorización de acceso. Otros documentos que describen sistemas donde se dispone de un dispositivo en uno de los extremos de la comunicación con capacidad de generar un código de un solo uso a partir variables fijas y variables a las que se les aplica un algoritmo predeterminado son las patentes
GB2435533, US5130519 y CA2291430.
DESCRIPCIÓN DE LA INVENCIÓN
La presente invención, mediante un método simple y fácil de implementar en un sistema informático, permite prescindir de las desventajas de la mayoría de los sistemas de autenticación ofrecidos a los usuarios de banca, de comercio electrónico, o de otros servicios electrónicos, por la mayoría de las entidades de crédito o proveedores comerciales, que son sistemas débiles o de un solo factor que emplean una única clave fija o aleatoria. La presente invención no sólo utiliza un código diferente para cada transacción, sino que incorpora dos factores de protección: algo que el cliente conoce, es decir una clave, y algo que el cliente posee: un token o dispositivo de generación y alternativamente de acumulación, de claves de acceso variables. Este sistema de doble factor permite evitar la captura, o hace inútil la captura, indebida de la clave de acceso y, por consiguiente, el fraude.
Mediante la presente invención el cliente deberá introducir un código flotante diferente, previamente generado, cada vez que quiera acceder al ordenador o sistema informático de un proveedor de comercio electrónico o de una entidad financiera. El sistema y método objeto de la presente invención es una alternativa a los existentes sistemas de seguridad de pago por tarjeta asi como de acceso a cuentas bancarias o a sistemas de comercio electrónico a través de
Internet .
El sistema y método aqui descrito utilizan un sencillo algoritmo de encriptación de la información recibida que genera un código flotante.
Dicho código flotante, en lugar del código fijo o código PIN tradicional, sirve como único medio de acceso seguro del usuario al sistema informático de un banco o de un proveedor de servicios de comercio electrónico por Internet desde cualquier punto de acceso, incluido cualquier ordenador, no sólo el del propio cliente, o cualquier terminar bancaria.
En el citado sistema informático se implementa el algoritmo de encriptación a la inversa sobre el código flotante introducido, dando lugar a un sistema con varios niveles de validación de parámetros o códigos que proporciona un elevadisimo nivel de seguridad y que hace prácticamente irrelevante el hecho de que se filtre a terceros el código fijo o PIN del usuario de la tarjeta, ya que hay que obtener un código flotante nuevo cada vez que se quiera realizar una transacción y ello requiere conocer el algoritmo y sus datos de entrada.
En caso de que se genere una formación de código flotante incorrecta o se introduzca el mismo código flotante dos veces, el usuario es bloqueado lo que lo convierte en un sistema de seguridad de nivel añadido.
Este método de transacción segura proporciona numerosas ventajas, como la de no tener que memorizar el código flotante pudiéndose anotar en un papel, o estar almacenado o generado en una calculadora o un dispositivo móvil o fijo, ya que el mismo varia con cada operación y en caso de repetirse se bloquearla el usuario o tarjeta.
Por tanto, debido a que el código flotante es de un único uso, se puede introducir en un terminal de acceso al banco o entidad financiera o de servicios de comercio electrónico en presencia de otras personas al no poderse utilizar una segunda vez. De la misma forma que si en caso de llevar a cabo compras a través de terminales en puntos de venta, si existiera un dispositivo de lectura en uno de estos terminales, se puede estar seguro de que ningún tercero podria utilizar el código flotante copiado de nuevo. De la misma manera, a la hora de llevar a cabo una transacción a través de un cajero automático en el que se haya instalado un dispositivo de lectura, una mini video cámara o un sobre en su interior, el código flotante copiado no servirla de nada a los criminales.
Es un sistema diseñado para impedir o hacer inservibles casos de captura de claves telemáticas por técnicas delictivas hoy ya muy extendidas y crecientes en todo el mundo como las del phishing, pharming, malware bancario (troyanos, keyloggers) , estafa piramidal, hoax, o cartas nigerianas.
Se obtiene de esta forma un método simplificado de trabajo del sistema y que le garantiza una altísima velocidad y alta seguridad. BREVE DESCRIPCIÓN DE LOS DIBUJOS
Se incluyen las siguientes figuras con el fin de facilitar la comprensión de la invención:
Figura 1: se ilustra el sistema de seguridad objeto de la presente invención.
- Figura 2: diagrama de la base de datos del banco.
Figura 3: diagrama del método de generación del código flotante.
- Figura 4: diagrama con el método de autorización de acceso al ordenador del banco.
REALIZACIÓN PREFERENTE DE LA INVENCIÓN
A continuación se detalla una realización preferente de la invención, que habrá de entenderse en sentido amplio y no limitativo, en especial, toda referencia al acceso al ordenador de un banco debe entenderse a modo de ejemplo, siendo la aplicación de la presente invención válida para el acceso a cualquier medio o sistema informático de un proveedor de servicios de comercio electrónico o de servicios financieros, o en general un acceso a una red informática que requiera una autentificación del usuario. En la figura 1 se visualiza el sistema de seguridad de acceso a transacciones bancarias en el cual el cliente del banco o usuario de tarjeta bancaria dispone de un código fijo o PIN (PINb), un número de tarjeta o cuenta (n) y una serie de códigos personales (sMj), todo proporcionado por el banco de forma confidencial. Se representa asimismo un dispositivo (1) de generación de un código flotante (CF) en el que el cliente introduce su código PIN (PINb) y la serie de códigos personales (sMj) actualizada, y que consta de los siguientes componentes :
Una conexión remota (101, 100) al ordenador de un banco (2) a través de la cual recibe para la generación de un código flotante (CF) una variable dinámica (i) y un número (j) de selección del código personal (Mj ) .
Una memoria (3) en la que el usuario introduce la serie de códigos personales (sMj) proporcionada por el banco y que es diferente y única para cada cliente.
Un medio (4) de selección de un código personal (Mj) de entre la serie de códigos personales (sMj) a partir del número (j) de selección de dicho código personal (Mj) . Alternativamente, el usuario puede visualizar directamente en una pantalla o impresora conectada al dispositivo (1) el número (j) de selección del código personal e introducir manualmente en el dispositivo el código correspondiente (Mj) a ese número. En este caso la memoria (3) de códigos personales no es necesaria. Un medio (5) conectado a la memoria (6) que almacena un algoritmo de encriptación y que ejecuta dicho algoritmo de encriptación al recibir los siguientes datos: la variable fija o PIN (PINb) introducido por el usuario, la variable dinámica (i) proveniente remotamente (100, 101) del ordenador del banco (2) y el código (Mj ) correspondiente de entre la serie de códigos personales (sMj) .
Una pantalla o conexión a una impresora para visualizar el código flotante generado (CF) .
Alternativamente, el cliente podrá, desde su ordenador personal conectado remotamente, al servidor u ordenador del banco o a un proveedor de servicios de comercio electrónico, generar el código flotante (CF) mediante la introducción del código PINb. El ordenador dispondrá de un programa de ordenador que ejecutará el algoritmo de obtención de un código flotante a partir del código estático (PINb) y del código personal (Mj) seleccionado por otro sencillo programa de ordenador que recibe a través de Internet la serie de códigos personales (sMj) y el número (j) de selección del código personal (Mj) . Si bien para mayor seguridad, se recomienda que la serie de códigos personales (sMj) sea entregada al cliente en formato papel o en una tarjeta de forma confidencial y que sea el propio cliente quien introduzca estas series matrices en la memoria de su ordenador personal a través del teclado del mismo para evitar la interceptación de las mismas en Internet. Alternativamente, el ordenador puede visualizar antes de cada generación del código flotante (CF) el número (j) de selección del código personal (Mj ) y asi el usuario introducir manualmente dicho código (Mj ) .
Adicionalmente, el dispositivo (1) u ordenador puede disponer de un medio de almacenamiento de varias variables dinámicas (i) , generadas sucesivamente por el ordenador (2) y transmitidas remotamente (100,101) en lotes al dispositivo (1), junto a cada número de selección (j) de código personal (Mj) correspondiente, para poder generar el medio (5) o programa informático correspondiente una lista de reserva de códigos flotantes (CF) a ser utilizados sucesivamente por el usuario.
Debido a la sencillez del algoritmo utilizado, alternativamente el cliente podría incluso generar por si mismo el código flotante a partir de los datos proporcionados por el banco y conociendo el funcionamiento del algoritmo.
El ordenador del banco (2), por su parte, dispone de una base de datos (7) con los datos relevantes de cada cliente, unos medios que comparan algunos de estos datos con los introducidos por el cliente para su validación, una memoria (8) que almacena un algoritmo de encriptación a la inversa del algoritmo (6) que genera el código flotante y unos medios (9) que permiten ejecutar dicho algoritmo a la inversa para la identificación/validación de acceso solicitado por el usuario que utiliza el código flotante (CF) generado en el dispositivo (1) descrito anteriormente. En concreto, en la figura 2 se representa la base de datos (7) del ordenador del banco (2) donde se almacenan en varios espacios (71,72,73,74,75) de la misma los siguientes datos para cada cliente del banco o usuario de una tarjeta:
la variable fija o código PIN (PINb) , preferiblemente de cuatro o cinco dígitos para mantener el código flotante con seis cifras, y que podrá cambiarse en caso de pérdida o filtración (71),
una secuencia ordenada de menor a mayor de seiscientas treinta variables dinámicas (i) que el ordenador (2) del banco genera y almacena (72). Cada variable dinámica (i) puede ser cualquier número de tres dígitos con la diferencia entre sus dígitos extremos mayor o igual a 2 y menor o igual a 8,
la tabla (73) con una serie de diez códigos personales (sMj) diferentes entre si siendo cada código (Mj) un vector o matriz de dimensiones de 1 x
3. Cada vez que se utilizan doscientas diez variables dinámicas (i), un medio (10) del ordenador del banco
(2) genera una nueva serie de diez códigos personales (sMj) que se entregan al cliente y que es única para cada cliente como ya se ha indicado anteriormente,
una tabla de selección fija (TMj) de dimensiones 7 x 10 cuyos elementos corresponden al número (0<j<ll) de selección del código personal (Mj ) . La elección del número j se realiza en función de la variable dinámica (i) que determina la fila al colocarse cada serie de siete números sucesivos de la variable dinámica (i) generados de forma ordenada en cada fila de la tabla, y su dígito central C que determina la columna. El elemento (1,1) de la tabla es igual a 1, el elemento (2,1) es igual a 2, y así sucesivamente hasta elemento (3,2) que es igual a 10 y en el elemento (4,2) se vuelve a comenzar con el número 1 tal y como se muestra a continuación:
Figure imgf000015_0001
Esta tabla de selección, así definida, permite que siempre se sepa con certeza cuando y qué código personal (Mj) específico ha de ser utilizado para una variable dinámica (i) concreta (74) .
Asimismo, cada vez que se genera o envía al dispositivo (1) de generación de código flotante una variable dinámica (i) para la generación del código flotante, un medio (11) del ordenador (2) identifica, a partir de dicha variable dinámica (i) , de la serie de diez códigos personales (sMj) actualizada y de la tabla de selección fija (TMj), el número de selección (j) del código personal (Mj) correspondiente que es enviado remotamente (100, 101) al dispositivo (1) de generación del código flotante (CF) .
Al mismo tiempo, se puede registrar el código personal (Mj ) correspondiente a la variable dinámica generada (i) en la memoria (73) correspondiente del ordenador del banco (2) . Esta memoria (73) registra también los códigos personales (Mj ) históricamente utilizados por cada usuario o tarjeta para solicitar acceso al ordenador (2) del banco, y lo hace al producirse cada autorización de acceso.
Un espacio de memoria (75) donde se memoriza para cada cliente los códigos flotantes con los que históricamente ha accedido al ordenador del banco (2).
En las figuras 3 y 4 se representa el método de seguridad aqui propuesto que se implementa en el sistema descrito anteriormente y que consta de dos etapas: generación de al menos un código flotante a partir del código PIN del cliente mediante la aplicación de un algoritmo de encriptación simple y una segunda en la que el ordenador (2) del banco, realiza una validación de los datos del cliente y aplica el algoritmo de la primera etapa de manera inversa sobre el código flotante, de entre los generados previamente, introducido por el cliente y que da siempre como resultado una clave única de validación igual a 1089, que permite el acceso.
Efectivamente, el cliente generará el código flotante
(CF) introduciendo su código fijo o PIN (PINb) en el dispositivo ad-hoc (1) descrito en la figura 1 o su ordenador personal, visualizando en una pantalla el código flotante resultante (CF) o imprimiéndolo. En todo caso, el cliente también recibirá del banco, en soporte papel o en una tarjeta, la serie de códigos personales (sMj) cada vez que se genere una nueva. El cliente introducirá también el código personal (Mj ) o en su caso el conjunto de los diez códigos personales (sMj) en el dispositivo (1) de generación del código flotante u ordenador personal utilizando un teclado como se ha indicado anteriormente.
El algoritmo de generación del código flotante (CF) consta de los siguientes pasos representados en la figura 3:
1) Se introduce la variable dinámica o número i y se obtiene su imagen espejo Di consistente en la secuencia invertida de las secuencias de dígitos del número i. Para un número i = 325, su espejo Di seria 523.
2) Se obtiene un numero R como el valor absoluto de la diferencia entre i y Di. La diferencia absoluta entre i=325 y su imagen espejo Di=523 genera el número R = 198.
3) A partir del número i, de su dígito central C y de la tabla de selección fija (TMj) de códigos personales y de la misma serie de códigos personales (sMj), se obtiene el código personal (Mj) que indica las posiciones de cada uno de los tres dígitos del número R dentro de un vector de seis elementos denominado código mezcla (M) .
Para un i = 325, su cifra central es 2, y para la tabla de selección de matrices fija y única (TMj) descrita :
Figure imgf000018_0003
El número de selección del código personal es j=7; y, por ejemplo, para una serie de diez códigos personales (sMj) como la indicada a continuación:
Figure imgf000018_0001
se obtendría una matriz o código personal Mj = M7 = 6,2,4 que aplicada al número R = 198 da lugar a la matriz (M(R) ) de dimensiones 1 x 6:
9 8 1
4) Las tres posiciones restantes del código mezcla (M) se rellenan mediante la introducción del número i en las posiciones vacantes en una secuencia estrictamente definida de izquierda a derecha.
Figure imgf000018_0002
5) Se obtiene finalmente el código flotante (CF) al restar la variable fija o PIN (PINb) al número resultante del código mezcla (M) . Por ejemplo, para un PIN=8787 el CF=392851-8787=384064
Como se representa en la figura 4, cada vez que el cliente desea realizar una transacción bancaria introduce típicamente, como en el caso de acceso a un cajero automático, su tarjeta en un lector de tarjetas que extrae el número (n) de la misma, o alternativamente, el cliente podria introducir manualmente el número (n) de su tarjeta en la terminal correspondiente o en un acceso a través de internet. A continuación, el cliente le comunica al ordenador del banco (2) el código flotante (CF) generado como se ha indicado anteriormente.
Un medio del ordenador del banco (2) comprueba si el código flotante (CF) fue ya introducido anteriormente en la base de datos del cliente (7) y en caso afirmativo bloquea la transacción. En caso contrario, el ordenador
(2) memoriza el nuevo código flotante (CF) con el que se pide acceso al ordenador y ejecuta el algoritmo de obtención del código flotante a la inversa:
1) Se suma el código PINc (PIN=8787), asociado al número de tarjeta leido o introducido, al código flotante (CF=384064) introducido y se obtiene el código mezcla (M=PINc+CF=392851) .
2) El ordenador (2) del banco selecciona el código personal (Mj ) de la serie de códigos personales
(sMj) almacenada en la memoria (73) que va inmediatamente a continuación del último código personal (Mj-I) utilizado para acceder al ordenador
(2) y que el mismo ordenador siempre registra, como ya se ha descrito anteriormente, actuando de esta forma debido al orden de la secuencia de los elementos de la matriz Mj, o códigos personales, que van en orden sucesivo de 1 a 10.
En el ejemplo de la figura 4, el ordenador tenia registrada como última matriz Mj la M6 por lo que ahora tendrá que utilizar la matriz M7=624 de la serie de matrices Mj (sMj) del cliente, y a su vez registrarla para que en la siguiente solicitud de acceso del usuario se utilice el código M8.
El sistema está programado de esta manera para que el usuario pueda, incluso, generar una serie de códigos flotantes en su dispositivo 1 y guardarlos para su posterior uso en lugar de tenerlo que generar de uno en uno por cada acceso al ordenador. Si bien, tendrá que usar los códigos flotantes de forma ordenada según el orden obtenido en la lista generada de códigos flotantes.
Cuando se solicita por primera vez el acceso al ordenador (2) se está realizando con el primer código flotante generado con el dispositivo (1) de generación y en ese caso el elemento (11) correspondiente del ordenador (2) del banco habrá generado el primer número j , y su correspondiente código personal (Mj ) quedará registrado como tal en la base de datos (73) del ordenador (2) para su uso por el algoritmo inverso durante este primer acceso al ordenador y quedando registrado dicho código (Mj) como el primer datos histórico utilizado, de forma que en el siguiente acceso se utilice el siguiente código personal (Mj+1) en la serie de códigos personales (sMj) almacenados.
3) Utilizando la matriz Mj correspondiente (M7=624) se extrae del código mezcla M (M=392851; M(R)=_9_8_1) el número R (R=198) y el i=325 de las posiciones dejadas en el código mezcla tras la extracción de las cifras marcadas por la matriz Mj .
Se puede comprobar que el número i extraído del código mezcla es el siguiente en la secuencia de números ib al último número ib-1 con el que se accedió al ordenador que también queda registrado en la memoria del ordenador (2) .
4) El número R identificado deberá ser igual a la diferencia entre el número i identificado y de su espejo Dj para poder seguir adelante en la transacción, en cuyo caso,
5) a partir del número R (R=198) se obtiene su espejo DR (DR=891) y la suma de ambos debe dar siempre como resultado un mismo número denominado clave de acceso (K) que debe ser igual a 1089.
Por tanto, cualquiera de los códigos flotantes introducidos por cualquiera de los usuarios debe dar siempre como respuesta a la implementación del algoritmo a la inversa el mismo número, 1089, y que es el único que garantiza finalmente el acceso a la base de datos. Al determinar la matriz Mj la disposición de los dígitos de un número de tres dígitos, R, dentro de una matriz de dimensiones 1 x 6, esto permite que un simple número R pueda tener 20 x 6 = 120 combinaciones de colocación puesto que puede haber 7 de estos números R (por la formación del algoritmo del número R en si mismo) , permitiendo 120 x 7 = 840 combinaciones de colocación del número R en las matrices, lo que implica que hay un total de 840 matrices Mj posibles.
Dado que cada cliente recibe diez matrices Mj, el sistema tendrá 10! = 3.628.800 combinaciones posibles. Para las 840 matrices posibles las combinaciones serian, aplicando la formula Stirling para el cálculo aproximado de factoriales, 840! * 2 x (10 elevado a 2102) .
Si se multiplica todo ello por la variabilidad de cambios de los otros 3 dígitos del número i, se aprecia que el potencial total de variabilidad del sistema lo hace virtualmente perfecto e invulnerable a intrusos.
Sin embargo, entre todos los números i posibles existen muchos números similares con sus dígitos a la inversa, como el 103 y el 301 o el 407 y el 704 que, para el algoritmo aqui descrito, supondrían repeticiones completas. Este problema es eliminado con la serie de diez matrices o códigos personales (sMj) porque se turnan de acuerdo a la tabla fija de selección de códigos personales (TMj), de tal manera que matrices (Mj) diferentes se emparejan con estos números por finalizar estos en diferentes lugares en la tabla (TMj) . Para el ejemplo de la tabla de selección y de la serie de diez matrices indicado anteriormente, el número i = 103 estará en la primera fila de la tabla TMj, y su correspondiente matriz será la Ml=β;2;4, mientras que para el número i=301 que estarla en la segunda fila la matriza Mj correspondiente seria la M2=3;5;l.
Sin embargo, para números i con una colocación del dígito a la inversa que ocurre en cada tercera o cuarta centena, las matrices coincidirían causando repetición absoluta del código flotante. Este problema se soluciona con el cambio de la serie de diez matrices (sMj) después de 210 operaciones y manteniendo inalterada la tabla de selección de la matriz Mj (TMj) .
Posteriormente el sistema continúa operando de un manera similar: comenzando el siguiente ciclo cuando los mismos números i se utilizan con diferentes series intercambiables de diez matrices (sMj) . Se debe tener en cuenta, además, que en cada ciclo no hay necesidad de utilizar números i partiendo del 103 hasta el 997 sino que por ejemplo, se puede ir del 377 al 376 (esto es, del 377 al 997 y luego del 103 al 376) pero siempre en dirección del numero i más pequeño hacia el más alto.
Adicionalmente en cualquier momento el código PIN se puede cambiar (o reemplazar la tarjeta) mediante la solicitud del cliente o del banco.

Claims

REIVINDICACIONES
1. Sistema de autorización de acceso a un ordenador (2) mediante la generación de un código flotante variable (CF) de un solo uso que comprende al menos:
- un dispositivo (1) de generación y visualización de dicho código flotante (CF) a partir de un algoritmo de encriptación (6) aplicado por un medio (5) a: una variable fija (PIN) proporcionada por el usuario, una variable dinámica (i) generada por dicho ordenador (2) y un código personal (Mj) seleccionado de entre una serie de códigos personales de cada usuario (sMj) a partir de un número (j) de selección del código personal (Mj) obtenido por el ordenador (2,11) a partir de dicha variable dinámica (i) generada y de una tabla de selección fija (TMj);
- una red telemática (100,101) que conecta el ordenador (2) con el dispositivo (1) de generación del código flotante (CF) para que éste reciba del ordenador (2) la variable dinámica (i) y el número de selección (j) del código personal;
- dicho ordenador (2) que tiene registrados (7) una serie de datos de cada usuario o tarjeta (PIN, n, i, sMj , TMj , CF, Mj ) ; que dispone al menos de unos medios (9) de ejecución de un algoritmo de desencriptación a partir del código flotante (CF) generado y proporcionado por el cliente, del código PIN del cliente registrado como asociado al número de tarjeta con la que se desea acceder al ordenador, y del continuo registro de determinados datos del cliente (Mj ) ; y que dispone de un medio de autorización de acceso al ordenador en función de una relación predeterminada entre dos respuestas del algoritmo de desencriptación;
caracterizado porque:
- dicha variable dinámica (i) es generada por el indicado ordenador (2) al menos cada vez que se requiere una generación de dicho código flotante (CF),
- el indicado algoritmo de desencriptación del ordenador (2) ejecuta a la inversa el indicado algoritmo de generación del código flotante (CF) del dispositivo (1) de generación del código flotante,
- dicho registro continuo de determinados datos del cliente (Mj) en el ordenador (2) consiste en el último código personal (Mj-I) con el que se autorizó un acceso al ordenador (2),
- dicha relación predeterminada consiste en que la suma de una de las respuestas (R) extraídas de dicho algoritmo de desencriptación y su secuencia numérica inversa (DR) da siempre como resultado un código único (k) de verificación para todos los usuarios y para cada acceso requerido debido a la particular forma y orden de generación y configuración de las variables fijas y dinámicas con las que se obtiene el código flotante (CF) y de dichos datos registrados continuamente para cada cliente (Mj ) , y teniendo que ser autorizado el siguiente acceso con el siguiente código personal (Mj ) de la serie de códigos personales
(sMj) sucesivo al último código utilizado (Mj-I) .
Sistema de autorización de acceso a un ordenador (2) mediante la generación de un código flotante variable (CF) de un solo uso, según la reivindicación 1, caracterizado porque el dispositivo (1) de generación del código flotante (CF) dispone de:
- un medio de introducción de la variable fija (PIN),
- una conexión a la red telemática (101) conectada al ordenador (2),
- una memoria (3) en la que se almacena la serie de códigos personales en vigor de cada usuario (sMj),
- un medio 4 que selecciona el código personal (Mj ) a partir del número (j) de selección de dicho código de entre la serie de códigos personales (sMj) almacenada en la memoria (3),
- un medio que almacena el algoritmo de encriptación (6), - un medio (5) que ejecuta al algoritmo de encriptación; y,
- un medio de visualización del código flotante generado (CF) .
3. Sistema de autorización de acceso a un ordenador (2) mediante la generación de un código flotante variable (CF) de un solo uso, según la reivindicación 1, caracterizado porque el dispositivo (1) de generación del código flotante
(CF) dispone de:
- un medio de introducción de la variable fija (PIN),
- una conexión a la red telemática (101) conectada al ordenador (2),
- una pantalla que visualiza el número (j) de selección del código personal (Mj ) ,
- un medio para la introducción del código personal (Mj) correspondiente al número (j) de selección de dicho código personal,
- un medio que almacena el algoritmo de encriptación
(6),
- un medio (5) que ejecuta al algoritmo de encriptación; y, - un medio de visualización del código flotante generado (CF) .
4. Sistema de autorización de acceso a un ordenador (2) mediante la generación de un código flotante variable (CF) de un solo uso, según cualquiera de las reivindicaciones 2 y 3, caracterizado porque el dispositivo de generación del código flotante (1) dispone de una conexión a un lector de tarjetas para leer el código PIN.
5. Sistema de autorización de acceso a un ordenador (2) mediante la generación de un código flotante variable (CF) de un solo uso, según cualquiera de las reivindicaciones 2 a 4, caracterizado porque, el dispositivo (1) dispone de un medio de acumulación de varias variables dinámicas (i) y sus correspondientes números (j) de selección del código personal (Mj) generados en el ordenador (2) para la generación de una serie de códigos flotantes (CF) que estarán disponibles y almacenados en un medio adicional del dispositivo (1) .
6. Sistema de autorización de acceso a un ordenador (2) mediante la generación de un código flotante variable (CF) de un solo uso, según cualquiera de las reivindicaciones anteriores, caracterizado porque, el ordenador (2) dispone al menos de:
- un medio para introducir el código flotante (CF) generado en el dispositivo (1) de generación del mismo, con el que se solicita acceso al ordenador
(2),
- dicha base de datos (7) donde se almacena dicha serie de datos (PIN, n, i, sMj , Mj , TMj , CF, Mj ) para cada usuario o tarjeta, en particular: la variable fija o código PIN (PIN) asociado a cada número de tarjeta, el número de la tarjeta bancaria (n) , los códigos variables (CF) introducidos históricamente, las variables dinámicas (i) generadas históricamente por el medio correspondiente y el registro de la última variable dinámica con la que se tuvo acceso al ordenador (2), la tabla de selección fija y única (TMj), la serie de códigos personales en vigor de cada usuario (sMj), el último código personal (Mj ) y último código flotante (CF) con los que se tuvo acceso al ordenador (2) ,
- un medio adicional que compara los datos leídos o introducidos de la tarjeta (n) del cliente con los datos equivalentes (n) almacenados en la base de datos (7), y que extrae el código PIN, del cliente o tarjeta,
— un medio adicional que compara el código flotante
(CF) introducido por el usuario con la lista de códigos flotantes ya introducidos en accesos previos por el usuario y almacenados en la base de datos (7), - un medio (10) adicional que comprueba si el número de variables dinámicas (i) generadas para cada usuario ha alcanzado el limite predeterminado para generar una nueva serie de códigos personales de cada usuario (sMj) y que genera en su caso una nueva serie (sMj) que es enviada al usuario,
- un medio (11) adicional que genera el número (j) de selección del código personal (Mj ) a partir de la variable dinámica (i) y de la tabla de selección fija (TMj), y que permite a la memoria (74) del ordenador registrar el código personal (Mj ) correspondiente al número j generado,
- una conexión a la indicada red telemática (101),
- una memoria (8) que almacena dicho algoritmo de desencriptación del código flotante (CF) ,
- dichos medios (9) de ejecución de dicho algoritmo de desencriptación que se alimenta con el código flotante (CF) introducido por el usuario, el código PINc extraído por dicho medio adicional a partir del número de la tarjeta (n) con el que se solicita acceso, y el código personal (Mj) de la serie de códigos personales (sMj) consecutivo en orden creciente al último código personal (Mj-I) con el que se autorizó el acceso al ordenador (2),
- un medio adicional que registra el código flotante (CF) y el código personal (Mj) con el que se ha accedido al ordenador cada vez que se autoriza un acceso; y,
- dicho medio de autorización de acceso al ordenador en función de una relación predeterminada entre dos respuestas del algoritmo de desencriptación.
7. Método de autorización de acceso a un ordenador (2) que se ejecuta en el sistema de las reivindicaciones anteriores que comprende los siguientes pasos:
- se genera una variable dinámica (i) y se registra (72) en el ordenador (2, 7) ,
- Se comprueba (10) que el número de variables dinámicas (i) generadas no ha sobrepasado un umbral determinado; si el umbral ha sido sobrepasado se genera (10) una nueva serie de códigos personal (sMj) que se registran (73) en el ordenador (2,7) y se envían al usuario,
- a partir de dicha variable dinámica (i) y de una tabla de selección única y fija (TMj) para todos los usuarios, registrada (74) en el ordenador, se extrae un número (j) de selección de código personal .
- se identifica el código (Mj ) personal correspondiente al número de selección (j) y se registra en la memoria correspondiente (73) del ordenador (2) - el número (j) de selección de código personal y la variable dinámica (i) son enviados al medio (1) de generación de códigos flotantes (CF)
- dicho medio de generación (1) del código flotante genera el código flotante (CF) a partir de un algoritmo de encriptación aplicado a la variable dinámica (i) recibida, al código secreto (Mj) correspondiente al numero (j) de selección de código secreto recibido y al código PIN proporcionado por el usuario,
- el usuario introduce el código flotante (CF) generado en el ordenado (2), junto a los datos de la tarjeta o número de cuenta,
- el ordenador verifica que el dato de la tarjeta y la cuenta corriente introducido corresponde a alguno de los registros almacenados y se identifica el PIN registrado (71) correspondiente a esa tarjeta o número de cuenta, en caso contrario se bloquea el acceso,
- se comprueba si se ha solicitado previamente acceso al ordenador (2) con el código flotante
(CF) introducido, en caso afirmativo se bloquea el acceso,
- se aplica un algoritmo de desencriptación, inverso al indicado algoritmo de encriptación, sobre el código PIN extraido, el código flotante y el código personal (Mj ) que se utilizó en el último acceso permitido,
- si el acceso es válido el algoritmo de desencriptación debe dar como una de sus respuestas la misma variable dinámica (i) empleada por el algoritmo de encriptación para generar el actual código flotante de acceso, en caso contrario se bloquea la transacción,
- si el acceso es válido el algoritmo de desencriptación debe dar como una de sus respuestas un número R cuya suma con su secuencia numérica inversa (DR) da siempre como resultado un código único (k) para todos los usuarios y para cada acceso requerido, en caso contrario se bloquea la transacción,
- se registra (73) el código personal (Mj) y el código flotante (CF) que corresponde al acceso autorizado,
- el siguiente acceso será autorizado con el siguiente código personal (Mj ) de la serie de códigos personales (sMj) sucesivo al último código utilizado (Mj-I) .
8. Método según la reivindicación anterior caracterizado porque:
- la variable dinámica (i) se genera en una secuencia de menor a mayor, está compuesta por tres digitos siendo la diferencia entre sus digitos extremos mayor o igual a dos y menor o igual a ocho y su primer dígito no puede ser igual a cero,
- la serie de códigos personales consistente en una serie de diez matrices diferentes (sMj) y única para cada cliente de dimensiones 1 x 3,
- la tabla de dimensiones 7 x 10 de selección fija (TMj ) del código personal (Mj) donde sus elementos corresponden al número (j) de selección del código personal (Mj), siendo el elemento (1,1) de la misma igual a 1, el elemento (2,1) igual a 2, y asi sucesivamente hasta elemento (3,2) que es igual a 10, y en el elemento (4,2) se vuelve a comenzar con el número 1, y asi sucesivamente, y
9. Método según las reivindicaciones 7 y 8 caracterizado porque el algoritmo de encriptación opera de la siguiente manera:
- se introduce la variable dinámica (i) y se obtiene su imagen espejo (Di) consistente en la secuencia invertida de las secuencias de dígitos de la variable dinámica (i),
- se obtiene el numero R como el valor absoluto de la diferencia entre la variable dinámica (i) y su espejo (Di) ,
- se determina el elemento (j) de la tabla de selección fija (TMj) en función de la variable dinámica (i) que determina la fila al colocarse cada serie de siete números sucesivos de la variable dinámica (i) generados de forma ordenada en cada fila de la tabla, y su digito central C que determina la columna.
- a partir del elemento j se obtiene el correspondiente código personal (Mj ) de entre la serie de diez matrices de códigos personales (sMj) asignadas a cada cliente. Dicho código personal (Mj ) determina las posiciones de cada uno de los tres dígitos del número R dentro de un vector de seis elementos denominado código mezcla (M) ,
- las tres posiciones restantes de dicho código mezcla (M) se rellenan mediante la introducción de las cifras de la variable dinámica (i) en una secuencia de izquierda a derecha; y,
- se obtiene el código flotante (CF) al restar el código fijo o PIN (PINb) al número resultante del código mezcla (M) .
10. Método según las reivindicaciones 7 a 9 caracterizado porque al ejecutar el algoritmo de encriptación a la inversa se obtiene el número R que sumado a su número espejo DR da para todas los accesos correctos y para todos lo usuarios una clave de acceso única e igual a 1089.
11. Un programa informático implementado en el dispositivo (1) que ejecuta el algoritmo de encriptación.
12. Un programa informático implementado en el ordenador (2) que ejecuta a la inversa el algoritmo de encriptación.
PCT/ES2008/000288 2008-04-26 2008-04-26 Sistema y método de seguridad de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico mediante la generación de un código flotante diferente para cada transacción WO2009130340A1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/ES2008/000288 WO2009130340A1 (es) 2008-04-26 2008-04-26 Sistema y método de seguridad de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico mediante la generación de un código flotante diferente para cada transacción

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/ES2008/000288 WO2009130340A1 (es) 2008-04-26 2008-04-26 Sistema y método de seguridad de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico mediante la generación de un código flotante diferente para cada transacción

Publications (1)

Publication Number Publication Date
WO2009130340A1 true WO2009130340A1 (es) 2009-10-29

Family

ID=41216454

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2008/000288 WO2009130340A1 (es) 2008-04-26 2008-04-26 Sistema y método de seguridad de doble factor para el acceso y operación en servicios telemáticos bancarios o de comercio electrónico mediante la generación de un código flotante diferente para cada transacción

Country Status (1)

Country Link
WO (1) WO2009130340A1 (es)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130519A (en) * 1990-01-16 1992-07-14 George Bush Portable pin card
ES2267138T3 (es) * 1996-03-22 2007-03-01 Actividentity Europe Sa Sistema de control de acceso a una funcion de encriptado utilizando una pluralidad de variables dinamicas.
GB2435533A (en) * 2006-11-23 2007-08-29 Richard Mervyn Gardner Integrated systems for simultaneous mutual authentication of a database and a user

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130519A (en) * 1990-01-16 1992-07-14 George Bush Portable pin card
ES2267138T3 (es) * 1996-03-22 2007-03-01 Actividentity Europe Sa Sistema de control de acceso a una funcion de encriptado utilizando una pluralidad de variables dinamicas.
GB2435533A (en) * 2006-11-23 2007-08-29 Richard Mervyn Gardner Integrated systems for simultaneous mutual authentication of a database and a user

Similar Documents

Publication Publication Date Title
US9224272B2 (en) Method of secure data communication
US5214699A (en) System for decoding and displaying personalized indentification stored on memory storage device
US5193114A (en) Consumer oriented smart card system and authentication techniques
US6067621A (en) User authentication system for authenticating an authorized user of an IC card
EP0668580B1 (en) Method of authenticating a terminal in a transaction execution system
AU2006221804B2 (en) A method of secure data communication
US20160125406A1 (en) Time-varying security code for enabling authorizations and other uses of financial accounts
US20110142234A1 (en) Multi-Factor Authentication Using a Mobile Phone
US6669100B1 (en) Serviceable tamper resistant PIN entry apparatus
US20020147600A1 (en) System and method for implementing financial transactions using biometric keyed data
US20090144162A1 (en) Transaction Security Method and Apparatus
US9600808B1 (en) Secure payment card, method and system
US20150317469A1 (en) Dynamic interactive identity authentication method and system
CN104126292A (zh) 具有pki签名的视觉输出的强认证令牌
KR20080077245A (ko) 일시적 거래 코드를 사용하여 개인 신원정보 또는 권한을검증하는 방법 및 장치
US20200211014A1 (en) Security aspects of a self-authenticating credit card
KR100914905B1 (ko) 일회용 패스워드 생성기능을 가진 스마트카드 및 이를이용한 전자금융거래시스템
US20160086171A1 (en) Indication of Recurring Transaction for Payment Devices and Credit Cards
ES2699731T3 (es) Método y sistema para juegos
CA2534987A1 (en) Systems and methods for facilitating transactions
EP1111556A2 (en) Encryption display card
US10726417B1 (en) Systems and methods for multifactor authentication
US9811829B2 (en) System and method for guided passcode entry
US20030182241A1 (en) Time variable financial authentication apparatus
US10503936B2 (en) Systems and methods for utilizing magnetic fingerprints obtained using magnetic stripe card readers to derive transaction tokens

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08761534

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08761534

Country of ref document: EP

Kind code of ref document: A1