Method, apparatus, and system for securing interactions between users and computer-based applications

The system with personal security devices and a security server addresses the inflexibility of existing security solutions by executing security operation scripts, enhancing security and compatibility across applications.

JP2025538983APending Publication Date: 2025-12-03ONESPAN NORTH AMERICA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025525633
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-11-03
Filing Date
2023-11-01
Publication Date
2025-12-03

AI Technical Summary

Technical Problem

Existing security solutions for computer-based applications are not flexible enough to accommodate evolving security needs and are often not interoperable across different applications, leading to a trade-off between security, user convenience, and cost.

Method used

A system comprising personal security devices and a security server that identifies and executes security operation scripts to perform security tasks, ensuring secure interactions with computer-based applications, using cryptographic operations and unique device characteristics.

Benefits of technology

Provides a high level of security while accommodating evolving application security needs and supporting multiple applications, ensuring secure user interactions with computer-based applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025538983000001_ABST
    Figure 2025538983000001_ABST
Patent Text Reader

Abstract

A method, apparatus, and system for protecting user interaction with a computer-based application are disclosed, in which a security server receives a request from the computer-based application to perform a security task for the user, identifies a security operation script corresponding to the security task, sends a request to the user's personal security device to perform a security operation defined by the security operation script, receives a security operation result of the security operation script executed by the personal security device, determines a security task result based on the security operation result, and returns the security task result to the computer-based application to protect the operation.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to methods, systems, and apparatus for securing interactions between multiple users and multiple remotely accessible computer-based applications. More particularly, the present invention relates to authenticating users accessing remotely accessible computer-based applications and / or authenticating electronic transactions submitted or authorized by such users to remotely accessible computer-based applications. [Background technology]

[0002] Many computer-based applications are remotely accessible by one or more (human) users. In some computer-based applications, a user accessing the computer-based application includes a user interacting with the computer-based application. For example, a user accessing a computer-based application may provide data to the computer-based application, or may electronically sign a document, such as a digital agreement or digital contract, in the course of interacting with the computer-based application, or may instruct the computer-based application to perform a particular action, such as making a payment or transferring funds. A computer-based application may provide a user with the ability to remotely interact with other users, and a user interacting with the computer-based application may effectively enable remote interactions with such other users. Without lack of generality, the above-described interaction between a user and a computer-based application may be referred to hereinafter as a transaction, and a computer-based application configured to interact with a user may be referred to hereinafter as a transaction-processing computer-based application. Often, a transaction-processing computer-based application interacts with a human user, allowing the user to submit transactions to the transaction-processing computer-based application and grant implicit or explicit approval for the submitted transactions. The user may also approve transactions submitted by the transaction-processing computer-based application. Typically, a transaction processing computer-based application completes or continues processing a transaction once it receives approval of the transaction from the user. Hereinafter, a transaction processing computer-based application that interacts with a human user as described above will be referred to as a computer-based application, or simply an application.Transactions processed by computer-based applications are characterized or defined by a data set referred to herein as a transaction data set, or simply transaction data. Because transactions herein are processed by computer-based applications, they are also referred to herein as electronic transactions.

[0003] Often, such computer-based applications are remotely accessible by users via client access devices. The client access devices are connected via a computer network to a computer system hosting the computer-based application. Many remotely accessible computer-based applications are accessible via a web browser on the user's client access device, via the computer-based application's web interface. A typical example is an Internet banking website that users access over the Internet via a web browser on a personal computer (PC), laptop, or other device. Through this site, users can, for example, submit transfer requests to transfer funds from their bank account to another bank account (usually held by another user). Other examples of computer-based applications herein include Internet retail sites where users can submit purchase requests for goods and services and make payments for ordered goods and services, and investment sites where users can, for example, trade stocks. Still other examples of computer-based applications herein include video conferencing applications, etc.

[0004] A particular computer-based application may be accessible to anyone, or access to a particular computer-based application may be restricted to only certain users, or certain users may be restricted in the types of actions they can perform in that particular computer-based application.

[0005] Computer-based applications are often targets for fraudsters who attempt to insert fraudulent transactions into the computer-based application or to fraudulently manipulate or alter existing transactions. For example, in the case of an internet banking website, a fraudster may attempt to fraudulently submit transfer instructions from a legitimate user's account to an account owned or controlled by the fraudster. A fraudster may also impersonate another person, for example, to sign a contract.

[0006] Many computer-based applications employ technical measures to protect the computer-based application from such unauthorized manipulation. Below are some example solutions for protecting the interaction between users and computer-based applications.

[0007] User authentication. As a minimum defense against such fraud, many computer-based applications implement some form of user authorization, restricting users to only perform certain types of transactions (e.g., only transferring funds from the user's own account registered with the computer-based application), as well as user authentication (requiring a user to first log in and provide identification before performing a transaction with the computer-based application).

[0008] MITMA (Man-in-the-Middle Attack). While user authentication plays a major role in preventing fraudulent attacks, user authentication alone is insufficient to prevent all types of fraudulent attacks. In some types of attacks, even if a legitimate user logs into a computer-based application by entering the correct authentication information, an unauthorized third party can infiltrate the communication between the legitimate user and the computer-based application and fraudulently alter transactions submitted by the legitimate user or submit additional fraudulent transactions. Such attacks are sometimes called man-in-the-middle attacks (MITMA).

[0009] Transaction Signing. Existing solutions, which in principle offer a very high level of security, work as follows: Rather than simply authenticating a user logging into a computer-based application, the actual transaction purportedly submitted by that user is authenticated. That is, it is guaranteed that the submitted transaction originated from the legitimate user, was authorized by that user, and has not been altered since authorization. To authenticate the transaction, the user utilizes a separate electronic security device to generate an electronic transaction based on transaction data. The electronic signature generated by the electronic security device is transmitted to the computer-based application (e.g., by the user copying the string of digits representing the electronic signature from the display of the electronic security device into a field on the computer-based application's web page). The computer-based application then transmits the electronic signature to an authentication server for verification. The authentication server verifies that the received electronic signature matches the transaction data held by the computer-based application. If the received electronic signature does not match the transaction data held by the computer-based application, the electronic transaction is rejected; otherwise, it is accepted.

[0010] Many user authentication or transaction signing mechanisms are known and in use, such as user IDs and static passwords, dynamic passwords or one-time passwords generated by so-called strong authentication tokens, biometric authentication, authentication protocols based on PKI (Public Key Infrastructure) certificates and public-private key pairs, and strong authentication and transaction data signing tokens based on symmetric encryption.

[0011] Generally, many of the more secure solutions for protecting user interactions with computer-based applications rely on protocols that parameterize the cryptographic algorithms used in one or more steps of the protocol with cryptographic keys linked to a specific user. To further enhance the level of security, these cryptographic keys are often stored and / or used in a client authentication device, a device separate from the client access device that includes electronic security features that are assumed to be resistant to fraudulent attempts to extract or misuse the cryptographic keys.

[0012] Any technical security solution always involves a trade-off between security, user convenience, and cost. Because computer-based applications tend to vary widely in the types of users they support, the types of transactions they support, and the confidentiality of those transactions, the optimal trade-off, and therefore the most appropriate security solution, varies from computer-based application to computer-based application. In other words, there is no one-size-fits-all security solution that optimally meets the diverse requirements of the many existing computer-based applications. As a result, there is a wide variety of security solutions, consisting of a wide variety of security protocols using a wide variety of electronic security devices, which often are not interoperable. In other words, the electronic security devices that a user is expected to use to secure their interactions with a particular computer-based application often cannot be used to secure the same user's interactions with another computer-based application.

[0013] It is also not uncommon for the security requirements of a particular application to evolve over time: for example, due to changes in the application itself or a changing threat landscape (e.g., attackers becoming more sophisticated), the security features offered by a particular electronic security device may no longer meet the needs of the application after some time.

[0014] What is needed is a solution for protecting user interactions with remotely accessible computer-based applications that provides a high level of security while being flexible enough to accommodate evolving application security needs and support additional applications. Summary of the Invention [Problem to be solved by the invention]

[0015] The solution to the above problems is the invention described in the following part of this specification.

[0016] [Means for solving the problem]

[0017] In one aspect, a system for securing user interactions with computer-based applications is provided, which in some embodiments may be used in combination with any of the methods described elsewhere herein.

[0018] In a first set of embodiments of the system, the system comprises: a plurality of personal security devices (200); - a security server (120), The security server is receiving a request from a computer-based application to perform a security task for a user; - identifying a personal security device associated with the user from among a plurality of personal security devices; -Identifying a security operation script corresponding to a security task; - configured to send a request to the identified personal security device to perform a security operation defined by the security operation script.

[0019] Personal security devices include: Receives requests from the security server to perform security operations defined by a security operation script; - Retrieves the security operation script that defines the security operations requested by the security server, -Execute the acquired security operation script, -The acquired security operation script is configured to execute the security operation results and return them to the security server.

[0020] The security server further: receiving security operation results from the identified personal security devices; determining a security task outcome as a function of the security operation outcome; - configured to return the results of the security task to a computer-based application.

[0021] In another aspect of the present invention, a computer-based method for securing user interactions with a computer-based application is provided. In some embodiments, the method may include any of the methods described elsewhere herein. In some embodiments, the method may be used in conjunction with or performed by any of the systems and / or devices described elsewhere herein.

[0022] In a first set of embodiments of the method, the method comprises: a security server receiving (310) a request from a computer-based application to perform a security task for a user; - identifying (320) a personal security device associated with the user, for example by a security server; - identifying (325), for example by a security server, a security operation script corresponding to the security task; - the security server sending (330) a request to the personal security device to perform a security operation defined by the security operation script; receiving (335) a request by the personal security device to perform a security operation defined by the security operation script; - obtaining (340) a security operation script by the personal security device; - executing (350) a security operation script by the personal security device; - the personal security device returning (360) to the security server a security operation result resulting from the execution of the security operation script by the personal security device; - the security server receiving (365) the security operation result; - determining (370) by the security server a security task result as a function of the security operation result; The security server returns (380) the results of the security task to the computer-based application. Details of various embodiments of the different aspects of the invention discussed above are provided in the following paragraphs. [Brief explanation of the drawings]

[0023] BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a block diagram of a method for implementing the present invention;

[0014] Figure 2 is a block diagram of a method for implementing the present invention; [Figure 1] FIG. 1 illustrates a schematic diagram of an exemplary system according to one embodiment of the present invention. [Figure 2] FIG. 2 illustrates a schematic diagram of an exemplary apparatus according to one embodiment of the present invention. [Figure 3] FIG. 3 illustrates a schematic diagram of an exemplary method according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0024] Several embodiments of the present invention are described below. While specific embodiments are described, it should be understood that this is done for illustrative purposes only. Those skilled in the relevant art will understand that other components and configurations can be used without departing from the spirit and scope of the present invention. Numerous specific details are set forth to provide a thorough understanding of the present invention. However, those skilled in the relevant art will understand that the present invention may be practiced without these specific details. Additionally, well-known methods, procedures, components, and circuits may not have been described in detail so as not to obscure the present invention. Various modifications to the described embodiments will be apparent to those skilled in the art, and the general principles of the embodiments described in detail below may be applied to other embodiments.

[0025] FIG. 1 is a schematic diagram of an exemplary system (100) according to one embodiment of the present invention.

[0026] In one embodiment, the system (100) of the present invention comprises the following components: one or more personal security devices (200); A security server (120) comprising a computer system, the computer system may include a security server (120) comprising a set of one or more computers.

[0027] The system can be adapted to secure interactions between a user (190) and a remotely accessible computer-based application contained in or hosted by the application server (110). The user (190) can interact with the computer-based application using a client access device (130). For example, the user can access a web interface of the computer-based application on the application server (110) using a web browser contained in the client access device (130). Apart from the computer-based application, the application server (110) can further include a computer system for hosting the computer-based application, the computer system comprising a set of one or more computers.

[0028] The one or more computers of the application server (110) and / or security server (120) are comprised of the following elements: one or more digital data processing components (e.g., a microprocessor or CPU (Central Processing Unit)) for processing digital data; one or more memory components (e.g., RAM (Random Access Memory) memory or hard disk) for storing data or instructions (e.g., software) executed by the digital data processing components; and network interface components, such as an Ethernet interface, for connecting the one or more computers of the application server (110) and security server (120) computer systems to each other and / or to a computer network (150) (e.g., the Internet) and / or to the personal security device (200) and / or client access device (130) (via the computer network (150)). The computers included in the application server (110) are typically physically separate from the computers included in the security server (120). The personal security device (200) and the client access device (130) are typically physically separate electronic devices. The personal security devices (200) and client access devices (130) are typically physically separate from the security server (120) and application server (110).

[0029] The client access device (130) may be a personal client computing device such as a PC (personal computer), laptop, or tablet computer. The client access device (130) may include one or more digital data processing components, such as a microprocessor or CPU (central processing unit), for processing digital data, and one or more memory components, such as RAM (random access memory) memory or a hard disk, for storing data or instructions (e.g., software, such as an operating system, such as Windows, Unix, Linux, Apple iOS, or Android operating systems) executed by the digital data processing components. The client access device (130) may also include a network interface component, such as an Ethernet interface, for connecting the client access device (130) to the application server (110) and / or the security server (120).

[0030] The computer network (150) may connect one or more computers, application servers (110) and / or security servers (120) of a computer system to each other, to client access devices (130), and possibly to personal security devices (200). In some embodiments, the computer network (150) may include the Internet. In some embodiments, the computer network (150) may include a public telephone network. In some embodiments, the computer network (150) may include a wireless telephone network.

[0031] The security server (120) may be configured to perform, and these steps may be performed by, any of the method steps for securing user interactions with computer-based applications described elsewhere herein. The security server may be configured to perform, and these steps may be performed by, one or more or all of the method steps described, for example, in the description of FIG. 3. In particular, the security server (120) may be adapted to perform, one or more or all of the following steps: - exchanging messages with a computer-based application; receiving, from a computer-based application, a request message to perform a high-level security task (e.g., user authentication, transaction data verification, etc.) for a particular user, the request message including an identifier of the user and (optionally) a first set of input data and / or parameters for the high-level security task; - identifying a personal security device associated with said user; - translating high-level security tasks into security operations to be performed by a personal security device associated with said user; - sending a request to perform said security operation to a personal security device associated with said user, said instructions including a script or a reference to a script and (optionally) a second input data set and / or parameters for said security operation, which may be a function of a first input data set and / or parameters of said high-level security task; receiving a result of the security task from the personal security device; - determining the outcome of the high-level security task as a function of the received result of the security operation; - returning a response message to the computer-based application that includes the determined result of the high-level security task.

[0032] Personal security device (200) may include any of the personal security devices described elsewhere herein, particularly the personal security device described in the description of FIG.

[0033] 2 illustrates a schematic diagram of an exemplary electronic device, a personal security device 200, according to one embodiment of the present invention. The personal security device may be adapted to securely facilitate user interaction with computer-based applications.

[0034] A personal security device (200) according to the present invention may include components such as a memory component (210) and a digital data processing component (220). In some embodiments, the electronic device (200) may include additional components such as a user input interface (240), e.g., a keyboard, a user output interface (250), e.g., a display (e.g., an LCD (liquid crystal display)), a biometric sensor (230), e.g., a fingerprint sensor, one or more wired or wireless digital communication interfaces (270) for communicating with other electronic devices or computers, e.g., a USB (Universal Serial Bus) interface or an Ethernet interface, Bluetooth or Bluetooth Low Energy, Wi-Fi or IEEE 802.11 interface, or a wireless data interface adapted to communicate over a cellular data network. An additional digital communications interface (260) for interfacing with other electronic devices or removable components (98), such as inserted smart cards (98), such as one or more smart card readers for communicating with bank smart cards (e.g., EMV (Europay, Mastercard, Visa) debit or credit cards), SIM (Subscriber Identity Module) cards, or other forms of secure modules capable of securely storing secret data such as cryptographic keys and / or PINs or password reference data and / or biometric templates, and performing parameterized cryptographic calculations with said stored cryptographic keys, and a power source such as a battery or power cable. In some embodiments, such removable components may also be included in the personal security device.

[0035] The personal security device may be configured to perform cryptographic operations. For example, the personal security device may be configured to generate electronic signatures or dynamic credentials. In some embodiments, the personal security device may be specialized for security-related functions, such as securing user interactions with computer-based applications by generating electronic signatures and / or dynamic credentials such as one-time passwords (OTPs). For example, the personal security device may comprise an (intelligent and secure) smart card reader. In other embodiments, the personal security device may comprise a personal electronic device, such as a smartphone or smartwatch, with a client authentication app.

[0036] In some embodiments, the personal security device is adapted to perform some cryptographic operations in conjunction with the removable component (98), and the actual cryptographic calculations may be performed in part or entirely by the removable component (98).

[0037] The memory component (210) may be configured to store firmware instructions for reading and executing by the digital data processing component (220). The memory component (210) may further be configured to store data for reading, processing, and writing by the digital data processing component (220). In particular, the memory component (210) may be configured to store one or more secret and / or security-critical data elements, such as, for example, a private encryption key and / or reference data for PIN or password verification, or one or more biometric templates. The memory component may comprise volatile and / or non-volatile memory, such as, for example, one or more RAM (random access memory) chips, ROM (read-only memory) chips, EEPROM (electrically erasable programmable read-only memory), flash memory, hard disk drives, etc. In some embodiments, the personal security device may utilize a removable component (98) to store one or more secret and / or security-critical data elements.

[0038] The digital data processing component (220) can be connected, for example, by a bus, to the memory component (210) and various other components of the personal security device, such as the aforementioned biometric sensor (230), user input interface (240), user output interface (250), digital communication interface (270), and additional digital communication interface (260). The digital data processing component (220) can be adapted to read and execute firmware instructions stored in the memory component. The digital data processing component (220) can be adapted to read digital data stored in the memory component (210), process the digital data, and store it in the memory component. The digital data processing component (220) can be adapted to control various components of the personal security device, such as the aforementioned biometric sensor (230), user input interface (240), user output interface (250), digital communication interface (270), and additional digital communication interface (260).

[0039] The functionality of the personal security device (200) is defined and implemented at least in part by firmware stored in the memory component (210) and capable of being read and executed by the digital data processing component (220).

[0040] In some embodiments, the personal security device is configured to perform, and these steps may be performed by, any of the steps of the methods for securing user interactions with computer-based applications described elsewhere herein. For example, the personal security device is configured to perform, and these steps may be performed by, one or more or all of the steps of the method described in the description of FIG. 3.

[0041] In particular, the personal security device is associated with a particular user and is adaptable to perform the following steps as part of a method for protecting interactions between that user and computer-based applications: - storing a secret cryptographic master key in said memory; receiving and executing instructions from a security server; - performing a security operation according to instructions received from the security server, the performing of the security operation including: * executing an encryption algorithm parameterized with a secret encryption application key, the encryption application key being derived from and / or may be obtained using a secret encryption master key stored in said memory; *The process by which a personal security device interacts with a user (e.g., presenting verification data, receiving verification, authenticating the user via PIN or biometrics, etc.); *wherein the security operation flow is defined by a script (i.e., a micro-application, μ-app) received by the personal security device from the security server, - Returning the result of the security operation to the security server.

[0042] In some embodiments, the personal security devices discussed herein may be incorporated into any of the systems described elsewhere herein, and in particular, any of the systems described in the description of FIG.

[0043] The system can be used and operated, for example, as follows: When a computer-based application needs to perform some security task for a particular user (e.g., authenticating the user or verifying a transaction purportedly submitted by the user), the computer-based application can request a security server to perform this security task for this particular user. The security server performs the security task as follows: The security server can determine a security operation to be performed by a personal security device associated with this particular user. In this case, the security operation can be determined in response to the security task. The personal security device can, for example, be identified by the security server as a function of the user. The security server can then request the personal security device to perform the determined security operation. The personal security device then performs the security operation and returns the execution result of the security operation to the security server. The security server receives the security operation result and determines the result of the security task in response to the received result of the security operation performed by the personal security device. The security server can then return the determined result of the security task to the computer-based application.

[0044] The security server can be configured to exchange messages with computer-based applications. To request the security server to perform a security task for a particular user, the computer-based application can send one or more security task request messages to the security server, including a request to perform the security task. Conversely, to return the determined results of the security task to the computer-based application, the security server can send one or more security task result messages to the computer-based application. The computer-based application and the security server can apply cryptographically secure messaging techniques to these security task request messages and these security task result messages, and possibly other messages exchanged between the computer-based application and the security server. This ensures the authenticity, integrity, confidentiality, and / or non-repudiation of these messages and / or the content of these messages, and / or the inability to replay these messages. In some embodiments, the secure messaging techniques can be applied to the entire messages. In other embodiments, the cryptographically secure messaging techniques can be applied to the content or portions of the content of these messages. For example, in some embodiments, the confidentiality of the content of these messages can be ensured by encrypting the messages, the content of these messages, or portions of the content of these messages. In other embodiments, messages, the contents of these messages, or portions of the contents of these messages may be cryptographically checksummed or digitally signed to ensure the integrity of the message and / or the contents of the message and / or to authenticate the sender of the message.

[0045] Security Task Requests In some embodiments, the security task request may include an identifier of a security task to be performed by the security server. In some embodiments, the security task request may include an identifier of a particular user that requested the security server to perform the security task. In some embodiments, the security task request may include a first set of one or more data elements that serve as input data for the security task to be performed by the security server. For example, in some embodiments, the security task request may include a request to verify the authenticity of a particular transaction, and further, the security task request may include one or more transaction data elements that represent the particular transaction to be verified.

[0046] Security task result types In some embodiments, the result of a security task determined by the security server and returned to the computer-based application may include a binary value indicating whether the security task was successfully executed. For example, in some embodiments, the security task includes authenticating a user, and the result of the security task may indicate whether the user was successfully authenticated. Alternatively, the security task may include verifying a transaction by a user, and the result of the security task may indicate whether the user actually verified the transaction. In other embodiments, the result of the security task may have a value obtained from a set of discrete possible values. In other embodiments, the result of the security task may have a value obtained from a set of continuous possible values. For example, in some embodiments, the result may indicate a probability that a user is actually who they claim to be, or a probability that a transaction received by the computer-based application was actually submitted by a legitimate user. In still other embodiments, the result of the security task may include a data set. For example, in some embodiments, the security task includes obtaining undeniable proof that a user agreed to the contents of a document, and the result of the security task may include an undeniable digital signature of the document.

[0047] Personal Security Device Identification In some embodiments, the security server may be configured to obtain the identifiers of the personal security devices based on a user identifier received from a computer-based application, for example, as part of a security task request. For example, the security server may have a database containing records linking user identifiers with identifiers of personal security devices associated with users of those user identifiers, and the security server may obtain the identifiers of the personal security devices associated with the user corresponding to a particular user identifier by searching the database for a record containing the particular user identifier and obtaining from that record the identifiers of the personal security devices linked to that user identifier in that record.

[0048] Communication between a security server and a personal security device The security server can be configured to exchange messages with the personal security device. To request the personal security device to perform a security operation, the security server can send one or more security operation request messages to the personal security device, including a request to perform the security operation. Conversely, to return the security operation decision results to the security server, the personal security device can send one or more security operation result messages to the security server. The security server and personal security device can apply cryptographic secure messaging techniques to these security operation request messages and these security operation result messages, and possibly other messages exchanged between the security server and the personal security device, to ensure the authenticity, integrity, confidentiality, non-repudiation, and / or content of these messages and / or to ensure that these messages cannot be replayed. In some embodiments, the secure messaging techniques can be applied to the entire messages. In other embodiments, the cryptographic secure messaging techniques can be applied to the content or portions of the content of these messages. For example, in some embodiments, the message, the content of the message, or portions of the content of the message may be encrypted to ensure the confidentiality of the message. In other embodiments, the message, the content of the message, or portions of the content of the message may be cryptographically checksummed or digitally signed. This is to ensure the integrity of the message and / or its contents and / or to authenticate the sender of the message.

[0049] In typical embodiments, there is no cryptographically end-to-end secured connection between a computer-based application and a personal security device of a user of the computer-based application. Instead, there may be a cryptographically end-to-end secured connection between the computer-based application and a server on the one hand, and a cryptographically end-to-end secured connection between a security server and a personal security device of a user of the computer-based application on the other hand. However, in some specific embodiments, a security server may be used to establish a cryptographically end-to-end secured connection between a computer-based application and a personal security device of a user of the computer-based application. For example, in some specific embodiments, the security server may relay key exchange messages between the computer-based application and the user's personal security device. In such embodiments, establishing a cryptographically end-to-end secured connection between the computer-based application on the one hand and the personal security device of a user of the computer-based application on the other hand may be a security task that the computer-based application requests from the security server.

[0050] Transferring messages between a security server and a personal security device In some embodiments, the personal security device's digital communication interface (270) comprises an interface for connecting the personal security device to a computer network to which the security server is also connected. For example, in some embodiments, the personal security device's digital communication interface (270) can comprise an Ethernet interface, a Wi-Fi interface, or an interface for a cellular mobile data network, such as a 3G, 4G, or 5G mobile telephone data network (e.g., a Universal Mobile Telecommunications System (UMTS), Universal Mobile Telecommunications System (LTE), or 5G NR 5New Radio) data network. The security server and the personal security device can exchange the messages described above over the computer network. In other embodiments, the personal security device's digital communication interface (270) can include a wired or wireless data communication interface (e.g., a Universal Serial Bus (USB) interface or a Bluetooth interface) for locally connecting the user's personal security device to the user's client access device (130). The security server and the personal security device can exchange the above-mentioned messages by using the client access device of the user to which the personal security device is locally connected as a relay station for relaying messages exchanged between the security server and the personal security device.In particular, the security server may send messages addressed to the user's client access device via a computer network (e.g., the Internet) to which both the security server and the user's client access device are connected, and the user's client access device may forward these messages to the user's personal security device via a local connection between the user's client access device and the user's personal security device. The personal security device may send messages addressed to the security server to the user's client access device via a local connection between the user's client access device and the user's personal security device, and the user's client access device may forward these messages to the security server via a computer network to which both the security server and the user's client access device are connected. To this end, the user's client access device may include software configured to relay messages between the security server and the user's personal security device. In some embodiments, the security server may obtain a network address from a computer-based application. In other embodiments, the software may inform the security server which client access device the personal security device is connected to, for example, when the personal security device connects to the client access device.

[0051] Security operation requirements The security operation request may include a script of a security operation to be performed by the personal security device, or a reference to the script (or an identifier for the script). Hereinafter, the script of a security operation to be performed by the personal security device may be referred to as a security operation script, or simply as a script. In some embodiments, the security operation request may include the entire security operation script. In some embodiments, after the personal security device executes the script, the security operation script may be discarded by the personal security device. In other embodiments, the personal security device may be configured to cache the security operation script. That is, the security operation request may include only a reference (or identifier) ​​to the security operation script that the personal security device can use to retrieve the actual script. For example, in some embodiments, the personal security device may be configured to store the received security operation script in memory and use the reference or identifier to identify the correct script from among the stored scripts. If the correct script indicated by the included reference or identifier is among the scripts stored in memory, the personal security device may retrieve the correct script from memory and use the retrieved script when performing the requested security operation. If the correct script indicated by the included reference or identifier is not among the scripts stored in memory (e.g., the personal security device has not yet received the script or it has already been deleted from memory), the personal security device can use the reference or identifier to obtain the correct script from another source. For example, the personal security device can be configured to send a message to the security server requesting that the security server send a particular script to the personal security device.

[0052] In some embodiments, the security operation request can include a second set of one or more data elements that serve as input data for a security operation performed by the personal security device. The data elements of the second set of one or more data elements can be referenced and used by a script included in the security operation request or referenced by the security operation request. For example, in some embodiments, the security operation request can include a request to verify the authenticity of a particular transaction, and the security operation request can further include one or more transaction data elements that represent the particular transaction to be verified. Other types of data elements that may be included in the second set of one or more data elements include, for example, a message that an individual presents to a user of the personal security device, a challenge used by a cryptographic function (e.g., a challenge-response authentication function) that the personal security device may perform when executing a script, or a reference or label to a cryptographic key or other cryptographic algorithm parameter that the personal security device uses to parameterize a cryptographic function that the personal security device may perform when executing a script.

[0053] Security Operation Script The personal security device may be adapted to execute security operation scripts ("scripts") to perform security operations requested by the security server. A script is a micro-application (μ-app) that provides instructions to the personal security device for processing transaction data. The μ-app itself does not contain the transaction data. Rather, the transaction data may be transmitted along with the μ-app. The security device processes the transaction data according to the instructions of the accompanying μ-app. Unlike traditional programming language applications, which have a multitude of instructions that give a programmer (or hacker) the opportunity to access and process the transaction data, μ-apps do not provide such functionality, as security / confidentiality operations on the transaction data are processed by the personal security device (and not the μ-app).

[0054] Micro-applications (μ-apps) can be signed scripts, and the personal security device will only accept scripts with a valid signature. Signed scripts are stored on a security or application server. Script signing is performed (or instructed) by the manufacturer / manufacturer of the personal security device. This ensures that only trusted scripts are processed within the personal security device, ensuring accountability and eliminating the possibility of compromise.

[0055] The security operation script may be received as part of a security operation request received from the security server. In other embodiments, the personal security device may receive a reference or identifier to the security operation script (as part of the security operation request received from the security server), and the personal security device may use this reference or identifier to retrieve or be adapted to retrieve the security operation script for execution. The security operation script may include a series of high-level instructions to be executed by the personal security device. These high-level instructions may instruct the personal security device to perform a particular high-level function. and / or presenting a message and / or data to a user in order to inform the user or allow the user to confirm, approve, or reject or cancel the message and / or data being presented; and / or obtaining such confirmation, approval, or such rejection or cancellation; and / or prompting a user for input into a personal security device and capturing the user's input (e.g., prompting the user to enter values ​​for certain data elements and then capturing the values ​​entered by the user); and / or performing local authentication of a user (see below for more information); and / or comparing the values ​​of data elements (e.g., input data for a script, and / or results of higher-level functions already executed during the execution of the script, and / or constant values ​​embedded in the script) against each other; and / or converting the format of data elements from one format to another (e.g., converting a numeric representation from binary to BCD (binary-coded decimal) or ASCII). High-level functions that may be referenced in a security operation script may be parameterized by data elements such as input data for the script, results of high-level functions already executed during the execution of the script, constant values ​​embedded in the script, etc.A personal security device that performs a high-level function referenced in a security operation script may generate one or more data values ​​that may be used as input data for the high-level function referenced in the security operation script and subsequently performed by the personal security operation, or that may be used to determine the outcome of the security operation script.

[0056] In some embodiments, the security operation script comprises a sequence of instructions that are executed linearly by the personal security device from the beginning to the end of the script. In other embodiments, the security operation script may include conditional branching instructions that cause the personal security device to select to execute one of a set of subsequences of instructions contained in the security operation script. In this case, the selection of which subsequence of instructions to execute may depend on data elements such as input data for the script, and / or the results of higher-level functions already executed during execution of the script, and / or the value of a condition such as a constant value embedded in the script.

[0057] In some embodiments, the security operation script may include instructions for the personal security device to store values ​​in the memory of the personal security device and / or retrieve stored values ​​from the memory of the personal security device. In some embodiments, values ​​may be stored in memory while the personal security device is executing one security operation script and retained in memory after execution of the security operation script is complete, and the values ​​thus stored and retained in the memory of the personal security device may then be retrieved while the personal security device is executing another security operation script.

[0058] The cryptographic nature of security operations In a typical embodiment, the personal security device performs the security operation requested by the security server and returns the results of the security operation to the security server. This operation performs one or more cryptographic operations consisting of executing a cryptographic algorithm parameterized by a private cryptographic key. Such private cryptographic key may be unique to a particular personal security device and may be included in the unique properties of the particular personal security device. In some embodiments, such private cryptographic key may be stored (persistently) in the memory of the personal security device. In some embodiments, such private cryptographic key may be dynamically derived from other data elements, such as data elements included in the unique properties of the personal security device, and may be discarded after use. Such cryptographic algorithms may include symmetric or asymmetric encryption or decryption algorithms, digital signature algorithms, electronic signature algorithms, cryptographic checksum algorithms, and keyed hash algorithms. In some embodiments, such cryptographic operations may be performed by the personal security device when executing a security operation script that the personal security device executes to perform the requested security operation. The cryptographic operations may be part of a high-level function that may be referenced in the security operation script. In some embodiments, such cryptographic operations may be performed when the personal security device applies secure messaging techniques to protect messages exchanged with the security server, such as messages returning the results of security operations to the security server.

[0059] The unique nature of personal security devices Each personal security device of the one or more personal security devices (200) included in the system (100) has a unique characteristic that distinguishes the particular personal security device from other personal security devices of the one or more personal security devices (200) included in the system (100). This unique characteristic is a set of data elements by which two personal security devices are distinguished from one another by different values ​​of the data elements that make up their unique characteristic. In some embodiments, some data elements of the unique characteristics of two different personal security devices may have the same value, but at least some data elements of the unique characteristics of these two different personal security devices may have different values. The personal security device characteristic may include secret data elements and non-secret data elements. The personal security device characteristic may include a personal security device identifier (e.g., a serial number). In some embodiments, the personal security device identifier may be a non-secret data element. The personal security device characteristic may consist of one or more secret data elements, such as a private encryption key. In some embodiments, the personal security device may use one or more private cryptographic keys of its own statutory nature in performing security operations requested by the security server and returning the results to the security server.

[0060] In some embodiments, the values ​​of at least some data elements of the personal security device's properties may be set before the personal security device is distributed to a user, e.g., during the manufacture of the personal security device. Such data elements may include, for example, a personal security device identifier, such as the personal security device's serial number, and / or a unique private cryptographic master key. The values ​​of these data elements may be set in a secure configuration. The private cryptographic master key may be a symmetric key (for use in a symmetric cryptographic algorithm) or the private key of a public-private master key pair. The secure server may be notified of the personal security device's identifier and the corresponding symmetric cryptographic master key value or the public key of the public-private master key pair corresponding to the personal security device's identifier. At a later stage, e.g., after the personal security device is distributed to a user, the values ​​of other data elements of the personal security device's properties (e.g., encryption keys used in secure messaging techniques applied to messages exchanged between the personal security device and the secure server, or encryption keys used by the personal security device to execute security operation scripts) may be set. To obtain the values ​​of these other data elements, the personal security device can use the private cryptographic master key included in the personal security device's properties. For example, the personal security device may use a secret cryptographic master key in a key derivation algorithm or key exchange protocol with the security server.

[0061] In some embodiments, at least some of the data elements of the nature of the personal security device may be referenced and used in security operation scripts executed by the personal security device. In some embodiments, the manner in which such data elements of the nature of the personal security device may be used in the security operation script may be limited depending on the type of data element. For example, in some embodiments, an identifier for the personal security device may be used in any way that a data element previously stored in the memory of the personal security device by a script may be used, while a data element that is a cryptographic key may only be used to parameterize a cryptographic algorithm.

[0062] Local User Authentication In some embodiments, authenticating a user can be a typical security task. Generally, a user can be authenticated based on one or more of three factors: something the user has, something the user knows, and something the user is. A particular personal security device is an example of a "something the user has" factor, which associates the personal security device with a particular user and allows that particular personal security device to have a unique identity. A particular personal security device can prove, or be adapted to prove, its identity to a security server using encryption techniques known in the art.

[0063] In some embodiments, the personal security device may be further adapted to support authenticating a user based on a "something the user knows" factor of the user. For example, in some embodiments, the personal security device may be adapted to prompt a user to enter (e.g., via a human output interface of the personal security device) specific knowledge the user may have (e.g., a PIN (personal identification number) or password value). In some embodiments, the personal security device may be adapted to locally authenticate a user. For example, the personal security device may be adapted to store a reference value for the specific knowledge (e.g., an expected value for the specific knowledge entered by the user, or a hash of the expected value for the specific knowledge entered by the user) and to compare the user-entered value with the stored reference value. In some embodiments, the personal security device may consider the user to be a valid user (i.e., a user to be authenticated) if it determines that the user-entered value matches the stored reference value. In other embodiments, the personal security device may use the user-entered value to generate a security operation result. In some embodiments, the personal security device can use a user-entered value as a parameter to parameterize an encryption algorithm that the personal security device can use to calculate a security operation result (or a portion thereof). For example, in some embodiments, the personal security device can use the user-entered value to generate or derive an encryption key that can be used to generate the security operation result. For example, in some embodiments, the personal security device can combine the user-entered value with a secret value stored on the personal security device to generate a symmetric encryption key that the personal security device can use to generate encrypted authentication information, such as a one-time password or a transaction data signature. In other embodiments, the personal security device uses the user-entered value as an input data element for generating the security operation result.For example, in some embodiments, the personal security device may encrypt the entered value or a value derived from the entered value and include the encrypted value in the security operation result. The security server may obtain the encrypted value from the security operation result received from the personal security device, decrypt it, and compare the decrypted value to a reference value that the security server may store. In some embodiments, the security server may consider the user to have been successfully authenticated if it determines that the decrypted value matches the reference value stored on the security server.

[0064] In some embodiments, the personal security device may be further adapted to support authenticating a user based on factors related to what the user knows. For example, in some embodiments, the personal security device may include a biometric sensor (e.g., a fingerprint sensor) that captures biometric data of a user's biometric characteristics (e.g., a fingerprint). In some embodiments, the personal security device may be adapted to locally authenticate a user. For example, the personal security device may be adapted to store a biometric template of the user (e.g., a fingerprint template) and to compare biometric data captured by the biometric sensor with the stored biometric template. In some embodiments, the personal security device may consider a user to be a legitimate user (i.e., a locally authenticated user) if biometric data of the user's biometric characteristics captured by the biometric sensor of the personal security device is determined to match the stored biometric template. Alternatively, the personal security device may determine the probability that the user is a legitimate user based on the degree to which biometric measurements of the user's biometric characteristics captured by the biometric sensor of the personal security device are determined to match the biometric template stored by the personal security device. In other embodiments, the personal security device may use biometric measurements of the captured user's biometric features in generating the security operation result. In some embodiments, the personal security device may use the biometric measurements of the captured user's biometric features as input data elements for generating the security operation result. For example, in some embodiments, the personal security device may encrypt the biometric measurements of the captured user's biometric features and include the encrypted biometric measurements in the security operation result. The security server may obtain the encrypted biometric measurements from the security operation result received from the personal security device, decrypt them, and compare the decrypted biometric measurements to a possibly stored reference biometric template for the user.In some embodiments, the security server may consider a user successfully authenticated if it determines that the decoded biometric result matches a biometric template stored on the security server.

[0065] Local User Authentication as a scriptable function The personal security device may be configured to have the capability to locally authenticate a user and provide this capability as a high-level function that can be referenced in a security operation script, and the result of this high-level local authentication function may include a value indicating whether the personal security device considers the user to be a legitimate user, or a value indicating the likelihood that the user is a legitimate user.

[0066] Multiple Computer-Based Applications In some embodiments, a particular user may be a user of multiple computer-based applications, and several of these computer-based applications may all utilize the same security server to perform various security tasks for the same particular user using the same personal security device. In such embodiments, a security task request may include an explicit or implicit indication of the computer-based application requesting the performance of the security task. In some embodiments, different computer-based applications may utilize the security server to perform security tasks that the security server maps to the same security operation script, which requires as input an identifier for the encryption key of the user's personal security device. However, the security server may determine the identifier for the encryption key of the user's personal security device depending on the computer-based application that requested the security task to map to the security operation.

[0067] Illustrative Embodiments In an exemplary embodiment, the computer-based application may include a bank's internet banking application. The internet banking application may have a web interface and may be hosted by the bank's web server. A customer of the bank, i.e., a client, may remotely access the internet banking application using a web browser on a PC. When a customer, i.e., a user of the internet banking application, attempts to log in to an account on the internet banking application, the internet banking application must authenticate the user. To authenticate the user, the internet banking application may request a security server to perform a user authentication task. The internet banking application may send a security task request to the security server that includes an identifier for the user and an indication that the security task to be performed is to authenticate the user. The security server may identify a personal security device associated with the user. To perform the security task of authenticating the user, the security server may request the personal security device to perform a security operation that generates and returns a one-time password (OTP) for the client. The security server may identify an appropriate script that defines the security operation of generating and returning the OTP. For example, the script may define that the personal security device generates the OTP by reading the time from a real-time clock installed on the personal security device, formatting the time value in a specific format, encrypting the formatted time with a specific encryption algorithm, and determining the OTP based on the resulting encrypted value. The script can also define how to format the time, which encryption algorithm to use (e.g., Advanced Encryption Standard (AES)), and how to determine the OTP based on the encrypted time value. Additionally, the script can specify that the personal security device must first locally authenticate the user based on a PIN.That is, the script prompts the user to enter a PIN (personal identification number) and compares the PIN value entered by the user with a PIN reference value stored on the personal security device. The script can then specify that the personal security device generates and returns an OTP only if the entered PIN matches the PIN reference value. The security server can send one or more security operation request messages to the personal security device to communicate a request for the generation and return of an OTP to the personal security device. These security operation request messages can include a script or a reference to a script. The security operation request message can further include an identifier for a private encryption key that the personal security device must use to parameterize the encryption algorithm for encrypting the formatted time value. Upon receiving the security operation request message, the personal security device can verify the authenticity of the message (i.e., that it was actually sent from a legitimate security server) and the integrity of the message (i.e., that the message contents have not been corrupted). The personal security device can then execute the script included in or referenced in the received security operation request. If the user enters a PIN value that matches the stored PIN reference value, the personal security device can generate an OTP and include the generated OTP in the results of the security operation. If the user does not enter a PIN value that matches the stored PIN reference value or cancels the security operation, the personal security device can include information in the security operation result indicating that the security operation was not successful. The personal security device then returns the results of the security operation in one or more security operation result messages that it sends to the security server. The personal security device can apply a secure messaging mechanism to these messages to protect the confidentiality of their content and to enable the security server to verify their authenticity and integrity.After receiving the security operation result, the security server can determine the result of the security task based on the received security operation result. If the received security operation result includes information indicating that the security operation was not successful, the security server can include information indicating that the user was not successfully authenticated in the security task result. If the received security operation result includes an OTP, the security server can validate the received OTP. If the OTP is found to be valid, the security server can include information indicating that the user was successfully authenticated in the security task result. If the OTP is not valid, the security server can include information indicating that the user authentication failed in the security task result. The security server can return the security task result to the computer-based application by sending one or more security task result messages containing the security task result to the computer-based application. The security server can apply a secure messaging mechanism to these messages to protect the confidentiality of the content of these messages and enable the computer-based application to verify the authenticity and integrity of these messages. Upon receiving the security task result, the computer-based application can take specific actions depending on the received security task result. For example, if the received security task result includes information indicating that the user authentication failed, the computer-based application can reject the user's login attempt. On the other hand, if the received security task result includes information indicating that the user was successfully authenticated, the computer-based application may accept the user's login attempt.

[0068] Transaction data signing After logging into their account in the internet banking application, the user may want to transfer money from one of their accounts to another. To make the transfer, the user submits a transfer transaction to the internet banking application. This transaction specifies the source account, the destination account, the amount to be transferred, and the currency. The user may need to confirm the transfer transaction in the internet banking application to approve and execute the submitted transfer transaction.

[0069] To verify a submitted remittance transaction, the internet banking application may request the security server to perform a verification task for the submitted remittance transaction. The internet banking application may send a security task request to the security server, including a user identifier, information indicating that the security task to be performed is transaction verification, and security-sensitive transaction data (destination account, remittance amount, and currency). The security server may identify a personal security device associated with the customer. To perform the transaction verification security task, the security server may request the personal security device to perform a transaction verification security operation. The security server may identify an appropriate script defining the transaction verification security operation. The script may specify that the personal security device must first locally authenticate the user based on a PIN, i.e., prompt the user to enter a PIN (personal identification number) and compare the PIN value entered by the user with a PIN reference value stored on the personal security device. The script may specify that the personal security device aborts the transaction verification security operation if a matching PIN is not entered by the user. The script may further provide that the personal security device presents each transaction data element passed as input data to the script in the security operation request to the user for the user to review and confirm or cancel, and generates an electronic signature for the transaction data elements if all transaction data elements are confirmed by the user. The security server may send one or more security operation request messages to the personal security device to convey a request to the personal security device to perform a security operation confirming the transaction. These security operation request messages may include the script or a reference to the script, and may further include the transaction data as input data to the script.The security operation request message may further include an identifier of a private cryptographic key that the personal security device must use to generate an electronic signature for the transaction. When the personal security device receives the security operation request message, it can verify the authenticity of the message (i.e., that the message was actually sent from the authorized security server) and the integrity of the message (i.e., that the contents of the message have not been corrupted). The personal security device can then execute the script included or referenced in the received security operation request. If the user enters a PIN value that matches the stored PIN reference value, the personal security device can continue to present transaction data one after another for the user to review and confirm or cancel. If the user confirms all transaction data, the personal security device can generate an electronic signature for the transaction data using an encryption key corresponding to the encryption key identifier in the security operation request message and include the generated electronic signature in the result of the security operation. If the user fails to enter a PIN value that matches the stored PIN reference value, cancels one of the transaction data elements, or cancels the security operation, the personal security device can include information in the result of the security operation indicating that the security operation was not successful. The personal security device returns the security operation results in one or more security operation result messages that it sends to the security server. The personal security device can apply a secure messaging mechanism to these messages to protect the confidentiality of the content of these messages and allow the security server to verify the authenticity and integrity of these messages. After receiving the security operation results, the security server can determine a security task result based on the received security operation results.If the received security operation result includes information indicating that the security operation was not successful, the security server can include information indicating that the transaction was not successfully verified in the security task result. If the received security operation result includes an electronic signature, the security server can verify the received electronic signature. If the electronic signature is found to be valid (i.e., the electronic signature matches the transaction data that the security server received from the computer-based application and provided to the personal security device), the security server can include information indicating that the transaction was successfully verified in the security task result. If the electronic signature is found to be invalid, the security server can include information indicating that the transaction was not successfully verified in the security task result. The security server can then return the security task results to the computer-based application by sending one or more security task result messages containing the security task results to the computer-based application. The security server can apply a secure messaging mechanism to these messages to protect the confidentiality of the content of these messages and to enable the computer-based application to verify the authenticity and integrity of these messages. Upon receiving the security task results, the computer-based application can take specific actions depending on the received security task results. For example, if the received security task results include information indicating that the transaction was not successfully authenticated, the computer-based application may reject the submitted money transfer transaction. Conversely, if the received security task results include information indicating that the transaction was successfully verified, the computer-based application may accept and execute the submitted money transfer transaction.

[0070] FIG. 3 illustrates a schematic diagram of an exemplary method for securing user interaction with a computer-based application in accordance with one embodiment of the present invention.

[0071] In some embodiments, the method (300) of the present invention can include the following steps: a security server receiving (310) a request from a computer-based application to perform a security task for a user; - identifying (320) a personal security device associated with the user, for example by a security server; - identifying (325), for example by a security server, a security operation script corresponding to the security task; - the security server sending (330) a request to the personal security device to perform a security operation defined by the security operation script; receiving (335) a request by the personal security device to perform a security operation defined by the security operation script; - obtaining (340) a security operation script by the personal security device; - executing (350) a security operation script by the personal security device; - the personal security device returning (360) to the security server a security operation result resulting from the execution of the security operation script by the personal security device; - the security server receiving the security operation result (365); - determining (370) by the security server a security task result as a function of the security operation result; The security server returns (380) the results of the security task to the computer-based application.

[0072] Advantages and disadvantages of the present invention or various embodiments of the present invention flexibility The security server maps security tasks requested by computer-based applications to security operations defined by security operation scripts executed by the personal security device, allowing the method of processing security tasks to be easily and virtually updated as security requirements change without having to replace the personal security device.

[0073] Multiple Applications The present invention allows multiple different computer-based applications to share the same personal security device for a particular user, even if the multiple different computer-based applications have different security needs and even if the multiple different computer-based applications are not allowed to trust each other (e.g., share cryptographic keys).

[0074] safety The flexibility of security operation scripts and the possibility to parameterize them with different encryption keys depending on the computing-based application requesting the security task allows the most appropriate level of security to be applied at any given time for different transactions and user interactions.

[0075] Cost-effective The present invention allows multiple different computer-based applications to share the same personal security device for a particular user, thereby effectively sharing the cost of such a device among multiple computer-based applications.

[0076] A number of embodiments have been described. However, it will be understood that various modifications are possible. For example, elements of one or more embodiments can be combined, deleted, modified, or supplemented to form further embodiments. Accordingly, other embodiments are within the scope of the appended claims. Furthermore, although a particular feature of the invention is disclosed only with respect to one embodiment of multiple embodiments, such feature can be combined with one or more other features of other embodiments as desired and advantageous in any particular application. While various embodiments of the invention have been described above, it should be understood that they have been presented by way of example only and are not intended to limit the invention. In particular, it is obviously impossible to exhaust every conceivable combination of components or methodologies intended to describe claimed subject matter, but one of ordinary skill in the art will recognize that the invention is susceptible to many more combinations and permutations. Accordingly, the scope of the present invention should not be limited by any of the exemplary embodiments described above; rather, the scope of at least one embodiment of the present invention is defined only by the following claims and their equivalents.

Claims

1. 1. A system for securing interactions between a user and a computer-based application, comprising: a security server, the security server comprising: receiving a request from the computer-based application to perform a security task for the user; identifying a security operation script corresponding to the security task; sending a request to the user's personal security device to perform a security operation defined by the security operation script; receiving, from the personal security device, a security operation result of executing the security operation script; determining a security task outcome as a function of the security operation outcome; and configured to return a result of the security task to the computer-based application. system.

2. 10. The system of claim 1, wherein the security server further comprises: configured to identify a personal security device associated with the user from among a plurality of personal security devices; a request to perform the security operation defined by the security operation script is transmitted by the security server to the identified personal security device associated with the user.

3. 10. The system of claim 1, wherein the system comprises: a personal security device for the user, comprising: receiving a request from the security server to perform the security operation defined by the security operation script; Execute the security operation script; and returning a security operation result of executing the security operation script to the security server. The system further comprises a personal security device of the user.

4. 4. The system of claim 3, wherein the personal security device further comprises: The system is configured to retrieve the security operation script that defines the security operation requested by the security server.

5. 5. The system of claim 4, wherein the request to perform the security operation defined by the security operation script includes an identifier of the security operation script, and the personal security device retrieves the security operation script using the identifier of the security operation script.

6. 10. The system of claim 1, further comprising: a plurality of personal security devices including the user's personal security device, each of the plurality of personal security devices comprising: receiving a request from the security server to perform the security operation defined by the security operation script; Execute the security operation script; a plurality of personal security devices configured to execute the security operation script and return the security operation result to the security server; The system has:

7. 7. The system of claim 6, wherein each of the plurality of personal security devices comprises: The system is configured to retrieve the security operation script that defines the security operation requested by the security server.

8. 2. The system of claim 1, wherein the security task is associated with transaction data, and the security operation script is a micro-application (μ-app) that instructs the personal security device to process the transaction data, and the μ-app does not include the transaction data.

9. 1. A personal security device comprising: receiving a request from a security server to perform a security operation defined by a security operation script; Execute the security operation script; The device is configured to return a security operation result of executing the security operation script to the security server.

10. 10. The personal security device of claim 9, further comprising: An apparatus configured to retrieve the security operation script that defines the security operation requested by the security server.

11. 11. The personal security device of claim 10, wherein the request to perform the security operation defined by the security operation script includes an identifier of the security operation script, and the personal security device is configured to retrieve the security operation script using the identifier of the security operation script.

12. 11. The personal security device of claim 10, wherein the request to perform the security operation defined by the security operation script includes the security operation script, and the personal security device obtains the security operation script from the request to perform the security operation.

13. 10. The personal security device of claim 9, wherein the security operation script is a micro-application (μ-app) that provides instructions to the personal security device for processing transaction data associated with a security task, and the μ-app does not include the transaction data.

14. 1. A method for securing user interaction with a computer-based application, comprising: a security server receiving a request from the computer-based application to perform a security task for the user; identifying a security operation script corresponding to the security task; the security server sending a request to the user's personal security device to perform a security operation defined by the security operation script; receiving, by the security server, a security operation result resulting from execution of the security operation script by the personal security device; the security server determining a security task result as a function of the security operation result; the security server returning the results of the security task to the computer-based application; A method having the following.

15. 15. The method of claim 14, further comprising: the security server identifying a personal security device associated with the user from among a plurality of personal security devices; A request to perform the security operation defined by the security operation script is sent by the security server to an identified personal security device associated with the user.

16. 15. The method of claim 14, further comprising: receiving, by the personal security device, a request to perform the security operation defined by the security operation script; said personal security device executing said security operation script; the personal security device returning a security operation result of the execution of the security operation script by the personal security device to the security server; The method of claim 1,

17. 15. The method of claim 14, further comprising: The method further comprises the step of the personal security device obtaining the security operation script.

18. 20. The method of claim 17, wherein the request to perform a security operation defined by the security operation script includes an identifier of the security operation script, and wherein the personal security device retrieves the security operation script using the identifier of the security operation script.

19. 20. The method of claim 17, wherein the request to perform the security operation defined by the security operation script includes the security operation script, and the personal security device further comprises obtaining the security operation script from the request to perform the security operation.

20. 15. The method of claim 14, wherein the security task is associated with transaction data and the security operation script is a micro-application (μ-app) that provides instructions to the personal security device for processing the transaction data, and the μ-app does not include the transaction data.