CN101208655B - Hardware functionality scan for device authentication - Google Patents

Hardware functionality scan for device authentication Download PDF

Info

Publication number
CN101208655B
CN101208655B CN2006800134090A CN200680013409A CN101208655B CN 101208655 B CN101208655 B CN 101208655B CN 2006800134090 A CN2006800134090 A CN 2006800134090A CN 200680013409 A CN200680013409 A CN 200680013409A CN 101208655 B CN101208655 B CN 101208655B
Authority
CN
China
Prior art keywords
hardware
graphics
result
group
graphics device
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN2006800134090A
Other languages
Chinese (zh)
Other versions
CN101208655A (en
Inventor
D·J·玛什
K·瑞纳瑞斯
D·R·布莱德
K·A·德比齐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Priority claimed from US11/202,840 external-priority patent/US7617401B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101208655A publication Critical patent/CN101208655A/en
Application granted granted Critical
Publication of CN101208655B publication Critical patent/CN101208655B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

Systems and methods for verifying the authenticity of a graphics chip or other hardware chips or hardware devices by performing a hardware functionality scan.

Description

The hardware functionality scan that is used for device authentication
The cross reference of related application
The application requires the U.S. Provisional Patent Application No.60/673 to submission on April 22nd, 2005,979 right of priority, and the content of this application is incorporated herein by reference.
Background technology
This instructions relates generally to computer security, relates in particular to verification method.Such system can comprise the assembly of arbitrary number that can be by various interface coupling.In this system, the owner of protected content seeks usually to there being the checking of safe enough before the transmission content.Trust chain can be used to set up security in this system.Security is easy to become and is more paid close attention to when the use of these systems increases because valuable content be transmitted in increase, and in fact the unauthorized user is easy to become more complicated when obtaining the access right of protected content.
The supplier of higher value content or information may wish to guarantee that such as the open computing system of the routine of PC be safe.PC and many systems based on processor provide the open system that wherein can easily remove and replace nextport hardware component NextPort usually.This open system can provide a plurality of entrances for the unauthorized access to content.
Description of drawings
This instructions will obtain better understanding from following detailed description of consulting accompanying drawing, in the accompanying drawings:
Fig. 1 illustrates conventional PC that is not with hardware functionality scan (" HFS ") system and the block diagram that has the CE equipment of security system.
Fig. 2 illustrates conventional PC that has hardware functionality scan (" HFS ") system and the block diagram that has the CE equipment of security system.
Fig. 3 illustrates the CPU of the processor that is subjected to the hardware functionality scan system protection and the block diagram of graphics device.
Fig. 4 is the process flow diagram that an example process that is used to carry out hardware functionality scan is shown.
Fig. 5 is the block diagram that the example calculation environment that wherein can realize hardware functionality scan system is shown.
Fig. 6 illustrates the block diagram that exchanges between exemplary realization of hardware functionality scan system and the element of information in this exemplary realization of hardware functionality scan system.
Similar reference number is used to refer to the similar portions in the accompanying drawing.
Embodiment
The detailed description that provides below in conjunction with accompanying drawing is intended to describe existing example, but not is intended to represent to make up or to utilize unique form of existing example.The function of example and the sequence of steps of structure and this example of operation are illustrated in this description.Yet identical or equivalent function can be finished by different examples with sequence.
Although being described and illustrated as in this article in based on the PC system, existing example realizes that described system only is provided as an example and unrestricted.As the skilled person will appreciate, existing example is fit to the application program in the various dissimilar computing systems.
Fig. 1 illustrates not to be with hardware functionality scan (" HFS ") system 180, to can be used to play the conventional PC of conventional protected media file 130 or the block diagram of CE equipment 150.Thisly protected media file 130 is easy to by hacker or the interception of another unauthorized party with the PC160 of hardware functionality scan system.Content provider's 110 common and media server 120 couplings.Content provider 110 places protected media file 130 on the media server 130 usually.This protected media file 130 can be created on media server according to the content that the ISP provides, and perhaps the ISP can provide protected media file 130 to media server 120.This protected media file 130 generally includes audio frequency or visual information etc.Media server 120 is coupled in the Internet 140 usually, and the Internet 140 is coupled in PC 160 or CE equipment 150 usually.PC 150 or CE equipment 150 only are two examples that the equipment of processor is housed.Various device can be conceived particularly and PC 160 or CE equipment 150 can be substituted equivalently.In the following description, be appreciated that term PC can comprise CE equipment, processor board devices etc.CE equipment 150 is difficult for being distorted because of its fixed configurations.On the contrary, PC 160 is easy accessed open systems.
The part of the normally conventional security system 170 of PC 160, this security system 170 generally include the PC assembly and can satisfy the guard method that hacker 195 unauthorized access can not take place content provider 110.
Conventional security system 170 can comprise that CPU and common renders image information make its display that can watch 190.In conventional PC system, PC 160 is coupled in external display or monitor 190.The system of graphic intensive can utilize a conventional graphic process unit to help reproduce shown object.Being connected between the processor of processor and graphics device can make hacker 195 carry out unauthorized access on this aspect among the CPU.This " security system " 170 can make protected media file 130 play on display 190.Usually the content that offers graphic process unit 175 is a not encrypted.
Fig. 2 is the block diagram that the PC 210 that hardware functionality scan system 220 is housed is shown.Content provider 110 is coupled to media server 120 usually.Content provider 110 places protected media file 130 on the media server 120 usually, and this protected media file 130 generally includes audio frequency and visual information etc.Media server 120 is coupled in the Internet 140 usually, and the Internet 140 is coupled in PC 210 usually.
PC 210 in the security system 270 can be coupled in common renders image information and make its display that can watch 190.PC 210 and security system 270 thereof comprise hardware functionality scan system 220.Hardware functionality scan (" HFS ") system can further verify the security clearance that content provider 110 is asked, to guarantee the not protected version of visit protected media file 130 on vulnerable point 340 of hacker or other unauthorized party 195.Hardware functionality scan is performed usually with the security clearance of checking on the PC 160, and the common indicating correct hardware configuration of this security clearance (a part) is to prevent hacker 195 unauthorized access to protected media file 130 on point 340.
Fig. 3 is the block diagram that is illustrated in the hardware functionality scan of carrying out between CPU 320 on the PC210 that has hardware functionality scan system and the graphics device 350.PC 210 with hardware functionality scan generally includes the computer processor board 310 that can comprise the CPU 320 that is coupled in bus 340.Bus 340 can be coupled in graphics device 350 again.This graphics device 350 can represent can sole mode to reproduce the complicated IC of present situation.Generally speaking, the typical complexity of graphics device can be used to verification pattern equipment 350 but not hacker's appearance with any unique reproduction signature that it is had.
Hacker 195 unauthorized access can be attempted by the device emulation that use attempts to simulate real graphics device, and can allow the hacker to visit and duplicate not protected media 360.In this configuration, CPU 320 can not have the information of the graphics device appearance of having only " really ".CPU 320 can not receive simulated program and tackle not any indication of protected content.Simulate the graphics device emulation of real graphics device and may not simulate the complicacy of real graphics device, thereby may not generate the unique reproduction signature of the hardware functionality scan system 220 of real graphics device, this hardware functionality scan system 220 test complexities and unique reproduction signature can detect the hacker.Thereby, simulate the equipment of real graphics device and may can't help to comprise that the system of hardware functionality scan 220 verifies.
Content provider 110 prevents duplicating without permission or checking protected media file 130 by digital encryption protected media file 130 usually.This system depends on chain of trust structure usually.Protected media file 130 can use arbitrary acceptable current encryption method to encrypt to pass to CE equipment 150 or PC210.For example, check a protected media file 130 if PC 210 is authorized by content provider 110, then PC210 will be given the encryption key that (by a security mechanism) allows deciphering protected media file 130.
The U.S. Patent application No.09/290 that an example of digital rights management (DRM) encryption system was submitted on April 12nd, 1999,363, the U.S. Patent application No.10/185 that submits on June 28th, 2002,527,10/185,278 and 10/185, provide in 511, these applications all are incorporated into this by reference.The PC 210 that is authorized can use CPU 320 to decipher protected media file 130 and generate not protected media 360.This not protected media 360 usually with encrypt once more or not encrypted form pass to graphics device 350 via bus 340, this graphics device 350 can convert protected media 360 not to can be by display 190 video signal displayed 370.
As previously mentioned, protected media 360 is not easy to the accessing without permission by hacker 195, and the form of being taked is for tackling not hacker or any unauthorized user of protected media 360 on bus 340.In case protected media file 130 is deciphered by CPU 320, it just becomes not protected media 360, and the hacker of another equipment replacement graphics device 350 of protected media 360 duplicates without permission thereby be easy to be caught and duplicate not by available energy.The content provider 110 who notes the protection delivery of content also wishes to take to protect content to avoid the step that hacker 195 attacks.
PC has usually makes them be easy to the open architecture of being distorted to a certain extent.CE equipment 150 can be the closed box system that the hacker is difficult to replace with the equipment that can duplicate protected media 360 not graphics device 170, and PC 210 is easy to mimic diagram equipment 350, and the open case system that can duplicate the equipment replacement graphics device 350 of protected media 360 not hacker or any other unauthorized party.Therefore; can allow before protected media file 130 is downloaded or flow into PC 210 content provider 110; content provider 110 can require PC 210 to have the security clearance that HFS 220 is provided, and is coupled in graphics device 350 but not certain other capture device of the mimic diagram equipment 350 replaced by hacker or any unauthorized user.
Graphics device 350 can comprise the certificate through digital signature, and this certificate can be by the authenticity of CPU 320 inquiries with verification pattern equipment 350.Yet owing to be used for creating the character of the manufacturing process of graphics device 350, unique certificate or other the unique identifier of coding is non-remunerative in each graphics device 350.Can use the scheme of simpler or more worthwhile proof graphics device 350 authenticities, maybe can use this scheme to increase by a device certificate scheme.CPU 320 can adopt hardware functionality scan system 220.
Complex apparatus that graphics device 350 normally can be made of a large amount of logic gates on one or more integrated circuit coupled to each other in complex configurations.Graphics device 350 can also reproduce shape or other pel by sole mode.The sole mode that graphics device 350 can reproduce shape or other pel can be used for verifying that it is coupled in real graphics device 350 by CPU 320, rather than other certain equipment of mimic diagram equipment 350.CPU 320 can such as submit to shape or other pel to reproduce and relatively to reproduce result and expected results to graphics device 350, carry out hardware functionality scan 220 by carrying out unique complex hardware structure that inquiry comes resolution chart equipment 350.Usually because the complicacy of graphics device 350, be to be difficult to duplicate or generate hacker or another unauthorized party to the correct response of hardware functionality scan 220 by emulation.
In order to identify graphics device 350 uniquely, the available mode of having only response that particular graphics device 350 can provide verification pattern equipment 350 or response makes up the inquiry or the request of graphics device 350.This is normally possible, because graphics device 350 and general graphics device are made of a large amount of complex array, and has realized the state model of common complexity based on them.Therefore, identical challenges or the request of being made by two different graphics device modelings can cause different responses or return different results.Analysis to response or institute's return results will identify graphics device 350 usually.
For example, CPU 320 can send a 3D shape and ask this graphics device 350 to carry out a conversion in three dimensions to graphics device 350, such as adding shade.Graphics device 350 can send the 3D shape through conversion or reproduction of gained as a result to CPU 320 then.CPU 320 can check that the result that returned is to determine whether mathematical notation through the complex three-dimensional forms of conversion meets the desired result of CPU 320.Can wait by the software emulation of reference tracing table or hardware and make comparisons.
In another example, CPU 320 may store a complex mathematical expression formula.Typical expression formula will be moved the zone of the unique and known answer that will calculate modeling usually of graphics device 350.In addition, typical expression formula also can comprise the random data of deciding through consultation the stray parameter form of expression formula, and/or the random data that can select randomly of expression formula itself.For example, result of calculation can have unique figure place or can adopt known round-off error.In addition, in another example, graphics device 350 can be manufactured into and can add the interior additional boundary scan chain of integrated circuit with the 350 in-plant operations of verification pattern equipment.Boundary scan chain can be unique to each model of graphics device 350, and CPU 320 can inquire about this boundary scan chain and analysis result comes verification pattern equipment 350.
Fig. 4 is the process flow diagram that the example process that is used to carry out a hardware functionality scan is shown.Sequence 400 goes up at CPU 320 (Fig. 3) usually and carries out, but can carry out on what processor in office.
At frame 410, CPU sends inquiry so that verify the authenticity of this graphics device to graphics device usually.As previously mentioned, this is inquired about available use and decides through consultation random value and have only real graphics device just can provide the checking response of this graphics device or the method for response to make up.
Further, at frame 415, graphics device will be handled this inquiry usually generating a result, and this result is sent to CPU to assess.
Then at frame 420, CPU receives the Query Result from graphics device usually.Notice that CPU may not need to receive this Query Result and determine whether graphics device is genuine.(Zero-knowledge-proof) can use with this graphics device at graphics device, have correct response with this graphics device of proof under the situation that Query Result is not sent to CPU.For example, graphics device and CPU can be with the key of Query Result as the subsequent message of issuing this graphics device, and only may not receive this graphics device when having allowed its subsequent message that continues to play a role at graphics device and generate correct response to inquiry, graphics device could continue to play a role.
At frame 430, CPU will make comparisons from Query Result and expected results that graphics device receives then.CPU can analyze this comparative result then, and determine relatively be by or failure.If relatively failure, then checking will finish at frame 440 usually.
In frame 440 termination procedures may be the definite result result different with expected results who returns from graphics device of CPU, and this can indicate unwarranted graphics device or hacker to exist.The execution circulation is everlasting and is finished this moment, because security clearance can not be signed and issued to graphics device because of it is identified.
In frame 450 continuation processes may be that CPU determines that the result who returns from graphics device is an acceptable result when making comparisons with expected results.Security system can be reached a conclusion: this graphics device has passed through hardware functionality scan and has been a real graphics device rather than the hacker who uses emulator.But CPU representative of graphics equipment then sends a security clearance, and this security clearance indicating graphic equipment is identified.
Fig. 5 is the block diagram that the example calculation environment that wherein can realize hardware functionality scan system is shown.
The common executive operating system 505 of PC 210 (see figure 2)s that has hardware functionality scan system is to run application 510.Application program 510 is coupled in interoperability gateway 520 usually.This interoperability gateway 520 is coupled in hardware driver 530 usually, and interoperability gateway 520 also can have safety coupling with hardware driver 530 in addition.Hardware driver 530 is coupled in hardware abstraction layer 535 usually, and hardware abstraction layer 535 can be coupled in hardware device 540.
Operating system 505 can realize user model 580 and kernel mode 590.Application program 510 is carried out with user model 580 usually, and interoperability gateway 520 is also carried out with user model 580 usually.Hardware driver 530 is carried out with kernel mode 590 usually.Operating system 505 for security reasons realizes user model 580 and kernel mode 590 usually.Can be with operating system 505 to comparing that kernel mode 590 provides, operating system 505 can provide less security clearance to user model 580, because kernel mode 590 can have the access right to PC 210 elements of easier hacker attack.Operating system 505 may not can allow to carry out with kernel mode 590 without digital signature and un-trusted assembly.Operating system 505 provides less security clearance to user model 580 usually, and the access right of less PC 210 elements to easier hacker attack correspondingly is provided.Operating system 505 also can be carried out user model 580 and kernel mode 590 usually concomitantly, and can once carry out an above example of user model 580 further.
Further, operating system 505 can realize added layer of security by the secure execution environments that comprises different stage usually.
Operating system 505 can comprise not shielded execution environment 580 and shielded execution environment 570, and wherein not shielded execution environment 580 comprises the security clearance that lacks than protected execution environment 570.When operating system 505 can allow interoperability gateway 520 or hardware driver 530 to be written into protected execution environment 570 or carry out therein, operating system 505 can be forced one group of safety requirements usually.For example, safety requirements can be digital signature or other numeral trust proof of certain form.In this way, operating system 505 trusted interoperability gateway 520 or hardware driver 530, and the resource of permitting the PC 210 that this interoperability gateway 520 or 530 pairs of operating systems 505 of hardware driver are controlled has more access right.In addition, before operating system 505 permission application programs 510 are written into or carry out, operating system 505 can realize one group of less safety requirements usually, but operating system 505 can be permitted the resource of the PC 210 that 510 pairs of operating systems 505 of application program are controlled less access right is arranged.
Because hardware driver 530 not only can have been carried out but also can have been carried out in protected execution environment 570 by kernel mode 590, was gratifying so this level of security authenticates hardware device 540 to the content provider.In addition, kernel mode 590 can require it to be digitally signed and to prove trusty before hardware driver 530 can be written into and carry out with kernel mode 590, was the proof that receives from legal source thereby hardware driver 530 is provided.Notice that it also is important that the driver of only being trusted can be written into.For example, only because 530 be trusted do not solve kernel mode problem, unless other driver of all of kernel mode is also all trusted.This notion need be at some local record of this document.
Operating system 505 can realize Digital Right Management (" DRM ").The content provider trusts DRM, and the content provider can require this DRM to realize giving at this content the strategy of DRM.Whether DRM can verify content with assembly (driver and the user-mode components) use through digital signature then, and require graphdriver to carry out hardware functionality scan 220.Therefore the content provider can authenticate hardware 540 to hardware driver 530 represent content supplier and please oneself, and the content provider can replace real hardware device 540 to the emulation of hacker's hardware device 540 of no use and pleases oneself with the content of reproducting content supplier on this vulnerable point.
Although for example the real hardware device 540 of graphic hardware 545 can prevent the protection of duplicating by realizing preventing that the safety element that duplicates without permission from providing, hacker or other unwarranted third party can create the emulation of hardware device 540 and be inserted into PC 210.This counterfeit hardware device can be revealed as real hardware device 540, and next the report when the not enabled safety component enabled safety component but hacker or other unwarranted third party can make up emulates hardware devices.In doing so, for example the device driver 530 of graphdriver 535 can provide vulnerable release from content provider 110 information to counterfeit hardware device, and this counterfeit hardware device can freely be duplicated this information.
Therefore, operating system 505 can be genuine by using the driver 530 checking hardware devices 540 through signing and being trusted, and requires hardware driver 530 to use hardware abstraction layers 535 to carry out hardware functionality scan 220.Hardware functionality scan 220 can determine whether this hardware device 540 is real hardware devices, rather than the emulation of hacker's setting.In addition, in order to ensure the integrality of kernel mode 590, operating system 505 can verify that all component is loaded into kernel mode, and is signed and trust.
Hardware functionality scan 220 is normally sent to the inquiry of hardware 540 by hardware driver 530.It is unique complex hardware structure of testing hardware equipment 540 that this inquiry can be write as.This hardware device 540 can be a complex apparatus, and will to duplicate or generate correct response for the emulation of hardware device 540 be difficult.That is, the available response to these inquiries of inquiry that is made up when carrying out hardware functionality scan 220 by hardware driver 530 mode that identifies this hardware device 540 usually uniquely makes up.
In addition, hardware driver 530 can store the form 500 that it sends to the inquiry of hardware device 540.These inquiries can be accepted input data at random, and hardware driver 530 can be selected input randomly at this inquiry again.Hardware driver 530 can be made comparisons to response and its desired response that hardware 540 returns then.This comparison can directly realize from the response of hardware 540 by request, perhaps replacedly can realize indirectly by only using when hardware has produced correct response the ability success will follow the response in further the operation.If determining to respond, hardware driver 530 equates that then hardware driver 530 can be determined further that hardware device 540 is verified and be real.
In another example, hardware driver 530 can be realized the emulator 560 of arbitrary part of hardware 540.Emulator 560 can be the emulation of hardware 540, thereby hardware driver 530 can be selected a value and use this emulator 560 to carry out an operation, this identical value and request can be sent to hardware 540 then and make this hardware 540 carry out identical operations with identical value.This hardware driver 530 can be verified the result of the operation of being carried out by emulator 550 and hardware 540 then, to determine that hardware 540 is verified and to be real.
In case hardware driver 530 executeds hardware functionality scan 220 and determine that real hardware devices 540 put in place, then hardware driver 530 just can be carried out the function of authentication and checking hardware device 540, and satisfies previous described and responsibility that the content provider decides through consultation.
In another example, PC 210 can use for example interoperability gateway 520 of output protection manager 525, and the security proving that can be provided in response to the checking of using 220 pairs of hardware devices 540 of hardware functionality scan by hardware driver 530 is provided.In addition, the reduction subclass by hardware driver 530 function that provides can be provided interoperability gateway 520, thus prevent the hacker to hardware driver 530 provided but function that interoperability gateway does not provide has the access right of any kind.
Fig. 6 is the block diagram that the hardware functionality scan process that is coupled with the output protection managing software module is shown, and this output protection managing software module can send the result of hardware functionality scan to media pipeline 523.
Hardware functionality scan system can be configured to result with hardware functionality scan and send system's control content distribution such as media pipeline 523 to.This system can comprise output protection administration module 525, graphdriver 535 and graphic hardware 545.
This output protection administration module 525 can be to be used in to carry out in the protected environment of PC and module that software that the user model of available PC is carried out is realized.Output protection administration module 525 can be used as the security certificate mechanism of the security proving that receives safety certificate or other form; these security provings indicate this graphdriver 545 be trusted and carried out hardware functionality scan 220, this hardware functionality scan 220 comprises functionality scan query 410 and functionality scan response 420.In addition, can to receive indication kernel mode 590 be the safety certificate of being trusted or the security proving of other form to output protection administration module 525.Output protection administration module 525 can send the safety certificate of existence or the security proving of other form to content provider.
Graphdriver 535 is realized in conventional PC usually, so that continuing and single access graphic hardware 545 as previously mentioned to be provided.Graphic hardware 545 can be to be used for any hardware device of presenting indicated in shape or other graphical information such as PC.Graphic hardware 545 can comprise single integrated circuit (IC) chip, or can be made of the combination in any of integrated circuit (IC) chip.
Content provider's trusted graphdriver 545 is being play high-quality or high value content on the PC before, but content provider's demand graph hardware 545 is believable and proof empirical tests.The content provider may not directly communicate by letter with graphdriver 61 0, and may not determine graphdriver 545 whether executed functionality scan query 410, and whether received the functionality scan response 420 of verification pattern hardware 545.
Yet; because operating system 505 is trusted; this operating system 505 can by checking interoperability gateway 520, output protection manager 525 and hardware driver 530, graphdriver 535 be verifying of being trusted protected environment 570 is trusted, so content provider's trusted operating system 505 uses hardware functionality scans 220 to verify that before the content that may need this trust gives hardware driver 530 from interoperability gateway 520 hardware 540 is trusted to force hardware driver 530.
For example, graphdriver 535 can be created a functionality scan query 410, and this functionality scan query 410 is sent to graphic hardware 545.This functionality scan query 410 is confirmed with hardware functionality scan answer 420 that this graphic hardware 545 is legal usually and is not that the counterfeit placed for the purpose of reproducting content by the hacker or the mode of miscellaneous equipment make up.In addition, functionality scan query 410 can be taked any form, but normally with the form of the function that will be difficult to the hacker of graphic hardware 545 carry out in the zone of emulation.In addition, hardware functionality scan answer 420 can take any form to determine that graphic hardware 545 has generated suitable response independently, but normally can respond the form of the data of doing contrast with expectation.
Then, graphdriver 535 is determined hardware functionality scan answer.For example, graphdriver 535 can extract from the tracing table in being stored in graphdriver 535 and respond, perhaps graphdriver 535 can randomly or be chosen a value from a class value, and this value is passed to the inside emulation of graphic hardware 545, maybe can use its part combination.In addition, replace in the example one, graphic hardware 545 and graphdriver 535 can be arranged graphic hardware 545 and graphdriver 535 will be as the random value of inquiring about 410 input.The inside emulation that is stored in the graphic hardware 545 in the graphdriver 535 can be calculated response as the input of inner emulation with set point value then.
Then, graphic hardware 545 computing hardware functionality scans respond 420, and usually it are returned to graphdriver 535.
Graphdriver 535 determines that graphic hardware 545 hardware functionality scan answer 420 that is produced and the response that graphdriver 535 is calculated are complementary then.Equal the expectation response if graphdriver 535 is determined to respond, then graphdriver 535 can be confirmed the authenticity of graphic hardware 545.For example, graphdriver 535 can send security notice to output protection administration module 525 then.
Then, but output protection administration module 525 or graphdriver 535 storage security states reach the necessarily long time.This output protection administration module also can send request to graphdriver 535, makes graphdriver 535 send new functionality scan query 410 and comes the authenticity of verification pattern hardware 545 again.
At last, in case output protection administration module 525 has received safe condition, but the passage 660 between output protection administration module 525 demand graph drivers, 535 verification pattern drivers 535 and the graphic hardware 545.In case graphdriver 535 has been verified the passage 660 between graphdriver 535 and the graphic hardware 545; output protection administration module 525 just can be communicated by letter with the content provider; and the coupling between indicating graphic driver 535 and the graphic hardware 545 is safe, can play high-quality or shielded content.
It will be understood by those skilled in the art that being used for the memory device of stored program instruction can distribute on network.For example, remote computer can be stored an example as the process of software description.The addressable remote computer of this locality or terminal computer is also downloaded part or all of software and is moved this program.Alternately, local computer is the fragment of downloaded software as required, or by coming distributed earth to handle at local terminal operating part software instruction and at the last operating part software instruction of remote computer (or computer network).Those skilled in the art also will understand, and well known to a person skilled in the art routine techniques by utilization, and all or part of software instruction can be by realizing such as DSP, the special circuit that becomes logic array etc.

Claims (16)

1. device that is used to carry out hardware functionality scan, described device comprises:
The hardware requests assembly, described hardware requests assembly is configured to send request to carry out one group of operation to a hardware device, described hardware device comprises graphics device, in described one group of operation at least one comprises graphics calculations, and described graphics device is different from the emulation of graphics device based on the result of graphics calculations to small part;
Device authentication equipment, described device authentication equipment are configured to verify based on the result of graphics calculations whether the result of described one group of operation is consistent with the behavior of credible equipment to small part; And
Security set assembly, described security set assembly are configured to set a secure access in response to the conforming checking of described result.
2. device as claimed in claim 1 is characterized in that, the described behavior of credible equipment is through precalculated.
3. device as claimed in claim 1 is characterized in that, the described behavior of credible equipment is calculated when checking.
4. device as claimed in claim 1 is characterized in that, described one group of operation is carried out by a plurality of discrete parts of described hardware device.
5. device as claimed in claim 1 is characterized in that, described one group of operation is selected from a function set at random.
6. device as claimed in claim 1 is characterized in that, the input of described one group of operation is selected at random.
7. device as claimed in claim 1 is characterized in that, it is believable that at least a portion of described hardware device is indicated in described checking.
8. device as claimed in claim 1 is characterized in that, described one group of operation of being carried out by the part of described hardware device is that equipment manufacturers are proprietary.
9. device as claimed in claim 1 is characterized in that, described one group of operation is available to be substituted or operate through a group of expansion and cancel and upgrade.
10. method that is used to carry out hardware functionality scan, described method is carried out on CPU, and described method comprises:
Described CPU sends request with executable operations to a hardware device, and described hardware device comprises graphics device, and described operation comprises graphics calculations, and described graphics device is different from the emulation of graphics device based on the result of graphics calculations to small part;
Described CPU receives the result of request from described graphics device;
Described CPU verifies based on the result of graphics calculations whether the result of described operation is consistent with the behavior of credible equipment to small part, wherein verifies by selecting at least one value, described value being passed to described operation as parameter and described value is carried out as the software emulation that a parameter passes to described operation; And
Described result is consistent in response to checking, and described CPU sets a secure access.
11. method as claimed in claim 10 is characterized in that, described operating on a plurality of integrated circuit (IC) chip carried out.
12. method as claimed in claim 10 is characterized in that, described operating on the single integrated circuit chip carried out.
13. method as claimed in claim 10 is characterized in that, described at least one value is selected at random.
14. method as claimed in claim 10 is characterized in that, described operation is selected from one group of operation at random.
15. method as claimed in claim 10 is characterized in that, a known results is stored in the form.
16. method as claimed in claim 10 is characterized in that, described operation is that described equipment manufacturers are proprietary.
CN2006800134090A 2005-04-22 2006-03-22 Hardware functionality scan for device authentication Expired - Fee Related CN101208655B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US67397905P 2005-04-22 2005-04-22
US60/673,979 2005-04-22
US11/202,840 US7617401B2 (en) 2005-04-22 2005-08-12 Hardware functionality scan for device authentication
US11/202,840 2005-08-12
PCT/US2006/010327 WO2006115639A2 (en) 2005-04-22 2006-03-22 Hardware functionality scan for device authentication

Publications (2)

Publication Number Publication Date
CN101208655A CN101208655A (en) 2008-06-25
CN101208655B true CN101208655B (en) 2010-11-10

Family

ID=39334916

Family Applications (6)

Application Number Title Priority Date Filing Date
CN2008101897199A Expired - Fee Related CN101458749B (en) 2005-04-22 2005-08-26 Method for establishing protected environment
CN2005800495249A Expired - Fee Related CN101167296B (en) 2005-04-22 2005-08-26 Renewable and individualizable elements of a protected computing environment
CN2008101897184A Expired - Fee Related CN101458748B (en) 2005-04-22 2005-08-26 Method for loading into kernel component to establish computing environment
CN2005800495535A Expired - Fee Related CN101189615B (en) 2005-04-22 2005-08-26 Method for establishing and maintaining protected computing environment
CN2006800134090A Expired - Fee Related CN101208655B (en) 2005-04-22 2006-03-22 Hardware functionality scan for device authentication
CN2006800133721A Expired - Fee Related CN101167299B (en) 2005-04-22 2006-03-22 Linking DIFFIE HELLMAN with HFS authentication by using a seed

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN2008101897199A Expired - Fee Related CN101458749B (en) 2005-04-22 2005-08-26 Method for establishing protected environment
CN2005800495249A Expired - Fee Related CN101167296B (en) 2005-04-22 2005-08-26 Renewable and individualizable elements of a protected computing environment
CN2008101897184A Expired - Fee Related CN101458748B (en) 2005-04-22 2005-08-26 Method for loading into kernel component to establish computing environment
CN2005800495535A Expired - Fee Related CN101189615B (en) 2005-04-22 2005-08-26 Method for establishing and maintaining protected computing environment

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2006800133721A Expired - Fee Related CN101167299B (en) 2005-04-22 2006-03-22 Linking DIFFIE HELLMAN with HFS authentication by using a seed

Country Status (1)

Country Link
CN (6) CN101458749B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2747071A1 (en) * 2012-12-21 2014-06-25 Deutsche Telekom AG Display of a tamper-resistant identity indicator
US9298923B2 (en) * 2013-09-04 2016-03-29 Cisco Technology, Inc. Software revocation infrastructure
CN109983443B (en) * 2016-12-23 2024-03-08 英特尔公司 Techniques to implement bifurcated non-volatile memory flash drives
CN111159718B (en) * 2019-12-31 2022-10-28 青岛海尔科技有限公司 Method and device for bug repair and household appliance
CN114547593A (en) * 2020-11-18 2022-05-27 成都鼎桥通信技术有限公司 Terminal application authentication method, device and equipment
CN113255325B (en) * 2021-05-10 2023-05-23 成都微视联软件技术有限公司 Method for automatically calculating content of electronic document

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943248A (en) * 1997-01-17 1999-08-24 Picturetel Corporation w-bit non-linear combiner for pseudo-random number generation
CN1560743A (en) * 2004-03-11 2005-01-05 浙江大学 Cooperative simulation experimental platform of multi medium processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0534597B1 (en) * 1991-09-23 2000-04-26 Intel Corporation Computer system having software interrupt (INTN) instructions selectively operating in a virtual mode
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US6334189B1 (en) * 1997-12-05 2001-12-25 Jamama, Llc Use of pseudocode to protect software from unauthorized use
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
CN1501322A (en) * 2002-11-15 2004-06-02 上海市社会保障和市民服务信息中心上 A personalized method for making identification card adaptive for the need of issuing card in batch

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943248A (en) * 1997-01-17 1999-08-24 Picturetel Corporation w-bit non-linear combiner for pseudo-random number generation
CN1560743A (en) * 2004-03-11 2005-01-05 浙江大学 Cooperative simulation experimental platform of multi medium processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CN 1560743 A,全文.

Also Published As

Publication number Publication date
CN101458749A (en) 2009-06-17
CN101167296A (en) 2008-04-23
CN101167299A (en) 2008-04-23
CN101189615B (en) 2010-06-09
CN101189615A (en) 2008-05-28
CN101208655A (en) 2008-06-25
CN101458748A (en) 2009-06-17
CN101458749B (en) 2012-05-30
CN101167296B (en) 2012-09-26
CN101458748B (en) 2011-12-07
CN101167299B (en) 2011-10-19

Similar Documents

Publication Publication Date Title
US9436804B2 (en) Establishing a unique session key using a hardware functionality scan
CN103051451B (en) The encryption certification of safe managed execution environments
CN100424677C (en) Media path protection method, system and architecture system
US8065521B2 (en) Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US7617401B2 (en) Hardware functionality scan for device authentication
US7213266B1 (en) Systems and methods for managing and protecting electronic content and applications
CN102622555B (en) Security system for computing resources pre-releases
AU2006200096B2 (en) Flexible licensing architecture in content rights management systems
KR101169116B1 (en) Linking diffie hellman with hfs authentication by using a seed
US20020012432A1 (en) Secure video card in computing device having digital rights management (DRM) system
CN109978688A (en) The access control method and its contract generator and server of distributed common recognition system
Gürgens et al. Security evaluation of scenarios based on the TCG’s TPM specification
CN101208655B (en) Hardware functionality scan for device authentication
CN105659211A (en) Virtual machine manager facilitated selective code integrity enforcement
EP3804213A1 (en) Shared secret establishment
CN101523398A (en) Method and system for managing access to add-on data files
CN103902477A (en) 3D cloud lock
JP7223067B2 (en) Methods, apparatus, electronics, computer readable storage media and computer programs for processing user requests
US20060015860A1 (en) System and method for storing attributes in a file for processing an operating system
CN113592497A (en) Financial transaction service security authentication method and device based on block chain
US20060015723A1 (en) System and method for authorizing the use of stored information in an operating system
CN110352411A (en) Method and apparatus for controlling the access to safe computing resource
Ellison et al. Extending AADL for security design assurance of cyber-physical systems
CN117337435A (en) Method for trading digital assets
CN113987561A (en) Trusted execution environment-based private data classification method, system and terminal

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101110

Termination date: 20190322

CF01 Termination of patent right due to non-payment of annual fee