CN101149773A - Software real name authentication system and its safe checking method - Google Patents

Software real name authentication system and its safe checking method Download PDF

Info

Publication number
CN101149773A
CN101149773A CNA200710147560XA CN200710147560A CN101149773A CN 101149773 A CN101149773 A CN 101149773A CN A200710147560X A CNA200710147560X A CN A200710147560XA CN 200710147560 A CN200710147560 A CN 200710147560A CN 101149773 A CN101149773 A CN 101149773A
Authority
CN
China
Prior art keywords
software
authentication
identification
executable
file
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.)
Pending
Application number
CNA200710147560XA
Other languages
Chinese (zh)
Inventor
王克
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.)
CHINESE PLA AIR FORCE ELECTRONIC TECHNOLOGY INSTITUTE
Original Assignee
CHINESE PLA AIR FORCE ELECTRONIC TECHNOLOGY INSTITUTE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHINESE PLA AIR FORCE ELECTRONIC TECHNOLOGY INSTITUTE filed Critical CHINESE PLA AIR FORCE ELECTRONIC TECHNOLOGY INSTITUTE
Priority to CNA200710147560XA priority Critical patent/CN101149773A/en
Publication of CN101149773A publication Critical patent/CN101149773A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention relates to a system based on software real-names and its safety verification method, the system comprises software concentrator marker used to add software identification for authorized software, software certification device used to identify if the software identification of executable file in system was legal, the software concentrator marker and software certification device were saved in the disk of the computer. The method is: when the Windows operating system runs the loader will first deal with the target document, in this process, the software certification device of the software real-name certification system break in the loading process of Windows executable programs, thus transfer to the software certification device to identify and inspect, finally install and use through certificated executable file. The invention can prevent operation of unauthorized malicious code, prevent malicious code change authorized executable code on the disk, avoid malicious code revise the running executable code in memory, identify malicious acts individual software manufacturers.

Description

A kind of system and safe checking method thereof based on the authentication of software real name
Technical field
The present invention relates to a kind of computer software and computer run safe checking method thereof, refer in particular to a kind of computer software and computer run safe checking method thereof, belong to the computer security technique field based on the authentication of software real name.
Background technology
Current, the harm of the virus of the last constantly upgrading of Internet, wooden horse, spyware, ad ware etc. uses network to cause great inconvenience and safety puzzlement to numerous enterprises and individuals user.By research, current most malicious codes can be classified as following two classes: 1. legal procedure is changed, allowed it contain and carry out certain and destroy function, as program self-destruction or disk self-destruction; 2. utilize the function and the authority of legal procedure, illegally obtain or distort system resource and sensitive data, carry out system's invasion.
The anti-virus scheme that generally adopts mainly comprises now: 1. palpus start-up by hand is perhaps started by an automated session and carries out.After the startup, generally can in whole driver or system, search virus, comprise memory ram and memory devices such as hard disk, floppy disk; 2. in the program of system's running background.Their generally initialization in system start-up keep the state that activates then in internal memory.In case when the file access activity was arranged, the interception of the scanning sequence of RAM resident was called file, and whether virus is arranged in the viewing files, just allows the file graftabl then.The defective of above method is that anti-virus software can only prevent the detected virus of this software energy, can not diagnose the new virus that maybe can not remove then powerless to some, because virus produces formerly, clinical means after, the means of killing virus are always followed in the development of the back of some new virus.The user wants to detect new virus needs often to upgrade virus base, needs to buy the anti-virus software of redaction in case of necessity even also.
Because the defective of above-mentioned prior art, those skilled in the art are through continuous experimental study, finally invent out a kind of system based on the authentication of software real name, in this system's embeddeding computer internal memory, invented a kind of safe checking method simultaneously based on this system, before computing machine carries out the software installation, authentication is installed earlier, to judge its whether safety, can install, stop because wrong or click installation procedure because of carelessness and install with this, and the potential safety hazard of bringing to computing machine.
Summary of the invention
The objective of the invention is to propose a kind of system that realizes software real name Software Real Name (SRN) authentication by software integrity protection and digital signature technology.Explanation is around here, said software real name among the present invention (Software Real Name-SRN) is meant that the cryptographic digital signatures technology that uses public-key binds computer software and its organizer's identity, and realizes the authentication to computer software in computing environment.
Another object of the present invention is to propose a kind of security of system checking method based on the authentication of software real name.
For achieving the above object, the technical solution used in the present invention is as follows:
A kind of system based on the authentication of software real name, whether legal this system be included as software identification the software authentication device SAM that the software that is authorized to adds executable file in software identification concentrator marker SIM, the checking system, and described software identification device SIM and software authentication device SAM are kept in the computer disk.
Described system based on the authentication of software real name, described software identification device SIM is kept in the computer disk respectively with the form of dynamic link library file with form, the software authentication device SAM of executable file.
Described system based on the authentication of software real name, described software identification device SIM comprise the certification authority A1 that is responsible for software marker's distribution and safeguards the digital certificate that its identity and public key information are bound mutually, be responsible for examining and authorizing the installation and the use of a certain software, the public key information of the digital digest of the executable code of this software and corresponding software marker is saved in the software registration center A2 in the software license tabulation of goal systems, software marker carries out the software identification maker A3 of digest to the executable file of the software worked out with its private key, software identification is joined the software identification adder A4 in the executable file of corresponding software.
Described system based on software real name authentication, described software authentication device SAM comprise authentication trigger B1, be responsible for the certification authority B2 of the legitimacy of check software marker certificate, be responsible for providing the software license tabulation B3 of software registration information and the corresponding organizer's of software certificate, when confirming after software is in licence list, utilizing the PKI that provides in software marker's certificate to check the software authentication device B4 of the legitimacy of the Digital ID SI in the software.
Described system based on the authentication of software real name, described software authentication device SAM comprises static authentication and two kinds of patterns of dynamic authentication, executable file in the described static software authentication device assurance system is all through software identification device sign, and this process memory-resident scans the data in system disk and the internal memory by user's designated time intervals; Described dynamic software authenticator exists with the form of dynamic link library, described software authentication device SAM is when verifying software sign SI, thereby need the joint at first positioning software sign SI place to obtain software identification SI, when software authentication device SAM is proved to be successful, return according to former entry address parameter, thereby the process that makes continues to carry out, and described software authentication device SAM code must not be made amendment to file destination, thereby the assurance process can correctly continue to carry out.
Described system based on the authentication of software real name, described software authentication device SAM comprises local authentication and two kinds of patterns of remote authentication, when carrying out local authentication, the user downloads to the software license tabulation on the local main frame, when carrying out the software installation, the software license tabulation of directly calling in the local host authenticates; When carrying out remote authentication, the user is by the long-range trusted servers of network real-time visit, the software license tabulation is inquired about, determine that software to be certified is registered, and obtain the digital digest of this software executable, and the digital certificate of manufacturer, and then verify the integrality and the legitimacy of this software to this machine.
A kind of safe checking method based on the authentication of software real name, this method mainly is when the Windows operating system, the first processing target file of loader meeting, in the processing of file destination, the software authentication device SAM of software real name Verification System interrupts the Windows executable program and loads flow process, thereby software authentication device SAM is handed in control, by software identification device SIM, the cryptographic digital signatures that uses public-key technology is bound computer software and its organizer's identity, and in computing environment, realize authentication to computer software by software authentication device SAM, at last, install and use by the executable file of checking.
Described safe checking method based on the authentication of software real name, the ultimate principle of described software identification device SIM is as follows:
Step1: the A of manufacturer is in the application of certification authority CA center and obtain its public and private key to PbK A, PK AWith with the certificate Cert of its identity and PKI binding A
Step2: the A of manufacturer is in the application of software registration center and obtain the mandate that software S installs and moves in goal systems, with (H (F S), Cert A) be saved in the software license tabulation of goal systems, the software license tabulation can be left goal systems this locality in, or leaves concentratedly on certain long-range trusted servers;
Step3: the A of manufacturer generates software identification by software identification SI maker SI = ( H ( F S ) ) P K A , And in executable file, add a new joint, and inserting software identification SI information, the FS ' that obtains at last=FS||SI is the software executable of being with software identification SI.
Described safe checking method based on the authentication of software real name in the process of carrying out software authentication, need be made amendment to loader, with the legitimacy of judgement executable code, and then determines it to have or not the operation qualification, and its concrete operation steps is as follows:
When Step1. loader loads executable code S, earlier to executable file F s', wherein, executable file F s' do not comprise that the software identification process adds the part F of software identification SI s, calculate digital digest H (F S);
Step2. in the software license tabulation of Local or Remote server, inquire about H (F S) pairing list item, if exist then enter Step3; Otherwise illustrate that software is unregistered or distorted, forbid this running software;
Step3. check corresponding H (F in the software license tabulation by the root certificate and the certificate revocation list at certification authority CA center S) the legitimacy of software marker's certificate, if by would enter Step4; Otherwise illustrate that certificate is invalid, expired or cancelled, forbid this running software;
Step4. obtain executable file F s' in software identification SI, and utilize PKI PbK on the corresponding software marker digital certificate that inquiry obtains A, use digital signature identification algorithm (SI) PbKA -1The legitimacy of check software identification SI; If pass through, then certifying software sign SI is legal, and loader reads executable file head information immediately, for executable file distributes address space, reads in executable file to address space, carries out reorientation, set, and the program that brings into operation; Otherwise, illustrate that software identification SI is illegal, the software operation that will be under an embargo.
Use beneficial effect of the present invention to be:
The present invention can stop the unauthorized malicious code operation effectively, can discern the malicious act of indivedual software markers, also can prevent the executable code that the malicious code modification has been authorized to.Make a concrete analysis of as follows:
1) stops the unauthorized malicious code operation.
The user may be when using network, in unintentionally with the malicious code implant system.But, i.e. can not exist in the software license tabulation and list item that the summary of this malicious code is complementary, so malicious code can be authenticated by static state in time or dynamic authentication is discerned, and can not get moving chance because malicious code is uncommitted in advance.
2) prevent that malicious code from revising the executable code that has been authorized on the disk.
Thereby some malicious codes might make and self obtain carrying out chance by distorting executable file.But software real name authentication meeting is advanced line number word digests match before any executable file operation, to guarantee the integrality of executable file.
3) prevent that malicious code from revising the executable code that is moving in the internal memory.
Wherein, 1) in, 2) can the assurance system all running executable codes be authorized and without what distort, this means to exist malicious process to revise the executable code that is moving in the internal memory.
4) malicious act of the indivedual software markers of identification.
Indivedual software markers for certain purpose, may insert malicious code in the own software of being produced that has been authorized to.Software real name authentication can be traced the executable file of " accident " by system journal or other means after malicious act takes place, and discerns this software marker by SI and software license tabulation, and it is investigated certain responsibility.
This mechanism runs on PKI (Public KeyInfrastructure) system that the manufacturer's identity to software authenticates.Typical PKI protects the transmission and the reception of information security: certification authority CA by integrated following element; The RA of registration body; The certificate catalogue; Management agreement; Policy and process (assisting mechanism to use and the management certificate, standard legal liabilities and obligation, and actual business application).
Description of drawings
Figure 1A is employed PE file structure synoptic diagram among the present invention;
Figure 1B is employed PE top of file form synoptic diagram among the present invention;
Fig. 2 is the ultimate principle figure of software identification device of the present invention;
Fig. 3 is the ultimate principle figure of software verification device of the present invention;
Embodiment
Below by specific embodiment in addition accompanying drawing the present invention is described in detail.
At first explanation is: in modem computer systems, source program is handled via compiler and assembler, generates file destination, and a plurality of file destinations are merged into an executable file via linker again.PortableExecutable (PE) is the destination file format that Windows NT technology is adopted.Windows executable file (.exe) or dynamic link library file (.dll) are all stored with the PE form, so, mainly proposed a kind of software real name mechanism implementation in this instructions, and security of system is analyzed and discussed towards Windows operating system based on analysis to Portable Executable (PE) file layout in the Windows NT technology and loading procedure.Shown in Figure 1A, 1B, the loader of operating system can be handled the PE file during execution, thereby code, data, the resource of program is loaded in the internal memory.Therefore, in Windows operating system, realize security mechanism based on software authentication, the key problem that exists is: how the authentication trigger interrupts the windows executable program and loads flow process, thereby the software authentication device is handed in control, so, the process that needs analysis PE file layout and PE file start to move:
As Figure 1A, be employed PE file structure synoptic diagram among the present invention; In the PE file, generally include PE head 1, joint table 2, joint district 3 and option 4 three parts.In option 4, be divided into capable number of COFF, COFF symbol table, Debugging message three major types again.In joint district 3, contain a lot of files, comprise all codes that " joint " of following several types: .text joint is deposited compiler or assembler generation usually; .data joint is deposited data such as global variable that compiling the time composed initial value and static variable; .bss joint is deposited not initial static state and global variable; .rsrc joint is deposited the resource that program will be used; .idata joint is deposited function that program will import or data for information about from other dll file, each DLL uses an IMAGE_IMPORT_DESCRIPTOR structure to describe, and the array that this structure comprises an IMAGE_IMPORT_BY_NAME structure of pointed illustrates the position of the symbol that needs import; .edata joint is deposited the function that this PE file can derive to other module and the relevant information of data, has only usually to comprise the .edata joint in the .dll file.The similar jump list of joint table 2, indicated the start address of all joint Section thereafter, it illustrates the title (Name territory) of this joint for every joint provides an IMAGE_SECTION_HEADER structure, this joint is mapped to the offset address (VirtualAddress territory) in the internal memory, the size of this joint information such as (SizeOfRawData territories).
And PE head 1 structure is employed PE top of file form synoptic diagram among the present invention shown in Figure 1B; The head reference position of PE file is that a bit of DOS program DOS stub guarantees can obtain miscue when the Win32 program is carried out in non-Win32 environment, be the signature field SignatureField of a DWORD type afterwards, distinguish PE, NE and LE file, thereby provide the characteristic of back compatible, the IMAGE_FILE_HEADER structure is positioned at after the signature field, be used to deposit some essential informations, for example can move the cpu type of this PE file, the number of joint section, linker generates the time of this PE file, the number of symbols in the COFF symbol table etc.
Last also is that a most key part is called IMAGE_OPTIONAL_HEADER, this structure has comprised the important information of PE file, the AddressOfEntryPoint territory, entry address that comprises executable code, start offset address and the big or small BaseOfCode territory and the SizeOfCode territory of code joint, the start offset address of data section and big or small BaseOfData territory and SizeOfData territory, executable program in internal memory with mapped destination address ImageBase territory, the CRC check of this PE file and CheckSum territory, initial thread storehouse retaining space size SizeOfHeapReserve territory and SizeOfStackReserve territory, initial thread storehouse initial space size SizeOfStackCommit territory and SizeOfStackCommit territory, the start offset address DataDirectory territory of pith such as derivative function table .edata joint and importing function table .idata joint etc. in the PE file.
Wherein, the startup operational process of file destination PE executable program may further comprise the steps:
At first, read in the PE head and the Jie Biao of file;
Then, determine whether the target address space is available,, then distribute a zone 111 if unavailable;
The 3rd, the offset address information according to PE head and Jie Biao are provided is mapped to all joints in the file on the appropriate location of address space;
The 4th, determine whether file is loaded in the destination address, if also do not have, then carry out reorientation;
The 5th, traversal imports the DLL tabulation in the joint (.idata joint), recursively loads the storehouse that does not load as yet;
The 6th, resolve all importing symbols in importing joint (.idata joint);
The 7th, create initial storehouse according to the PE header information;
At last, create initial thread and start this process, begin from specified entry address, PE head AddressOfEntryPoint territory to carry out.
Need to prove when certain function in the process transfer external dynamic chained library, compiler is as follows in the command adapted thereto form that the .text section produces: JMP DWORD PTR[XXXXXXXX], the entry address of this function in current operation system and pointed in the address of this JMP instruction redirect of wanting in .idata saves.
After having introduced the present invention's application in the prior art, introduce core technology content of the present invention below.The core component of software real name SRN security of system mechanism comprises software identification model SIM (SoftwareIdentification Model) and software authentication model SAM (Software AuthenticationModel).SIM is that the software that is authorized to adds software identification SI (Software Identification), whether SAM is then legal with the software identification SI of executable file in the static and dynamic dual mode checking system, thereby guarantee all codes that moved be through mandate and do not distorted, make and can before new virus works the mischief, find and stop it.Can predict, to move, function such as multiple access has in the Next Generation Internet of great demand, particularly in the military field of information networks of high demand for security, the authentication of software real name will be played the part of the role who becomes more and more important.This system runs on PKI (Public KeyInfrastructure) system that the manufacturer's identity to software authenticates.Typical PKI protects the transmission and the reception of information security: certification authority CA by integrated following element; The RA of registration body; The certificate catalogue; Management agreement; Policy and process.
The system that the present invention proposes based on the authentication of software real name, whether legal this system be included as software identification the software authentication device SAM that the software that is authorized to adds executable file in software identification concentrator marker SIM, the checking system, and described software identification device SIM and software authentication device SAM are kept in the computer disk.The safe checking method that the present invention proposes based on the authentication of software real name, this method mainly is when the Windows operating system, the first processing target file of loader meeting, in the processing of file destination, the software authentication device SAM of software real name Verification System interrupts the Windows executable program and loads flow process, thereby software authentication device SAM is handed in control, by software identification device SIM, the cryptographic digital signatures that uses public-key technology is bound computer software and its organizer's identity, and in computing environment, realize authentication to computer software by software authentication device SAM, at last, install and use by the executable file of checking.
Described software identification device SIM is kept in the computer disk respectively with the form of dynamic link library file with form, the software authentication device SAM of executable file.
Described software identification device SIM comprises the certification authority A1 that is responsible for software marker's distribution and safeguards the digital certificate that its identity and public key information are bound mutually, be responsible for examining and authorizing the installation and the use of a certain software, the public key information of the digital digest of the executable code of this software and corresponding software marker is saved in the software registration center A2 in the software license tabulation of goal systems, software marker carries out the software identification maker A3 of digest to the executable file of the software worked out with its private key, software identification is joined the software identification adder A4 in the executable file of corresponding software.
The ultimate principle of described software identification device SIM is as follows: as shown in Figure 2,
Step1: the A of manufacturer is in the application of certification authority CA center and obtain its public and private key to (PbK A, PK A) and with the certificate (Cert of its identity and PKI binding A);
Step2: the A of manufacturer is in the application of software registration center and obtain the mandate that software S installs and moves in goal systems, with (H (F S), Cert A) be saved in the software license tabulation of goal systems, the software license tabulation can be left goal systems this locality in, or leaves concentratedly on certain long-range trusted servers;
Step3: the A of manufacturer generates software identification by software identification SI maker SI = ( H ( F S ) ) P K A , And in executable file, add a new joint, and inserting software identification SI information, the FS ' that obtains at last=FS||SI is the software executable of being with software identification SI.
Wherein, CA center: be responsible for software marker's distribution and safeguard the digital certificate that its identity and public key information are bound mutually; Software registration center: be responsible for audit and authorize the installation and the use of a certain software, and the digital digest of the executable code of this software and the public key information of corresponding software marker are saved in the software license tabulation of goal systems; The SI maker: software marker carries out digest with its private key to the executable file of the software worked out by the SI maker, and this signature is exactly the software identification SI of this software correspondence; The SI adder: software marker joins SI in the executable file of corresponding software by the SI adder.
In conjunction with the explanation of front, introduce the implementation of software identification device SIM again to the application of invention software real name Verification System in file destination:
Step1. be that the pairing dynamic link library of software authentication device generates the IMAGE_IMPORT_DESCRIPTOR structure, and during the .idata that joins the PE file of the software that will identify saves;
Step2. the value that keeps AddressOfEntryPoint territory in the current PE head, and in the .text joint, add code, make and start the dynamic software authenticator, and the value in the former AddressOfEntryPoint territory that kept imported into as parameter, the code that is added will be used as new AddressOfEntryPoint;
Step3. come software for calculation to identify according to the software identification algorithm and newly save section as one to join in the PE file, the calculating of software identification does not rely on PE header field of being changed and the thresholding that saves list area in identification procedure;
Step4. calculate to change start offset address .idata joint and the length of .text joint of each joint of back, new entry address AddressOfEntryPoint, and CRC check and, and upgrade the domain of dependence among PE head and the Jie Biao.
A common executable file can import the function in the dynamic link library of many third parties exploitation, and the executable file of these dynamic link libraries also must be comprised the identification procedure of above step by its supplier.
For shell script, then script text to be asked for digital digest, and sign, step is the same substantially, repeats no more.
Below, introduce principle and the implementation of software authentication device SAM:
As shown in Figure 3, described software authentication device SAM comprise authentication trigger B1, be responsible for the legitimacy of check software marker certificate certification authority B2, be responsible for providing the software license tabulation B3 of software registration information and the corresponding organizer's of software certificate, when confirming after software is in licence list, utilizing the PKI that provides in software marker's certificate to check the software authentication device B4 of the legitimacy of the Digital ID SI in the software.Wherein, the authentication trigger: when adopting static authentication, can be by the mode triggering authentication of manual operation, or by timer is set, the timing triggering authentication, when adopting dynamic authentication, meeting triggering authentication when the executable file loader begins to read executable file head information; CA center: the legitimacy of being responsible for check software marker certificate; Software license tabulation: the certificate of being responsible for providing software registration information and the corresponding organizer of software; Software authentication device: after confirming that software is in licence list, utilize the PKI that provides in software marker's certificate to check the legitimacy of the Digital ID SI in the software.
Described software authentication device SAM comprises static authentication and two kinds of patterns of dynamic authentication, executable file in the described static software authentication device assurance system is all through software identification device sign, and this process memory-resident scans the data in system disk and the internal memory by user's designated time intervals; Static checking refers to that operating system or user's timing or not timing ground scan and authenticate the executable file on the host disk, to guarantee security of system, when executable file on finding hard disk or the executable code in the internal memory, carry out following steps:
Step1. positioning software identifies the joint at place.If there is no, then report to the police, and isolate this document, finish this circulation and scan next file, otherwise enter Step2;
Step2. press digital signature identification algorithm (SI) PbKA -1Check whether software identification is legal, if illegal, then report to the police, and isolate this document, finish this circulation and scan next file; Otherwise enter Step3;
Step3. find the AddressOfEntryPoint territory of file destination PE head, check whether its value points to the entry address of dynamic software authenticator, and check whether the .idata joint of PE file has imported the DLL storehouse of dynamic software authenticator.If not, then report to the police, and isolate this document, finish this circulation and scan next file; Otherwise think that this document passes through scanning, finishes this circulation and scans next file.
If consider that from the angle that improves authentication efficient Step1 and Step2 can omit, such cost is to find that the time chance of Malware is pushed late when moving.
Described dynamic software authenticator exists with the form of dynamic link library, described software authentication device SAM is when verifying software sign SI, thereby need the joint at first positioning software sign SI place to obtain software identification SI, when software authentication device SAM is proved to be successful, return according to former entry address parameter, thereby the process that makes continues to carry out, and described software authentication device SAM code must not be made amendment to file destination, thereby the assurance process can correctly continue to carry out.Dynamic authentication refers to that the core resident software authentication program can carry out the real name authentication to the executable file of this process correspondence comprising installation procedure before all interior process initiations, thereby guarantee that this process is in advance through authorizing, and without distorting.
Software authentication is based on PKI and allow software matrix to realize, and is divided into local authentication and two kinds of forms of remote authentication.When carrying out local authentication, the user downloads to software license tabulation on the local main frame, or the mirror image of downloading from trusted servers, is carrying out software when installing, the software license tabulation of directly calling in the local host authenticates, and verification process is all finished in this locality; When carrying out remote authentication, the user must visit long-range trusted servers by network real-time, the software license tabulation is inquired about, determine that software to be certified is registered, and obtain the digital digest of this software executable, and the digital certificate of manufacturer, and then verify the integrality and the legitimacy of this software to this machine.Some requires high application scenario to confidentiality in military field, need carry out the unique controllability of remote authentication with safeguards system.
Explanation is around here, in the process of carrying out software authentication, need make amendment to loader, judging the legitimacy of executable code, and then determines it to have or not the operation qualification, and the concrete operation steps of described software authentication device SAM is as follows:
When Step1. loader loads executable code S, earlier to executable file F s', wherein, executable file F s' do not comprise that the software identification process adds the part F of software identification SI s, calculate digital digest H (F S);
Step2. in the software license tabulation of Local or Remote server, inquire about H (F S) pairing list item, if exist then enter Step3; Otherwise illustrate that software is unregistered or distorted, forbid this running software;
Step3. check corresponding H (F in the software license tabulation by the root certificate and the certificate revocation list at certification authority CA center S) the legitimacy of software marker's certificate, if by would enter Step4; Otherwise illustrate that certificate is invalid, expired or cancelled, forbid this running software;
Step4. obtain executable file F s' in software identification SI, and utilize PKI PbK on the corresponding software marker digital certificate that inquiry obtains A, use digital signature identification algorithm (SI) PbKA -1The legitimacy of check software identification SI; If pass through, then certifying software sign SI is legal, and loader reads executable file head information immediately, for executable file distributes address space, reads in executable file to address space, carries out reorientation, set, and the program that brings into operation; Otherwise, illustrate that software identification SI is illegal, the software operation that will be under an embargo.
For shell script, then finish above-mentioned steps by corresponding interpreter.
Following table is the definition example table 1 to some symbols that occur in this instructions, supplies control reference:
Table 1
Symbol Implication
H(msg) PK A PbK A (msg) K (msg) K -1 Cert A F S Asking the PKI of private key A of the digital digest A of message m sg to utilize Digital Signature Algorithm that message msg is signed with key k utilizes Digital Signature Algorithm message msg to be carried out the executable file of the certificate software S of signature authentication A with key k

Claims (9)

1. system based on software real name authentication, it is characterized in that, whether legal this system be included as software identification the software authentication device (SAM) that the software that is authorized to adds executable file in software identification concentrator marker (SIM), the checking system, and described software identification device (SIM) and software authentication device (SAM) are kept in the computer disk.
2. the system based on the authentication of software real name according to claim 1 is characterized in that described software identification device (SIM) is kept in the computer disk respectively with the form of dynamic link library file with form, the software authentication device (SAM) of executable file.
3. the system based on the authentication of software real name according to claim 1 and 2, it is characterized in that described software identification device (SIM) comprises the certification authority (A1) that is responsible for software marker's distribution and safeguards the digital certificate that its identity and public key information are bound mutually, be responsible for examining and authorizing the installation and the use of a certain software, the public key information of the digital digest of the executable code of this software and corresponding software marker is saved in the software registration center (A2) in the software license tabulation of goal systems, software marker carries out the software identification maker (A3) of digest to the executable file of the software worked out with its private key, software identification is joined the software identification adder (A4) in the executable file of corresponding software.
4. the system based on the authentication of software real name according to claim 1 and 2, it is characterized in that described software authentication device (SAM) comprises authentication trigger (B1), be responsible for the certification authority (B2) of the legitimacy of check software marker certificate, be responsible for providing the software license tabulation (B3) of software registration information and the corresponding organizer's of software certificate, when confirming after software is in licence list, utilizing the PKI that provides in software marker's certificate to check the software authentication device (B4) of the legitimacy of the Digital ID SI in the software.
5. according to claim 1 or 4 described systems based on the authentication of software real name, it is characterized in that, described software authentication device (SAM) comprises static authentication and two kinds of patterns of dynamic authentication, executable file in the described static software authentication device assurance system is all through software identification device sign, and this process memory-resident scans the data in system disk and the internal memory by user's designated time intervals; Described dynamic software authenticator exists with the form of dynamic link library, described software authentication device (SAM) is when verifying software sign (SI), need first positioning software sign (SI) thereby the joint at place acquisition software identification (SI), when software authentication device (SAM) when being proved to be successful, return according to former entry address parameter, thereby the process that makes continues to carry out, and described software authentication device (SAM) code must not be made amendment to file destination, thereby the assurance process can correctly continue to carry out.
6. according to claim 1 or 4 described systems based on the authentication of software real name, it is characterized in that, described software authentication device (SAM) comprises local authentication and two kinds of patterns of remote authentication, when carrying out local authentication, the user downloads to the software license tabulation on the local main frame, when carrying out the software installation, the software license tabulation of directly calling in the local host authenticates; When carrying out remote authentication, the user is by the long-range trusted servers of network real-time visit, the software license tabulation is inquired about, determine that software to be certified is registered, and obtain the digital digest of this software executable, and the digital certificate of manufacturer, and then verify the integrality and the legitimacy of this software to this machine.
7. safe checking method based on software real name authentication, this method mainly is when the Windows operating system, the first processing target file of loader meeting, it is characterized in that, in the processing of file destination, the software authentication device (SAM) of software real name Verification System interrupts the Windows executable program and loads flow process, thereby software authentication device (SAM) is handed in control, by software identification device (SIM), the cryptographic digital signatures that uses public-key technology is bound computer software and its organizer's identity, and in computing environment, realize authentication to computer software by software authentication device (SAM), at last, install and use by the executable file of checking.
8. the safe checking method based on the authentication of software real name according to claim 7 is characterized in that the ultimate principle of described software identification device (SIM) is as follows: (Fig. 2)
Step1: manufacturer (A) is in the application of certification authority (CA) center and obtain its public and private key to (PbK A, PK A) and with the certificate (Cert of its identity and PKI binding A);
Step 2: manufacturer (A) is in the application of software registration center and obtain the mandate that software (S) is installed and moved in goal systems, with (H (F S), Cert A) be saved in the software license tabulation of goal systems, the software license tabulation can be left goal systems this locality in, or leaves concentratedly on certain long-range trusted servers;
Step 3: manufacturer (A) generates software identification by software identification (SI) maker SI = ( H ( F S ) ) PK A , And in executable file, add a new joint, and inserting software identification (SI) information, the FS ' that obtains at last=FS||SI is the software executable of being with software identification (SI).
9. the safe checking method based on the authentication of software real name according to claim 7, it is characterized in that, in the process of carrying out software authentication, need make amendment to loader, to judge the legitimacy of executable code, and then determining it to have or not the operation qualification, its concrete operation steps is as follows: (Fig. 3)
When Step 1. loaders load executable code (S), earlier to executable file (F s'), wherein, executable file (F s') do not comprise the part (F of software identification software identification that process is added (SI) s), calculate digital digest (H (F S)):
Step 2. is inquiry (H (F in the software license tabulation of Local or Remote server S)) pairing list item, if exist then enter Step 3; Otherwise unregistered or own being distorted of software is described, forbids this running software;
Step 3. checks corresponding (H (F in the software license tabulation by the root certificate and the certificate revocation list at certification authority (CA) center S)) the legitimacy of software marker's certificate, if by would enter Step 4; Otherwise illustrate that certificate is invalid, expired or cancelled, forbid the place near the steps running software;
Step 4. obtains executable file (F s') in software identification (SI), and utilize PKI (PbK on the corresponding software marker digital certificate that inquiry obtains A), use digital signature identification algorithm (SI) PbKA -1The legitimacy of check software identification (SI); If pass through, then certifying software sign (SI) is legal, and loader reads executable file head information immediately, for executable file distributes address space, reads in executable file to address space, carries out reorientation, set, and the program that brings into operation; Otherwise, illustrate that software identification (SI) is illegal, the software operation that will be under an embargo.
CNA200710147560XA 2007-08-27 2007-08-27 Software real name authentication system and its safe checking method Pending CN101149773A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA200710147560XA CN101149773A (en) 2007-08-27 2007-08-27 Software real name authentication system and its safe checking method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA200710147560XA CN101149773A (en) 2007-08-27 2007-08-27 Software real name authentication system and its safe checking method

Publications (1)

Publication Number Publication Date
CN101149773A true CN101149773A (en) 2008-03-26

Family

ID=39250296

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200710147560XA Pending CN101149773A (en) 2007-08-27 2007-08-27 Software real name authentication system and its safe checking method

Country Status (1)

Country Link
CN (1) CN101149773A (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045367A (en) * 2011-01-10 2011-05-04 软库创投(北京)科技有限公司 Registration method and authentication server of real-name authentication
CN102065026A (en) * 2010-12-21 2011-05-18 百度在线网络技术(北京)有限公司 Device and method for authenticating object to be loaded
CN102831338A (en) * 2012-06-28 2012-12-19 北京奇虎科技有限公司 Security detection method and system of Android application program
CN103718183A (en) * 2011-07-25 2014-04-09 阿尔卡特朗讯 Software run-time provenance
WO2014153760A1 (en) * 2013-03-28 2014-10-02 Irdeto B.V. Detecting exploits against software applications
CN104331308A (en) * 2014-10-30 2015-02-04 章立春 PE program file loading and execution method
CN104348616A (en) * 2013-07-26 2015-02-11 中国移动通信集团公司 Method for visiting terminal security component, device thereof and system thereof
CN104580161A (en) * 2014-12-17 2015-04-29 中国电子科技集团公司第十五研究所 Security-identity-document-based real-name software authentication method and device
CN104601551A (en) * 2014-12-25 2015-05-06 重庆森鑫炬科技有限公司 Security verification system for software product
CN104901794A (en) * 2014-03-06 2015-09-09 苹果公司 Revocation of root certificates
CN105450626A (en) * 2015-09-08 2016-03-30 陈鸣 Network authentication system and method with software definition
CN105989306A (en) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 File signature method and device of operating system and file verification method and device of operating system
WO2016165215A1 (en) * 2015-04-15 2016-10-20 中兴通讯股份有限公司 Method and apparatus for loading code signing on applications
CN106161028A (en) * 2015-04-17 2016-11-23 国民技术股份有限公司 Safety chip, communication terminal and the method improving communication security
CN106650448A (en) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 Control method and device for executable files
CN107491690A (en) * 2017-07-28 2017-12-19 宁波保税区攀峒信息科技有限公司 It is a kind of comprising executable code need to be by file security stowage that respective application software loading is handled
CN107545180A (en) * 2017-07-28 2018-01-05 宁波保税区攀峒信息科技有限公司 A kind of secure browser browsing method
CN107688730A (en) * 2017-07-28 2018-02-13 宁波保税区攀峒信息科技有限公司 A kind of executable file method for safe operation
CN108989042A (en) * 2017-05-31 2018-12-11 恩德莱斯和豪瑟尔分析仪表两合公司 For authorizing the method for updating automatic technology field device
CN110050273A (en) * 2016-08-01 2019-07-23 数据输入输出公司 The program of device generated using system
CN110244979A (en) * 2018-03-09 2019-09-17 腾讯科技(深圳)有限公司 A kind of file acquisition method and its equipment
CN110245466A (en) * 2019-06-19 2019-09-17 苏州科达科技股份有限公司 Software integrity protection and verification method, system, equipment and storage medium
CN110826066A (en) * 2019-10-30 2020-02-21 腾讯科技(深圳)有限公司 Code abstract generation method and device and computer storage medium
WO2020210983A1 (en) * 2019-04-16 2020-10-22 华为技术有限公司 Method for operational check of software program, electronic device and storage medium
CN112270010A (en) * 2020-11-17 2021-01-26 上海好连网络科技有限公司 Method for remotely and safely loading executable file
CN112292678A (en) * 2019-01-04 2021-01-29 百度时代网络技术(北京)有限公司 Method and system for validating a kernel object to be executed by a data processing accelerator of a host system
US11824847B2 (en) 2016-08-01 2023-11-21 Data I/O Corporation Device programming with system generation

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065026A (en) * 2010-12-21 2011-05-18 百度在线网络技术(北京)有限公司 Device and method for authenticating object to be loaded
CN102045367B (en) * 2011-01-10 2014-04-23 软库创投(北京)科技有限公司 Registration method and authentication server of real-name authentication
CN102045367A (en) * 2011-01-10 2011-05-04 软库创投(北京)科技有限公司 Registration method and authentication server of real-name authentication
CN103718183A (en) * 2011-07-25 2014-04-09 阿尔卡特朗讯 Software run-time provenance
CN102831338A (en) * 2012-06-28 2012-12-19 北京奇虎科技有限公司 Security detection method and system of Android application program
WO2014153760A1 (en) * 2013-03-28 2014-10-02 Irdeto B.V. Detecting exploits against software applications
CN104348616B (en) * 2013-07-26 2018-02-23 中国移动通信集团公司 A kind of method, apparatus and system for accessing terminal security component
CN104348616A (en) * 2013-07-26 2015-02-11 中国移动通信集团公司 Method for visiting terminal security component, device thereof and system thereof
CN104901794B (en) * 2014-03-06 2018-05-04 苹果公司 The revocation of root certificate
CN104901794A (en) * 2014-03-06 2015-09-09 苹果公司 Revocation of root certificates
CN104331308B (en) * 2014-10-30 2017-08-22 章立春 A kind of PE program files load and execution method
CN104331308A (en) * 2014-10-30 2015-02-04 章立春 PE program file loading and execution method
CN104580161A (en) * 2014-12-17 2015-04-29 中国电子科技集团公司第十五研究所 Security-identity-document-based real-name software authentication method and device
CN104601551B (en) * 2014-12-25 2017-12-12 重庆森鑫炬科技有限公司 Software product security authentication systems
CN104601551A (en) * 2014-12-25 2015-05-06 重庆森鑫炬科技有限公司 Security verification system for software product
CN105989306B (en) * 2015-02-13 2020-04-28 中兴通讯股份有限公司 File signature method and device and file verification method and device for operating system
CN105989306A (en) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 File signature method and device of operating system and file verification method and device of operating system
CN106155663A (en) * 2015-04-15 2016-11-23 中兴通讯股份有限公司 The method and apparatus of application program loading code signature
WO2016165215A1 (en) * 2015-04-15 2016-10-20 中兴通讯股份有限公司 Method and apparatus for loading code signing on applications
CN106161028A (en) * 2015-04-17 2016-11-23 国民技术股份有限公司 Safety chip, communication terminal and the method improving communication security
CN105450626A (en) * 2015-09-08 2016-03-30 陈鸣 Network authentication system and method with software definition
CN110050273A (en) * 2016-08-01 2019-07-23 数据输入输出公司 The program of device generated using system
CN110050273B (en) * 2016-08-01 2024-02-06 数据输入输出公司 Programming of devices using system generation
US11824847B2 (en) 2016-08-01 2023-11-21 Data I/O Corporation Device programming with system generation
CN106650448A (en) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 Control method and device for executable files
CN108989042A (en) * 2017-05-31 2018-12-11 恩德莱斯和豪瑟尔分析仪表两合公司 For authorizing the method for updating automatic technology field device
CN108989042B (en) * 2017-05-31 2021-07-09 恩德莱斯和豪瑟尔分析仪表两合公司 Method for authorizing an update of an automation field device
CN107545180A (en) * 2017-07-28 2018-01-05 宁波保税区攀峒信息科技有限公司 A kind of secure browser browsing method
CN107688730A (en) * 2017-07-28 2018-02-13 宁波保税区攀峒信息科技有限公司 A kind of executable file method for safe operation
CN107491690A (en) * 2017-07-28 2017-12-19 宁波保税区攀峒信息科技有限公司 It is a kind of comprising executable code need to be by file security stowage that respective application software loading is handled
CN110244979A (en) * 2018-03-09 2019-09-17 腾讯科技(深圳)有限公司 A kind of file acquisition method and its equipment
CN112292678A (en) * 2019-01-04 2021-01-29 百度时代网络技术(北京)有限公司 Method and system for validating a kernel object to be executed by a data processing accelerator of a host system
WO2020210983A1 (en) * 2019-04-16 2020-10-22 华为技术有限公司 Method for operational check of software program, electronic device and storage medium
CN110245466B (en) * 2019-06-19 2021-08-24 苏州科达科技股份有限公司 Software integrity protection and verification method, system, device and storage medium
CN110245466A (en) * 2019-06-19 2019-09-17 苏州科达科技股份有限公司 Software integrity protection and verification method, system, equipment and storage medium
CN110826066A (en) * 2019-10-30 2020-02-21 腾讯科技(深圳)有限公司 Code abstract generation method and device and computer storage medium
CN112270010A (en) * 2020-11-17 2021-01-26 上海好连网络科技有限公司 Method for remotely and safely loading executable file
CN112270010B (en) * 2020-11-17 2024-04-12 上海好连网络科技有限公司 Remote safe loading method for executable file

Similar Documents

Publication Publication Date Title
CN101149773A (en) Software real name authentication system and its safe checking method
Karthik et al. Uptane: Securing software updates for automobiles
US7546587B2 (en) Run-time call stack verification
US8528062B1 (en) Method and service for securing a system networked to a cloud computing environment from malicious code attacks
KR101247022B1 (en) Systems and methods for verifying trust of executable files
EP1443381B1 (en) System and method for secure software activation with volume licenses
CN103988208A (en) System and method for day-zero authentication of activex controls
US8881308B2 (en) Method to enable development mode of a secure electronic control unit
US8984296B1 (en) Device driver self authentication method and system
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
US20100031308A1 (en) Safe and secure program execution framework
CN101681406A (en) Trusted operating environment for malware detection
US20090287917A1 (en) Secure software distribution
CN103220264A (en) Methods to provide digital signature to secure flash programming function
CN102340398A (en) Security policy setting and determining method, and method and device for executing operation by application program
US20100100966A1 (en) Method and system for blocking installation of some processes
CN110222485B (en) Industrial control white list management system and method based on SGX software protection extended instruction
US11176224B2 (en) Security tool
CN113168482A (en) Method for ensuring the trustworthiness of source codes
US20080189542A1 (en) Computerized Apparatus And Method For Version Control And Management
Barrera et al. Baton: Certificate agility for android's decentralized signing infrastructure
US7526811B1 (en) Methods for detecting executable code which has been altered
EP2341458B1 (en) Method and device for detecting if a computer file has been copied
US10268823B2 (en) Device, system, and method for securing executable operations
EP2374084A1 (en) Midlet signing and revocation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080326