WO2008022559A1 - Device and method for safely making use of network service needless of relying on security of client side - Google Patents

Device and method for safely making use of network service needless of relying on security of client side Download PDF

Info

Publication number
WO2008022559A1
WO2008022559A1 PCT/CN2007/002473 CN2007002473W WO2008022559A1 WO 2008022559 A1 WO2008022559 A1 WO 2008022559A1 CN 2007002473 W CN2007002473 W CN 2007002473W WO 2008022559 A1 WO2008022559 A1 WO 2008022559A1
Authority
WO
WIPO (PCT)
Prior art keywords
string
key code
computer
key
keyboard
Prior art date
Application number
PCT/CN2007/002473
Other languages
French (fr)
Chinese (zh)
Inventor
Tong Shao
Original Assignee
Tong Shao
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tong Shao filed Critical Tong Shao
Publication of WO2008022559A1 publication Critical patent/WO2008022559A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Definitions

  • the present invention relates to an apparatus and method for securely using a network service independent of computer security. Simply put, it relates to a device and method for how to securely make bank payments on an untrusted computer. In particular, it relates to an apparatus and method that can securely use a web server service on a potentially insecure networked computer client. '
  • SSL Trojans can bypass the security authentication mechanism, and this security and authentication mechanism is the most important security measure for online banking and online trading institutions. Once the computer is infected with this Trojan, all actions that require user approval can be sneaked without the user's knowledge. The same is true of the online gaming industry and all industries that require network identity authentication.
  • U.S. Patent No. 5,809,143 also discloses a cryptographic keyboard solution that addresses the authentication problem but does not combat "replay attacks.” Correct here
  • the solution essentially encrypts the user's password (PIN) by two encryptions: the first is to encrypt the random number with the key stored in the password keyboard and the authentication server; the second time is the user
  • the password encrypts the random number and is an authentication scheme for protecting the password (PIN).
  • the computer displays 300 yuan for Zhang San and asks the user to confirm the signature, the user can use various confirmation means including digital signature or payment password; however, the computer Trojan actually requires the user Confirmed that Li Si will pay 100,000 yuan.
  • the root cause of this insecurity is when calculating When the machine is not secure, all the information you see on your computer may not be true. The applicant took a term for this situation called: "visual fraud.”
  • the main means of hacking is the man-in-the-middle attack, and there will be simulated operational attacks and visual scam attacks in the future.
  • the simulated operation attack is that when the computer user inserts the USBKEY digital certificate into the computer to prepare for the transaction, the Trojan takes the operation of simulating the user's keyboard and mouse to perform the attack: Modify the transaction object, modify the transaction price, and modify the number of transactions: If the computer exists Security factors, simulation operations attacks may succeed.
  • Visual scams are an advanced way of simulating operational attacks. Modifying the URL of IE, even when the user enters the correct URL, the Trojan allows IE to display the correct URL, but the internal URL is the address of the scammer, simulating the bank's website to implement fraud.
  • the main problem of computer network security is not whether the user's networked computer is safe or not; but when the networked computer is not secure, how to ensure that the correct network service of the network server can be obtained. For example, when a networked computer is not secure, the bank customer can safely use the computer for bank transfer services; or game players It is safe to play and trade without being replaced or tampered with by hackers.
  • the computer client should have a certain degree of security, which causes all the programs to have such security holes.
  • the starting point of our invention is that the computer client is a big Trojan, not just a Trojan.
  • the operating system is a trojan written by a hacker. The hacker fully grasps the client, and the user does not trust the security of the client. From the user's point of view, he just wants the computer client to handle the problem correctly, and doesn't care if the computer is safe.
  • All the data sent to the server is the data that the user wants to send; all the data seen on the display screen is the real data sent back by the server or the real data entered by the user.
  • the computer is not safe, it is obvious that the above hopes cannot all be established.
  • the inventor believes that the acceptable security is that after the user displays the normal operation according to the screen, even if the data is tampered with, the user cannot cause actual loss; nor does the user falsely display the screen, so that the user generates the normal operation according to the display. Actual loss. The fact that no actual loss is caused is that the result is equivalent to the fact that the terminal is broken and cannot be used.
  • the most important thing is to ensure that the keyboard and mouse of the most important input device of the computer are indeed controlled by the computer operator.
  • the displayed information is provided and expected by the operator as much as possible. If the display is tampered with, it cannot mislead the user to actually produce the actual information. loss. The most important point is that the information obtained on the web server side must be provided by the operator.
  • the transaction object For example, when entering the online transaction, the transaction object, the bank card number, and the transaction price are all input.
  • USBKEY After the USBKEY is signed or encrypted, it is transmitted to the server. After the server decrypts the message, it returns the information and confirms the password (PIN) through the mobile phone, and confirms the password (PIN).
  • PIN password
  • the Trojan can tamper with the data sent to the web server or display the data that has been tampered with. So the most reasonable way is that all the operator's input can only be sent by the keyboard, the network server receives the operator's correct key code and saves the record, and the correct key code can be correctly displayed locally.
  • the computer client may be unsafe, when the display is tampered without affecting the correct input, at most the operator does not confirm the wrong display data, but no loss occurs.
  • the server may receive 55, which is the "re-attack attack.”
  • the means to prevent "re-attacking" is the fixed-point input, that is, the fixed input position.
  • the position is input 5 and then re-tap, the original input data is replaced.
  • a confirmation button (such as the ENTER button).
  • the amount input can be taken from Fill in large to small, to prevent "less filling". That is, if the Trojan allows the user to enter a zero in the front, and the latter user cannot fill in more than one, the total number of the filled digits will be incorrect.
  • the server can protect the user's interests without confirming the input.
  • the most original patent application for computer terminal security is "Method and System for Secure Transaction in Computer Systems” (Chinese Patent Application CN99806523.4).
  • the solution is to use a trusted computer to solve the problem of untrustworthy computer terminals, that is, to use trusted terminals to add trusted computers.
  • the inventor's authorized patent and "a network security system and security method" (CN02138659. 5) use a computer to play the role of a trusted computer and an untrusted terminal to solve the problem of terminal security.
  • the trusted computers in both scenarios consist of a trusted host (CPU), a trusted keyboard, and a trusted display.
  • our trusted dual-machine solution has a popularization process.
  • the "method and system for secure transaction in a computer system” scheme is not easy to promote because it is not portable or occupying a desktop.
  • USBKEY certificate is essentially a scheme for canceling a trusted keyboard and a trusted display in the "method and system for secure transaction in a computer system" scheme.
  • a cryptographic device can be used to connect between the computer keyboard and the computer keyboard interface to ensure a trusted keyboard.
  • a key combination is issued from the keyboard or the password device is activated by the computer application to authenticate with the server that wishes to connect, and the session key is negotiated, this is the identity authentication between the cryptographic device and the server, not the client computer and the server.
  • Identity authentication when the operator taps the keyboard, the key code generated by the keyboard is sent to the cryptographic device; the cryptographic device encrypts the key code and transmits it to the network server through the computer terminal; the server decrypts the key code, transmits it back to the computer and provides Give the app.
  • the cryptographic device can collect multiple key codes to form a string, and then encrypt or sign it and send it to the server.
  • the Trojan can also use the key string that is not encrypted or signed to be sent to the server for attack. This is equivalent to the computer being broken and cannot be used. Replay attacks can be eliminated due to key string encryption, adding random numbers, increasing the key sequence number, and finally re-signing all inputs.
  • a cryptographic device to connect between the computer keyboard and the computer keyboard interface. You can issue a key combination from the keyboard or use the computer application to start the password device to authenticate with the server you want to connect to, and negotiate the session key, which is the identity authentication between the password device and the server, not the client computer and server. Identity authentication; when the operator taps the keyboard, the key code of the key generated by the keyboard is sent to the cryptographic device; The cryptographic device collects all input key codes, which may represent all keyboard input (such as the other party's account number, own account number, transaction amount, etc.) of a transaction, and may also represent part of the input (such as an account number) of a transaction.
  • the key string is encrypted or signed and transmitted to the network server through the computer; the server performs the corresponding work. Since the server receives the encrypted or signed key string, other programs in the computer (including Trojans and operating systems) cannot tamper with the key string obtained by the server. Therefore, after the correctly entered data is tampered with, the operator or the server may incorrectly reject the correct data; and it is impossible for the operator or the server to accept the falsified result after the data that is correctly input is falsified. That is, you may not be able to use the computer to get network services, but you cannot produce the result of using the computer to get the wrong service from the network server.
  • other programs in the computer including Trojans and operating systems
  • the signed key string may not be the original key string of the key, but the cryptographic device analyzes the meaningful result according to the input key string, converts a certain form, encrypts or signs the data and uploads the data. We still recalculate the data after it has been transformed or analyzed, so it is called a key string.
  • the cryptographic device directly to the computer interface.
  • the computer interface For example, USB interface, PS2 interface and 1394 interface.
  • the cryptographic device authenticates and negotiates the session key with the server to be connected
  • the keyboard When the operator taps the keyboard, the keyboard generates a key code string and transmits the key code string to the computer terminal; the computer terminal transmits the key code string to the cryptographic device; The key string is encrypted and transmitted to the web server; the server decrypts the key string, passes it back to the computer and provides it to the application. Since the key string is transmitted through the computer terminal, there is a possibility of being tampered with. In order to prevent this, a sounding device should be added to the cryptographic device. When the cryptographic device receives the key code string from the computer terminal and reads it out through the sounding device, the operator uses the audible check to verify the correctness of the key code string.
  • the sounding device may also be required to prevent the key code from being displayed, the user is tricked into thinking that the keyboard is not hit correctly, and then the keyboard tap is performed once more (multiple times).
  • the attack is a heavy attack. For example, when the user inputs an amount of 1000, the Trojan causes the computer screen to not display one of the zeros, causing the user to think that the keystroke error is knocked once again, and the actual amount of input data is 10000 and fraud.
  • the request for the network banking service can completely ignore the security problem of the computer client.
  • the cryptographic device In the way of directly connecting the cryptographic device to the computer interface, it is necessary to pay attention to the correspondence between the key code and the sound, and the human ear can detect the difference very sensitively.
  • the essence of the scheme for adding a sounding device is to replace the function of the trusted display in the "party and system for secure transactions in a computer system" (Chinese Patent Application CN99806523.4).
  • the server since the server receives only the encrypted key string data, it is impossible to play the game without the cryptographic device.
  • the way to connect a cryptographic device directly to a computer interface When you listen to the key code sound, you can determine whether there is a hacker illegally using the cryptographic device.
  • the device and method for safely using the web server service on the untrusted terminal can be easily and safely solved by using a keyboard, a cryptographic device, a network server, and a reasonable flow of information, combined with a good cryptographic protocol.
  • a portable device for securely using a web server service without relying on client security includes: a key code input interface device, an encryption device, and an output interface device, wherein the key code input interface device receives the keyboard The transmitted key code string; the encryption device encrypts or signs the key code string; and transmits it to the network server through the output interface device and the client;
  • serial number generating device More securely, there is also a serial number generating device; the serial number generated by the serial number generating device is connected with the key code string; the encryption device encrypts the connected key code string; and is transmitted to the network server through the output device and the client;
  • the input interface device receives the key code string, the sound corresponding to the key code string is read out by the device;
  • a method for securely using a web server service without relying on a client includes: having a password device between the client and the keyboard; transmitting information input by the keyboard to the password device; encrypting the password device Or (and) the key code string input by the signature keyboard; transmitting the encrypted or (and) signed key code string to the server through the client; the network server decrypting or (and) confirming the received key code string; the network server receives the And confirm the key code string to perform the corresponding service;
  • the cryptographic device also has the step of encrypting or (and) signing the string of keys after collecting multiple key codes. More preferably, there is a step of analyzing the string validity of the string to determine whether to encrypt or (and) sign the key. In order to prevent replay attacks, there may be a step of connecting the encrypted key code information by using a random number generated by the random number generating means.
  • the server determining whether to provide the service based on the recorded key code compared to the sensitive request submitted by the last user.
  • step of the web server negotiating a session key with the cryptographic device.
  • step of the web server negotiates a pseudo random number generating device seed with the cryptographic device.
  • Figure 1 is a schematic diagram showing a conventional networked computer and network
  • FIG. 2 is a schematic view showing the addition of the cryptographic device of the present invention between a keyboard and a keyboard interface;
  • Figure 3 is a schematic diagram showing the direct connection of a cryptographic device incorporating the present invention to a computer
  • Figure 4 is a flow chart showing the operation of the present invention.
  • Figure 5 is a flow chart showing the direct connection of the cryptographic device of the present invention.
  • FIG. 1 is a schematic diagram of a general computer and network service.
  • the computer terminal enters the operating system or the application program 31 normally, after the user inputs the key code through the computer keyboard 4, it is transmitted to the application 31; in general, the key code
  • the representative characters are sent to the display 5 by the application 31 for display.
  • the key code is transferred to the application 31 is a function provided by the operating system, but all paths in the transfer process can be hooked up by the hook program or a Trojan can be installed therein.
  • the following embodiments are available.
  • the core of the invention is that the data generated by the cryptographic device is processed directly by the server, and the original data used for encryption can only be derived from a keyboard or mouse controlled by the cryptographic device.
  • an apparatus and method for implementing secure use of a web server service without relying on terminal security are as shown in FIG. This is the key string encryption scheme.
  • the encryption device 6 After the computer normally enters the operating system or application 31, when the user inputs the key code through the computer keyboard 4, the encryption device 6 performs encryption or signature processing according to the obtained key code string; then transmits to the computer 3, and the computer 3 transmits to the server through the network 2. 1; The server 1 decrypts or confirms the key code string, and performs corresponding work according to the confirmation result, and the server 1 transmits back to the computer 3 and the application 31 through the network 2; in general, the character represented by the key code string is The application is sent to display 5 for display.
  • the application 31 can be an IE browser, a client of an online game, or a client of an online banking.
  • the cryptographic device 6 can implement an authentication connection with the network server according to the certificate and password (PIN) stored therein; or can exchange the connection.
  • PIN certificate and password
  • the session key ", using the session key, can realize the encryption and decryption of the cryptographic device 6 and the network server 1; it is also possible to sign the transaction data for online banking payment.
  • the network server 1 also has a decryption or signature authentication device corresponding to the cryptographic device 6. If the encrypted key code string transmitted from the cryptographic device 6 to the computer 3 is also accompanied by the original key code string, the step of the server 1 transmitting the key code string back to the application 31 via the network 2 can be omitted.
  • each one-key code encryption there may be a problem that the password strength is low. Because the key code has only two bytes and only a few hundred different key codes. To do this, you can use "keycode + random number" (byte join) to extend the length of the keycode; then use the encryption algorithm. Thus, the ciphertext of the same character is inconsistent, which increases the strength of encryption. Since the attacker cannot analyze the information of the first 16-bit key code of the plaintext through the ciphertext, a high encryption strength can be achieved.
  • the hacker can trick the user into thinking that the keyboard is not hit correctly by not displaying or displaying the key code less, then the attack is performed one more time (multiple times).
  • This can be solved by the sounding device of Embodiment 2. It can also be solved according to the keystroke serial number, fixed input position and input confirmation.
  • a better method is that the cryptographic device 6 does not encrypt the key code once, but collects a plurality of key codes transmitted by the keyboard, and the key codes may represent all keyboard inputs of a transaction (such as the other party's account, their own account, The transaction amount, etc.) can also represent part of the input (such as an account number) of a transaction.
  • the key string is encrypted or signed and transmitted to the web server via the computer: The server performs the corresponding work. Since the server receives an encrypted or signed key string, other programs on the computer (including Trojans and operating systems) cannot tamper with the key string obtained by the server. Of course, the Trojan can also use the encryption key string to send the server to the attack.
  • the operator may erroneously reject the correct data; and it is impossible for the operator to accept the falsified result after the data that is correctly input is falsified. That is, you may not be able to use the computer to get network services, but you cannot produce the result of using the computer to get the wrong service from the network server.
  • the signed key string may not be the original key string of the key, but the cryptographic device analyzes the meaningful result according to the input key string, converts the certain form, encrypts or signs the data and uploads the data. We still use this transformed or analyzed data to be regenerated to be called a key string.
  • an apparatus and method for implementing secure use of a network service without relying on computer security are implemented as shown in FIG.
  • This mode is that the cryptographic device 6 is directly connected to a computer interface (for example, a USB interface, a PS2 interface, a 1394 interface, etc.).
  • a computer interface for example, a USB interface, a PS2 interface, a 1394 interface, etc.
  • the key code is transmitted to the computer 3, and the computer 3 transmits the key code to the cryptographic device 6, and the cryptographic device 6 performs encryption processing based on the obtained key code string; then transmits it to the computer 3 and transmits it to the server 1 via the network 2; the server 1 decrypts the key
  • the code string is transmitted back to the computer 3 and the application 31 via the network 2; in general, the character represented by the key code string is sent to the display 5 by the application 31 for display.
  • the computer 3 can be attacked by a Trojan, so the key code data may be tampered with, and there is an insecure factor.
  • a sounding device should be added to the cryptographic device.
  • the cryptographic device receives the keycode from the computer 3 and reads it out through the uttering device, the operator corrects the correctness of the input keycode with the audible check.
  • a method for implementing secure use of a network service without relying on a terminal is as shown in FIG.
  • the network server and the cryptographic device perform identity authentication; after the authentication is passed, the session key is negotiated, and the authentication does not pass the service obviously; when the key code string is input, the cryptographic device is connected by a random number or a serial number; after being encrypted or signed, the message is transmitted to
  • the terminal transmits the encrypted or signed key code string to the server; the server decrypts or confirms the key code string, and records the key code string; the server transmits the key code string back to the terminal.
  • Embodiment 3 is an information flow chart when the corresponding cryptographic device is in the connection mode between the keyboard and the keyboard interface. Due to security issues, Embodiment 4 is an information flow diagram of a method in which a cryptographic device is directly inserted into a computer interface.
  • the step of transmitting the decrypted key code to the computer terminal can be omitted.
  • the hacker can attack by intercepting the encrypted signature information by replaying, which can be prevented by combining a serial number with the key string. His function is similar to the time stamp in cryptography.
  • the hacker can trick the user into thinking that the keyboard is not hit correctly by not displaying or displaying the key code less, then the attack is performed one more time (multiple times). This can be solved by the sounding device of the second embodiment. It can also be solved according to the keystroke serial number, fixed input position and input confirmation.
  • a pseudo-random number generator can be used to solve the problem of the key code serial number and the random number, so it is also possible to add a step of negotiating the pseudo random number generator seed with the server.
  • a method for implementing secure use of a network service without relying on computer security is as shown in FIG.
  • the network server and the cryptographic device perform identity authentication; after the authentication is passed, the session key is negotiated, and the authentication does not pass, obviously does not provide the service; when the key code string is input, the key code string is transmitted to the computer terminal; the computer terminal transmits the key code string to a cryptographic device; in the cryptographic device, the key code is connected by a serial number, encrypted and transmitted to a computer terminal and gives a sound of the key code string; the computer terminal transmits an encrypted or signed key code string to the server; the server decrypts the encryption or signature key The code string and the decrypted key code string are transmitted to the computer terminal, and the key code is recorded; the system keyboard intermediate software transmits the key code to the application.
  • the key code output by the keyboard is a replacement key code, that is, a substitute code in cryptography. While the invention has been described by way of example, the embodiments of the invention may

Abstract

A device and method for safely making use of the service of the network server (1) are provided, which are concrete and do not rely on the security of the client side. By using the keyboard (4), the encryption device (6), the network server (1), and the suitable information flowing way, together with combining with good password protocol, the problem of safely making use of the service of the network server (1) on the unsafe computer (3) is simply and safely solved.

Description

一种不依赖计算机安全的安全使用网络服务的装置及方法 发明领域  Device and method for safely using network service without relying on computer security
本发明涉及的是一种不依赖计算机安全的安全使用网络服务的装置及方法。简单 地说是,涉及一种如何在不可信的计算机上安全进行银行支付的装置及方法。具体地 说,涉及一种可以在可能不安全的联网计算机客户端上安全使用网络服务器服务的装 置及方法。 '  The present invention relates to an apparatus and method for securely using a network service independent of computer security. Simply put, it relates to a device and method for how to securely make bank payments on an untrusted computer. In particular, it relates to an apparatus and method that can securely use a web server service on a potentially insecure networked computer client. '
背景技术 Background technique
在 《计算机世界报》最近的一篇文章 "SSL难保电子商务安全"(计算机世界报 2006年 05月 29日 第 20期 B24、 B25 ) 中, 描述了现在计算机木马攻击银行系统的 最新进展及对抗方法。借助 SSL木马或者比较高级的网上钓鱼技术, 黑客可以或者窃 取用户的登录信息, 或者在用户成功登录后, 偷偷把账户里的资金划走。在这两种情 况中, 电脑和银行之间的 SSL连接都是完整的, 没有任何破坏。 但是, 有人在 SSL 的端点处做了手脚。换句话说, 在交易信息还没有通过互联网发送给银行之前, 木马 程序就一直在嗅探或者操纵交易。今天, 有些银行要求用户使用电脑显示屏上随机出 现的荧屏键盘, 或者要求用户输入网页上出现的随机数,或者通过基于硬件加密的键 盘输入信息。 但是, 面对 SSL木马的攻击, 这些都不起作用。 问题的症结在于, 让计 算机代替我们人来做出交易决定,而计算机实际上并不知道哪些是对的、哪些是错的。 消费者不能实时地看到交易过程, 因而不能终止一个自动完成的交易授权,而银行又 根本没有办法区别到底是木马做的交易决定, 还是人做的交易决定。仅仅靠劝说用户 不要运行不安全的软件并不能防止被感染。几乎没有用户会意识到他们的电脑已经被 感染了, 即使是最小心的用户也可能中 SSL木马。 SSL木马能绕过安全认证机制, 而 这种安全、 认证机制正是目前的网上银行和从事网上交易的机构最主要的安全手段。 一旦电脑中感染了这种木马程序,所有需要得到用户认可的行为都可以在用户不知情 的情况下偷偷进行。同样的情况也发生在网络游戏行业及所有需要进行网络身份认证 的行业。  In a recent article in "Computer World", "SSL is difficult to protect e-commerce security" (Computer World News, May 29, 2006, No. 20, B24, B25), the latest developments and countermeasures of the current computer Trojan attack banking system are described. method. With SSL Trojans or more advanced phishing techniques, hackers can either steal user login information or sneak away the funds in the account after the user successfully logs in. In both cases, the SSL connection between the computer and the bank is complete without any damage. However, someone has done something at the end of SSL. In other words, the Trojans have been sniffing or manipulating transactions before the transaction information has been sent to the bank via the Internet. Today, some banks require users to use a random screen keyboard on the computer display, or ask the user to enter a random number that appears on the web page, or enter information via a hardware-encrypted keyboard. However, in the face of SSL Trojan attacks, these do not work. The crux of the problem is that letting the computer replace our people to make trading decisions, and the computer does not actually know which ones are right and which ones are wrong. Consumers can't see the transaction process in real time, so they can't terminate an auto-completed transaction authorization, and there is no way for the bank to distinguish whether it is a trading decision made by a Trojan or a trading decision made by a person. Just persuading users not to run unsafe software does not prevent infection. Few users will realize that their computer has been infected, even the smallest users may be SSL Trojans. The SSL Trojan can bypass the security authentication mechanism, and this security and authentication mechanism is the most important security measure for online banking and online trading institutions. Once the computer is infected with this Trojan, all actions that require user approval can be sneaked without the user's knowledge. The same is true of the online gaming industry and all industries that require network identity authentication.
为了解决木马盗取用户密码 (PIN) 的问题, 在中国专利局有大量的专利申请。 其中有的是利用键盘自动发送密码(PIN), 以适应用户使用不容易记忆的密码。这些 专利申请有: "可单键触发键信号序列发送的智能键盘" (中国专利申请 CN00105838.X ) , "可存储键信号序列并顺序发送的智能键盘" (中国专利申请 CN00105603.4 )、 "计算机下载并重新定义键操作的智能键盘" (中国专利申 请 CN00106095.3 )、"由定义条件触发按定义方式接收、转换并发送信息的键盘" (中 国专利申请 CN01109489.3 )、 "由计算机下载并重新定义键操作的键盘信号转换器"In order to solve the problem of Trojans stealing user passwords (PINs), there are a large number of patent applications in the Chinese Patent Office. Some of them use the keyboard to automatically send a password (PIN) to accommodate users who use passwords that are not easy to remember. These patent applications include: "Intelligent keyboard for single-key trigger key signal transmission" (Chinese patent application CN00105838.X), "Intelligent keyboard for storing key signal sequences and sequentially transmitting" (Chinese patent application CN00105603.4), Computer downloads and redefines the smart keyboard for key operations" (Chinese patent application) Please CN00106095.3), "Keyboard that receives, converts and sends information by defined conditions by definition" (Chinese patent application CN01109489.3), "Keyboard signal converter downloaded and redefined by computer"
(中国专利申请 CN01109485.0)、"可存储键信号序列并顺序发送的键盘信号转换器"(Chinese patent application CN01109485.0), "Keyboard signal converter capable of storing key signal sequences and sequentially transmitting"
(中国专利申请 CN01109486.9)、 "由定义条件触发按定义方式接收、 转换并发送信 息的键盘信号转换器 "(中国专利申请 CN01109487.7)。 与键盘、 密码及硬件相关的 专利有: "微机密码输入装置 "(中国专利申请 CN90106710.5 )、 " IC卡密码输出器"(Chinese patent application CN01109486.9), "Keyboard signal converter that triggers receiving, converting and transmitting information in a defined manner by defining conditions" (Chinese Patent Application CN01109487.7). The patents related to keyboards, passwords and hardware are: "Microcomputer password input device" (Chinese patent application CN90106710.5), "IC card password exporter"
(中国专利申请 CN98112879.3 )。另外,采用密码技术与键盘结合来防治普通木马窃 取键盘输入密码(PIN)的技术有: "计算机键盘信息干扰实现密码保护的方法"(中 国专利申请 CN200410062399.2)、 "具安全密码认证的键盘装置及其方法" (中国专 利申请 CN9912169U )、 "计算机远程登陆口令密码的设置和识别技术" (中国专 利申请 CN200310111808.9 )。 以上专利都是保护口令(PIN ) 的方案, 没有引用数字 证书、 公开密码等现代密码学概念; 不能对如银行支付信息进行输入保护、 防止篡改 及数字签名的功能, 也没有利用这些硬件的安全信息流程。 (Chinese patent application CN98112879.3). In addition, the combination of cryptography and keyboard to prevent ordinary trojans from stealing keyboard input passwords (PIN) are: "Computer keyboard information interference to achieve password protection method" (Chinese patent application CN200410062399.2), "keyboard with secure password authentication" Device and method thereof (Chinese patent application CN9912169U), "Setting and identification technology of computer remote login password and password" (Chinese patent application CN200310111808.9). The above patents are all solutions for protecting passwords (PIN). They do not refer to modern cryptography concepts such as digital certificates and public passwords; they cannot input protection such as bank payment information, prevent tampering and digital signatures, and do not use the security of these hardware. Information flow.
为了解决木马盗窃认证密码 (PIN ) 问题, 美国专利 US5, 809, 143也公开了一种 密码键盘方案, 可以解决身份认证问题, 但不能抗击 "重放攻击"。 这里纠正一下在 In order to solve the Trojan Stealing Authentication Code (PIN) problem, U.S. Patent No. 5,809,143 also discloses a cryptographic keyboard solution that addresses the authentication problem but does not combat "replay attacks." Correct here
"密码键盘及其数据烧录装置和密码保密方法"(中国专利申请 CN99125238.1 )专利 申请文献中对该美国专利描述的错误, 即, 该说明书第二页第七行"到达计算机的键 盘接口的数据是已经被加密的字符", 应该为 "到达计算机的键盘接口的数据是已经 被加密的字符串", 因为密码 (PIN ) 在上述美国专利中是作为字符串被加密。 "密码 键盘及其数据烧录装置和密码保密方法"(中国专利申请 CN99125238.1 )提出了相应 的改进方案。该方案的实质上是通过两次加密的方式对用户的密码(PIN)进行加密: 第一次是用保存在密码键盘和认证服务器内的密钥对随机数进行加密;第二次是以用 户密码对随机数进行加密, 是一种保护密码 (PIN ) 的身份认证方案。 "Password keyboard and its data burning device and password confidentiality method" (Chinese Patent Application CN99125238.1) The patent application file describes the error described in the US patent, that is, the seventh line of the second page of the specification "the keyboard interface to the computer" The data is the character that has been encrypted ", should be "the data that arrives at the computer's keyboard interface is a string that has been encrypted" because the password (PIN) is encrypted as a string in the above U.S. patent. The "Password Keyboard and its Data Burning Device and Password Privacy Method" (Chinese Patent Application CN99125238.1) proposes a corresponding improvement. The solution essentially encrypts the user's password (PIN) by two encryptions: the first is to encrypt the random number with the key stored in the password keyboard and the authentication server; the second time is the user The password encrypts the random number and is an authentication scheme for protecting the password (PIN).
上述所有专利方案, 都没有解决 SSL木马攻击交易安全的问题。 实际上这种 SSL 木马攻击, 加以改造可以攻破现在银行认为最安全的 USBKEY数字证书系统。 申请人 认为,造成这种情况的根本原因是, 用户无法判别自己的计算机是否处于不安全的状 态。而计算机不安全时, 任何需要计算机提供最基本的安全保证的方案, 实际上都不 安全。一般计算机用户所相信的自己敲击的键盘及计算机屏幕的显示都可能有安全问 题。例如, 当用户希望给张三支付 300元, 计算机显示给张三支付 300元并要求用户 确认签名, 用户可以使用包括数字签名或支付密码等各种确认手段; 但是, 实际上是 计算机木马要求用户确认给李四支付十万元。造成这种不安全的根本原因是, 当计算 机不安全时, 所有你在计算机上看到的信息可能都不真实。 申请人给这种情况取了一 个名词叫做: "视觉诈骗"。 None of the above patent schemes solves the problem of SSL Trojan attack transactions. In fact, this SSL Trojan attack can be modified to break the USBKEY digital certificate system that banks now consider to be the safest. The applicant believes that the root cause of this situation is that the user cannot determine whether his or her computer is in an unsafe state. When the computer is not secure, any solution that requires the computer to provide the most basic security guarantee is actually not safe. The display of the keyboard and computer screen that the general computer user believes may have security problems. For example, when the user wants to pay 300 yuan to Zhang San, the computer displays 300 yuan for Zhang San and asks the user to confirm the signature, the user can use various confirmation means including digital signature or payment password; however, the computer Trojan actually requires the user Confirmed that Li Si will pay 100,000 yuan. The root cause of this insecurity is when calculating When the machine is not secure, all the information you see on your computer may not be true. The applicant took a term for this situation called: "visual fraud."
目前黑客攻击的主要手段是中间人攻击, 将来还有模拟操作攻击及视觉诈骗攻 击。 模拟操作攻击就是, 当计算机用户把 USBKEY数字证书插入计算机准备进行交 易时, 木马采取模拟用户键盘及鼠标的操作实施攻击: 修改交易的对象、修改交易的 价格、 修改交易的数量: 如果计算机存在不安全的因素, 模拟操作攻击就可能得逞。 视觉诈骗是模拟操作攻击的高级方式。修改 IE的 URL, 甚至当用户输入正确的 URL 时, 木马程序让 IE显示正确的 URL, 但是内部的 URL是诈骗者的地址, 模拟银行 网站实施诈骗。 总之, 为了彻底解决木马带来的问题, "计算机系统中用于安全交 易的方法和系统" (中国专利申请 CN99806523.4 )及 "一种网络安全系统及安全方 法" (本发明人申请的中国专利申请 CN02138659. 5 ) 都能够解决问题。 但是, 双 机方案有一个普及过程, 带可信显示器的方案不容易推广。  The main means of hacking is the man-in-the-middle attack, and there will be simulated operational attacks and visual scam attacks in the future. The simulated operation attack is that when the computer user inserts the USBKEY digital certificate into the computer to prepare for the transaction, the Trojan takes the operation of simulating the user's keyboard and mouse to perform the attack: Modify the transaction object, modify the transaction price, and modify the number of transactions: If the computer exists Security factors, simulation operations attacks may succeed. Visual scams are an advanced way of simulating operational attacks. Modifying the URL of IE, even when the user enters the correct URL, the Trojan allows IE to display the correct URL, but the internal URL is the address of the scammer, simulating the bank's website to implement fraud. In short, in order to completely solve the problems caused by Trojans, "Methods and systems for secure transactions in computer systems" (Chinese patent application CN99806523.4) and "A network security system and security method" (China applied by the inventor) Patent application CN02138659. 5) can solve the problem. However, the two-machine solution has a popularization process, and solutions with trusted displays are not easy to promote.
为了解决键盘输入数据的安全性, 韩国安全技术公司申请了中国专利 ZL00801562. 7 "具有保密功能的适配器及使用这种适配器的计算机保密系统"(中国 专利公幵 CN1319294), 也公幵了一种密码键盘方案, 可以加密键盘信息。 "使得用 户能够建立计算机系统与键盘之间的保密连接以从键盘向计算机系统输入数据"见说 明书第 2页第 15行。 从该专利的整个方案看, 很明显这里的 "计算机系统"指的就 我们通常说的计算机客户端而不是服务器, 参见说明书第 8页第 10行、 第 8页 30 行到第 9页第 5行及图 3。 由于计算机客户端不安全, 所以客户端的所有软件, 包括 操作系统及与保密适配器配合的软件都可能是木马,这样该技术方案同样不能保证安 全。所以说明书第 14页第 20行开始说, 该技术方案只是"有可能防止第三者闯入计 算机系统剽窃和偷盗用户用于股票交易"等。 事实上, 由于网络服务器不能区分, 到 底是木马欺骗合法用户实现交易还是用户真实的交易,所以该技术方案没有实际安全 用途。从目前该申请的法律状态来看, 该专利申请已经被撤消。 该专利申请是与本发 明非常密切的一个背景技术。  In order to solve the security of the keyboard input data, Korea Security Technology Corporation applied for the Chinese patent ZL00801562. 7 "Adapter with security function and computer security system using this adapter" (Chinese Patent Publication No. CN1319294), also disclosed a kind of A password keyboard scheme that encrypts keyboard information. "Enables the user to establish a secure connection between the computer system and the keyboard to input data from the keyboard to the computer system" on page 2, line 15. From the entire scheme of the patent, it is obvious that the "computer system" here refers to the computer client we usually say instead of the server, see page 8, page 10, page 8, line 30, page 9, page 5 of the manual. Line and Figure 3. Since the computer client is not secure, all of the client's software, including the operating system and the software that works with the security adapter, may be Trojans, so the technical solution does not guarantee security. Therefore, the 20th line on page 14 of the manual begins to say that the technical solution is only "possible to prevent third parties from breaking into the computer system to plagiarize and steal users for stock trading". In fact, because the network server can't distinguish, at the end of the day, the Trojan tricks the legitimate user to realize the transaction or the user's real transaction, so the technical solution has no practical security use. From the current legal status of the application, the patent application has been revoked. This patent application is a background art that is very close to the present invention.
以上所述所有专利文献都是本专利实现的背景文件,为了节省本专利说明书的篇 幅, 申请人把上述所有专利文献的说明书都作为本专利申请的一部分, 表示已经把这 些申请文件写入了本说明书。  All of the patent documents mentioned above are the background documents implemented by this patent. In order to save the space of this patent specification, the applicants have made all the above-mentioned patent documents as part of this patent application, indicating that these application documents have been written in this document. Instructions.
现在, 计算机网络安全的主要问题不是用户联网计算机到底安不安全; 而是当联 网计算机不安全时, 如何保证能够得到网络服务器正确的网络服务。例如, 当联网计 算机不安全时,银行客户可以安全地使用该计算机办理银行转帐业务; 或者游戏玩家 可以安全地游戏及交易而不能被黑客所替代或篡改。 Now, the main problem of computer network security is not whether the user's networked computer is safe or not; but when the networked computer is not secure, how to ensure that the correct network service of the network server can be obtained. For example, when a networked computer is not secure, the bank customer can safely use the computer for bank transfer services; or game players It is safe to play and trade without being replaced or tampered with by hackers.
目前在其他所有的计算机客户端安全方案中,或多或少或不自觉地认为计算机客 户端应该有一定的安全性, 这造成所有的方案都有这样那样的安全漏洞。而我们发明 的出发点是, 认为计算机客户端就是大木马, 而不仅仅是可能有木马。我们假设操作 系统就是黑客编写的木马, 黑客完全掌握了该客户端, 而用户完全不相信该客户端的 安全性。 从用户的角度来看, 他只是希望计算机客户端能正确地帮他处理问题, 而并 不在乎计算机是不是安全。  Currently, in all other computer client security solutions, more or less or unconsciously, the computer client should have a certain degree of security, which causes all the programs to have such security holes. The starting point of our invention is that the computer client is a big Trojan, not just a Trojan. We assume that the operating system is a trojan written by a hacker. The hacker fully grasps the client, and the user does not trust the security of the client. From the user's point of view, he just wants the computer client to handle the problem correctly, and doesn't care if the computer is safe.
所以用户希望: 所有送到服务器的数据都是用户希望送出的数据; 所有在显示屏 幕上看到的数据都是服务器送回的真实数据或用户自己输入的真实数据。当计算机不 安全时, 显然上述希望不可能都成立。但是本发明人认为可以接受的安全是, 当用户 按照屏幕显示正常操作后, 即使数据被篡改也不能使用户产生实际损失; 也不会因为 屏幕的虚假显示, 使用户根据这些显示正常操作后产生实际损失。不产生实际损失的 意思是, 产生的结果就是相当于该终端坏了不能用而已。  So the user wants: All the data sent to the server is the data that the user wants to send; all the data seen on the display screen is the real data sent back by the server or the real data entered by the user. When the computer is not safe, it is obvious that the above hopes cannot all be established. However, the inventor believes that the acceptable security is that after the user displays the normal operation according to the screen, even if the data is tampered with, the user cannot cause actual loss; nor does the user falsely display the screen, so that the user generates the normal operation according to the display. Actual loss. The fact that no actual loss is caused is that the result is equivalent to the fact that the terminal is broken and cannot be used.
为此,最重要的就是必须保证该计算机最重要的输入设备键盘及鼠标确实是由计 算机操作者控制, 显示的信息尽量是操作者提供及期望的, 如果显示被篡改也不能误 导使用者产生实际损失。最重要的一点就是,在网络服务器端得到的信息肯定是操作 者提供的。  To this end, the most important thing is to ensure that the keyboard and mouse of the most important input device of the computer are indeed controlled by the computer operator. The displayed information is provided and expected by the operator as much as possible. If the display is tampered with, it cannot mislead the user to actually produce the actual information. loss. The most important point is that the information obtained on the web server side must be provided by the operator.
比如, 当进入网络交易时把交易对象、 银行卡号、 交易价格全部输入完成后, 由 For example, when entering the online transaction, the transaction object, the bank card number, and the transaction price are all input.
USBKEY 签名或加密后传送到服务器, 服务器解密后通过手机回传信息及确认密码 (PIN ), 通过确认密码 (PIN) 进行确认的方法。 但是如果在输入交易对象、 银行卡 号、 交易价格时, 这些数据不能及时地显示在计算机上, 会给用户造成极大的困惑。 如果普通地显示在屏幕上, 木马就可以篡改送到网络服务器中的数据, 或显示已经被 篡改的数据。所以最合理的方法就是, 操作者的所有输入只能是由键盘发出、 网络服 务器收到是操作者正确的键码并保存记录、正确的键码能够在本地被正确显示。 由于 计算机客户端可能的不安全, 当显示被篡改后并不影响正确的输入, 最多是操作者不 确认错误的显示数据, 但不会产生损失。例如, 当用户准备输入 500圆时, 用户键入 5, 木马显示 7; 用户会认为自己敲错键并重敲。 所以木马显示的 7并没有被用户接 受。 但是服务器可能收到的是 55, 这样就是 "重敲攻击"。 防止 "重敲攻击"的手段 就是定点输入, 即固定输入位置, 当该位置输入 5后又发生重敲, 则替代原来输入的 数据。当然该位置输入 5后,必须有一个确认该定点输入完成的确认键 (或鼠标按键)。 当一行输入完成后, 也应该有一个确认键 (如 ENTER键)。 对于金额输入可以采用从 大到小满格填写, 可以防止 "少填攻击"。 即如果木马在前面让用户少输入一个零, 而后面用户不可能多填一个数,就会使总的填写数字数量不对。服务器可以不确认该 输入, 而保护用户的利益。 After the USBKEY is signed or encrypted, it is transmitted to the server. After the server decrypts the message, it returns the information and confirms the password (PIN) through the mobile phone, and confirms the password (PIN). However, if the data is not displayed on the computer in time when the transaction object, bank card number, and transaction price are entered, it will cause great confusion to the user. If displayed normally on the screen, the Trojan can tamper with the data sent to the web server or display the data that has been tampered with. So the most reasonable way is that all the operator's input can only be sent by the keyboard, the network server receives the operator's correct key code and saves the record, and the correct key code can be correctly displayed locally. Since the computer client may be unsafe, when the display is tampered without affecting the correct input, at most the operator does not confirm the wrong display data, but no loss occurs. For example, when the user is ready to enter 500 circles, the user types 5 and the Trojan displays 7; the user will think that he has typed the wrong key and re-tweaked. Therefore, the 7 displayed by the Trojan is not accepted by the user. But the server may receive 55, which is the "re-attack attack." The means to prevent "re-attacking" is the fixed-point input, that is, the fixed input position. When the position is input 5 and then re-tap, the original input data is replaced. Of course, after entering 5 in this position, there must be a confirmation button (or mouse button) to confirm the completion of the fixed point input. When a line is entered, there should also be a confirmation button (such as the ENTER button). For the amount input can be taken from Fill in large to small, to prevent "less filling". That is, if the Trojan allows the user to enter a zero in the front, and the latter user cannot fill in more than one, the total number of the filled digits will be incorrect. The server can protect the user's interests without confirming the input.
在本专利申请的优先权日后, 又公开了几篇背景技术文件。  Several background art documents are disclosed after the priority date of this patent application.
200510116685. 7 "一种电子签名控制装置及控制方法"采用增加一个控制开关来 确认 USBKEY可以使用。 还可以加一个定时器当超时后关闭使用。 甚至还可以加一个 显示器, 用户观察显示器并确认待签名的数据。  200510116685. 7 "An electronic signature control device and control method" uses a control switch to confirm that the USBKEY can be used. You can also add a timer to turn off the use when it times out. It is even possible to add a display where the user observes the display and confirms the data to be signed.
200410103401. 6 "一种增强计算机上使用电子签名工具安全性的方法", 联网获 得授权才能使用签名工具。利用对方计算机对待签名数据的签名, 反解后与待签名数 据比较, 正确后才进行签名。 安全性只有对方计算机及本地计算机均被攻破后才行, 当然也可以篡改两个原始数据达到攻击的目的。  200410103401. 6 "A way to enhance the security of using electronic signature tools on computers", the network is authorized to use the signature tool. Use the signature of the other party's computer to treat the signature data. After the inverse solution, compare it with the data to be signed, and then sign it correctly. Security can only be done after the other party's computer and the local computer are compromised. Of course, you can also tamper with the two original data to achieve the purpose of the attack.
200610099201. 7 "一种增强计算机上使用电子签名工具安全性的方法", 通过直 接获取交易数据来保证交易数据的安全,特点是交易数据在密码设备 (USBKEY)的屏幕 上移动光标到待使用数据处, 并由键盘及鼠标确认来直接获得。也可以用在其公开的 说明书上权利要求 2中 "电子签名工具直接连接键盘, 由该键盘输入待交易数据", 这里的键盘指的是在密码装置上的键盘。 参见其根据权利要求 8、 9、 10及在说明书 第 7页第 1到 14行, 明确了键盘是属于数据输入模块。可以看到其装置有输入装置、 确认装置、 显示装置或提示装置 (音频)。 输入装置是光标输入模块或位于装置之上 的键盘。 计算机的键盘专门用 "计算机键盘"表示。 参见说明书第 7页 9行。  200610099201. 7 "A method to enhance the security of using electronic signature tools on computers", to ensure the security of transaction data by directly obtaining transaction data, the characteristic is that the transaction data moves the cursor to the data to be used on the screen of the password device (USBKEY). It is directly obtained by keyboard and mouse confirmation. It can also be used in its published specification, in claim 2, "the electronic signature tool directly connects to the keyboard from which the data to be traded is entered", where the keyboard refers to the keyboard on the cryptographic device. Referring to it according to claims 8, 9, 10 and on lines 7, lines 1 to 14, of the specification, it is clarified that the keyboard belongs to the data input module. It can be seen that the device has an input device, a confirmation device, a display device or a prompt device (audio). The input device is a cursor input module or a keyboard located above the device. The keyboard of the computer is specifically represented by a "computer keyboard." See page 7 on page 9 of the manual.
关于计算机终端安全的最原始的专利申请是"计算机系统中用于安全交易的方法 和系统" (中国专利申请 CN99806523.4)。 该方案就是采用可信计算机来解决计算 机终端不可信问题, 即用不可信终端加可信计算机。而本发明人的授权专利及"一种 网络安全系统及安全方法" (CN02138659. 5 )是用一台计算机分别扮演可信计算机 及不可信终端的角色来解决问题终端安全问题。两个方案中的可信计算机都是由可信 主机 (CPU)、 可信键盘及可信显示器组成。 但是, 我们的可信双机方案有一个普及 过程。 而"计算机系统中用于安全交易的方法和系统"方案, 由于不于便携或占用桌 面等不容易推广。  The most original patent application for computer terminal security is "Method and System for Secure Transaction in Computer Systems" (Chinese Patent Application CN99806523.4). The solution is to use a trusted computer to solve the problem of untrustworthy computer terminals, that is, to use trusted terminals to add trusted computers. The inventor's authorized patent and "a network security system and security method" (CN02138659. 5) use a computer to play the role of a trusted computer and an untrusted terminal to solve the problem of terminal security. The trusted computers in both scenarios consist of a trusted host (CPU), a trusted keyboard, and a trusted display. However, our trusted dual-machine solution has a popularization process. The "method and system for secure transaction in a computer system" scheme is not easy to promote because it is not portable or occupying a desktop.
随着技术的进步, 可信主机(CPU)越来越便宜。 由于便携及尽量不改变人们使 用计算机习惯的要求, 己经提出了很多改进的技术方案。 例如, 目前普遍使用的 USBKEY 证书, 实质就是 "计算机系统中用于安全交易的方法和系统 "方案中, 取 消可信键盘及可信显示的方案。这个方案虽然满足了便携的要求及尽量不改变人们使 用计算机习惯的要求, 但是安全性降低的太多不安全。 As technology advances, trusted hosts (CPUs) are getting cheaper. Many improved technical solutions have been proposed due to portability and minimal changes in the use of computer habits. For example, the currently widely used USBKEY certificate is essentially a scheme for canceling a trusted keyboard and a trusted display in the "method and system for secure transaction in a computer system" scheme. Although this solution satisfies the requirements of portability and tries not to change people Use computer accustomed requirements, but the security is reduced too much is not safe.
200610099201. 7 "一种增强计算机上使用电子签名工具安全性的方法", 是想把 可信显示器做小及键盘的按键做少来解决问题。但是,我们认为该方案显示器变小后, 观看不便; 键盘按键减少后, 使用不方便。 总之, 改变了用户的使用习惯, 不容易普 及。  200610099201. 7 "A method to enhance the security of using electronic signature tools on a computer" is to solve the problem by making the keys of the trusted display small and the keyboard less. However, we think that after the display of the solution becomes smaller, it is inconvenient to watch; after the keyboard keys are reduced, it is inconvenient to use. In short, changing the user's usage habits is not easy to pass.
而韩国安全技术公司申请的中国专利 ZL00801562. 7 "具有保密功能的适配器及 使用这种适配器的计算机保密系统"(中国专利公开 CN1319294 ) , 只是想提供可信 键盘。没有把加密或签名后的数据直接交给服务器处理,所以没能解决客户端不可信 时的服务器可信服务的问题。  The Chinese patent ZL00801562. 7 "Container with security function and computer security system using such adapter" (Chinese Patent Publication CN1319294) applied by Korea Security Technology Co., Ltd. only wants to provide a trusted keyboard. The encrypted or signed data is not directly delivered to the server for processing, so the problem of the server trusted service when the client is not trusted is not solved.
发明内容 Summary of the invention
为了便于携带及在现有计算机的条件下, 实现安全使用网络服务器服务。可以使 用一个密码装置连接于计算机键盘与计算机键盘接口之间, 保证有一个可信键盘。当 从键盘上发出一个组合键或者通过计算机应用程序启动密码装置与希望连接的服务 器进行身份认证, 并协商好会话密钥, 这是密码装置与服务器之间的身份认证, 不是 客户端计算机与服务器的身份认证; 当操作者敲击键盘时, 键盘产生的键码送到密码 装置; 密码装置把该键码加密并通过计算机终端传送到网络服务器; 服务器解密该键 码,传回到计算机并提供给应用程序。由于键码被加密并且服务器只接收加密的键码, 所以计算机中的其他程序 (包括木马和操作系统) 只能篡改提供给应用程序的键码, 而不能篡改服务器得到的键码; 所以正确输入的数据被篡改后, 操作者或服务器可能 错误地拒绝正确数据; 而不可能产生正确输入的数据被篡改后, 操作者或服务器接受 被篡改后数据的后果。 也就是说, 可以不能使用该计算机获得网络服务, 但是不能由 于使用该计算机, 从网络服务器上得到错误服务的结果。显然密码装置可以收集多个 键码组成串, 然后加密或签名后送到服务器。 为表示单键码及键码串这两种情况, 在 本专利申请中, 我们把单个键码及键码串都统称为键码串。  In order to be portable and under the conditions of existing computers, secure use of web server services is realized. A cryptographic device can be used to connect between the computer keyboard and the computer keyboard interface to ensure a trusted keyboard. When a key combination is issued from the keyboard or the password device is activated by the computer application to authenticate with the server that wishes to connect, and the session key is negotiated, this is the identity authentication between the cryptographic device and the server, not the client computer and the server. Identity authentication; when the operator taps the keyboard, the key code generated by the keyboard is sent to the cryptographic device; the cryptographic device encrypts the key code and transmits it to the network server through the computer terminal; the server decrypts the key code, transmits it back to the computer and provides Give the app. Since the key code is encrypted and the server only receives the encrypted key code, other programs in the computer (including Trojans and operating systems) can only tamper with the key code provided to the application, and cannot tamper with the key code obtained by the server; After the data has been tampered with, the operator or server may incorrectly reject the correct data; it is impossible to produce the correct input data after the data has been tampered with, and the operator or server accepts the consequences of the tampered data. That is to say, the computer may not be used to obtain the network service, but the result of the wrong service may not be obtained from the network server by using the computer. Obviously, the cryptographic device can collect multiple key codes to form a string, and then encrypt or sign it and send it to the server. In order to represent the two-key code and the key code string, in the present patent application, we collectively refer to a single key code and a key code string as a key code string.
当然, 木马也可以采用不把加密或签名后的键码串发送给服务器来进行攻击, 这 相当于计算机坏了不能使用。 由于键码串加密、增加随机数、 增加键码串序号及最后 对所有输入再签名等手段, 可以排除重放攻击。  Of course, the Trojan can also use the key string that is not encrypted or signed to be sent to the server for attack. This is equivalent to the computer being broken and cannot be used. Replay attacks can be eliminated due to key string encryption, adding random numbers, increasing the key sequence number, and finally re-signing all inputs.
使用一个密码装置连接于计算机键盘与计算机键盘接口之间。可以从键盘上发出 一个组合键或者通过计算机应用程序启动密码装置与希望连接的服务器进行身份认 证, 并协商好会话密钥, 这是密码装置与服务器之间的身份认证, 不是客户端计算机 与服务器的身份认证; 当操作者敲击键盘时, 键盘产生的该键的键码送到密码装置; 密码装置收集所有输入的键码,这些键码可能代表一次交易的所有键盘输入(如对方 帐号、 自己帐号、 交易金额等)、 也可以代表一次交易的部分输入(如帐号)。 把该键 码串加密或签名后通过计算机传送到网络服务器; 服务器进行相应的工作。 由于服务 器接收到的是被加密或签名的键码串,所以计算机中的其他程序(包括木马和操作系 统)不能篡改服务器得到的键码串。所以正确输入的数据被篡改后, 操作者或服务器 可能错误地拒绝正确数据; 而不可能产生正确输入的数据被篡改后,操作者或服务器 接受被篡改的结果。 也就是说, 可能不能使用该计算机获得网络服务, 但是不能产生 使用该计算机从网络服务器上, 得到错误服务的结果。 当然签名的键码串完全可以不 是按键原来的键码串, 而是密码装置根据输入的键码串分析出有意义的结果、转换一 定的形式、加密或签名后并上传的数据。我们还是把这样经过变换或分析后, 重新生 成的数据还是叫做键码串。 Use a cryptographic device to connect between the computer keyboard and the computer keyboard interface. You can issue a key combination from the keyboard or use the computer application to start the password device to authenticate with the server you want to connect to, and negotiate the session key, which is the identity authentication between the password device and the server, not the client computer and server. Identity authentication; when the operator taps the keyboard, the key code of the key generated by the keyboard is sent to the cryptographic device; The cryptographic device collects all input key codes, which may represent all keyboard input (such as the other party's account number, own account number, transaction amount, etc.) of a transaction, and may also represent part of the input (such as an account number) of a transaction. The key string is encrypted or signed and transmitted to the network server through the computer; the server performs the corresponding work. Since the server receives the encrypted or signed key string, other programs in the computer (including Trojans and operating systems) cannot tamper with the key string obtained by the server. Therefore, after the correctly entered data is tampered with, the operator or the server may incorrectly reject the correct data; and it is impossible for the operator or the server to accept the falsified result after the data that is correctly input is falsified. That is, you may not be able to use the computer to get network services, but you cannot produce the result of using the computer to get the wrong service from the network server. Of course, the signed key string may not be the original key string of the key, but the cryptographic device analyzes the meaningful result according to the input key string, converts a certain form, encrypts or signs the data and uploads the data. We still recalculate the data after it has been transformed or analyzed, so it is called a key string.
为了方便, 我们把密码装置直接连接于计算机接口。 例如, USB接口、 PS2接口 及 1394接口。 密码装置与希望连接的服务器通过身份认证并协商好会话密钥后, 当 操作者敲击键盘时,键盘产生键码串传送到计算机终端; 计算机终端把该键码串传送 到密码装置; 密码装置把该键码串加密并传送到网络服务器; 服务器解密该键码串, 传回到计算机并提供给应用程序。 由于键码串通过计算机终端传送,所以有被篡改的 可能。 为了防止这种情况, 应该在密码装置中增加一个发声装置, 当密码装置从计算 机终端接收到键码串后, 通过发声装置读出来,操作者用听觉校验输入键码串的正确 性。  For convenience, we connect the cryptographic device directly to the computer interface. For example, USB interface, PS2 interface and 1394 interface. After the cryptographic device authenticates and negotiates the session key with the server to be connected, when the operator taps the keyboard, the keyboard generates a key code string and transmits the key code string to the computer terminal; the computer terminal transmits the key code string to the cryptographic device; The key string is encrypted and transmitted to the web server; the server decrypts the key string, passes it back to the computer and provides it to the application. Since the key string is transmitted through the computer terminal, there is a possibility of being tampered with. In order to prevent this, a sounding device should be added to the cryptographic device. When the cryptographic device receives the key code string from the computer terminal and reads it out through the sounding device, the operator uses the audible check to verify the correctness of the key code string.
在密码装置连接于计算机键盘与计算机键盘接口之间的方案中,也可能也需要发 声装置来防止不显示键码, 诱骗用户误认为键盘敲击不对, 然后多进行一次 (多次) 键盘敲击的攻击一重敲攻击。 例如, 当用户输入金额 1000时, 木马使计算机屏幕不 显示其中的一个零, 让用户以为击键错误再敲一次零, 结果实际的金额输入数据为 10000而产生欺骗。  In the scheme where the cryptographic device is connected between the computer keyboard and the computer keyboard interface, the sounding device may also be required to prevent the key code from being displayed, the user is tricked into thinking that the keyboard is not hit correctly, and then the keyboard tap is performed once more (multiple times). The attack is a heavy attack. For example, when the user inputs an amount of 1000, the Trojan causes the computer screen to not display one of the zeros, causing the user to think that the keystroke error is knocked once again, and the actual amount of input data is 10000 and fraud.
显然, 根据本发明的方法, 当密码装置连接于计算机键盘与计算机终端键盘接口 之间时,请求网络银行服务完全可以不关心计算机客户端安全问题。在使用直接连接 密码装置到计算机接口的方式, 必须注意听键码与声音的对应, 人的耳朵能够非常灵 敏地发现不同。加发声装置的方案的实质就是用发声装置部分代替 "计算机系统中用 于安全交易的方 和系统" (中国专利申请 CN99806523.4 ) 中可信显示器的作用。  Obviously, according to the method of the present invention, when the cryptographic device is connected between the computer keyboard and the keyboard interface of the computer terminal, the request for the network banking service can completely ignore the security problem of the computer client. In the way of directly connecting the cryptographic device to the computer interface, it is necessary to pay attention to the correspondence between the key code and the sound, and the human ear can detect the difference very sensitively. The essence of the scheme for adding a sounding device is to replace the function of the trusted display in the "party and system for secure transactions in a computer system" (Chinese Patent Application CN99806523.4).
根据本发明的方法,在计算机游戏服务中,由于服务器只接收加密的键码串数据, 所以没有密码装置是不可能玩游戏。 在使用直接连接密码装置到计算机接口的方式 时, 可以通过听键码声音判断出有没有黑客在非法使用密码装置。 According to the method of the present invention, in the computer game service, since the server receives only the encrypted key string data, it is impossible to play the game without the cryptographic device. The way to connect a cryptographic device directly to a computer interface When you listen to the key code sound, you can determine whether there is a hacker illegally using the cryptographic device.
发明目的  Purpose of the invention
本发明的目的是提出一种具体的、便携的不依赖终端安全的实现安全使用网络服 务器服务的装置及方法。 利用键盘、 密码装置及网络服务器与合理的信息流动方式, 结合好的密码协议,可简单且安全地解决在不可信终端上安全使用网络服务器服务的 装置及方法。  SUMMARY OF THE INVENTION It is an object of the present invention to provide a specific, portable device and method for securely using a network server service that does not rely on terminal security. The device and method for safely using the web server service on the untrusted terminal can be easily and safely solved by using a keyboard, a cryptographic device, a network server, and a reasonable flow of information, combined with a good cryptographic protocol.
根据本发明的一个方面,一种便携的不依赖客户端安全的安全使用网络服务器服 务的装置, 它包括: 键码输入接口装置、 加密装置、 输出接口装置, 其中, 键码输入 接口装置接收键盘传送过来的键码串; 加密装置加密或签名键码串; 并通过输出接口 装置及客户端传送到网络服务器处理;  According to an aspect of the present invention, a portable device for securely using a web server service without relying on client security includes: a key code input interface device, an encryption device, and an output interface device, wherein the key code input interface device receives the keyboard The transmitted key code string; the encryption device encrypts or signs the key code string; and transmits it to the network server through the output interface device and the client;
更安全地, 还有一个序列号产生装置; 序列号产生装置产生的序列号与键码串连 接起来; 加密装置加密连接后的键码串; 并通过输出装置及客户端传送到网络服务器 处理;  More securely, there is also a serial number generating device; the serial number generated by the serial number generating device is connected with the key code string; the encryption device encrypts the connected key code string; and is transmitted to the network server through the output device and the client;
更进一步, 还有一个发声装置, 当输入接口装置接收到键码串时, 通过该装置把 该键码串对应的声音读出来;  Further, there is a sounding device, when the input interface device receives the key code string, the sound corresponding to the key code string is read out by the device;
根据本发明的的另一个方面,一种不依赖客户端的安全使用网络服务器服务的方 法,它包括:在客户端与键盘之间有一个密码设备;键盘输入的信息传送到密码设备; 密码设备加密或(和)签名键盘输入的键码串; 通过客户端传送加密或(和)签名后 的键码串到服务器; 网络服务器解密或(和)确认收到的键码串; 网络服务器根据收 到并确认的键码串进行相应的服务;  According to another aspect of the present invention, a method for securely using a web server service without relying on a client includes: having a password device between the client and the keyboard; transmitting information input by the keyboard to the password device; encrypting the password device Or (and) the key code string input by the signature keyboard; transmitting the encrypted or (and) signed key code string to the server through the client; the network server decrypting or (and) confirming the received key code string; the network server receives the And confirm the key code string to perform the corresponding service;
进一步, 还有服务器传送解密后的键码串到客户端操作系统的步骤。  Further, there is a step of the server transmitting the decrypted key code string to the client operating system.
正常地, 密码设备还有收集多个键码后, 加密或 (和) 签名这一串键码的步骤。 更好地,还有分析这串键码合法性决定是否加密或(和)签名这一串键码的步骤。 为防止重放攻击,还可以有利用随机数发生装置产生的随机数连接被加密键码串 信息的步骤。  Normally, the cryptographic device also has the step of encrypting or (and) signing the string of keys after collecting multiple key codes. More preferably, there is a step of analyzing the string validity of the string to determine whether to encrypt or (and) sign the key. In order to prevent replay attacks, there may be a step of connecting the encrypted key code information by using a random number generated by the random number generating means.
为防止重放攻击,还可以有利用序列号产生装置产生的序列号来连接被加密键码 串信息的步骤。  To prevent replay attacks, there may be a step of connecting the encrypted key string information using the serial number generated by the serial number generating means.
可选地,还有服务器根据记录的键码与最后用户提交的敏感请求比较决定是否提 供服务的步骤。  Optionally, there is a step of the server determining whether to provide the service based on the recorded key code compared to the sensitive request submitted by the last user.
更安全地, 还有一个把接收到的键码对应的声音读出来的步骤。  More securely, there is also a step of reading out the sound corresponding to the received key code.
一般地, 还有网络服务器与密码装置协商会话密钥的步骤。 可能地, 还有网络服务器与密码装置协商伪随机数发生装置种子的步骤。 In general, there is also the step of the web server negotiating a session key with the cryptographic device. Possibly, there is also a step in which the web server negotiates a pseudo random number generating device seed with the cryptographic device.
附图说明 DRAWINGS
下面参照附图描绘本发明, 其中  The present invention is described below with reference to the accompanying drawings, in which
图 1是表示普通联网计算机及网络的示意图;  Figure 1 is a schematic diagram showing a conventional networked computer and network;
图 2表示加入本发明的密码装置于键盘及键盘接口之间的示意图;  2 is a schematic view showing the addition of the cryptographic device of the present invention between a keyboard and a keyboard interface;
图 3表示加入本发明的密码装置直接连接计算机的示意图;  Figure 3 is a schematic diagram showing the direct connection of a cryptographic device incorporating the present invention to a computer;
图 4表示本发明的工作流程图;  Figure 4 is a flow chart showing the operation of the present invention;
图 5表示本发明的密码装置直接连接的流程图;  Figure 5 is a flow chart showing the direct connection of the cryptographic device of the present invention;
图 1所示为普通计算机与网络服务的示意图,计算机终端正常进入操作系统或应 用程序 31后, 当用户通过计算机键盘 4输入键码后; 传送给应用程序 31 ; —般情况 下, 该键码代表的字符被应用程序 31送到显示器 5上显示。 显然键码如何传送到应 用程序 31是操作系统提供的功能, 但在这个传送过程中的所有路径, 可以被钩子程 序钩到、 也可以在其中安装木马。 为了实现本发明所示的安全装置和方法, 有以下的 实施例。  FIG. 1 is a schematic diagram of a general computer and network service. After the computer terminal enters the operating system or the application program 31 normally, after the user inputs the key code through the computer keyboard 4, it is transmitted to the application 31; in general, the key code The representative characters are sent to the display 5 by the application 31 for display. Obviously how the key code is transferred to the application 31 is a function provided by the operating system, but all paths in the transfer process can be hooked up by the hook program or a Trojan can be installed therein. In order to implement the safety device and method of the present invention, the following embodiments are available.
具体实施方式 detailed description
实施例 1  Example 1
本发明的核心就是密码设备产生的数据由服务器直接处理,而加密所用的原始数 据只能来源于受密码设备控制的键盘或鼠标。根据本发明第 '一种实施方式, 不依赖终 端安全的实现安全使用网络服务器服务的装置及方法如图 2所示。这是键码串加密方 案。  The core of the invention is that the data generated by the cryptographic device is processed directly by the server, and the original data used for encryption can only be derived from a keyboard or mouse controlled by the cryptographic device. According to an embodiment of the present invention, an apparatus and method for implementing secure use of a web server service without relying on terminal security are as shown in FIG. This is the key string encryption scheme.
计算机正常进入操作系统或应用程序 31后,当用户通过计算机键盘 4输入键码, 密码装置 6根据得到的键码串进行加密或签名处理; 然后传送给计算机 3, 计算机 3 通过网络 2传送给服务器 1 ; 服务器 1解密或确认该键码串, 并根据确认结果进行相 应的工作, 并且服务器 1通过网络 2传回到计算机 3及应用程序 31 ; —般情况下, 该键码串代表的字符被应用程序送到显示器 5上显示。  After the computer normally enters the operating system or application 31, when the user inputs the key code through the computer keyboard 4, the encryption device 6 performs encryption or signature processing according to the obtained key code string; then transmits to the computer 3, and the computer 3 transmits to the server through the network 2. 1; The server 1 decrypts or confirms the key code string, and performs corresponding work according to the confirmation result, and the server 1 transmits back to the computer 3 and the application 31 through the network 2; in general, the character represented by the key code string is The application is sent to display 5 for display.
实际上, 应用程序 31可以是 IE浏览器, 也可以是网络游戏的客户端, 也可以是 网络银行的客户端。 在计算机进入应用程序 31时, 显然需要通知密码装置 6进入网 络服务连接, 密码装置 6根据自己内部存储的证书、 密码 (PIN) 可以实现与网络服 务器的认证连接; 也可以交换本次连接的 "会话密钥", 利用会话密钥可以实现密码 装置 6与网络服务器 1的加密解密协同; 也可以签名交易数据进行网络银行支付。  In fact, the application 31 can be an IE browser, a client of an online game, or a client of an online banking. When the computer enters the application 31, it is obviously necessary to notify the cryptographic device 6 to enter the network service connection. The cryptographic device 6 can implement an authentication connection with the network server according to the certificate and password (PIN) stored therein; or can exchange the connection. The session key ", using the session key, can realize the encryption and decryption of the cryptographic device 6 and the network server 1; it is also possible to sign the transaction data for online banking payment.
显然, 网络服务器 1中也有与密码装置 6对应的解密或签名认证装置。 如果密码装置 6传送给计算机 3的加密键码串还附有原始键码串,则可以省略服 务器 1通过网络 2, 传回键码串到应用程序 31的步骤。 Obviously, the network server 1 also has a decryption or signature authentication device corresponding to the cryptographic device 6. If the encrypted key code string transmitted from the cryptographic device 6 to the computer 3 is also accompanied by the original key code string, the step of the server 1 transmitting the key code string back to the application 31 via the network 2 can be omitted.
另外, 关于每个单键码加密, 可能存在密码强度低的问题。 因为, 键码只有两个 字节及只有几百个不同的键码。 为此, 可以采用 "键码 +随机数"(字节连接的方式) 来扩展键码的长度; 然后再使用加密算法。这样, 同样的字符的密文不一致, 提高了 加密的强度。 因为攻击者不能通过密文分析出明文的前 16位键码的信息, 所以可以 达到高的加密强度。  In addition, regarding each one-key code encryption, there may be a problem that the password strength is low. Because the key code has only two bytes and only a few hundred different key codes. To do this, you can use "keycode + random number" (byte join) to extend the length of the keycode; then use the encryption algorithm. Thus, the ciphertext of the same character is inconsistent, which increases the strength of encryption. Since the attacker cannot analyze the information of the first 16-bit key code of the plaintext through the ciphertext, a high encryption strength can be achieved.
进一步,由于黑客可以通过不显示或者少显示键码的方法来诱骗用户误认为键盘 敲击不对, 然后多进行一次(多次)键盘敲击的攻击。 这可以采用实施例 2中的发声 装置解决。 也可以采用根据击键序列号、 固定输入位置及输入确认来解决。  Further, since the hacker can trick the user into thinking that the keyboard is not hit correctly by not displaying or displaying the key code less, then the attack is performed one more time (multiple times). This can be solved by the sounding device of Embodiment 2. It can also be solved according to the keystroke serial number, fixed input position and input confirmation.
更好的方法是, 密码装置 6不是根据一个键码加密一次的方法, 而是收集键盘传 送过来的多个键码, 这些键码可能代表一次交易的所有键盘输入(如对方帐号、 自己 帐号、 交易金额等)、 也可以代表一次交易的部分输入(如帐号)。 把该键码串加密或 签名后通过计算机传送到网络服务器: 服务器进行相应的工作。 由于服务器接收到的 是被加密或签名的键码串, 所以计算机中的其他程序(包括木马和操作系统)不能篡 改服务器得到的键码串。 当然, 木马也可以采用不把加密键码串发送给服务器来进行 攻击。但是, 由于键码串加密、 增加键码序号及最后对所有输入再签名等手段, 可以 排除重放攻击。所以正确输入的数据被篡改后, 操作者可能错误地拒绝正确数据; 而 不可能产生正确输入的数据被篡改后, 操作者接受被篡改的结果。 也就是说, 可能不 能使用该计算机获得网络服务, 但是不能产生使用该计算机从网络服务器上, 得到错 误服务的结果。当然签名的键码串完全可以不是按键原来的键码串, 而是密码装置根 据输入的键码串分析出有意义的结果、转换一定的形式、加密或签名后并上传的数据。 我们还是把这样经过变换或分析后, 重新生成的数据叫做键码串。  A better method is that the cryptographic device 6 does not encrypt the key code once, but collects a plurality of key codes transmitted by the keyboard, and the key codes may represent all keyboard inputs of a transaction (such as the other party's account, their own account, The transaction amount, etc.) can also represent part of the input (such as an account number) of a transaction. The key string is encrypted or signed and transmitted to the web server via the computer: The server performs the corresponding work. Since the server receives an encrypted or signed key string, other programs on the computer (including Trojans and operating systems) cannot tamper with the key string obtained by the server. Of course, the Trojan can also use the encryption key string to send the server to the attack. However, replay attacks can be eliminated due to keychain encryption, increased keycode serialization, and finally re-signing all inputs. Therefore, after the correctly input data is tampered with, the operator may erroneously reject the correct data; and it is impossible for the operator to accept the falsified result after the data that is correctly input is falsified. That is, you may not be able to use the computer to get network services, but you cannot produce the result of using the computer to get the wrong service from the network server. Of course, the signed key string may not be the original key string of the key, but the cryptographic device analyzes the meaningful result according to the input key string, converts the certain form, encrypts or signs the data and uploads the data. We still use this transformed or analyzed data to be regenerated to be called a key string.
另外, 当我们输入帐号时, 输入了字母键。这不符合帐号的规则, 所以密码装置 还可以根据输入的键码串分析决定是否合法, 根据结果决定是否签名。 实施例 2  In addition, when we entered the account number, the letter key was entered. This does not comply with the rules of the account, so the cryptographic device can also determine whether it is legal according to the input key string analysis, and decide whether to sign according to the result. Example 2
根据本发明第二种实施方式,不依赖计算机安全的实现安全使用网络服务的装置 及方法实现如图 3所示。 该方式为密码装置 6直接连接于计算机接口 (例如, USB接 口、 PS2接口及 1394接口等)。  According to a second embodiment of the present invention, an apparatus and method for implementing secure use of a network service without relying on computer security are implemented as shown in FIG. This mode is that the cryptographic device 6 is directly connected to a computer interface (for example, a USB interface, a PS2 interface, a 1394 interface, etc.).
计算机正常进入操作系统或应用程序 31后,当用户通过计算机键盘 4输入键码, 键码传送到计算机 3, 计算机 3把键码传送到密码装置 6, 密码装置 6根据得到的键 码串进行加密处理; 然后传送给计算机 3并通过网络 2传送给服务器 1 ; 服务器 1解 密该键码串, 并通过网络 2传回到计算机 3及应用程序 31 ; —般情况下, 该键码串 代表的字符被应用程序 31送到显示器 5上显示。 计算机 3可以被木马攻击, 所以键 码数据有被篡改的可能, 存在不安全因素。 After the computer normally enters the operating system or the application 31, when the user inputs the key code through the computer keyboard 4, The key code is transmitted to the computer 3, and the computer 3 transmits the key code to the cryptographic device 6, and the cryptographic device 6 performs encryption processing based on the obtained key code string; then transmits it to the computer 3 and transmits it to the server 1 via the network 2; the server 1 decrypts the key The code string is transmitted back to the computer 3 and the application 31 via the network 2; in general, the character represented by the key code string is sent to the display 5 by the application 31 for display. The computer 3 can be attacked by a Trojan, so the key code data may be tampered with, and there is an insecure factor.
为了防止这种情况,应该在密码装置中增加一个发声装置, 当密码装置从计算机 3接收到键码串后, 通过发声装置读出来, 操作者用听觉校验输入键码的正确性。 实施例 3  In order to prevent this, a sounding device should be added to the cryptographic device. When the cryptographic device receives the keycode from the computer 3 and reads it out through the uttering device, the operator corrects the correctness of the input keycode with the audible check. Example 3
根据本发明第三种实施方式, 不依赖终端的实现安全使用网络服务的方法如图 4 所示。  According to a third embodiment of the present invention, a method for implementing secure use of a network service without relying on a terminal is as shown in FIG.
首先, 网络服务器与密码装置进行身份认证; 认证通过后协商会话密钥, 认证不 通过显然不提供服务; 当键码串输入后, 密码装置用随机数或序列号连接; 加密或签 名后传送到终端; 终端把加密或签名后的键码串传送到服务器; 服务器解密或确认该 键码串, 并记录该键码串; 服务器把该键码串传回到终端。  First, the network server and the cryptographic device perform identity authentication; after the authentication is passed, the session key is negotiated, and the authentication does not pass the service obviously; when the key code string is input, the cryptographic device is connected by a random number or a serial number; after being encrypted or signed, the message is transmitted to The terminal transmits the encrypted or signed key code string to the server; the server decrypts or confirms the key code string, and records the key code string; the server transmits the key code string back to the terminal.
实施例 3是对应密码装置处于键盘及键盘接口之间连接方式时的信息流程图。由 于安全问题, 实施例 4是对应密码装置直接插入计算机接口方式的信息流程图。  Embodiment 3 is an information flow chart when the corresponding cryptographic device is in the connection mode between the keyboard and the keyboard interface. Due to security issues, Embodiment 4 is an information flow diagram of a method in which a cryptographic device is directly inserted into a computer interface.
如果加密后传送到计算机终端的加密键码还附有原始键码,则可以省略传送解密 后的键码到计算机终端的步骤。  If the encrypted key code transmitted to the computer terminal after encryption is also accompanied by the original key code, the step of transmitting the decrypted key code to the computer terminal can be omitted.
另外, 关于每个单键码加密, 可能存在密码强度低的问题。 因为, 键码只有两个 字节及只有几百个不同的键码。 为此, 可以采用 "键码 +随机数"(字节连接的方式) 来扩展键码的长度; 然后再使用加密算法。 这样, 同样的字符的密文不一致, 提高了 加密的强度。 为了防止重放攻击需要在加密键码中包含键码序列号。  In addition, regarding each one-key code encryption, there may be a problem that the password strength is low. Because the key code has only two bytes and only a few hundred different key codes. To do this, you can use "keycode + random number" (byte join) to extend the length of the keycode; then use the encryption algorithm. Thus, the ciphertext of the same character is inconsistent, which increases the strength of encryption. In order to prevent replay attacks, it is necessary to include the key code serial number in the encryption key code.
进一步, 黑客可以通过截获的加密签名信息, 通过重放来进行攻击, 这可以采用 一个序列号与键码串结合来防止。 他的功能类似密码学中的时间邮戳。  Further, the hacker can attack by intercepting the encrypted signature information by replaying, which can be prevented by combining a serial number with the key string. His function is similar to the time stamp in cryptography.
更进一步,由于黑客可以通过不显示或者少显示键码的方法来诱骗用户误认为键 盘敲击不对, 然后多进行一次(多次)键盘敲击的攻击。这可以采用实施例 2中的发 声装置解决。 也可以采用根据击键序列号、 固定输入位置及输入确认来解决。  Further, since the hacker can trick the user into thinking that the keyboard is not hit correctly by not displaying or displaying the key code less, then the attack is performed one more time (multiple times). This can be solved by the sounding device of the second embodiment. It can also be solved according to the keystroke serial number, fixed input position and input confirmation.
可以使用伪随机数发生器来解决键码序列号和随机数两个问题,所以还可以加入 与服务器协商伪随机数发生器种子的歩骤。  A pseudo-random number generator can be used to solve the problem of the key code serial number and the random number, so it is also possible to add a step of negotiating the pseudo random number generator seed with the server.
进一步,还有分析这串键码合法性决定是否加密或(和)签名这一串键码的步骤。 这种分析对付重敲攻击是很好的技术手段。 实施例 4 Further, there is a step of analyzing whether the string of legality of the string determines whether to encrypt or/and sign the serial key. This kind of analysis is a good technical means to deal with heavy attack attacks. Example 4
根据本发明第四种实施方式,不依赖计算机安全的实现安全使用网络服务的方法 如图 5所示。  According to a fourth embodiment of the present invention, a method for implementing secure use of a network service without relying on computer security is as shown in FIG.
首先, 网络服务器与密码装置进行身份认证; 认证通过后协商会话密钥, 认证不 通过显然不提供服务; 当键码串输入后, 键码串传送到计算机终端; 计算机终端传送 该键码串到密码装置; 在密码装置中, 键码用序列号连接、 加密后传送到计算机终端 及给出该键码串的声音; 计算机终端传送加密或签名键码串到服务器; 服务器解密该 加密或签名键码串及传送解密后的键码串到计算机终端, 并记录该键码; 系统键盘中 间软件把该键码传送到应用程序。  First, the network server and the cryptographic device perform identity authentication; after the authentication is passed, the session key is negotiated, and the authentication does not pass, obviously does not provide the service; when the key code string is input, the key code string is transmitted to the computer terminal; the computer terminal transmits the key code string to a cryptographic device; in the cryptographic device, the key code is connected by a serial number, encrypted and transmitted to a computer terminal and gives a sound of the key code string; the computer terminal transmits an encrypted or signed key code string to the server; the server decrypts the encryption or signature key The code string and the decrypted key code string are transmitted to the computer terminal, and the key code is recorded; the system keyboard intermediate software transmits the key code to the application.
更进一步, 键盘输出的键码是置换的键码, 即密码学中的替代码。 虽然本发明通过实施例进行了描述, 但本领域技术人员可在本发明原理的范围 内, 做出各种变形和改进, 所附的权利要求应包括这些变形和改进。  Further, the key code output by the keyboard is a replacement key code, that is, a substitute code in cryptography. While the invention has been described by way of example, the embodiments of the invention may

Claims

权利要求 Rights request
1、 一种不依赖客户端安全的安全使用网络服务器服务的装置, 它包括: 键码输入接口装置, 加密装置, 输出接口装置; 其中, 键码输入接口装置接收键 盘传送过来的键码串; 加密装置加密或签名键码串; 并通过输出接口装置及客户端传 送到网络服务器处理; A device for securely using a network server service without relying on client security, comprising: a key code input interface device, an encryption device, and an output interface device; wherein, the key code input interface device receives the key code string transmitted by the keyboard; The encryption device encrypts or signs the key code string; and transmits it to the network server through the output interface device and the client;
2、根据权利要求 1的装置, 其特征在于还有一个序列号产生装置, 该序列号产 生装置产生的序列号与键码串连接起来; 加密装置加密连接后的键码串; 并通过输出 装置及客户端传送到网络服务器处理;  The apparatus according to claim 1, further comprising a serial number generating means, wherein the serial number generated by said serial number generating means is connected to the key code string; the encrypting means encrypts the connected key code string; and passes through the output means And the client transmits to the network server for processing;
3、 根据权利要求 1和 (或) 2的装置, 其特征在于它还有一个发声装置, 当输 入接口装置接收到键码串时, 通过该装置把该键码串对应的声音读出来;  3. Apparatus according to claim 1 and (or) 2, characterized in that it further has a sounding means for reading out the sound corresponding to the key code string by the means when the input interface means receives the key code string;
4、 一种不依赖客户端安全的安全使用网络服务器服务的方法, 它包括: 在客户端与键盘之间有一个密码设备;  4. A method for securely using a web server service without relying on client security, comprising: a password device between the client and the keyboard;
键盘输入的信息传送到密码设备;  The information input by the keyboard is transmitted to the password device;
密码设备加密或 (和) 签名键盘输入的键码串;  A key string that the cryptographic device encrypts or (and) the signed keyboard input;
通过客户端传送加密或 (和) 签名后的键码串到服务器;  Transfer the encrypted or (and) signed key string to the server through the client;
网络服务器解密或 (和) 确认收到的键码串;  The network server decrypts or (and) acknowledges the received key code string;
网络服务器根据收到并确认的键码串进行相应的服务;  The network server performs corresponding services according to the received and confirmed key code string;
5、 根据权利要求 4的方法, 其特征在于还有服务器传送解密后的键码串到客户 端操作系统的步骤。  The method of claim 4 wherein the server further transmits the decrypted key string to the client operating system.
6、 根据权利要求 4的方法, 其特征在于密码设备还有收集多个键码后, 加密或 (和) 签名这一串键码的步骤。  6. A method according to claim 4, characterized in that the cryptographic device also has the step of encrypting or (and) signing the string of keys after collecting a plurality of key codes.
7、 根据权利要求 6的方法, 其特征在于还有分析这串键码的合法性, 来决定是 否加密或 (和) 签名这一串键码的步骤。  7. A method according to claim 6 further characterized by the step of analyzing the legitimacy of the string of keys to determine whether to encrypt or/and sign the string of keys.
8、 根据权利要求 4的方法, 其中还有利用随机数发生装置产生的随机数扩展被 加密键码串信息的步骤。  The method according to claim 4, further comprising the step of expanding the encrypted key code information by using a random number generated by the random number generating means.
9、 根据权利要求 4的方法, 其中还有利用序列号产生装置产生的序列号来扩展 被加密键码串信息的步骤。  The method according to claim 4, further comprising the step of expanding the encrypted key string information by using the serial number generated by the serial number generating means.
10、根据权利要求 4的方法, 还有服务器根据记录的键码串与最后用户提交的敏 感请求比较决定是否提供服务的步骤。  10. The method of claim 4, further comprising the step of the server determining whether to provide the service based on the recorded key string being compared to the sensitive request submitted by the last user.
PCT/CN2007/002473 2006-08-18 2007-08-16 Device and method for safely making use of network service needless of relying on security of client side WO2008022559A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610041361.6 2006-08-18
CN 200610041361 CN101127605A (en) 2006-08-18 2006-08-18 A device and method for secure use of network server service not depending on operating system security

Publications (1)

Publication Number Publication Date
WO2008022559A1 true WO2008022559A1 (en) 2008-02-28

Family

ID=39095542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/002473 WO2008022559A1 (en) 2006-08-18 2007-08-16 Device and method for safely making use of network service needless of relying on security of client side

Country Status (2)

Country Link
CN (1) CN101127605A (en)
WO (1) WO2008022559A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104076720A (en) * 2014-07-20 2014-10-01 管存忠 Single-button decryption method for password switch

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954747B2 (en) * 2011-07-01 2015-02-10 Intel Corporation Protecting keystrokes received from a keyboard in a platform containing embedded controllers
KR102048480B1 (en) 2012-10-11 2020-01-08 삼성전자주식회사 Apparatus and method for transmitting transport characteristics of multimedia data in dynamic network environment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1301437A (en) * 1997-03-14 2001-06-27 印诺弗尼克斯股份有限公司 Methods and apparatus for securel encrypting data in conjunction with a personal computer
US20030120936A1 (en) * 2001-08-01 2003-06-26 Eft Datalink Encryption of financial information
US20030159053A1 (en) * 2002-02-19 2003-08-21 Charles Fauble Secure reconfigurable input device with transaction card reader
CN1588846A (en) * 2004-09-08 2005-03-02 中国工商银行 Dynamic encrypting device in network and its password identification method
CN1682204A (en) * 2002-09-19 2005-10-12 科乐美股份有限公司 Certification processing hardware, certification processing system and use management hardware
CN1703002A (en) * 2005-07-05 2005-11-30 江苏乐希科技有限公司 Portable one-time dynamic password generator and security authentication system using the same
CN1716295A (en) * 2004-07-02 2006-01-04 海南支付通商务有限公司 Payment method and system on network
WO2006045917A1 (en) * 2004-10-22 2006-05-04 Paycool Development Method of securing transactions performed remotely over an open communication network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1301437A (en) * 1997-03-14 2001-06-27 印诺弗尼克斯股份有限公司 Methods and apparatus for securel encrypting data in conjunction with a personal computer
US20030120936A1 (en) * 2001-08-01 2003-06-26 Eft Datalink Encryption of financial information
US20030159053A1 (en) * 2002-02-19 2003-08-21 Charles Fauble Secure reconfigurable input device with transaction card reader
CN1682204A (en) * 2002-09-19 2005-10-12 科乐美股份有限公司 Certification processing hardware, certification processing system and use management hardware
CN1716295A (en) * 2004-07-02 2006-01-04 海南支付通商务有限公司 Payment method and system on network
CN1588846A (en) * 2004-09-08 2005-03-02 中国工商银行 Dynamic encrypting device in network and its password identification method
WO2006045917A1 (en) * 2004-10-22 2006-05-04 Paycool Development Method of securing transactions performed remotely over an open communication network
CN1703002A (en) * 2005-07-05 2005-11-30 江苏乐希科技有限公司 Portable one-time dynamic password generator and security authentication system using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104076720A (en) * 2014-07-20 2014-10-01 管存忠 Single-button decryption method for password switch

Also Published As

Publication number Publication date
CN101127605A (en) 2008-02-20

Similar Documents

Publication Publication Date Title
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
JP6105721B2 (en) Start of corporate trigger type 2CHK association
JP6012125B2 (en) Enhanced 2CHK authentication security through inquiry-type transactions
US6138239A (en) Method and system for authenticating and utilizing secure resources in a computer system
EP2634703B1 (en) Removable storage device, and data processing system and method based on the device
US8251286B2 (en) System and method for conducting secure PIN debit transactions
US8924309B2 (en) Method of providing assured transactions by watermarked file display verification
KR102277060B1 (en) System and method for encryption
WO2008095346A1 (en) Electronic signature method and electronic signature tool
US20120095919A1 (en) Systems and methods for authenticating aspects of an online transaction using a secure peripheral device having a message display and/or user input
WO2008031301A1 (en) A method for the point to point online identity authenticaiton
KR101498120B1 (en) Digital certificate system for cloud-computing environment and method thereof
KR100785275B1 (en) Method and system for providing contents using coupon
KR101856530B1 (en) Encryption system providing user cognition-based encryption protocol and method for processing on-line settlement, security apparatus and transaction approval server using thereof
WO2008022559A1 (en) Device and method for safely making use of network service needless of relying on security of client side
CN101547098B (en) Method and system for security certification of public network data transmission
WO2011060739A1 (en) Security system and method
JP2016181806A (en) Information processing device, information processing system, cryptographic device, information processing method and program
CN201270518Y (en) Safeguard device
WO2011060738A1 (en) Method for confirming data in cpu card
WO2009018685A1 (en) The device and the method of encrypting and authenticating against trojan horse with one time key
KR101584219B1 (en) Authentication method, digital system, and authentication system thereof
KR20150089960A (en) Authentication method, digital system, and authentication system thereof
KR20140047058A (en) Digital certificate system for cloud-computing environment and providing method thereof
KR20160099766A (en) Secure payment method, digital system, and payment system thereof

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: 07785368

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07785368

Country of ref document: EP

Kind code of ref document: A1