摘要:
A method for preventing unauthorized use of a software program on a computing device includes updating a state of a software program on a computing device to an updated state. Transmitting an update signal from the software program to a hardware token coupled to the computing device and updating a state of the hardware token to an updated state in response to the received update signal. Performing a first cryptographic check using the updated state of the software program and the updated state of the hardware token with the hardware token. Transmitting the first cryptographic check from the hardware token to the software program and performing a second cryptographic check using the state of the hardware token and the state of the software program with the computing device. Comparing the second cryptographic check to the first cryptographic check with the computing device, and preventing the software program from running on the computing device if the first cryptographic check does not match the second cryptographic check.
摘要:
A method of protecting computer software on installation is provided by providing an installation media containing an installation program supplied to the user along with an hardware security electrical device (HSED). The HSED must be connected to the user's computer before the software from the installation media can be entered on the user's computer. The HSED contains a variety of secret installation data which is used to install a program to be protected. In general the secret installation data is checked to see if a specific HSED is present and if it contains information to enable the installation process for that particular piece of software to continue. The exact nature of the secret installation data will depend on the process used for protection. The HSED is also used in a method of metering the amount of computer service used such that payment can be made at the time of delivery of the HSED to the end user.
摘要:
A hypervisor runs on a host computer system and defines at least one virtual machine. An address space of the virtual machine resides on physical memory of the host computer system under control of the hypervisor. A guest operating system runs in the virtual machine. At least one of a host operating system and the hypervisor sets parts of the address space of the host computer system corresponding to parts of the address space of the virtual machine to a locked state in which those parts can be read but not written to.
摘要:
A system and method for obfuscating a database's schema while preserving its functionality by modifying the original table names, column names, table order, column order, and/or data character set such that the standard order of the original characters is maintained.
摘要:
In an embodiment of a method of and system for detecting rollback of usage data, the usage data is recording in a database. A sequence value in the database is repeatedly advanced. A copy of the sequence value is repeatedly saved to protected storage. The copy of the sequence value in the protected storage is compared with the sequence value in the database, and it is determined whether the result of the comparison is consistent with normal operation of the database since the previous save to protected storage.
摘要:
A method of securing communications between a host computer and a token having a smart card processor, which token is communicatively coupled to the host computer via a USB-compliant interface, includes the steps of requesting token information when the token is coupled to the host computer, and initializing communications with the token, including establishing an encryption key between the token and the host computer. The encryption key is established between the token and the host computer by the steps of receiving a token public key Kpu from the token, encrypting a random key Kr with the token public key Kpu and transmitting the encrypted random key EKpu(Kr) to the token.
摘要:
A method and system for secure distribution of protected data using elliptic curve systems includes a program to unlock software. The user obtains an encrypted unlocking code from a processing center and enters it into the unlocking program, which decrypts the message, yielding the unlocking code, then uses the unlocking code to unlock the software. To encrypt the unlocking code, the processing center selects an appropriate unlocking code using information received from the user, selects an elliptic curve to use, selects a first point on the elliptic curve having an index corresponding to the information to be encrypted, generates a delta key and a center key and the finite field inverse of the center key, selects a second point on the elliptic curve which is the product of the inverse of the center key and the first point, and generates an index of the second point, which, with the delta key, is the encrypted information. To decrypt the unlocking code, the user system generates the center key, selects a point on the elliptic curve having an index corresponding to the received point index, selects a second point on the elliptic curve which is the product of the first point and the center key, and generates the index of the second point, which is the decrypted unlocking code.