📄 sweep077.htm
字号:
</UL>
<P>
<H4><A NAME="codesign_0001090102050100">Local Registration Agencies</A></H4>
<P>A company that does not want to take on all the responsibilities associated with being a CA can become a local registration agency (LRA). The LRA views enrollment requests, verifies evidence, and passes on the approved request to the signing CA. The relationship between a CA and an LRA can vary depending on their arrangement, which is specified in a contract.
<P>A possible LRA would be a university acting on behalf of its students. Any university could verify whether a student is actually enrolled and, consequently, could easily approve certificate requests.
<P>
<H4><A NAME="codesign_0001090102050200">Umbrella Organization</A></H4>
<P>It is important that the software industry endorse both the policies that allow CAs to participate, and the criteria that define a responsible commercial or individual software publisher. To ensure this industry cooperation, Microsoft is working to establish an umbrella organization. Over time it is expected that a consortium of industry partners and certificate authorities or an industry organization similar to the Software Publishers Association or the World Wide Web Consortium will fill this role.
<H3><A NAME="codesign_0001090102060000">Obtaining Certification</A></H3>
<P>To obtain a certificate from a CA, a software publisher must meet the criteria for either a commercial or an individual publishing certificate and submit these credentials to either a CA or an LRA.
The criteria discussed below have been proposed by Microsoft. Note that standards bodies, such as the World Wide Web Consortium, are reviewing these criteria and they are subject to change. A description of the overall process of obtaining a certificate for code signing ends this section of the document.
<H3><A NAME="codesign_0001090102070000">Criteria for Commercial Certification</A></H3>
<P>Applicants for a commercial software publishing certificate must meet the following criteria:
<UL><LI>Identification--Applicants must submit their name, address, and other material that proves their identity as a corporate representative. Proof of identify requires either personal presence or registered credentials.
<LI>The pledge--Applicants must pledge that they will not distribute software that they know, or should have known, contains viruses or would otherwise harm the user's computer or code.
<LI>Dun & Bradstreet rating--Applicants must achieve a level of financial standing as indicated by a D-U-N-S number (which indicates a company's financial stability) and any additional information provided by this service. This rating identifies the applicant as a corporation that is still in business. (Other financial rating services are being investigated.) Corporations that do not have a D-U-N-S number at the time of application (usually because of recent incorporation) can apply for one and expect a response in less than two weeks.
<LI>Private key protection--Applicants must agree to generate and store their private key using a dedicated hardware solution. This can be, for example, a magnetic stripe card, a plastic key with an embedded ROM chip (called a ROM key), or a smart card. For more information about storing keys, see Section 8.7 of Bruce Schneier's book, <I>Applied Cryptography</I>.
</UL>
<P>How do large software publishers determine who should apply for certificates and who should sign code? The answers depend on how the software publisher wants to control distribution of software on the Internet.
<P>In a centralized approach, where the company wants total control of what code is published, there may be only one certificate, and strict guidelines for releasing code through one source. Other software publishers may allow each division, or even smaller groups or individuals within the company, to sign their own code using the corporate name. The point is that the software publisher must decide who can apply for a certificate and sign code and who takes responsibility for any code signed using certificates that bear the corporate name.
<P>Using the Dun & Bradstreet rating as a criterion draws a line between "commercial" and "individual" developers. The intended distinction is between commercial persons or entities (that is, sole proprietors, partnerships, corporations, or other organizations that develop software as a business) and non-commercial persons or entities (that is, individuals or nonprofit corporations).
<H3><A NAME="codesign_0001090102080000">Criteria for Individual Certification</A></H3>
<P>Applicants for an individual software publishing certificate must meet the following criteria:
<UL><LI>Identification--Applicants must submit their name, address, and other material that will be checked against an independent consumer database to validate their credentials.
<LI>The pledge--Applicants must pledge that they cannot and will not distribute software that they know, or should have known, contains viruses or would otherwise maliciously harm the user's computer or code.
</UL>
<P>The value of an individual software publishing certificate is in the information it provides to users so they can decide whether or not to download the code. Knowing who authored the code, and that the bits have not been altered from the time the code was signed to the present, is reassuring information. Additionally, a browser could provide links to a publisher's Web pages so the user can obtain detailed information about the signed code, the author, and the certificate authority. After learning about this code and the author, the user may decide to run the code, or all future code, coming from this particular individual.
<H3><A NAME="codesign_0001090102090000">The Application Process</A></H3>
<P>The process of applying for certification is summarized in the following diagram.
<P><IMG SRC="code2.gif" WIDTH="506" HEIGHT="246" ALT="" >
<P>
<P>These are the steps to apply for and grant a certificate:
<OL><LI><B>Apply for a software publishing certificate.</B>
<P>In this diagram, a software publisher's request for certification is sent to the local registration agency. (In a simpler model, it is sent to the CA.) It is expected that CAs and LRAs will have Web sites that step the applicant through the application process. Applicants will be able to look at the entire policy and practices statements of the CA or LRA. The utilities an applicant needs to generate signatures, such as Microsoft's Authenticode, should also be available.
<P>The applicant must generate a key pair using either hardware or software encryption technology. The public key is sent to the LRA during the application process. For individuals, all of the necessary information can be transferred on-line. For commercial publishers, because of the identity requirements, proof of identification must be sent by mail or courier.
<P>
<LI><B>Verify the applicant's credentials.</B>
<P>Depending on the contract between the CA and the LRA, these companies will examine the evidence to verify an applicant's credentials. To do this, they may employ external contractors such Dun & Bradstreet.
<P>
<LI><B>Generate and issue the software publisher X.509 certificate.</B>
<P>After the CA has decided that the applicant meets the policy criteria, it generates a Software Publisher Certificate (SPC) that conforms to the industry standard X.509 certificate format with Version 3 extensions. This certificate, which is distributed in the digital signature for the software, identifies the publisher, contains the publisher's public key, and is used to verify that the file has not been modified since it was signed. It is stored by the CA for reference and a copy is returned to the applicant via electronic mail.
<P>The publisher should review the contents of the certificate and verify that the public key works with the private key. After accepting the certificate, the publisher should include a copy in all published software signed with the private key.
<P>Commercial developers can expect a response to their application in less than two weeks. While there is no limit to the number of certificates commercial software publishers can obtain, it is up to the publisher to determine who gets a certificate, and how code is signed and distributed.
<P>
<LI><B>Distribute signed software</B>
<P>The publisher can now begin signing and distributing software on the Internet. Publishers use utility programs to sign the software they intend to publish. The utility programs use the private key to generate a digital signature on a digest of the binary file and create a signature file containing a PKCS #7 signed-data object. (For more information about PKCS #7, see the RSA specification listed in the "Suggested Reading" section of this document.) The PKCS #7 signed-data object also contains a copy of the X.509 software publisher certificate. For portable executable (PE) image format files, the PKCS #7 signature file contents are stored in the binary file itself, in an additional section.
</OL>
<TABLE BORDER=0 ALIGN=RIGHT><TR><TD VALIGN=TOP>
<A HREF="sweep076.htm" TARGET="TEXT"><IMG SRC="u_prev_3.gif" WIDTH="30" HEIGHT="30" BORDER=0 ALT="Previous"></A>
</TD>
<TD VALIGN=TOP><A HREF="sweep078.htm" TARGET="TEXT"><IMG SRC="u_next_3.gif" WIDTH="30" HEIGHT="30" BORDER=0 ALT="Next"></A>
</TD></TABLE>
<P><P><FONT FACE="MS SANS SERIF" SIZE="1" COLOR="BLACK">
<A ID=cpslug HREF="copyrite.htm" TARGET=TEXT>© 1996 Microsoft Corporation</A>
</FONT>
<BR CLEAR=ALL>
</FONT><P>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -