Summary of the invention
The object of the present invention is to provide a kind of date safety storing system and device and method, it requires low to user's operation, and use is simple, adapts to user's requirement.
A kind of date safety storing system for realizing that the object of the invention provides comprises operating platform, and memory device also comprises trust calculation unit, encryption/decryption element, wherein:
Described trust calculation unit is used to protect the key that the data of reading and writing between operating platform and memory device is carried out encryption and decryption;
Described encryption/decryption element is used for reading key from trust calculation unit, utilizes the corresponding enciphering and deciphering algorithm of setting, and the data of reading and writing between operating platform and the memory device are carried out encryption and decryption.
Described date safety storing system can also comprise control module, is used for trust calculation unit and encryption/decryption element are carried out initialization, and controls the data that encryption/decryption element utilizes the key encryption and decryption to read and write between operating platform and memory device.
The protection of described trust calculation unit is for passing through marking matched judgement of uniqueness and the control operation platform data security storage read-write to memory device.
Described key is stored in trust calculation unit.
Described trust calculation unit is also stored first uniqueness sign of the operating platform that is used for matching judgment.
Described control module can comprise the key judgment sub-unit, the read-write control sub unit, wherein:
Whether the key judgment sub-unit is used for judging whether trust calculation unit has key, need reading and writing data between operating platform and memory device carried out encryption and decryption, and identify according to second uniqueness of judged result read operation platform;
The read-write control sub unit is used for when operating platform reads the data of memory device, and the control encryption/decryption element carries out encryption and decryption to reading and writing data between operating platform and the memory device.
Described control module can also comprise the initialization subelement, is used for operating platform hardware and powers up, and when initializers are carried out initialization, loads trusted computation environment, and the initialization trusted computation environment.
Described encryption/decryption element can comprise reading of data deciphering subelement and write the data encryption subelement, wherein:
Reading of data deciphering subelement is used for, these data being intercepted and captured and being resolved during to the memory device reading of data at operating platform, obtain original enciphered data,, obtain clear data this data decryption, by former transformat clear data is packed then, be transferred to operating platform;
Write the data encryption subelement, be used for when operating platform writes data to memory device, these data are intercepted and captured and resolved, obtain original clear data,, obtain enciphered data this data encryption, by former transformat enciphered data is packed then, be written in the memory device and go.
Described trust calculation unit can comprise the coupling control sub unit, is used to read first uniqueness sign, and this first uniqueness is identified the marking matched inspection of second uniqueness of reading with the key judgment sub-unit.
Described trust calculation unit can also comprise the key storing sub-units, is used to store the encryption and decryption key and first uniqueness sign.
Described trust calculation unit can also comprise further that key generates subelement, is used for generating corresponding encryption and decryption key according to operating platform first uniqueness sign.
The computer system platform of described operating platform, perhaps Single Chip Microcomputer (SCM) system platform, the perhaps network platform of the common client/server of forming of the network of the described mobile phone of mobile phone, PDA, USB flash disk, MP3, MP4 and operation, PDA, USB flash disk, MP3, MP4.
Described memory device is RAM, perhaps hard disk, perhaps a kind of in the flash memory or more than one combination.
Described uniqueness sign for computer system, comprising:
The series number of computer motherboard; Perhaps
The central processing unit sequence number; Perhaps
Equipment Serial Number; Perhaps
The operating system sequence number; Perhaps
A kind of in the application software sequence number or more than one combination.
Described uniqueness sign for communications network system, comprising:
The SIM card of mobile phone number; Perhaps
A kind of or both combinations in the international mobile phone identification code of mobile phone.
Described uniqueness is designated carries out Hash operation to the characteristic of representing software platform, hardware platform in the operating platform, the integrity measurement value of gained result of calculation.
It can be to generate the encryption and decryption key by hash function that described key generates subelement.
Described enciphering and deciphering algorithm is the DES algorithm, perhaps IDEA algorithm, perhaps aes algorithm, perhaps RSA Algorithm, perhaps Diffie-Hellman algorithm, a kind of in the ECC algorithm or more than one combination.
For realizing that the object of the invention also provides a kind of data safety storage device, be electrically connected with operating platform and memory device, comprise trust calculation unit, encryption/decryption element, wherein:
Described trust calculation unit is used to protect the key that the data of reading and writing between operating platform and memory device is carried out encryption and decryption;
Described encryption/decryption element is used for reading key from trust calculation unit, utilizes the corresponding enciphering and deciphering algorithm of setting, and the data of reading and writing between operating platform and the memory device are carried out encryption and decryption.
Described date safety storing system can also comprise control module, is used for trust calculation unit and encryption/decryption element are carried out initialization, and controls the data that encryption/decryption element utilizes the key encryption and decryption to read and write between operating platform and memory device.
The protection of described trust calculation unit is for passing through marking matched judgement of uniqueness and the control operation platform data security storage read-write to memory device.
Described key is stored in trust calculation unit.
Described trust calculation unit is also stored first uniqueness sign of the operating platform that is used for matching judgment.
Described control module can comprise the key judgment sub-unit, the read-write control sub unit, wherein:
Whether the key judgment sub-unit is used for judging whether trust calculation unit has key, need reading and writing data between operating platform and memory device carried out encryption and decryption, and identify according to second uniqueness of judged result read operation platform;
The read-write control sub unit is used for when operating platform reads the data of memory device, and the control encryption/decryption element carries out encryption and decryption to reading and writing data between operating platform and the memory device.
Described control module can also comprise the initialization subelement, is used for operating platform hardware and powers up, and when initializers are carried out initialization, loads trusted computation environment, and the initialization trusted computation environment.
Described encryption/decryption element can comprise reading of data deciphering subelement and write the data encryption subelement, wherein:
Reading of data deciphering subelement is used for, these data being intercepted and captured and being resolved during to the memory device reading of data at operating platform, obtain original enciphered data,, obtain clear data this data decryption, by former transformat clear data is packed then, be transferred to operating platform;
Write the data encryption subelement, be used for when operating platform writes data to memory device, these data are intercepted and captured and resolved, obtain original clear data,, obtain enciphered data this data encryption, by former transformat enciphered data is packed then, be written in the memory device and go.
Described trust calculation unit can comprise the coupling control sub unit, is used to read first uniqueness sign, and this first uniqueness is identified the marking matched inspection of second uniqueness of reading with the key judgment sub-unit.
Described trust calculation unit can also comprise the key storing sub-units, is used to store encryption and decryption key and uniqueness sign.
Described trust calculation unit can further include key and generates subelement, is used for generating corresponding encryption and decryption key according to operating platform uniqueness sign.
Described data safety storage device, or a kind of hardware device that is independent of operating platform and memory device, or the part of storage device control apparatus, or the part of the hardware platform in the operating platform, or one section software of BIOS chip loading, or one section software of EFI chip loading.
For realizing that the object of the invention also provides a kind of data security storage means, comprise the following steps:
Steps A when needs are handled data in the memory device, powers on and initialization to operating platform, and the initialization trusted computation environment, by the marking matched judgement of uniqueness and the control operation platform data security storage read-write to memory device;
Step B after confirming to carry out the data security storage read-write to memory device, reads key, utilizes the corresponding enciphering and deciphering algorithm of setting, and the data of reading and writing between operating platform and the memory device are carried out encryption and decryption.
In the described steps A, to the data security storage read-write of memory device, specifically comprise the following steps: by the marking matched judgement of uniqueness and control operation platform
Steps A 1, whether in trusted computation environment have key, if not then change steps A 2 if judging; Otherwise change steps A 4;
Steps A 2, whether judging reads and writes data between this operating platform and memory device needs to carry out encryption and decryption; If not, then normally start, the data of reading and writing between operating platform and the memory device are not carried out any processing, the user normally uses the back to finish; Otherwise change steps A 3;
Steps A 3 generates corresponding encryption and decryption key, forwards step B to;
Steps A 4 if there has been key to exist in the trust calculation unit, then reads first uniqueness sign, and this first uniqueness sign and second uniqueness sign that reads from this operating platform are carried out matching check;
Steps A 5 if coupling is passed through, is then checked and is passed through, and obtains key, forwards step B to; Otherwise, provide information after, finish to return.
Described steps A 4 also comprises the following steps:
When reading first uniqueness sign, specify to require the user to check password, different if the user enters password with the password of this first uniqueness sign, then do not allow the user to obtain this first uniqueness sign.
Among the described step B data of reading and writing between operating platform and the memory device are carried out encryption and decryption, specifically comprise the following steps:
Step B1 when operating platform reads data in the memory device, intercepts and captures these data and resolve, and obtains original enciphered data, with this data decryption, obtains clear data, by former transformat clear data is packed then, is transferred to operating platform;
Step B2 when operating platform writes data to memory device, intercepts and captures these data and resolve, and obtains original clear data, with this data encryption, obtains enciphered data, by former transformat enciphered data is packed then, is written in the memory device and goes.
Described uniqueness sign for computer system, comprising:
The series number of computer motherboard; Perhaps
The central processing unit sequence number; Perhaps
Equipment Serial Number; Perhaps
The operating system sequence number; Perhaps
A kind of in the application software sequence number or more than one combination.
Described uniqueness sign for communications network system, comprising:
The SIM card of mobile phone number; Perhaps
A kind of or both combinations in the international mobile phone identification code of mobile phone.
Described uniqueness is designated carries out Hash operation to the characteristic of representing software platform, hardware platform in the operating platform, the integrity measurement value of gained result of calculation.
Described key generates can be for generating the encryption and decryption key according to the uniqueness sign by hash function.
Described enciphering and deciphering algorithm is the DES algorithm, perhaps IDEA algorithm, perhaps aes algorithm, perhaps RSA Algorithm, perhaps Diffie-Hellman algorithm, a kind of in the ECC algorithm or more than one combination.
The invention has the beneficial effects as follows: date safety storing system of the present invention and device and method, to operating platform (as computer system, perhaps mobile data transmission system etc.) data of reading and writing in memory device are carried out encryption and decryption, and the encryption and decryption key is by trust calculation unit protection and management with platform binding characteristic in the system, make for the operating system and application software of platform, the data write process is transparent, and is safe; Further; structure and managing keys are guaranteed by trust calculation unit; the security that promptly has hardware-level; this trust calculation unit and operating platform binding; not visiting this operating platform just can't be decrypted institute's enciphered data; thereby guarantee its security more; if promptly this memory device reloads in other the operating platform; the data that are stored in this memory device can not decryptedly be read and write, and this is for portable equipment user, military user or have the user that sensitive data needs protection significant.
Embodiment
In order to make purpose of the present invention, technical scheme and advantage clearer,, a kind of date safety storing system of the present invention and device and method are further elaborated below in conjunction with drawings and Examples.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
As shown in Figure 1, date safety storing system of the present invention comprises operating platform 11, memory device 13, trust calculation unit 121, encryption/decryption element 122 and control module 123.
Operating platform 11 is used for service data is handled, and it both can be a computer system platform, also can be the system platform of similar computer system platform of other client/server, as the Single Chip Microcomputer (SCM) system platform; A kind of mobile communication equipment, the network that reads and writes data as its communication of mobile phone, PDA, USB flash disk, MP3, MP4 and operation, the network platform of the client/server of forming as the mobile communications network of mobile phone etc.
This operating platform 11 comprises hardware platform 72 and software platform 71.For computer system platform, this operating platform 11 both comprised to service data handle the hardware platform 72 that must possess, i.e. central processing unit (CPU), control bus, input-output device, and other peripherals etc.; Be also included within the software platform 71 of operation on the hardware platform 72, be initialization system software (bios software, EFI software etc.), operating system 712 (Windows operating system, Unix operating system, (SuSE) Linux OS etc.), device driver 713, application software 711 (as office automation software etc.), and other software (as killing poison software etc.).
For communication network platform, this operating platform 11 had both comprised hardware platform 72, i.e. mobile phone, and other hardware in the communication network, and as router, server entity equipment etc.; Also comprise software platform 71, i.e. server controls software, router Control Software, mobile phone Control Software etc.
Memory device 13 is used for stored encrypted data, and it can be a kind of in random access memory (RAM), hard disk, the flash memory memory devices 13 such as (Flash) or more than one combination.Certainly, persons of ordinary skill in the art may appreciate that in general understanding that memory device 13 of the present invention also can be the part of hardware platform 72 in the operating platform 11.
Those of ordinary skill in the art is appreciated that also this memory device 13 also comprises a device driver and a driving governor, is used for reading and writing the data in memory sector of memory device 13 under the such system architecture of the present invention.
Trust calculation unit 121 is used to protect the key that the data of operating platform 11 and 13 read-writes of memory device is carried out encryption and decryption.It is by the marking matched judgement of uniqueness and the control operation platform data security storage read-write to memory device, thereby the key of encryption and decryption is carried out in protection to the data of operating platform 11 and 13 read-writes of memory device.This key and uniqueness sign can be kept in the trust calculation unit, also can be kept in other storage unit of user preset.
The uniqueness sign of this operating platform 11 can comprise that following uniqueness identifies the hardware platform 72 uniquenesss sign and the software platform 71 uniquenesss sign of this operating platform 11.
For computer system, comprising:
1) series number of computer motherboard; Perhaps
2) central processing unit (CPU) sequence number; Perhaps
3) equipment (as network interface card) sequence number; Perhaps
4) operating system 712 sequence numbers; Perhaps
5) application software 711 sequence numbers etc.
For communications network system, comprising:
1) SIM card of mobile phone number; Perhaps
2) the international mobile phone identification code of mobile phone (International Mobile EquipmentIdentity, IMEI) etc.
These can unique identification operating platform 11 hardware platform 72 and software platform 71 uniquenesss sign, be the uniqueness of this product of sign and generating at random when dispatching from the factory generally by the manufacturer, have uniqueness.For example, the mainboard series number can identify the source of whole computing machine; The mobile phone SIM card number can identify this user etc.And these uniqueness signs can be read.Therefore, in the present invention,, utilize the uniqueness sign to carry out matching check then, thereby make the encryption and decryption operation and operating platform 11 bindings that utilizes key by reading in these uniquenesss sign one or more.
This uniqueness sign also can be an integrity measurement value, and this integrity measurement value is that the characteristic of software platform 71, hardware platform 72 in the operating platform 11 is carried out HASH computing (hash computing just) gained result of calculation.This result is the integrity measurement value of operating platform 11.These integrity measurement values are regarded as the uniqueness sign of operating platform, the configuration information or the platform features of sign operating platform 11.
As a kind of embodiment, this reads the key that fixed data are carried out encryption and decryption to operating platform 11 and 13 of memory devices, by the uniqueness sign generation of operating platform.
Trust calculation unit 121 identifies from the uniqueness that assigned operation platform 11 (being generally the operating platform that is electrically connected with trust calculation unit 121) reads this operating platform 11, utilizes the uniqueness sign by key generation method (or claiming algorithm, function) and the corresponding key of enciphering and deciphering algorithm.
Utilize the uniqueness sign,, generate and the corresponding key of enciphering and deciphering algorithm by key generation method.
In embodiments of the present invention,, utilize the uniqueness sign, generate key by Hash (HASH) function as a kind of enforceable method.
Hash function also is hash function or hash function, and (be called pre-mapping again, pre-image), by hashing algorithm, be transformed into the output of regular length, this output is exactly hashed value the input of random length exactly.It briefly is exactly a kind of function that the message compression of random length is arrived the eap-message digest of a certain regular length.Utilize one or more uniqueness sign,, generate unique hashed value by hash function.
Promptly utilize hash function to calculate the key of sign: HASH (sign)=mac; Wherein mac is unique hashed value of calculating with hash function HASH.
Preferably, utilize this unique hashed value, according to different enciphering and deciphering algorithms, by the key generation center of this enciphering and deciphering algorithm, the corresponding unique encryption and decryption key of regeneration.
For general enciphering and deciphering algorithm,,, generate unique hashed value once more, as the encryption and decryption key because therefore its key uniqueness can utilize hash function once more as symmetrical enciphering and deciphering algorithm.
But for rivest, shamir, adelman, because its key is that key is right, i.e. PKI and private key.Therefore, can only utilize this unique hashed value by the corresponding cipher key center of this rivest, shamir, adelman, generate PKI and private key, it is right to obtain key.
As preferred embodiment of the present invention, this enciphering and deciphering algorithm is symmetrical enciphering and deciphering algorithm, and like this, the key generative process can once be generated by hash function, also can twice generation.And symmetrical enciphering and deciphering algorithm is safer, and encryption/decryption speed is very fast, makes the read-write operational efficiency of memory device 13 can not incur loss.
In embodiments of the present invention, of particular note, this reads the key that fixed data are carried out encryption and decryption to operating platform 11 and 13 of memory devices, might not be generated by the uniqueness sign of operating platform.It also can generate with additive method, for example utilizes random number to generate, and stores in the trust calculation unit then.
Encryption/decryption element 122 is used for reading key from trust calculation unit 121, utilizes the corresponding enciphering and deciphering algorithm of setting, and the data of read-write between operating platform 11 and the memory device 13 are carried out encryption and decryption.
That is to say that utilize the key that reads from trust calculation unit 121, cryptographic operation platform 11 is written to the data of this memory device 13, simultaneously, operating platform 11 from the data that memory device 13 reads, is sent to operating platform 11 and handles after being decrypted.
The enciphering and deciphering algorithm of setting in encryption/decryption element 122 can be various and the corresponding existing enciphering and deciphering algorithm of key, can be in symmetrical enciphering and deciphering algorithm or the asymmetric enciphering and deciphering algorithm one or more.
The symmetry enciphering and deciphering algorithm, comprise data encryption algorithm (the Data Encryption Standard that comes from IBM Corporation and formally adopted by U.S. government, DES) algorithm, IDEA IDEA (the International DataEncryption Algorithm) algorithm that ETH in Zurich develops by Chinese scholar Xuejia Lai and JamesL.Massey, Belgium Joan Daemen and Vincent Rijmen submit to, (US National Institute of Standards andTechnology NIST) elects AES (Advanced EncryptionStandard) algorithm etc. of U.S.'s Advanced Encryption Standard as by American National Standard and technical institute.
Wherein, DES is the abbreviation of Data Encryption Standard (data encryption standards).It is a kind of cryptographic algorithm by IBM Corporation's development, and NBS announces that in 1977 over 20 years, it is active on the stage of international secret communication always, has played the part of crucial role its data encryption standards as the use of non-confidential departments.
DES is a block encryption algorithm, and he serves as that grouping is encrypted data with 64.DES also is a symmetry algorithm simultaneously: what encryption and decryption were used is same algorithm.Its secret key length is 56 (because each the 8th all is used as parity checking).
Asymmetric enciphering and deciphering algorithm includes RSA (Rivest, Shamir and Adlernan) algorithm, Diffie-Hellman algorithm, ECC (Elliptic Curves Cryptography, elliptic curve cipher coding theory) algorithm etc.
In the present embodiment, memory device 13 with support IDE/SATA controller 712 is an example, encryption/decryption element 122 is connected on the IDE/SATA controller 712, so just can support the hard disk of different types of support IDE/SATA controller 712 interfaces, not need memory device 13 to be made the encryption and decryption that any change just can realize data because of the present invention for these different memory devices 13.
Control module 123 is used for trust calculation unit 121 and encryption/decryption element 122 are carried out initialization, and controls the data that encryption/decryption element utilizes the key encryption and decryption to read and write between operating platform and memory device.
When operating platform 11 needs to use trust calculation units 121 to guarantee to read and write data security in the memory device 13, operating platform 11 at first needs the hardware of deal with data is powered up, initializers such as bios software or EFI software are carried out initialization, at this moment, in bios software or EFI software, load trust calculation unit 121, the initialization trusted computation environment, setting is read and write data the memory device 13 (as hard disk) from operating platform 11 and whether is utilized key in the trust calculation unit 121, by encryption/decryption element 122 enciphering/decipherings.
Those of ordinary skill in the art also is appreciated that, can produce in the trust calculation unit 121 and store a plurality of different keys, different zone in the read-write memory device 13, for example: the C dish in the key A reading writing harddisk and invisible to other zone, key B read-write D dish and invisible to other zones, the rest may be inferred; And to the key in the trust calculation unit 121, also can manage according to different ranks, can not read and write the modification key as the general operation personnel, and super keeper can read key and revise original key, for example, original cipher key is just generated by mainboard uniqueness sign, need to increase the key that application software 711 a uniquenesss sign generates now, then super keeper reads key, and utilize new uniqueness to identify (mainboard sign+application software sign), generate new key, utilize original cipher key to read the data that write in the memory device 13 then, utilize new secret key encryption write storage device 13 again after the deciphering, last, new key is covered the deletion original cipher key.
Control module in the date safety storing system of the present invention can be a control module chip independently, also can be a control function circuit unit that is synthesized in the trust calculation unit.
Date safety storing system of the present invention; to operating platform 11 (as computer system; perhaps mobile data transmission system etc.) data of read-write in memory device 13 are carried out encryption and decryption; and the encryption and decryption key is by trust calculation unit 121 protections and management with platform binding characteristic; make for the operating system 712 and application software 711 of platform; the data write process is transparent, and is safe.
Correspondingly, the present invention also provides a kind of data safety storage device 12, is electrically connected with operating platform 11 and memory device 13, and it comprises trust calculation unit 121, encryption/decryption element 122 and control module 123.Wherein:
Trust calculation unit 121 is used to protect and the data to operating platform 11 and 13 read-writes of memory device of assigned operation platform 11 bindings are carried out the key of encryption and decryption.It is by the marking matched judgement of uniqueness and the control operation platform data security storage read-write to memory device, thereby the key of encryption and decryption is carried out in protection to the data of operating platform 11 and 13 read-writes of memory device.This key and uniqueness sign can be kept in the trust calculation unit, also can be kept in other storage unit of user preset.。
As shown in Figure 2, trust calculation unit 121 comprises that key generates subelement 1211, key storing sub-units 1212, and coupling control sub unit 1213, wherein:
Coupling control sub unit 1213 is used to read the uniqueness sign of original storage, and the marking matched inspection of uniqueness of the operating platform that this uniqueness sign is read during with initialization.
As a kind of enforceable method; coupling control sub unit 1213 is utilizing the encryption and decryption key to carry out the memory device cryptographic key protection; when beginning to discharge the encryption and decryption key and carrying out data encrypting and deciphering, trust calculation unit 121 utilizes the integrity measurement value of preserving in integrity measurement value that this computing generates and the platform configuration register to carry out matching check.Only under the situation of integrity measurement value coupling, just discharge key, otherwise refusal discharges key.
As the enforceable method of another kind, coupling control sub unit 1213 has had key to exist in confirming trust calculation unit 121, then from trust calculation unit 121, read the uniqueness sign, and uniqueness sign and the corresponding uniqueness sign that reads from this operating platform 11 carried out matching check, if coupling is passed through, then check and pass through, utilize this key to carry out enciphering/deciphering to reading and writing data; Otherwise the information that provides is (as " sorry, you have no right to read hard disk! ") after, finish to return.
Further, as another enforceable method, if key is generated by the uniqueness sign, then in trust calculation unit, only preserve key, coupling control sub unit 1213 has had key to exist in confirming trust calculation unit 121, then from trust calculation unit 121, read this key, control trust calculation unit 121 then with this secret key decryption, reduction obtains the uniqueness sign of operating platform 11, and deciphering uniqueness sign of coming out and the corresponding uniqueness sign that reads from this operating platform 11 are carried out matching check by coupling control sub unit 1213, if coupling is passed through, then check and pass through, utilize this key to carry out enciphering/deciphering to reading and writing data; Otherwise, finish to return after providing information.
From key, pass through to utilize and generate the opposite process of key, be inverse process, promptly can be generated one or more uniqueness sign of this key accordingly, as the key of above-mentioned hash function generation, utilize inverse process and this key of hash function, just can obtain former uniqueness sign.
To having the key of a plurality of uniqueness signs, because the computer system platform start-up course has sequencing, therefore, can successively repeatedly check a plurality of sequence numbers, whenever after checking correct a part of sequence number, can read and write a certain partial data, like this, can guarantee that operating platform 11 can start, also can guarantee the safety of data.
After these processes were finished, the user can be as using common operating platform 11 use date safety storing system of the present invention, can installing operating system 712, application software 711 or the like.
Key generates subelement 1211, is used to generate corresponding encryption and decryption key.
As a kind of enforceable mode, control module 123 reads corresponding one or more operating platform 11 uniquenesss sign from operating platform 11, generate key by trust calculation unit 121 according to described one or more operating platform 11 uniquenesss sign, for example, if user's desire will be limited on this TV station computing machine to the read-write of hard disk, then read the mainboard sequence number and generate key, utilize this computing machine of enciphering and deciphering algorithm enciphering/deciphering in the encryption/decryption element 122 reading and writing data of this memory device 13; If the user not only will be limited on this TV station computing machine to the read-write of hard disk, and be limited in Windows XP operating system and application software 711 (for example on the office software of our company), then read main frame mainboard series number, Windows XP operating system sequence number, application software 711 sequence numbers, generate key and preservation by trust calculation unit 121, encryption/decryption element 122 reads key from trust calculation unit 121 then, utilize the application software 711 of corresponding this computing machine of enciphering and deciphering algorithm enciphering/deciphering on Windows XP operating system, to the reading and writing data of this memory device 13.
Key storing sub-units 1212 is used to store encryption and decryption key and uniqueness sign.
As an embodiment of the present invention, the key storing sub-units is at trust calculation unit 121 inner group platform configuration registers that are provided with, the uniqueness sign and the key of its storage operation platform 11.
As another embodiment of the present invention,, then also can not store this uniqueness sign, and, obtain this uniqueness sign from key by generating the inverse process of key if key is generated by the uniqueness sign.
From key, pass through to utilize and generate the opposite process of key, be inverse process, promptly can be generated one or more uniqueness sign of this key accordingly, as the key of above-mentioned hash function generation, utilize inverse process and this key of hash function, just can obtain former uniqueness sign.
Encryption/decryption element 122 is used for reading key from trust calculation unit 121, utilizes the corresponding enciphering and deciphering algorithm of setting, and the data of read-write between operating platform 11 and the memory device 13 are carried out encryption and decryption.
As shown in Figure 3, described encryption/decryption element 122 comprises reading of data deciphering subelement 1221 and writes data encryption subelement 1222, wherein:
Reading of data deciphering subelement 1221 is used for, these data being intercepted and captured and being resolved during to memory device 13 reading of data at operating platform 11, obtain original enciphered data,, obtain clear data this data decryption, by former transformat clear data is packed then, be transferred to operating platform 11.
Write data encryption subelement 1222, be used for when 11 pairs of memory devices 13 of operating platform write data, these data are intercepted and captured and resolved, obtain original clear data, with this data encryption, obtain enciphered data, by former transformat enciphered data is packed then, be written in the memory device 13 and go.
Control module 123 is used for trust calculation unit 121 is carried out initialization, and controls the data that encryption/decryption element utilizes the key encryption and decryption to read and write between operating platform and memory device.
As shown in Figure 4, described control module 123 comprises initialization subelement 1231, key judgment sub-unit 1232, and read-write control sub unit 1233, wherein:
Initialization subelement 1231, be used for operating platform 11 hardware and power up, when initializers are carried out initialization, load trusted computation environment, and the initialization trusted computation environment, setting utilizes key to pass through encryption/decryption element 122 encryption and decryption from the data that operating platform 11 is read and write the memory device 13.
Because encryption/decryption element 122 and trust calculation unit 121 among the present invention, these two unit all are passive equipment, therefore to make the enforcement that system can be correct, also must there be control module 123 to support operation, control module 123 can be directed operation, can finish the initial work of trust calculation unit 121 and coordinate trust calculation unit 121 and encryption/decryption element 122.Particularly, owing to realize that under the environment that operating system 712 is arranged such control can not realize the protection to operating system 712 deal with data own, therefore, this control module 123 may operate under the environment of no operating system 712.With the personal computer is example, existing calculating when starting, need be prior to operating system 712 operation BIOS or EFI, at this moment, load trust calculation unit 121, the initialization trusted computation environment is about to trusted computation environment and is loaded in BIOS or the EFI environment, the parameter of initialization trusted computation environment can be carried program code etc.
Key judgment sub-unit 1232 is used for judging whether trust calculation unit 121 has key, whether needs reading and writing data of 13 of operating platform 11 and memory devices carried out encryption and decryption, and according to the uniqueness sign of judged result read operation platform 11.
Key judgment sub-unit 1232 judges whether key is arranged in the trust calculation unit 121, if there is not key, whether judge then that 13 of this operating platform 11 and memory devices read and write data needs to carry out enciphering/deciphering, if not, then normally start, the data of read-write between operating platform 11 and the memory device 13 are not carried out any processing, the user normally uses the back to finish; Otherwise the key in the trust calculation unit 121 generates subelement and generates corresponding encryption and decryption key.
Read-write control sub unit 1233 is used for when operating platform 11 reads the data of memory device 13, and encryption and decryption is carried out in reading and writing data between control 122 pairs of operating platforms 11 of encryption/decryption element and the memory device 13.
At operating platform 11 during to memory device 13 reading of data, read-write control sub unit 1233 control encryption/decryption elements 122 are intercepted and captured these data and resolve, obtain original enciphered data, with this data decryption, obtain clear data, by former transformat clear data is packed then, be transferred to operating platform 11;
When 11 pairs of memory devices 13 of operating platform write data, read-write control sub unit 1233 control encryption/decryption elements 122 are intercepted and captured these data and resolve, obtain original clear data, with this data encryption, obtain enciphered data, by former transformat enciphered data is packed then, be written in the memory device 13 and go.
Like this, at the two ends of operating platform 11 and memory device 13, all need only to store data with original suitable convenience, it is transparent promptly reading and writing data between operating platform 11 and the memory device 13, the user both need not be concerned about how encryption and decryption of data, did not also worry safety of data.
Here need to prove, data are intercepted and captured and resolved, and data are packed by former form, all is the common practise of this area, therefore, describes in detail no longer one by one in embodiments of the present invention.
Preferably, when operating platform 11 and memory device 13 were read and write data, to the control signaling in the transmission, encryption/decryption element 122 was not done any processing, and only itself carries out encryption and decryption to reading and writing data.
This data safety storage device 12, or a kind of hardware device that is independent of operating platform 11 and memory device 13, or the part of memory device 13 control device, or the part of the hardware platform in the operating platform 11 72, for example be connected to the chip on the computer motherboard control bus, or be connected the chip of 13 of operating platform 11 and memory devices, or one section software loading of BIOS chip, or one section software loading of EFI chip.
For the present invention, for different types of memory device 13, only this safe storage device need be connected on the different bus control equipments and just can realize data encryption and deciphering.Therefore, the present invention is transparent for operating platform 11 and memory device 13, that is to say that operating platform 11 and the memory device 13 of realizing this data security storage do not need to carry out any change.
Here a kind of transparent technology of saying comprises two kinds of connotations, one is meant that this technology is transparent for operating system of moving on the operating platform 11 712 or application software 711, operating system 712 and application software 711 are not also known the encryption of data, so operating system 712 or application software also need not be made any extra modification to the enciphering/deciphering process.It two is meant that this technology is transparent for different memory device 13, for different storage mediums or equipment, the ultimate principle of its operation does not change, only need add 122 pairs of data of encryption/decryption element before writing data carries out encryption and decryption, and existing memory device 13 itself does not need additionally to change.
Date safety storing system of the present invention and device, key is created and management designs according to operating platform 11, makes the storage of key and the security of use-pattern all be significantly improved.
As shown in Figure 5, data security storage means of the present invention is described in further detail below, it comprises the following steps:
Step S100 when needs are handled data in the memory device 13, powers on and initialization to operating platform 11, and the initialization trusted computation environment, by the data security storage read-write of the marking matched judgement of uniqueness and 11 pairs of memory devices 13 of control operation platform;
When operating platform 11 needed to handle in the memory devices 13 data, it at first powered on and carries out initialization, at first trusted computation environment is carried out initialization, and then whole operation platform 11 is carried out initialization.The trusted computation environment initialization comprises the initialization to trust calculation unit 121, and judges and confirm whether need encryption and decryption, whether have key to carry out encryption and decryption etc.
Step S200 after confirming to carry out the data security storage read-write to memory device 13, reads key, utilizes the corresponding enciphering and deciphering algorithm of setting, and the data of read-write between operating platform 11 and the memory device 13 are carried out encryption and decryption.
Described enciphering and deciphering algorithm includes but not limited in symmetrical enciphering and deciphering algorithm or the asymmetric enciphering and deciphering algorithm one or more.
Described symmetrical enciphering and deciphering algorithm comprises the DES algorithm, IDEA algorithm, aes algorithm etc.
Described asymmetric enciphering and deciphering algorithm comprises RSA Algorithm, Diffie-Hellman algorithm, ECC algorithm etc.
As shown in Figure 6, in step S100, the data security storage read-write by the marking matched judgement of uniqueness and 11 pairs of memory devices 13 of control operation platform specifically comprises the following steps:
Step S110, whether in trusted computation environment have key, if not then change step S120 if judging; Otherwise change step S140;
Step S120, whether judge that 13 of this operating platform 11 and memory devices read and write data needs to carry out enciphering/deciphering; If not, then normally start, the data of read-write between operating platform 11 and the memory device 13 are not carried out any processing, the user normally uses the back to finish; Otherwise change step S130;
Step S130 generates corresponding encryption and decryption key, forwards step S200 to;
As a kind of enforceable mode, utilize and from operating platform 11, read corresponding one or more operating platform 11 uniquenesss sign, can generate key by trust calculation unit 121 according to described one or more operating platform 11 uniquenesss sign.
Step S140 if there has been key to exist in the trust calculation unit 121, then reads the uniqueness sign, and this uniqueness sign and the corresponding uniqueness sign that reads from this operating platform 11 are carried out matching check;
As a kind of enforceable method; coupling control sub unit 1233 is utilizing the encryption and decryption key to carry out the memory device cryptographic key protection; when beginning to discharge the encryption and decryption key and carrying out data encrypting and deciphering, trust calculation unit 121 utilizes the integrity measurement value of preserving in integrity measurement value that this computing generates and the platform configuration register to carry out matching check.Only under the situation of integrity measurement value coupling, just discharge key, otherwise refusal discharges key.
As another kind of embodiment, if there has been key to exist in the trust calculation unit 121, and key is generated by the uniqueness sign, then from key, pass through to utilize and generate the opposite process of key, it is inverse process, promptly can be generated one or more uniqueness sign of this key accordingly, uniqueness sign and the corresponding uniqueness sign that reads from this operating platform 11 are carried out matching check.
Further, as another enforceable method, in trust calculation unit, only preserve key, coupling control sub unit 1233 has had key to exist in confirming trust calculation unit 121, then from trust calculation unit 121, read this key, control trust calculation unit 121 then with this secret key decryption, reduction obtains the uniqueness sign of operating platform 11, and deciphering uniqueness sign of coming out and the corresponding uniqueness sign that reads from this operating platform 11 are carried out matching check by coupling control sub unit 1233, if coupling is passed through, then check and pass through, utilize this key to carry out enciphering/deciphering to reading and writing data; Otherwise, finish to return after providing information.
More preferably, can protect, promptly can specify the password that uses this uniqueness sign the sign of the uniqueness in the trusted computation environment.In other words, the user can specify the password of user when using this uniqueness sign when reading the uniqueness sign, and is different with the password that reads this uniqueness sign if the user enters password, and then do not allow the user to obtain this uniqueness sign.
If the user uses password protection uniqueness sign, in start-up course, require the user to import correct password so, if password correctly just can obtain the uniqueness sign.
To having a plurality of uniqueness signs, because the computer system platform start-up course has sequencing, therefore, can successively repeatedly check a plurality of sequence numbers, whenever after checking correct a part of sequence number, can read and write a certain partial data, like this, can guarantee that operating platform 11 can start, also can guarantee the safety of data.
Step S150 if coupling is passed through, then checks and passes through, and obtains key, forwards step S200 to; Otherwise, provide information after, finish to return.
After these processes were finished, the user can be as using common operating platform 11 use date safety storing system of the present invention, can installing operating system 712, application software 711 or the like.
Among the described step S200 data of read-write between operating platform 11 and the memory device 13 are carried out encryption and decryption.Specifically comprise the following steps;
When operating platform 11 reads data in the memory device 13, these data are intercepted and captured and resolved, obtain original enciphered data, with this data decryption, obtain clear data, by former transformat clear data is packed then, be transferred to operating platform 11;
When 11 pairs of memory devices 13 of operating platform write data, these data are intercepted and captured and resolved, obtain original clear data, with this data encryption, obtain enciphered data, by former transformat enciphered data is packed then, be written in the memory device 13 and go.
As shown in Figure 7, be the transparent date safety storing system exemplary plot of the present invention, because all data enciphering/deciphering read-write operations (comprising software control and hardware handles) to read-write do not need directly to carry out alternately with operating system 712, therefore, for operating system 712, it does not also know that the data of reading and writing are protected by encryption and decryption; Control module 123 operates under BIOS environment or the EFI environment, the key of just having finished encryption/decryption element 122 before operating system 712 is loaded loads, and when memory device 13 read and write data, encryption/decryption element 122 can be finished automatically the encryption and decryption of data is handled in operating system 712.Therefore, for memory device 13, its also and do not know to read and write data and protected by encryption and decryption, it just resembles unencryption and enciphered data is stored in the memory sector in the past and go, and is transparent.
Like this, at the two ends of operating platform 11 and memory device 13, all need only to store data with original suitable convenience, it is transparent promptly reading and writing data between operating platform 11 and the memory device 13, the user both need not be concerned about how encryption and decryption of data, did not also worry safety of data.
In other words, data security storage means of the present invention provides a kind of transparent technical method, is used for the data of read-write between encryption and decryption operating platform 11 and the memory device 13.This encrypting/decrypting method by adopting 121 pairs of keys for encryption/decryption of binding with operating platform 11 of trust calculation unit, adopts 122 pairs of data of encryption/decryption element to carry out encryption/decryption.
In conjunction with the accompanying drawings to the description of the specific embodiment of the invention, others of the present invention and feature are conspicuous to those skilled in the art by above, thereby describe in detail no longer one by one.
Date safety storing system of the present invention and device and method, to operating platform (as computer system, perhaps mobile data transmission system etc.) data of reading and writing in memory device are carried out encryption and decryption, and the encryption and decryption key is by trust calculation unit protection and management with platform binding characteristic in the system, make for the operating system and application software of platform, the data write process is transparent, and is safe; Further; structure and managing keys are guaranteed by trust calculation unit; the security that promptly has hardware-level; this trust calculation unit and operating platform binding; not visiting this operating platform just can't be decrypted institute's enciphered data; thereby guarantee its security more; if promptly this memory device reloads in other the operating platform; the data that are stored in this memory device can not decryptedly be read and write, and this is for portable equipment user, military user or have the user that sensitive data needs protection significant.
More than specific embodiments of the invention are described and illustrate it is exemplary that these embodiment should be considered to it, and be not used in and limit the invention, the present invention should make an explanation according to appended claim.