The present invention relates to a method of data storage, and more particularly to a method for realizing data security storage and algorithm storage by means of semiconductor memory device.
With the rapid development of computer technology, removable storage technology and removable storage products have also developed rapidly. Comparing with magnetic storage floppy disks, there are many improvements in size, capacity, and speed, etc. With the popularization of Internet and rapid development of electronic commerce, people have paid more and more attention to encrypting process of stored information and limiting users' certification. For instance, Chinese Patent Application No. 01114762.8, entitled “Semiconductor Memory Device”, discloses a semiconductor removable memory device having functions of user certification and data encryption and decryption, thereby verifying and certifying the identity of the user using the semiconductor memory device, encrypting the information stored in the semiconductor memory device and decrypting the encrypted information when it is read out. However, such user certification and data encryption technology are quite simple, and the level thereof is very low. Thus, it is easy to be decrypted. It cannot meet the requirement of data security storage.
With the development of Internet, the method of on-line payment adopted for electronic transaction has been rapidly developed, and become focus of profit growth and competition of commercial banks and security companies. Therefore, the security of network systems has become more and more important and become major concern. People not only worry about prevention of hackers' attack through Internet from time to time, but also worry about transactional password to be stolen so that the identity of online electronic transaction may be illegally used by others. There are a variety of products of information encryption keys. Most of the known information keys are portable products having a single built-in user cipher key code and special algorithm program, and can be connected with universal peripheral interfaces of computers and electronic information devices, etc. thereby providing the functions of certifying the identities of users, such as the “Information Key” disclosed in Chinese Utility Model Patent No. ZL01232435.3. Although the information key may realize verification and certification of user's identity through the single built-in user cipher key, it has the following disadvantages, such as, likelihood of being decrypted and incompatibility of user's self-defined algorithm so that the use thereof is rather limited. It cannot meet the requirement of protection for certifying the authenticated software, and it neglects the users' requirement of data storage.
A technical problem to be resolved by the present invention is to improve the disadvantage of encrypting technology in the prior art. The present invention provides a method of realizing data security storage by means of semiconductor memory device to support the high security of user's mobile data storage so as to increase greatly the difficulty of decryption or leakage of the data of legal users, thereby increasing greatly the security of the data stored by users.
Another technical problem to be resolved by the present invention is to provide a method of realizing algorithm storage by means of semiconductor memory device to support the writing and internal execution of user's self-defined algorithm, and to return the result of operation thereof. It can be used broadly in the field of information security, such as, certification of identity and software copyright protection, etc.
The technical problem of the present invention will be solved by the following technical solution of designing a method for realizing data security storage by means of semiconductor memory device that comprises a semiconductor memory device. The semiconductor memory device comprises a controller module, and a universal interface module and a semiconductor storage medium module that are electrically connected with the controller module, respectively. The method of data security storage comprises the steps of:
Further, the technical problem of the present invention is resolved by the technical solution of designing a method for realizing algorithm storage by means of semiconductor memory device that comprises a semiconductor memory device. The semiconductor memory device comprises a controller module, and a universal interface module and semiconductor storage medium module that are electrically connected with the controller module, respectively. The method of algorithm storage comprises the steps of:
The method of the present invention realizes data security storage and algorithm storage by means of semiconductor memory device, and is designed with a dual password management, and with setting multiple management authorities, as well as database control, random encryption and anti-modification techniques, etc.
The present invention employs a high level security storage technique while providing users with removable data storage. Further, the present invention provides an open application interface to support writing and invoking of user's self-defined algorithm. In view of the prior art, the present invention has the following technical effects, that is, it can realize the functions of storing common data and data to be protected and/or algorithm at the same time, thereby greatly increasing the security of data storage, and being widely applicable in the field of information safety, such as copyright protection of software, online banking, online purchasing, social and medical insurance, verification or certification of personal identity and web identity, electronic commerce, digital certification, business administration, as well as tax administration, etc.
FIGS. 10-A, B and C are schematic circuit diagrams of the semiconductor memory device shown in
The preferable embodiments will be further described in connection with the accompanying drawings.
The present invention provides a method for realizing data security storage and algorithm storage by means of semiconductor memory device, as shown in
The present invention utilizes a semiconductor memory device to realize the method of data security storage, as shown in
The present invention utilizes a semiconductor memory device to realize the method of algorithm storage, as shown in
For the semiconductor memory device of the present invention, please refer to Chinese Patent no. ZL99117225.6, entitled “Method and Apparatus Of Flash Electronic Memory For Data Processing System”. This Patent discloses a semiconductor memory device using a flash memory as storage medium to realize the removable storage of massive data based on the universal interface of USB, IEEE1394, etc. The application thereof has become more and more popular.
The universal interface 2 is an interface connecting the semiconductor memory device and data processing system, and also a communication interface for realizing a variety of security applications of the present invention. The universal interface may be wired universal interface or wireless universal interface, such as serial interface, parallel interface, USB interface, IEEE1391 interface, Bluetooth interface, IrDA infrared interface, HomeRF interface, IEEE802.11a interface or IEEE802.11b interfaces.
The semiconductor storage medium module 3 may be divided into at least two logic memory spaces, wherein at least one of logic memory spaces is used for storing the data to be protected, at least one of the logic memory spaces is used for storing the data not to be protected. The semiconductor storage medium module 3 may be a kind of storage medium, or a combination of at least two kinds of storage media. The semiconductor storage medium include, but not limited to, flash memory, DRAM, EEPROM, SRAM, FRAM, MRAM or Millipede, and it may use one or more pieces of semiconductor chips. The logic memory spaces of the semiconductor storage medium module 3 may be established in one storage medium, or in at least two storage media. The data to be protected as stored in at least one logic memory space include, but not limited to, documents, passwords, cipher keys, account numbers, digital certificates, encrypted algorithm, self-defined algorithm, users' information and/or users' self-defined data.
The semiconductor memory device obtains power supply from the universal interface through its connection with the data processing system. When the universal interface 2 is a wireless universal interface, the memory device may carry power supply itself or obtain power supply from an external power source. At present, there are lots of references relating to power supplies for semiconductor memory devices, and thus it will not be described in details herein.
The controller module 1 is a core control module of the semiconductor memory device, and the controller module 1 is provided with built-in firmware. The primary functions of the firmware are:
The firmware in the controller module 1 also provides open application development interface. By dynamic link provided by the application development interface, the user may develop stronger applications, such as, a variety of security encryptions, personal identifications, copyright protections, etc. on the basis thereof. The firmware in the controller module 1 also provides uniform input output parameters for users' self-define algorithms and functions, and therefore it is possible to let the users to define much stronger algorithms.
As shown in
FIGS. 10-A, B and C are schematic circuit diagrams of the semiconductor memory device. In
How the present invention utilizes the semiconductor memory device to realize method of data security storage will be further described hereinafter.
The method of the present invention for realizing data security storage by means of semiconductor memory device supports multiple levels of passwords and multiple levels of authority management for the data to be protected. The data to be protected stored in the at least one logic memory space of the semiconductor memory device include, but not limited to, documents, passwords, cipher keys, account numbers, digital certificates, encrypted algorithms, self-defined algorithms, user information and/or user self-defined data. The data to be protected is encrypted with special encrypting algorithm, and cannot be read out correctly and efficiently without correct encrypting cipher key.
The method of data security storage of the present invention sets up at least two levels of users passwords for the semiconductor memory device, i.e., passwords for high level administrators and normal passwords for users. In order to realize strengthened management of data storage, the present invention may set up multiple levels of users passwords to realize management of multiple users. The method of data security storage of the present invention may just set up two levels of passwords only for one or more logic memory spaces of the semiconductor storage medium module.
In order to protect the data security, it is necessary to verify the user password before read-and-write operation of the semiconductor memory device. Verification of the user password may be conducted before the operation in all of the logic memory spaces. It may also be conducted only before the operation in the logic memory spaces storing the data to be protected. Any user may conduct any operation in the logic memory spaces for storing data that do not need protection. The verification of the user's password may be conducted once after the semiconductor memory device is turned and is initialized, and then it does not need to verify the user password during any operation in the semiconductor memory device until the semiconductor memory device is pulled off. It may also verify the user's password before each of read/write operation in the semiconductor memory device. It may also verify the user's password at intermittently or randomly before the read/write operation in the semiconductor memory device.
In order to realize classified data storage the method for realizing data security storage by means of semiconductor memory device according to the present invention adopts design principle and concept of data storage of database, establishes database, and manages access and/or authority for the data to be protected in the way of database management.
In order to classify and organize the data, high level administrators and normal users may set up their own databases, and designate whether it is necessary to encrypt the records of the databases during establishment of the databases. Meanwhile, they may also designate the authorities for accessing the databases during database setting up.
At the time of the databases establishment, it is possible to designate reading, writing, modifying, deleting and executing authorities. The meaning of each authority is as follows:
In order to control secured access to the data to be protected, normal user has only the access authority designated by the high level administrator for accessing for the database established by high level administrator. The normal user cannot set up database which has already been set up by the high level administrator.
When the data to be protected is written in the semiconductor memory device with the method of data security storage of the present invention, the controller module 1 receives the data to be protected from the universal interface 2, and then, after encryption, stores the data in at least one logic memory space of the semiconductor storage media module 3. The protected data may be stored after being encrypted with a normal user password or with data as cipher key obtained after converting the normal user password with encrypting algorithm. If the high level administrator wants to access correctly the data to be protected, it must verify the normal user password so as to ensure the secrecy of the data written by the normal user. Likewise, the high level administrator must verify the normal user password so as to obtain the encrypting cipher key to encrypt the database when writing the data to be protected. Otherwise, the written data is just a data without being encrypted. When the data to be protected is read out from the semiconductor memory device, the controller module 1 may decrypt the data to be protected according to the cipher key obtained by certifying the normal user password, and transmit the decrypted data through the universal interface 2.
The high level administrator has the highest control power to all databases. For the database set up by normal user, the high level administrator may also read, write, delete, modify and execute the data even without verification of the normal user password. However, the read, written, modified data cannot be correctly encrypted/decrypted without encrypting cipher key, whereby the data cannot be read correctly.
In the information security field, the method a violator usually uses to gain illegal access of data is tracking down the change of the data, finding rules and changing the operating code. In order to protect the data in transmission and/or stored data from being illegally falsified, the method of data security storage of the present invention has such design that may identify whether the data is falsified. According to the requirement of data security, it can identify all of the data to be protected against possible falsification, and it can also just identify certain transmitted and/or stored key data against any possible falsification. The anti-falsification identification of the transmitted and/or stored data, as shown in
When transmitting or storing the data, as shown in
When receiving or reading the data, as shown in
In order to prevent the data from being intercepted during transmission, the method of data security storage of the present invention uses changeable session key to encrypt the data during the data exchange between the semiconductor memory device and the data processing system in addition to the anti-falsification design, as shown in
The session key may be used as encrypting/decrypting cipher key to transmit the data to be protected between the data processing system and the semiconductor memory device. The session key can be changed at any time according to the request of changing the session key transmitted by the transmission end so as to ensure the secured transmission of the data to be protected.
The method for realizing algorithm storage by means of semiconductor memory device according to the present invention will be further described hereinafter.
In the method for realizing algorithm storage by means of semiconductor memory device according to the present invention, the semiconductor storage media module 3 is divided into at least two logic memory spaces, wherein at least one logic memory space is for algorithm storage. The controller module 1 may execute the designated algorithm according to input data from the universal interface 2 and send out the operation result via the universal interface 2.
In the method of algorithm storage of the present invention, the algorithm may be stored in at least one logic memory space of the semiconductor storage medium module 3. It may use the method of data security storage of the present invention to store the algorithm, setting up at least two levels of user passwords and multiple levels of authority management, and using anti-falsification and session key designs. The stored algorithm may be one or more algorithms, and may be built-in algorithm in the semiconductor memory device; or self-defined algorithm written into by the user through the application interface.
According to the algorithm storage method of the present invention, the controller module 1 may execute the designated algorithm according to input data from the universal interface 2 and transmit the operation result via the universal interface 2. The controller module 1 may read out at least one algorithm from the semiconductor storage medium module 3 and load it to the controller module 1, and then select at least one algorithm according to the algorithm invoking parameter received from the universal interface 2 and execute the algorithm inside of the controller, and then return operation result via the universal interface 2. Alternatively, the controller module 1 may select at least one algorithm according to the algorithm invoking parameter received from the universal interface 2, and then read out the algorithm from the semiconductor storage medium module 3 and load it to the controller module 1, and then execute the algorithm inside of the controller and return operation result via the universal interface 2.
The method for realizing data security storage and algorithm storage by means of semiconductor memory device according to the present invention will be further described hereinafter, talking software copyright protection as an example.
The method of data security storage and algorithm storage of the present invention provides the user with an open application interface to support writing and invoking of the user self-defined algorithm. In order to realize software copyright protection, the method of data security storage and algorithm storage of the present invention may provide software developer with the usual development interfaces as follows:
Based on the above interface, the software developer may design and write high strength self-defined algorithm and function as invoking algorithm of copyrighted software protection, and then compile it into executing code specially adopted for the semiconductor memory device, and write it in the semiconductor memory device after encrypted with the method of data security storage of the present invention to realize secured data protection in source code level.
In order to prevent the semiconductor memory device from plugging off or switching off the communication (such as the connection of the Bluetooth interface) after passing authentication certification, which may give a violator a chance to track down or decipher encrypting algorithm of copyrighted software so that the copyrighted software may be used illegally, it may invoke the self-defined algorithm stored in the semiconductor memory device at random interval during operation of the copyrighted software. As shown in
A. the legal software sends “algorithm invoking instruction” to the driver program of the semiconductor memory device through a simple API function invocation, and the driver program transmits automatically the “algorithm invoking instruction” to the controller module 1 of the semiconductor memory device via the universal interface;
B. the semiconductor memory device certifies whether the algorithm invoking parameter transmitted in has been falsified, and if so, quits the program operation;
C. the semiconductor memory device certifies the user access authority, and if the user does not have the access authority for self-defined algorithm database, it returns an authority error code;
D. the semiconductor memory device certifies if it is permissible to run the invoked module, and if the user does not have authority for using this module, it returns a module error code;
E. the semiconductor memory device decrypts self-defined algorithm, and if decrypting and reading is not success, it returns an algorithm error code;
F. the semiconductor memory device loads the algorithm code written by the user to a designated address through the controller module 1 and runs it, and then returns a notice of operation success to the driver program of the semiconductor memory device through the universal interface;
G. the driver program returns the notice of operation success to the API function invocation in the software;
H. when the legal software receives the notice of algorithm invoking operation success, it transmits an “inquiry command” to the semiconductor memory device, and the semiconductor memory device returns a reply result created by the current user self-defined algorithm; and
I. the protected software conducts corresponding processes according to the returned reply result.
According to the difference of the invoked algorithm, the software may conduct two different processes: in the case that reply results need comparison, if the reply result returned by the semiconductor memory device is the same as the result expected by the software, the program runs regularly; otherwise, the program quits; and in the case that the reply results do not need comparison, if the reply result returned by the semiconductor memory device is correct, the program runs regularly; otherwise the program may receive an error result which may cause disorder and the program quitting.
The above invoking process of self-defined algorithm may be circulated continuously at random interval in the entire process of software operation. If the user plugs off the semiconductor memory device or switches off the communication between the semiconductor memory device and the software, the software will not detect the semiconductor memory device, and the self-defined algorithm cannot be invoked, and thus the software program quits running. The algorithm invoked in the present invention may be certain built-in algorithm function, or self-defined algorithm written by the user through the development interface, and it may also be a part of the software program written in the semiconductor memory device after being compiled.
According to two levels of passwords and multiple levels of authority management in the method of data security storage of the present invention, the software developer, as a high level administrator, may write in advance setting information, such as invoking algorithm, software module management parameter, etc., in the semiconductor memory device, and assign respective access authorities to software users using normal user passwords. During installing and/or executing the software, the semiconductor memory device may verify normal user passwords, and assign respective access authorities to the normal users according to pre-setting of the software developer so as to control the operation in the semiconductor memory device by the terminal software users to realize control of software applications.
Large software may be generally divided into lots of modules, and each module may be used individually or in combination so as to realize a variety of functions. According to the method of data security storage of the present invention, the software developer may write module authority management database in the semiconductor memory device to meet requirement of users by setting up module parameters.
During the development of application programs for users, the software developer may set up parameters of module invoking self-defined algorithm, write module authority management of database in the semiconductor memory device, and create randomly module token number corresponding to available modules. When setting up module invoking interface in the application software to invoke self-defined algorithm, it is necessary to verify the algorithm invoking parameters signed by the module token number. Ifit is unallowed to run this module, the invocation of the self-defined algorithm fails and the user cannot use the function of this module. In order to prevent user from obtaining illegal use of the software module by changing algorithm invoking parameters, the algorithm invoking parameters may adopt the anti-falsification design of the data security storage method of the present invention during transmission. As shown in
When invoking the self-defined algorithm of the semiconductor memory device, it is available to set up a decreasing indicator to decrease the times of usage and user number of certain modules of the legal software or the legal software itself. If the user does not successfully log on within the limited times and users, it is impossible to invoke successfully the self-defined algorithm stored in the semiconductor memory device, i.e., it is impossible to run certain modules of the legal software or the software itself. Meanwhile, in order to prevent the date from being switched off during transmission, the data may be encrypted by the encryption technology with randomly changeable session key of the method of data security storage of the present invention to further increase security during the data transmission in addition to adopting the anti-falsification design.
The method for realizing data security storage and algorithm storage by means of semiconductor memory device according to the present invention may also be broadly used in various information security fields, such as online banking, and electric transaction, etc. During transaction of online banking, the most concerned problem is the worry about transaction passwords to be stolen by others so that the online identity may be illegally acquired by the others. According to the method of data security storage of the present invention, the information about user personal information, private key, digital certificate, etc. may be stored in the semiconductor storage medium module of the semiconductor memory device, and the function of certifying identity can be realized by way of execution of the built-in algorithm by the controller module. Only the user of the semiconductor memory device is allowed to carry and use solely the device with marked identity of the user, and conduct calculation of private key, such as digital signature, etc, in the device so as to stop any leakage of information. Through the method of data security storage and algorithm storage of the present invention and the semiconductor memory device, it is possible to conduct safe and reliable transaction and payment online at any place having computers accessible to the Internet even if at consumers' home or Internet bars.
Number | Date | Country | Kind |
---|---|---|---|
021519846 | Nov 2002 | CN | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN03/00963 | 11/13/2003 | WO | 9/15/2005 |