WO2015127842A1 - 信息安全设备实现多应用的方法、信息安全设备和系统 - Google Patents
信息安全设备实现多应用的方法、信息安全设备和系统 Download PDFInfo
- Publication number
- WO2015127842A1 WO2015127842A1 PCT/CN2015/071356 CN2015071356W WO2015127842A1 WO 2015127842 A1 WO2015127842 A1 WO 2015127842A1 CN 2015071356 W CN2015071356 W CN 2015071356W WO 2015127842 A1 WO2015127842 A1 WO 2015127842A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- intermediate code
- code file
- information security
- security device
- application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Definitions
- the present invention relates to the field of electronic technologies, and in particular, to a method, an information security device, and a system for implementing multiple applications for an information security device.
- PKI public key infrastructure
- information security devices can only be used for one function. If you want to implement multiple functions, you need to purchase multiple information security devices, which will result in complicated use and inconvenient portability. At the same time, information security devices can support functions. Most of them are fixed and cannot be upgraded or added. If you need to use new or upgraded functions, users need to purchase new information security devices again, resulting in increased user cost.
- the present invention provides a method for implementing multiple applications for an information security device, an information security device for implementing multiple applications, and an information security system for implementing multiple applications, so as to at least solve the problem that the information security device cannot support multiple applications in the prior art.
- a method for an information security device to implement multiple applications including: the terminal compiles and converts the written application to obtain an intermediate code file of the application; and the terminal performs the intermediate code file. a security check; the terminal saves an intermediate code file that passes the security check; the terminal receives an application download request sent by the information security device; and the terminal acquires the middle of at least two applications that are requested to be downloaded according to the download request a code file; the terminal sends an intermediate code file of the at least two application programs to the information security device; the information security device receives and saves an intermediate code file of the at least two application programs; and the information security device Receiving a first execution command; the intermediate code interpreter on the information security device executing the application indicated by the first execution command The intermediate code file, wherein the intermediate code file is used to invoke an application programming interface API (Application Programming Interface) of the information security device to control hardware of the information security device.
- API Application Programming Interface
- the data storage space for storing the intermediate code files of the at least two applications on the information security device is isolated from each other.
- the method further includes: the information security device receiving the first activation instruction; and the information security device performing the intermediate code file of the application indicated by the first activation instruction
- the intermediate code interpreter on the information security device executes the intermediate code file of the application indicated by the first execution command, specifically: the intermediate code interpreter on the information security device executes the first execution command Indicates the intermediate code file for the activated application.
- the method further includes: The intermediate code interpreter determines whether the data requested by the intermediate code file belongs to data that the intermediate code file has permission to access; if the intermediate code interpreter determines that the data requested by the intermediate code file belongs to the middle The code file has permission to access the data, and the intermediate code interpreter allows the intermediate code file to perform data access. Otherwise, the intermediate code interpreter rejects data access of the intermediate code file.
- an information security device for implementing a multi-application, including: a sending module, configured to send an application download request to a terminal; and a receiving module, configured to receive at least the requested download sent by the terminal a middleware file of the application, the intermediate code file of the application is compiled and converted by the terminal to be written and verified by a security check; and the storage module is configured to save the at least two applications
- the intermediate code file is further configured to receive a first execution command
- the intermediate code interpreter is configured to execute an intermediate code file of the application indicated by the first execution command, where the intermediate code file is used
- the hardware of the information security device is controlled by an API that invokes the information security device.
- a data storage space of the storage module for storing the intermediate code files of the at least two applications is isolated from each other.
- the receiving module is further configured to receive a first activation instruction
- the device further includes: an activation module, configured to activate an intermediate code file of the application indicated by the first activation instruction;
- the device is specifically configured to execute an intermediate code file of the activated application indicated by the first execution command.
- the intermediate code interpreter is further configured to determine whether data requested by the intermediate code file belongs to data that the intermediate code file has permission to access; and determine that the data requested by the intermediate code file belongs to The intermediate code file has permission to access data, allowing the intermediate code file to perform data access, and otherwise rejecting data access of the intermediate code file.
- an information security system for implementing multiple applications, including: a terminal, Compiling and converting the written application to obtain the intermediate code file of the application; performing security verification on the intermediate code file; and saving the intermediate code file through the security check; and receiving the application download sent by the information security device And obtaining, according to the download request, an intermediate code file of the at least two application programs that are requested to be downloaded; and transmitting, to the information security device, an intermediate code file of the at least two application programs; the information security device, configured to Sending, by the terminal, the application download request, receiving and saving an intermediate code file of the at least two application programs; and receiving a first execution command; and executing, by the intermediate code interpreter on the information security device, the first execution The intermediate code file of the application indicated by the command, wherein the intermediate code file is used to invoke an API of the information security device to control hardware of the information security device.
- the data storage space on the information security device for storing the intermediate code files of the at least two applications is isolated from each other.
- the information security device is further configured to receive a first activation instruction, and activate an intermediate code file of the application indicated by the first activation instruction; and use an intermediate code interpreter on the information security device, specifically And executing an intermediate code file of the activated application indicated by the first execution command.
- the intermediate code interpreter on the information security device is further configured to determine whether the data requested by the intermediate code file belongs to data that the intermediate code file has permission to access; and determine the intermediate code file.
- the data requested to be accessed belongs to the data that the intermediate code file has permission to access, and the intermediate code file is allowed to perform data access. Otherwise, the data access of the intermediate code file is rejected.
- an information security device for implementing multiple applications includes: one or more processors; a memory; one or more programs, the one or more programs being stored in the memory And performing, when executed by the one or more processors, an operation of: sending an application download request to the terminal; receiving an intermediate code file of the at least two applications that are sent by the terminal and requesting the download, the application of the application
- the intermediate code file is obtained by the terminal compiling and converting the written application and obtaining the security check; saving the intermediate code file of the at least two application programs; receiving the first execution command; and executing the instruction of the first execution command
- An intermediate code file of the application wherein the intermediate code file is used to invoke an application programming interface API of the information security device to control hardware of the information security device.
- the data storage spaces storing the intermediate code files of the at least two applications are isolated from each other.
- the following operations are further performed: receiving the first activation instruction;
- the following operations are further performed: determining whether the data requested by the intermediate code file belongs to data that the intermediate code file has permission to access; if it is determined The data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access, and the intermediate code file is allowed to perform data access. Otherwise, the data access of the intermediate code file is rejected.
- the present invention provides a method for implementing multiple applications of an information security device, an information security device for implementing multiple applications, and an information security system for implementing multiple applications, and the information security device can be downloaded from the terminal.
- the intermediate code file corresponding to the application executes the intermediate code file by using the intermediate code interpreter, and calls the system API to control the hardware, so that multiple applications can be implemented on the information security device, and the application can be dynamically updated.
- the application is converted into an executable intermediate code file, and the intermediate code file (located in the operating system of the information security device) is used to execute the intermediate code file corresponding to the application, that is, on the virtual machine.
- the operating system defines an API to facilitate application development and function development, and improve application development efficiency.
- FIG. 1 is a flowchart of a method for implementing multiple applications by an information security device according to Embodiment 1 of the present invention
- FIG. 2 is a schematic structural diagram of an information security device for implementing multiple applications according to Embodiment 2 of the present invention
- FIG. 3 is a schematic structural diagram of an information security system for implementing multiple applications according to Embodiment 3 of the present invention.
- the embodiment provides a method for implementing multiple applications by the information security device.
- the terminal may be a personal computer PC or the like, and the information security device may be a smart key device (such as a USB key, an audio key, etc.).
- the information security device can implement a plurality of different applications in addition to the signature function.
- FIG. 1 is a flowchart of a method for implementing multiple applications by an information security device according to Embodiment 1 of the present invention. As shown in FIG. 1 , the following steps 101 to 109 are included.
- Step 101 The terminal compiles and converts the written application to obtain an intermediate code file of the application.
- the application can be written in a high-level language, for example, BASIC language, True BASIC language, PASCAL language, FORTRAN language, C language or C++ language, Java language, and the like.
- the application can be compiled and converted by the tool on the terminal side to obtain the intermediate code file corresponding to the application.
- the intermediate code file is an executable intermediate code, and the intermediate code file is in a machine-like language format between the source programming language and the machine language, and can be interpreted and executed by the intermediate code interpreter in the information security device.
- the application is developed in the Java language
- the terminal compiles and converts the application developed in the Java language into an executable intermediate code file by using a compiler conversion tool, for example, a Java bytecode.
- Step 102 The terminal performs security verification on the intermediate code file.
- the terminal performs security check on the intermediate code file to ensure the accuracy of the intermediate code file, and after the information security device downloads the intermediate code file, the intermediate code interpreter on the information security device can normally execute the intermediate code file to implement the The functions supported by the application corresponding to the intermediate code file increase the security of the information security device.
- step 103 the terminal saves the intermediate code file that passes the security check.
- the terminal may use the processing of the foregoing steps 101-102 for a plurality of different applications to obtain the intermediate code file corresponding to the multiple applications.
- the intermediate code file corresponding to multiple applications can be saved on the terminal for download by the information security device.
- Step 104 The terminal receives an application download request sent by the information security device.
- multiple download requests can be sent, one for downloading one application, or one download request for downloading multiple applications.
- the identifier of the application to be downloaded may be carried in the download request.
- Step 105 The terminal acquires an intermediate code file of at least two application programs that are requested to be downloaded according to the download request.
- Step 106 The terminal sends an intermediate code file of at least two applications to the information security device.
- Step 107 The information security device receives and saves the intermediate code file of at least two applications.
- the terminal may send at least two applications to the information security device through a wireless communication interface, such as a Bluetooth interface, an NFC interface, an infrared interface, etc., for the process of downloading the intermediate code file corresponding to the application described in steps 104 to 107.
- the intermediate code file; or, the terminal may also send the intermediate code file of at least two application programs to the information security device through a wired connection communication interface, such as a serial port, a USB interface, an audio interface, or the like.
- An application manager can be set in the information security device to manage the application and complete operations such as downloading, deleting, and updating the application. When updating the application, the updated intermediate code file can be downloaded from the terminal.
- the terminal may also compile and convert the written application, obtain the intermediate code file of the application, perform security check on the intermediate code file, and perform verification. After passing, the intermediate code file that passed the verification is saved and sent to the information security device.
- Step 108 The information security device receives the first execution command.
- the first execution command may be an instruction input by the user through a button, wherein the button may be a physical button existing in a hardware form, a virtual button displayed on the touch screen, or another module capable of implementing a button function; the first execution command is further It can be sent by the terminal.
- the user can select an application by pressing a button on the information security device, or the user operates the selection application on the terminal, and the terminal sends an execution command to the information security device.
- Step 109 The intermediate code interpreter on the information security device executes the intermediate code file of the application indicated by the first execution command, wherein the intermediate code file is used to invoke the API of the information security device to control the hardware of the information security device.
- the system API of the information security device encapsulates the standard information security application system functions, such as encryption and decryption functions, display functions, key operation functions and external communication functions, etc. By using the system API, the development difficulty of the application can be reduced, and the application development can be improved. effectiveness.
- the hardware of the information security device can be a button, a display, a flash, or the like.
- the intermediate code interpreter is located in the operating system of the information security device, and when the intermediate code interpreter executes the intermediate code file (that is, the application corresponding to the intermediate code file is run on the information security device), the system API of the information security device is invoked to implement the
- the control of the information security device hardware for example, operations such as encryption and decryption operations, display, data storage, and external communication, implements the functions of the application on the information security device.
- the information security device in this embodiment can download the intermediate code file corresponding to the application (or application) from the terminal, execute the intermediate code file by using the intermediate code interpreter, and call the system API to control the hardware, thereby Multiple applications can be implemented on an information security device, and applications can be dynamically updated.
- the application is converted into an executable intermediate code file, and the intermediate code file (located in the operating system of the information security device) is used to execute the intermediate code file corresponding to the application, that is, on the virtual machine. Run the application without directly manipulating the hardware.
- the operating system defines an API to facilitate application development and function development, and improve application development efficiency.
- a data storage space for storing intermediate code files of the at least two applications on the information security device is isolated from each other.
- Each application on the information security device has an independent data storage space to ensure data isolation between applications and applications, improving security.
- information security devices can use separate data storage spaces to store operating systems and applications, and isolate data between the operating system and applications to further enhance security.
- the information security device may further include the following steps: the information security device receives the first activation instruction; and the information security device performs the intermediate code file of the application indicated by the first activation instruction.
- the intermediate code interpreter on the information security device executes the intermediate code file of the application indicated by the first execution command, specifically: the intermediate code interpreter on the information security device executes the activated application indicated by the first execution command Intermediate code file.
- the user can activate an application on the information security device by selecting an application command, and the operating system uses an Application Identifier (AID) to distinguish the application to be activated. After the application is activated, the information security device will be taken over by the activated application, and the activated application completes the corresponding security operation process.
- AID Application Identifier
- the method further includes: the intermediate code interpreter determines that the intermediate code file requests access Whether the data belongs to the data that the intermediate code file has permission to access; if the intermediate code interpreter determines that the data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access, the intermediate code interpreter allows the intermediate code file to perform data access. Otherwise, the intermediate code interpreter rejects the data access of the intermediate code file.
- the intermediate code interpreter determines whether the data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access, and can be determined by applying the identifier, wherein the data that has the right to access is the data belonging to the application itself.
- the intermediate code interpreter checks whether the accessed data belongs to the application itself, and belongs to it, otherwise the access will be rejected and an error is returned. In this way, security can be guaranteed, and in case of error, the user is promptly processed.
- the terminal compiles and dynamically verifies the two application programs to obtain the corresponding intermediate code files, and performs security check, and saves the intermediate code file through the security check for the information security device to download.
- the information security device sends a download request to the terminal, respectively downloads the intermediate code file corresponding to the signature and the intermediate code file corresponding to the dynamic verification, uses the independent storage area to store the two applications, activates the application, and waits for the execution of the command to use the corresponding application.
- the application corresponding to the signature function may be selected on the information security device, the intermediate code interpreter on the information security device interprets and executes the intermediate code file corresponding to the application, and invokes the system API control. hardware.
- the encryption function is called to control the security chip to sign the transaction information
- the external communication function is called to control the information security device to transmit the signed data to the transaction terminal, and the transaction terminal verifies the signature of the received data through the server, and after the verification is passed, the transaction is completed.
- the application corresponding to the dynamic verification function may be selected on the information security device, and the intermediate code interpreter on the information security device interprets and executes the intermediate code file corresponding to the application, and invokes the system API.
- Control hardware First call the external communication function to control the information security device to receive the transaction terminal ( The challenge code sent by the mobile phone, personal computer, tablet computer, etc. or the challenge code input by the user through the button, the encryption function is called to control the security chip to calculate the dynamic password according to the challenge code, and the user inputs the dynamic password on the transaction terminal, and completes by using the server. Verify and complete the transaction.
- the embodiment provides an information security device that implements multiple applications, and can be used to implement the operations performed by the information security device in the method described in Embodiment 1.
- the information security device includes:
- the sending module 21 is configured to send an application download request to the terminal
- the receiving module 22 is configured to receive the intermediate code file of the at least two application programs that are sent by the terminal, and the intermediate code file of the application is compiled and converted by the terminal and the security verification is obtained;
- the storage module 23 is connected to the receiving module 22, and is configured to save the intermediate code file of the at least two applications received by the receiving module 22;
- the receiving module 22 is further configured to receive a first execution command
- the intermediate code interpreter 24 is connected to the receiving module 22 for executing the intermediate code file of the application indicated by the first execution command received by the receiving module 22, wherein the intermediate code file is used to invoke the API of the information security device to secure the information.
- the hardware of the device is controlled.
- the data storage space of the intermediate code file for storing at least two applications in the storage module 23 is isolated from each other.
- Each application on the information security device has an independent data storage space to ensure data isolation between applications and applications, improving security.
- information security devices can use separate data storage spaces to store operating systems and applications, and isolate data between the operating system and applications to further enhance security.
- the receiving module 22 is further configured to receive the first activation instruction.
- the information security device may further include: an activation module, connected to the receiving module 22, and the intermediate code file of the application indicated by the first activation instruction received by the receiving module 22 The activation is performed; the intermediate code interpreter 24 is specifically configured to execute the intermediate code file of the activated application indicated by the first execution command.
- the intermediate code interpreter 24 is further configured to determine whether the data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access; and determine that the data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access. Allows the intermediate code file to perform data access, otherwise rejects the data access of the intermediate code file. Among them, the data that has permission to access is the data belonging to the application itself. When the application runs, the intermediate code interpreter checks whether the accessed data belongs to the application itself, and belongs to it, otherwise the access will be rejected and an error is returned. . In this way, security can be guaranteed, and in case of error, the user is promptly processed.
- the information security device in this embodiment can download the intermediate code file corresponding to the application (or application) from the terminal, execute the intermediate code file by using the intermediate code interpreter, and call the system API to control the hardware, thereby Multiple applications can be implemented on an information security device, and applications can be dynamically updated.
- module division is only a schematic division, and the present invention is not limited thereto. As long as the module division capable of achieving the object of the present invention is within the scope of protection of the present invention.
- the embodiment provides an information security system for implementing multiple applications, which can be used to implement the method for implementing multiple applications by the information security device described in Embodiment 1.
- the system includes: an information security device 20 and a terminal 30, and the information security device 20 may be an information security device as described in Embodiment 2.
- the terminal 30 is configured to compile and convert the written application to obtain an intermediate code file of the application; perform security verification on the intermediate code file; and save the intermediate code file that passes the security check; and receive the information security device 20 to send An application download request; acquiring a middleware file of at least two applications requested to be downloaded according to the download request; and transmitting an intermediate code file of at least two applications to the information security device 20.
- the application that the information security device 20 needs to download may be pre-stored in the terminal, and the terminal does not need to repeat the steps of writing, compiling, converting, verifying, and saving each time the application is downloaded.
- the information security device 20 is configured to send an application download request to the terminal 30, receive and save the intermediate code file of the at least two application programs sent by the terminal 30, and receive the first execution command; the intermediate code interpreter on the information security device 20 The intermediate code file of the application indicated by the first execution command is executed, wherein the intermediate code file is used to invoke the API of the information security device 20 to control the hardware of the information security device 20.
- the data storage space of the intermediate code file for storing at least two applications on the information security device 20 is isolated from each other.
- Each application on the information security device has an independent data storage space to ensure data isolation between applications and applications, improving security.
- information security devices can use separate data storage spaces to store operating systems and applications, and isolate data between the operating system and applications to further enhance security.
- the information security device 20 is further configured to receive the first activation instruction, and activate the intermediate code file of the application indicated by the first activation instruction; the intermediate code interpreter on the information security device 20 is specifically configured to perform the first Execute the intermediate code file of the activated application indicated by the command.
- the intermediate code interpreter on the information security device 20 is further configured to determine whether the data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access; and determine that the data requested by the intermediate code file belongs to the intermediate code.
- the file has permission to access the data, allowing the intermediate code file to perform data access. Otherwise, the intermediate code file is rejected.
- Data access. Among them, the data that has permission to access is the data belonging to the application itself.
- the intermediate code interpreter checks whether the accessed data belongs to the application itself, and belongs to it, otherwise the access will be rejected and an error is returned. . In this way, security can be guaranteed, and in case of error, the user is promptly processed.
- the information security device provided in this embodiment may be a smart key device, such as a USB key, a key supporting an audio interface, a key supporting a Bluetooth interface/infrared interface/NFC interface/WIFI, or the like, or an electronic port token/ Dynamic port tokens, or devices that integrate key and electronic port tokens/dynamic port tokens.
- a smart key device such as a USB key, a key supporting an audio interface, a key supporting a Bluetooth interface/infrared interface/NFC interface/WIFI, or the like, or an electronic port token/ Dynamic port tokens, or devices that integrate key and electronic port tokens/dynamic port tokens.
- the information security device in this embodiment can download the intermediate code file corresponding to the application (or application) from the terminal, execute the intermediate code file by using the intermediate code interpreter, and call the system API to control the hardware, thereby Multiple applications can be implemented on an information security device, and applications can be dynamically updated.
- the application is converted into an executable intermediate code file, and the intermediate code file (located in the operating system of the information security device) is used to execute the intermediate code file corresponding to the application, that is, on the virtual machine. Run the application without directly manipulating the hardware.
- the operating system defines an API to facilitate application development and function development, and improve application development efficiency.
- the embodiment further provides an information security device for implementing multiple applications, which can be used to implement the operations performed by the information security device in the method of Embodiment 1.
- the information security device comprises: one or more processors; a memory; one or more programs, one or more programs stored in the memory, and when executed by one or more processors, performing the following steps S101' to S105'.
- the data storage space of the intermediate code files storing at least two applications is isolated from each other.
- step S104' Before receiving the first execution command in step S104', when executed by one or more processors, the following operations are further performed: receiving the first activation instruction; and activating the intermediate code file of the application indicated by the first activation instruction; And executing the intermediate code file of the application indicated by the first execution command, specifically: executing the intermediate code file of the activated application indicated by the first execution command.
- the following operations are further performed: determining whether the data requested by the intermediate code file belongs to The intermediate code file has the right to access the data; if it is determined that the data requested by the intermediate code file belongs to the data that the intermediate code file has permission to access, the intermediate code file is allowed to perform data access; otherwise, the data access of the intermediate code file is rejected.
- portions of the invention may be implemented in hardware, software, firmware or a combination thereof.
- multiple steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system.
- a suitable instruction execution system For example, if implemented in hardware, as in another embodiment, it can be implemented by any one or combination of the following techniques well known in the art: having logic gates for implementing logic functions on data signals. Discrete logic circuits, application specific integrated circuits with suitable combinational logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.
- each functional unit in each embodiment of the present invention may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
- the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
- the integrated modules, if implemented in the form of software functional modules and sold or used as stand-alone products, may also be stored in a computer readable storage medium.
- the above mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
公开了一种信息安全设备实现多应用的方法、信息安全设备和系统,该方法包括:终端将编写的应用程序进行编译转化得到中间码文件(101);终端对中间码文件进行安全校验(102),并保存通过安全校验的中间码文件(103);终端接收信息安全设备发送的应用程序下载请求(104),并根据下载请求获取请求下载的至少两个应用程序的中间码文件(105);终端向信息安全设备发送所述至少两个应用程序的中间码文件(106);信息安全设备接收并保存所述至少两个应用程序的中间码文件(107);信息安全设备接收第一执行命令(108);信息安全设备上的中间码解释器执行第一执行命令指示的应用程序的中间码文件,其中,中间码文件用于调用信息安全设备的API对信息安全设备的硬件进行控制(109)。
Description
相关申请的交叉引用
本申请要求天地融科技股份有限公司于2014年2月28日提交的、发明名称为“信息安全设备实现多应用的方法、信息安全设备和系统”的、中国专利申请号“201410072040.7”的优先权。
本发明涉及一种电子技术领域,尤其涉及一种信息安全设备实现多应用的方法、信息安全设备和系统。
随着互联网技术与电子商务的快速发展,信息安全问题日益突出,因此产生了多种用于保护用户敏感信息的信息安全设备,这些设备配合公钥基础设施(Public Key Infrastructure,PKI)等系统,可以有效的保障用户数据交互、身份识别信息、权限管理等多种信息安全操作。
但是,现有的信息安全设备通常只能用于一种功能,若想实现多种功能,需要购买多个信息安全设备,这样会导致使用复杂,携带不方便;同时信息安全设备可支持的功能大多是固定的,不可以升级或增加,若需要使用新增的功能或升级后的功能,用户需要再次购买新的信息安全设备,导致用户的使用成本增加。
发明内容
本发明提供了一种信息安全设备实现多应用的方法、实现多应用的信息安全设备和实现多应用的信息安全系统,以至少解决现有技术中信息安全设备不能支持多应用的问题。
根据本发明的一个方面,提供了一种信息安全设备实现多应用的方法,包括:终端将编写的应用程序进行编译转化,得到应用程序的中间码文件;所述终端对所述中间码文件进行安全校验;所述终端保存通过安全校验的中间码文件;所述终端接收信息安全设备发送的应用程序下载请求;所述终端根据所述下载请求获取请求下载的至少两个应用程序的中间码文件;所述终端向所述信息安全设备发送所述至少两个应用程序的中间码文件;所述信息安全设备接收并保存所述至少两个应用程序的中间码文件;所述信息安全设备接收第一执行命令;所述信息安全设备上的中间码解释器执行所述第一执行命令指示的应用程
序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的应用编程接口API(Application Programming Interface)对所述信息安全设备的硬件进行控制。
此外,在所述信息安全设备上用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
此外,在所述信息安全设备接收第一执行命令之前,还包括:所述信息安全设备接收第一激活指令;所述信息安全设备将所述第一激活指令指示的应用程序的中间码文件进行激活;所述信息安全设备上的中间码解释器执行所述第一执行命令指示的应用程序的中间码文件,具体为:所述信息安全设备上的中间码解释器执行所述第一执行命令指示的激活后的应用程序的中间码文件。
此外,在所述信息安全设备上的中间码解释器执行所述第一执行命令指示的中间码文件的过程中,当所述中间码文件产生数据访问请求时,所述方法还包括:所述中间码解释器判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;如果所述中间码解释器判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,则所述中间码解释器允许所述中间码文件执行数据访问,否则,所述中间码解释器拒绝所述中间码文件的数据访问。
根据本发明的另一个方面,提供了一种实现多应用的信息安全设备,包括:发送模块,用于向终端发送应用程序下载请求;接收模块,用于接收所述终端发送的请求下载的至少两个应用程序的中间码文件,所述应用程序的中间码文件由所述终端将编写的应用程序进行编译转化并安全校验后得到;存储模块,用于保存所述至少两个应用程序的中间码文件;所述接收模块,还用于接收第一执行命令;中间码解释器,用于执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的API对所述信息安全设备的硬件进行控制。
此外,所述存储模块中用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
此外,所述接收模块,还用于接收第一激活指令;所述设备还包括:激活模块,用于将所述第一激活指令指示的应用程序的中间码文件进行激活;所述中间码解释器,具体用于执行所述第一执行命令指示的激活后的应用程序的中间码文件。
此外,所述中间码解释器,还用于判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;并在判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,允许所述中间码文件执行数据访问,否则,拒绝所述中间码文件的数据访问。
根据本发明的再一个方面,提供了一种实现多应用的信息安全系统,包括:终端,用
于将编写的应用程序进行编译转化,得到应用程序的中间码文件;对所述中间码文件进行安全校验;并保存通过安全校验的中间码文件;以及接收信息安全设备发送的应用程序下载请求;根据所述下载请求获取请求下载的至少两个应用程序的中间码文件;并向所述信息安全设备发送所述至少两个应用程序的中间码文件;所述信息安全设备,用于向所述终端发送所述应用程序下载请求,接收并保存所述至少两个应用程序的中间码文件;并接收第一执行命令;所述信息安全设备上的中间码解释器执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的API对所述信息安全设备的硬件进行控制。
此外,所述信息安全设备上用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
此外,所述信息安全设备,还用于接收第一激活指令;并将所述第一激活指令指示的应用程序的中间码文件进行激活;所述信息安全设备上的中间码解释器,具体用于执行所述第一执行命令指示的激活后的应用程序的中间码文件。
此外,所述信息安全设备上的中间码解释器,还用于判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;并在判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,则允许所述中间码文件执行数据访问,否则,拒绝所述中间码文件的数据访问。
根据本发明的又另一个方面,提供了一种实现多应用的信息安全设备,包括:一个或者多个处理器;存储器;一个或者多个程序,所述一个或者多个程序存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:向终端发送应用程序下载请求;接收所述终端发送的请求下载的至少两个应用程序的中间码文件,所述应用程序的中间码文件由所述终端将编写的应用程序进行编译转化并安全校验后得到;保存所述至少两个应用程序的中间码文件;接收第一执行命令;执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的应用编程接口API对所述信息安全设备的硬件进行控制。
此外,存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
此外,当被所述一个或者多个处理器执行时还进行如下操作:接收第一激活指令;
将所述第一激活指令指示的应用程序的中间码文件进行激活;执行所述第一执行命令指示的应用程序的中间码文件,具体为:执行所述第一执行命令指示的激活后的应用程序的中间码文件。
此外,当被所述一个或者多个处理器执行时还进行如下操作:判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;如果判断出所述
中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,则允许所述中间码文件执行数据访问,否则,拒绝所述中间码文件的数据访问。
由上述本发明提供的技术方案可以看出,本发明提供了一种信息安全设备实现多应用的方法、实现多应用的信息安全设备和实现多应用的信息安全系统,信息安全设备可以从终端下载应用(或应用程序)对应的中间码文件,使用中间码解释器执行中间码文件,调用系统API对硬件进行控制,从而可以在信息安全设备上实现多应用,且应用可以动态更新。出于对系统安全性的考虑,将应用程序转化为可执行的中间码文件,利用中间码解释器(位于信息安全设备的操作系统内)执行应用程序对应的中间码文件,即在虚拟机上运行应用程序,而不直接操作硬件,通过虚拟机,可以对中间码指令进行较严格的检查和判断,拒绝非法操作(如数组越界、类型不匹配等),还可以使得应用程序同硬件隔离,提升应用程序的可移植性和硬件兼容性。另外,操作系统定义了API,便于应用的开发编写和功能拓展,提高应用开发效率。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例1提供的信息安全设备实现多应用的方法的流程图;
图2为本发明实施例2提供的实现多应用的信息安全设备的结构示意图;
图3为本发明实施例3提供的实现多应用的信息安全系统的结构示意图。
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
下面将结合附图对本发明实施例作进一步地详细描述。
实施例1
本实施例提供了一种信息安全设备实现多应用的方法,本实施例中,终端可以是个人电脑PC等,信息安全设备可以是智能密钥设备(如USB key,音频key等)。采用本发明
实施例提供的方法,信息安全设备除了可以实现签名功能外,还可以实现多种不同的应用。
图1为本发明实施例1提供的信息安全设备实现多应用的方法的流程图,如图1所示,包括以下步骤101至109。
步骤101,终端将编写的应用程序进行编译转化,得到应用程序的中间码文件。
其中,应用程序可以采用高级语言编写,例如,BASIC语言、True BASIC语言、PASCAL语言、FORTRAN语言、C语言或C++语言、Java语言等。可以通过终端侧的工具对应用程序进行编译和转换得到应用程序对应的中间码文件。中间码文件就是可执行的中间码,中间码文件采用介于源程序语言和机器语言之间的类机器语言格式,可由信息安全设备中的中间码解释器解释执行。
例如,应用程序采用Java语言开发,终端采用编译转换工具可以将该采用Java语言开发的应用程序编译转换为可执行的中间码文件,该中间码文件例如是Java字节码。
步骤102,终端对中间码文件进行安全校验。终端对中间码文件进行安全校验,可以保证中间码文件的准确性,保证信息安全设备下载该中间码文件之后,信息安全设备上的中间码解释器可以正常执行该中间码文件,以实现该中间码文件对应的应用程序所支持的功能,增加信息安全设备的安全性。
步骤103,终端保存通过安全校验的中间码文件。
终端可以对多个不同的应用程序均采用上述步骤101-102的处理,以得到该多个应用程序对应的中间码文件。
终端上可以保存有多个应用程序对应的中间码文件,以供信息安全设备下载。
步骤104,终端接收信息安全设备发送的应用程序下载请求。
如果信息安全设备需要下载多个应用程序,可以发送多个下载请求,每个下载请求用于下载一个应用程序;或者,发送一个下载请求用于请求下载多个应用程序。具体的,可以在下载请求中携带待下载的应用程序的标识。
步骤105,终端根据下载请求获取请求下载的至少两个应用程序的中间码文件。
步骤106,终端向信息安全设备发送至少两个应用程序的中间码文件。
步骤107,信息安全设备接收并保存至少两个应用程序的中间码文件。
其中,对于步骤104至步骤107所述的下载应用程序对应的中间码文件的过程,终端可以通过无线通信接口,例如蓝牙接口、NFC接口、红外接口等向信息安全设备发送至少两个应用程序的中间码文件;或者,终端还可以通过有线连接通信接口,例如串口、USB接口、音频接口等向信息安全设备发送至少两个应用程序的中间码文件。信息安全设备中可以设置应用管理器,用于管理应用程序,完成应用下载、删除、更新等操作。更新应用时,可以从终端下载更新后的中间码文件。
需要说明的是,终端也可以在接收到信息安全设备的下载请求后,对编写的应用程序进行编译转化,得到应用程序的中间码文件,并对中间码文件进行安全校验,并在校验通过之后,保存通过校验的中间码文件并将该中间码文件发送给信息安全设备。
步骤108,信息安全设备接收第一执行命令。
其中,第一执行命令可以是用户通过按键输入的指令,其中,按键可以是硬件形式存在的物理按键,触摸屏上显示出的虚拟按键,或者其他形式可以实现按键功能的模块;第一执行命令还可以是由终端发送的。例如,用户可以在信息安全设备上通过按键选择应用程序,或者用户在终端上操作选择应用程序,由终端发送执行命令给信息安全设备。
步骤109,信息安全设备上的中间码解释器执行第一执行命令指示的应用程序的中间码文件,其中,中间码文件用于调用信息安全设备的API对信息安全设备的硬件进行控制。其中,信息安全设备的系统API封装了标准信息安全应用系统函数,例如,加解密函数,显示函数、按键操作函数和外部通讯函数等,通过使用系统API,可以降低应用的开发难度,提升应用开发效率。信息安全设备的硬件可以是按键、显示屏、Flash等。
中间码解释器位于信息安全设备的操作系统,中间码解释器执行中间码文件时(即在信息安全设备上运行该中间码文件对应的应用程序),通过调用信息安全设备的系统API,实现对信息安全设备硬件的控制,例如,加解密运算、显示、数据存储和外部通讯等操作,在信息安全设备上实现应用的功能。
从上述技术方案可以看出,本实施例中信息安全设备可以从终端下载应用(或应用程序)对应的中间码文件,使用中间码解释器执行中间码文件,调用系统API对硬件进行控制,从而可以在信息安全设备上实现多应用,且应用可以动态更新。出于对系统安全性的考虑,将应用程序转化为可执行的中间码文件,利用中间码解释器(位于信息安全设备的操作系统内)执行应用程序对应的中间码文件,即在虚拟机上运行应用程序,而不直接操作硬件,通过虚拟机,可以对中间码指令进行较严格的检查和判断,拒绝非法操作(如数组越界、类型不匹配等),还可以使得应用程序同硬件隔离,提升应用程序的可移植性和硬件兼容性。另外,操作系统定义了API,便于应用的开发编写和功能拓展,提高应用开发效率。
在信息安全设备上用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。信息安全设备上的每个应用都有独立的数据存储空间,可以保障应用与应用之间的数据隔离,提高安全性。另外,信息安全设备可以使用独立的数据存储空间存储操作系统与应用,将操作系统与应用之间的数据隔离,以进一步提高安全性。
在步骤108中信息安全设备接收第一执行命令之前,还可以包括如下步骤:信息安全设备接收第一激活指令;信息安全设备将第一激活指令指示的应用程序的中间码文件进行
激活;信息安全设备上的中间码解释器执行第一执行命令指示的应用程序的中间码文件,具体为:信息安全设备上的中间码解释器执行第一执行命令指示的激活后的应用程序的中间码文件。具体的,用户可以通过选择应用命令激活信息安全设备上的应用,操作系统使用应用标识(Application Identifier,AID)来区分将激活的应用。应用激活后,信息安全设备将交由激活的应用接管,由该激活的应用完成相应的安全操作过程。
在信息安全设备上的中间码解释器执行第一执行命令指示的中间码文件的过程中,当中间码文件产生数据访问请求时,上述方法还包括:中间码解释器判断中间码文件请求访问的数据是否属于中间码文件有权限进行访问的数据;如果中间码解释器判断出中间码文件请求访问的数据属于中间码文件有权限进行访问的数据,则中间码解释器允许中间码文件执行数据访问,否则,中间码解释器拒绝中间码文件的数据访问。具体的,中间码解释器判断中间码文件请求访问的数据是否属于中间码文件有权限进行访问的数据,可以通过应用标识来进行判断,其中,有权限进行访问的数据也就是属于应用自身的数据,应用运行时,由中间码解释器检查所访问的数据是否属于应用自身,属于则可访问,否则,该访问将被拒绝并返回错误。这样,可以保证安全性,并且在出错的情况下,及时提示用户进行处理。
下面结合具体的例子进行说明。
以信息安全设备支持签名和动态验证两个应用为例。终端将签名和动态验证两个应用程序经过编译、转换得到各自对应的中间码文件,并进行安全校验,保存通过安全校验的中间码文件,供信息安全设备下载。
信息安全设备向终端发送下载请求,分别下载签名对应的中间码文件和动态验证对应的中间码文件,使用独立的存储区域存储两个应用,并激活应用,等待执行命令以使用相应的应用。
如果用户要使用信息安全设备的签名功能进行网上交易,可以在信息安全设备上选择签名功能对应的应用,信息安全设备上的中间码解释器解释执行该应用对应的中间码文件,调用系统API控制硬件。先调用外部通讯函数控制信息安全设备接收交易终端(可以是手机、个人电脑、平板电脑等)发送的交易信息,调用显示函数控制显示屏显示接收到的交易信息,供用户确认,在用户确认之后,调用加密函数控制安全芯片对交易信息进行签名,调用外部通讯函数控制信息安全设备将签名后的数据传输给交易终端,交易终端通过服务器对接收到的数据验证签名,验证通过后,完成交易。
如果用户要使用信息安全设备的动态验证功能完成交易,可以在信息安全设备上选择动态验证功能对应的应用,信息安全设备上的中间码解释器解释执行该应用对应的中间码文件,调用系统API控制硬件。先调用外部通讯函数控制信息安全设备接收交易终端(可
以是手机、个人电脑、平板电脑等)发送的挑战码或者接收用户通过按键输入的挑战码,调用加密函数控制安全芯片根据挑战码计算动态口令,用户在交易终端上输入动态口令,利用服务器完成验证,进而完成交易。
实施例2
本实施例提供了一种实现多应用的信息安全设备,可以用于实现实施例1所述方法中信息安全设备执行的操作。如图2所示,该信息安全设备包括:
发送模块21,用于向终端发送应用程序下载请求;
接收模块22,用于接收终端发送的请求下载的至少两个应用程序的中间码文件,应用程序的中间码文件由终端将编写的应用程序进行编译转化并安全校验后得到;
存储模块23,连接至接收模块22,用于保存接收模块22接收的至少两个应用程序的中间码文件;
接收模块22,还用于接收第一执行命令;
中间码解释器24,连接至接收模块22,用于执行接收模块22接收的第一执行命令指示的应用程序的中间码文件,其中,中间码文件,用于调用信息安全设备的API对信息安全设备的硬件进行控制。
此外,存储模块23中用于存储至少两个应用程序的中间码文件的数据存储空间相互隔离。信息安全设备上的每个应用都有独立的数据存储空间,可以保障应用与应用之间的数据隔离,提高安全性。另外,信息安全设备可以使用独立的数据存储空间存储操作系统与应用,将操作系统与应用之间的数据隔离,以进一步提高安全性。
接收模块22,还用于接收第一激活指令;上述信息安全设备还可以包括:激活模块,连接至接收模块22,用于将接收模块22接收的第一激活指令指示的应用程序的中间码文件进行激活;中间码解释器24,具体用于执行第一执行命令指示的激活后的应用程序的中间码文件。
中间码解释器24,还用于判断中间码文件请求访问的数据是否属于中间码文件有权限进行访问的数据;并在判断出中间码文件请求访问的数据属于中间码文件有权限进行访问的数据,允许中间码文件执行数据访问,否则,拒绝中间码文件的数据访问。其中,有权限进行访问的数据也就是属于应用自身的数据,应用运行时,由中间码解释器检查所访问的数据是否属于应用自身,属于则可访问,否则,该访问将被拒绝并返回错误。这样,可以保证安全性,并且在出错的情况下,及时提示用户进行处理。
从上述技术方案可以看出,本实施例中信息安全设备可以从终端下载应用(或应用程序)对应的中间码文件,使用中间码解释器执行中间码文件,调用系统API对硬件进行控制,从而可以在信息安全设备上实现多应用,且应用可以动态更新。出于对系统安全性的
考虑,将应用程序转化为可执行的中间码文件,利用中间码解释器(位于信息安全设备的操作系统内)执行应用程序对应的中间码文件,即在虚拟机上运行应用程序,而不直接操作硬件,通过虚拟机,可以对中间码指令进行较严格的检查和判断,拒绝非法操作(如数组越界、类型不匹配等),还可以使得应用程序同硬件隔离,提升应用程序的可移植性和硬件兼容性。另外,操作系统定义了API,便于应用的开发编写和功能拓展,提高应用开发效率。
当然,上述模块划分只是一种示意划分,本发明并不局限于此。只要能实现本发明的目的的模块划分,均应属于本发明的保护范围。
实施例3
本实施例提供了一种实现多应用的信息安全系统,可以用于实现实施例1所述的信息安全设备实现多应用的方法。如图3所示,该系统包括:信息安全设备20和终端30,信息安全设备20可以是如实施例2所述的信息安全设备。
终端30,用于将编写的应用程序进行编译转化,得到应用程序的中间码文件;对中间码文件进行安全校验;并保存通过安全校验的中间码文件;以及接收信息安全设备20发送的应用程序下载请求;根据下载请求获取请求下载的至少两个应用程序的中间码文件;并向信息安全设备20发送至少两个应用程序的中间码文件。其中,信息安全设备20需要下载的应用可以是预先存储在终端中的,并不是每次下载应用,终端都需要重复编写、编译、转化、校验、保存的步骤。
信息安全设备20,用于向终端30发送应用程序下载请求,接收并保存终端30发送的至少两个应用程序的中间码文件;并接收第一执行命令;信息安全设备20上的中间码解释器执行第一执行命令指示的应用程序的中间码文件,其中,中间码文件用于调用信息安全设备20的API对信息安全设备20的硬件进行控制。
此外,信息安全设备20上用于存储至少两个应用程序的中间码文件的数据存储空间相互隔离。信息安全设备上的每个应用都有独立的数据存储空间,可以保障应用与应用之间的数据隔离,提高安全性。另外,信息安全设备可以使用独立的数据存储空间存储操作系统与应用,将操作系统与应用之间的数据隔离,以进一步提高安全性。
此外,信息安全设备20,还用于接收第一激活指令;并将第一激活指令指示的应用程序的中间码文件进行激活;信息安全设备20上的中间码解释器,具体用于执行第一执行命令指示的激活后的应用程序的中间码文件。
此外,信息安全设备20上的中间码解释器,还用于判断中间码文件请求访问的数据是否属于中间码文件有权限进行访问的数据;并在判断出中间码文件请求访问的数据属于中间码文件有权限进行访问的数据,允许中间码文件执行数据访问,否则,拒绝中间码文件
的数据访问。其中,有权限进行访问的数据也就是属于应用自身的数据,应用运行时,由中间码解释器检查所访问的数据是否属于应用自身,属于则可访问,否则,该访问将被拒绝并返回错误。这样,可以保证安全性,并且在出错的情况下,及时提示用户进行处理。
本实施例提供的信息安全设备,可以是智能密钥设备,例如USB key、支持音频接口的key、支持蓝牙接口/红外接口/NFC接口/WIFI的key等等,或者还可以是电子口令牌/动态口令牌,或者还可以是集成key和电子口令牌/动态口令牌的设备。
从上述技术方案可以看出,本实施例中信息安全设备可以从终端下载应用(或应用程序)对应的中间码文件,使用中间码解释器执行中间码文件,调用系统API对硬件进行控制,从而可以在信息安全设备上实现多应用,且应用可以动态更新。出于对系统安全性的考虑,将应用程序转化为可执行的中间码文件,利用中间码解释器(位于信息安全设备的操作系统内)执行应用程序对应的中间码文件,即在虚拟机上运行应用程序,而不直接操作硬件,通过虚拟机,可以对中间码指令进行较严格的检查和判断,拒绝非法操作(如数组越界、类型不匹配等),还可以使得应用程序同硬件隔离,提升应用程序的可移植性和硬件兼容性。另外,操作系统定义了API,便于应用的开发编写和功能拓展,提高应用开发效率。
实施例4
本实施例还提供了一种实现多应用的信息安全设备,可以用于实现实施例1方法中信息安全设备执行的操作。该信息安全设备包括:一个或者多个处理器;存储器;一个或者多个程序,一个或者多个程序存储在存储器中,当被一个或者多个处理器执行时进行如下步骤S101’至S105’。
S101’,向终端发送应用程序下载请求。
S102’,接收终端发送的请求下载的至少两个应用程序的中间码文件,应用程序的中间码文件由终端将编写的应用程序进行编译转化并安全校验后得到。
S103’,保存至少两个应用程序的中间码文件。
其中,存储至少两个应用程序的中间码文件的数据存储空间相互隔离。
S104’,接收第一执行命令。
S105’,执行第一执行命令指示的应用程序的中间码文件,其中,中间码文件,用于调用信息安全设备的应用编程接口API对信息安全设备的硬件进行控制。
在步骤S 104’中接收第一执行命令之前,当被一个或者多个处理器执行时还进行如下操作:接收第一激活指令;将第一激活指令指示的应用程序的中间码文件进行激活;执行第一执行命令指示的应用程序的中间码文件,具体为:执行第一执行命令指示的激活后的应用程序的中间码文件。
在执行第一执行命令指示的中间码文件的过程中,当中间码文件产生数据访问请求时,当被一个或者多个处理器执行时还进行如下操作:判断中间码文件请求访问的数据是否属于中间码文件有权限进行访问的数据;如果判断出中间码文件请求访问的数据属于中间码文件有权限进行访问的数据,则允许中间码文件执行数据访问,否则,拒绝中间码文件的数据访问。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,
不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (16)
- 一种信息安全设备实现多应用的方法,其特征在于,包括:终端将编写的应用程序进行编译转化,得到应用程序的中间码文件;所述终端对所述中间码文件进行安全校验;所述终端保存通过安全校验的中间码文件;所述终端接收信息安全设备发送的应用程序下载请求;所述终端根据所述下载请求获取请求下载的至少两个应用程序的中间码文件;所述终端向所述信息安全设备发送所述至少两个应用程序的中间码文件;所述信息安全设备接收并保存所述至少两个应用程序的中间码文件;所述信息安全设备接收第一执行命令;所述信息安全设备上的中间码解释器执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的应用编程接口API对所述信息安全设备的硬件进行控制。
- 根据权利要求1所述的一种信息安全设备实现多应用的方法,其特征在于,在所述信息安全设备上用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
- 根据权利要求1或2所述的一种信息安全设备实现多应用的方法,其特征在于,在所述信息安全设备接收第一执行命令之前,还包括:所述信息安全设备接收第一激活指令;所述信息安全设备将所述第一激活指令指示的应用程序的中间码文件进行激活;所述信息安全设备上的中间码解释器执行所述第一执行命令指示的应用程序的中间码文件,具体为:所述信息安全设备上的中间码解释器执行所述第一执行命令指示的激活后的应用程序的中间码文件。
- 根据权利要求1至3中任一项所述的一种信息安全设备实现多应用的方法,其特征在于,在所述信息安全设备上的中间码解释器执行所述第一执行命令指示的中间码文件的过程中,当所述中间码文件产生数据访问请求时,所述方法还包括:所述中间码解释器判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;如果所述中间码解释器判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,则所述中间码解释器允许所述中间码文件执行数据访问, 否则,所述中间码解释器拒绝所述中间码文件的数据访问。
- 一种实现多应用的信息安全设备,其特征在于,包括:发送模块,用于向终端发送应用程序下载请求;接收模块,用于接收所述终端发送的请求下载的至少两个应用程序的中间码文件,所述应用程序的中间码文件由所述终端将编写的应用程序进行编译转化并安全校验后得到;存储模块,用于保存所述至少两个应用程序的中间码文件;所述接收模块,还用于接收第一执行命令;中间码解释器,用于执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的应用编程接口API对所述信息安全设备的硬件进行控制。
- 根据权利要求5所述的一种实现多应用的信息安全设备,其特征在于,所述存储模块中用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
- 根据权利要求5或6所述的一种实现多应用的信息安全设备,其特征在于,所述接收模块,还用于接收第一激活指令;所述设备还包括:激活模块,用于将所述第一激活指令指示的应用程序的中间码文件进行激活;所述中间码解释器,具体用于执行所述第一执行命令指示的激活后的应用程序的中间码文件。
- 根据权利要求5至7中任一项所述的一种实现多应用的信息安全设备,其特征在于,所述中间码解释器,还用于判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;并在判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,允许所述中间码文件执行数据访问,否则,拒绝所述中间码文件的数据访问。
- 一种实现多应用的信息安全系统,其特征在于,包括:终端,用于将编写的应用程序进行编译转化,得到应用程序的中间码文件;对所述中间码文件进行安全校验;并保存通过安全校验的中间码文件;以及接收信息安全设备发送的应用程序下载请求;根据所述下载请求获取请求下载的至少两个应用程序的中间码文件;并向所述信息安全设备发送所述至少两个应用程序的中间码文件;所述信息安全设备,用于向所述终端发送所述应用程序下载请求,接收并保存所 述至少两个应用程序的中间码文件;并接收第一执行命令;所述信息安全设备上的中间码解释器执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的应用编程接口API对所述信息安全设备的硬件进行控制。
- 根据权利要求9所述的一种实现多应用的信息安全系统,其特征在于,所述信息安全设备上用于存储所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
- 根据权利要求9或10所述的一种实现多应用的信息安全系统,其特征在于,所述信息安全设备,还用于接收第一激活指令;并将所述第一激活指令指示的应用程序的中间码文件进行激活;所述信息安全设备上的中间码解释器,具体用于执行所述第一执行命令指示的激活后的应用程序的中间码文件。
- 根据权利要求9至11中任一项所述的一种实现多应用的信息安全系统,其特征在于,所述信息安全设备上的中间码解释器,还用于判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;并在判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,则允许所述中间码文件执行数据访问,否则,拒绝所述中间码文件的数据访问。
- 一种实现多应用的信息安全设备,其特征在于,包括:一个或者多个处理器;存储器;一个或者多个程序,所述一个或者多个程序存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:向终端发送应用程序下载请求;接收所述终端发送的请求下载的至少两个应用程序的中间码文件,所述应用程序的中间码文件由所述终端将编写的应用程序进行编译转化并安全校验后得到;保存所述至少两个应用程序的中间码文件;接收第一执行命令;执行所述第一执行命令指示的应用程序的中间码文件,其中,所述中间码文件,用于调用所述信息安全设备的应用编程接口API对所述信息安全设备的硬件进行控制。
- 根据权利要求13所述的一种实现多应用的信息安全设备,其特征在于,存储 所述至少两个应用程序的中间码文件的数据存储空间相互隔离。
- 根据权利要求13或14所述的一种实现多应用的信息安全设备,其特征在于,当被所述一个或者多个处理器执行时还进行如下操作:接收第一激活指令;将所述第一激活指令指示的应用程序的中间码文件进行激活;执行所述第一执行命令指示的应用程序的中间码文件,具体为:执行所述第一执行命令指示的激活后的应用程序的中间码文件。
- 根据权利要求13至15中任一项所述的一种实现多应用的信息安全设备,其特征在于,当被所述一个或者多个处理器执行时还进行如下操作:判断所述中间码文件请求访问的数据是否属于所述中间码文件有权限进行访问的数据;如果判断出所述中间码文件请求访问的数据属于所述中间码文件有权限进行访问的数据,则允许所述中间码文件执行数据访问,否则,拒绝所述中间码文件的数据访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG11201605738YA SG11201605738YA (en) | 2014-02-28 | 2015-01-22 | Method for information security equipment to realize multiple applications, information security equipment and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410072040.7 | 2014-02-28 | ||
CN201410072040.7A CN103793644B (zh) | 2014-02-28 | 2014-02-28 | 信息安全设备实现多应用的方法、信息安全设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015127842A1 true WO2015127842A1 (zh) | 2015-09-03 |
Family
ID=50669298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/071356 WO2015127842A1 (zh) | 2014-02-28 | 2015-01-22 | 信息安全设备实现多应用的方法、信息安全设备和系统 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN103793644B (zh) |
SG (1) | SG11201605738YA (zh) |
WO (1) | WO2015127842A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831304A (zh) * | 2018-12-26 | 2019-05-31 | 北京握奇智能科技有限公司 | 一种身份认证设备的多应用方法及系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793644B (zh) * | 2014-02-28 | 2017-09-19 | 天地融科技股份有限公司 | 信息安全设备实现多应用的方法、信息安全设备和系统 |
CN106372463B (zh) * | 2016-08-22 | 2018-09-11 | 北京深思数盾科技股份有限公司 | 中间件保护方法、装置及系统 |
CN111125644B (zh) * | 2018-11-01 | 2022-05-27 | 百度在线网络技术(北京)有限公司 | 应用产品的信息隐藏方法和装置 |
CN111641587B (zh) * | 2020-04-27 | 2022-03-04 | 河南省云安大数据安全防护产业技术研究院有限公司 | 物联网设备互联互通的方法、装置 |
CN116418601B (zh) * | 2023-06-09 | 2023-08-22 | 南京信息工程大学 | 一种基于区块链辅助校验的全流程信息安全监控系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220567A (ja) * | 2002-12-27 | 2004-08-05 | Masataka Hattori | 電子キャッシュシステム |
CN202261385U (zh) * | 2011-11-04 | 2012-05-30 | 中国工商银行股份有限公司 | 一种银行卡交易前置设备的密钥同步系统 |
CN102647278A (zh) * | 2008-01-25 | 2012-08-22 | 联发科技股份有限公司 | 认证下载到闪存的程序的装置及方法 |
CN103325036A (zh) * | 2012-01-16 | 2013-09-25 | 深圳市家富通汇科技有限公司 | 通过不安全网络进行安全交易的移动装置 |
CN103793644A (zh) * | 2014-02-28 | 2014-05-14 | 天地融科技股份有限公司 | 信息安全设备实现多应用的方法、信息安全设备和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2421323B (en) * | 2004-12-15 | 2009-07-22 | Symbian Software Ltd | A method of maintaining applications in a computing device |
CN101866463A (zh) * | 2009-04-14 | 2010-10-20 | 中兴通讯股份有限公司 | 一种eNFC终端、eNFC智能卡及其通信方法 |
CN102087716B (zh) * | 2011-03-02 | 2013-02-13 | 武汉天喻信息产业股份有限公司 | 一种多应用Java智能卡 |
CN102202242A (zh) * | 2011-05-19 | 2011-09-28 | 广东星海数字家庭产业技术研究院有限公司 | 基于机顶盒浏览器的JavaScript解释器实现方法 |
-
2014
- 2014-02-28 CN CN201410072040.7A patent/CN103793644B/zh active Active
-
2015
- 2015-01-22 WO PCT/CN2015/071356 patent/WO2015127842A1/zh active Application Filing
- 2015-01-22 SG SG11201605738YA patent/SG11201605738YA/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220567A (ja) * | 2002-12-27 | 2004-08-05 | Masataka Hattori | 電子キャッシュシステム |
CN102647278A (zh) * | 2008-01-25 | 2012-08-22 | 联发科技股份有限公司 | 认证下载到闪存的程序的装置及方法 |
CN202261385U (zh) * | 2011-11-04 | 2012-05-30 | 中国工商银行股份有限公司 | 一种银行卡交易前置设备的密钥同步系统 |
CN103325036A (zh) * | 2012-01-16 | 2013-09-25 | 深圳市家富通汇科技有限公司 | 通过不安全网络进行安全交易的移动装置 |
CN103793644A (zh) * | 2014-02-28 | 2014-05-14 | 天地融科技股份有限公司 | 信息安全设备实现多应用的方法、信息安全设备和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831304A (zh) * | 2018-12-26 | 2019-05-31 | 北京握奇智能科技有限公司 | 一种身份认证设备的多应用方法及系统 |
CN109831304B (zh) * | 2018-12-26 | 2024-04-02 | 北京握奇智能科技有限公司 | 一种身份认证设备的多应用方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103793644A (zh) | 2014-05-14 |
CN103793644B (zh) | 2017-09-19 |
SG11201605738YA (en) | 2016-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102201844B1 (ko) | 서비스 처리 방법 및 장치 | |
WO2015127842A1 (zh) | 信息安全设备实现多应用的方法、信息安全设备和系统 | |
EP3198500B1 (en) | Trusted computing | |
US20180101850A1 (en) | User and device authentication for web applications | |
WO2018228199A1 (zh) | 一种授权方法以及相关设备 | |
US12118128B2 (en) | Running a trusted application using a dynamic library | |
KR102327782B1 (ko) | 전자 장치 및 커널 데이터 접근 방법 | |
KR102324336B1 (ko) | 사용자 장치 및 그것에 대한 무결성 검증 방법 | |
US9582656B2 (en) | Systems for validating hardware devices | |
KR102320151B1 (ko) | 어플리케이션을 설치하는 전자 장치 및 그 제어 방법 | |
JP2012508931A5 (zh) | ||
US9436828B2 (en) | Systems and methods for command-based entry into basic input/output system setup from operating system | |
TWI706288B (zh) | 穿戴式設備、解鎖控制系統及解鎖控制方法 | |
WO2018000370A1 (zh) | 一种移动终端的认证方法及移动终端 | |
WO2018227798A1 (zh) | 定制系统实现方法、计算机设备和计算机可读存储介质 | |
JP2008109655A (ja) | 保存設備を外付けする知能型秘密鍵装置及びその使用方法 | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
CN107895120A (zh) | 跨平台应用中数据处理方法、装置、电子设备和存储介质 | |
JP2018530054A (ja) | モバイル端末のための支払い認証方法及び装置並びにモバイル端末 | |
WO2017035819A1 (zh) | 实现主机卡模拟的方法、终端、数据路由方法及装置 | |
WO2016070690A1 (zh) | 实现终端设备上的网页和应用间通信的方法、装置和系统 | |
US11616769B2 (en) | Runtime identity confirmation for restricted server communication control | |
KR20140114263A (ko) | 어플리케이션 인증 방법 및 이를 구현하는 전자 장치 | |
CN112825041A (zh) | 一种内存隔离的装置、内存隔离方法和相关设备 | |
KR102133251B1 (ko) | 애플리케이션 프로그램 보호 방법 및 장치 |
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: 15754901 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: 15754901 Country of ref document: EP Kind code of ref document: A1 |