版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、公鑰基礎(chǔ)設(shè)施理論與實(shí)現(xiàn)公鑰基礎(chǔ)設(shè)施理論與實(shí)現(xiàn) Theory and Implementation of Public Key Infrastructure 目錄目錄 摘要摘要.1 1 ABSTRACTABSTRACT.2 2 第一章第一章 緒論緒論.3 3 1.1 引言 .3 1.2 PKI 概述.3 1.3 背景與技術(shù)現(xiàn)狀 .5 1.4 本文的結(jié)構(gòu)和作者的工作 .6 第二章第二章 PKIPKI 密碼理論基礎(chǔ)密碼理論基礎(chǔ) .7 7 2.1 秘密密鑰密碼 .7 2.2 公開(kāi)密鑰密碼 .7 2.3 單向散列函數(shù) .8 2.4 數(shù)字簽名 .9 2.5 信息封裝格式 .9 第三章第三章 證書(shū)與認(rèn)證體系
2、證書(shū)與認(rèn)證體系.1010 3.1 引言 .10 3.2 X.509V3 證書(shū).11 3.3 證書(shū)的撤消 .13 3.4 認(rèn)證路徑 .15 3.5 PKI 實(shí)施體系結(jié)構(gòu).17 第四章第四章 PKIPKI 框架、管理和操作框架、管理和操作 .2020 4.1 PKI 框架模型.20 4.2 PKI 管理模塊的功能.21 4.3 PKI 管理操作.22 4.4 輕型目錄訪問(wèn)協(xié)議 LDAP.25 4.5 在線證書(shū)狀態(tài)協(xié)議 OCSP.30 第五章第五章 PKIPKI 系統(tǒng)模型的實(shí)現(xiàn)系統(tǒng)模型的實(shí)現(xiàn) .3333 5.1 引言 .33 5.2 PKI 實(shí)現(xiàn)的功能模塊.33 5.3 PKI 實(shí)現(xiàn)模型的演示.37
3、 第六章第六章 PKIPKI 應(yīng)用舉例應(yīng)用舉例 .4040 6.1 引言 .40 6.2 TLSbinary) - 操作方面: 查詢(xún)可返回提交人(如 LDAP 的 URL) 可修改條目 DN 的任何部分(比如可實(shí)現(xiàn) DIT 中子目錄樹(shù)的移動(dòng)) 請(qǐng)求時(shí)增加控制信息 提供擴(kuò)展機(jī)制以增加新的協(xié)議操作 - 安全方面: 提供了 SASL(RFC2222)的身份鑒別機(jī)制 支持低層的安全(SSL 或 TLS) .2 LDAPLDAP 的構(gòu)成的構(gòu)成 LDAPMessage 所有的 LDAP 操作都封裝在一個(gè)被稱(chēng)為 LDAPMessage 的數(shù)字封套中。其中 MessageID 字段是協(xié)議中標(biāo)識(shí)
4、每個(gè)對(duì)話的 ID。每個(gè)對(duì)話的 MessageID 都不同, 在服務(wù)器包含響應(yīng)值 LDAPResult 的封套中,包含的是原始的 MessageID。 LDAPMessage := SEQUENCE messageID MessageID, protocolOp CHOICE bindRequest BindRequest, bindResponse BindResponse, unbindRequest UnbindRequest, searchRequest SearchRequest, searchResponse SearchResponse, modifyRequest ModifyR
5、equest, modifyResponse ModifyResponse, addRequest AddRequest, addResponse AddResponse, delRequest DelRequest, delResponse DelResponse, modifyRDNRequest ModifyRDNRequest, modifyRDNResponse ModifyRDNResponse, compareDNRequest CompareRequest, compareDNResponse CompareResponse, abandonRequest AbandonReq
6、uest MessageID := INTEGER (0 . maxInt) LDAPResult LDAPResult 是協(xié)議中服務(wù)器返回給客戶(hù)端的訪問(wèn)成功或失敗的標(biāo)識(shí)。為答 復(fù)各樣的請(qǐng)求,服務(wù)器將返回 LDAPResult 的響應(yīng)來(lái)描述協(xié)議中請(qǐng)求操作的最后 狀態(tài)。其中 errorMessage 字段是服務(wù)器返回的錯(cuò)誤描述,它是非標(biāo)準(zhǔn)的文本描 述,可以為長(zhǎng)度為 0 的字符串。 LDAPResult := SEQUENCE resultCode ENUMERATED success (0), operationsError (1), protocolError (2), other (80)
7、, matchedDN LDAPDN, errorMessage LDAPString Bind 操作 Bind 操作的作用是初始化客戶(hù)端和服務(wù)器的協(xié)議會(huì)話,并容許服務(wù)器對(duì)客 戶(hù)端身份鑒別。在協(xié)議會(huì)話中這是最先進(jìn)行的操作。 Bind 的請(qǐng)求 BindRequest 和響應(yīng) BindResponse 定義如下: BindRequest := APPLICATION 0 SEQUENCE version INTEGER (1 . 127), name LDAPDN, authentication CHOICE simple 0 OCTET STRING, krbv42LDAP 1 OCTET ST
8、RING, krbv42DSA 2 OCTET STRING BindResponse := APPLICATION 1 LDAPResult 其中:name 為客戶(hù)端想要綁定的目錄對(duì)象名,匿名綁定時(shí)可為空值; antherntication 為鑒定 name 身份的信息。選項(xiàng)中 simple 最簡(jiǎn)單,為明文 的口令,該選項(xiàng)也被用在無(wú)須身份鑒別或匿名綁定時(shí),此時(shí)字段為空值。 antherntication 還提供了實(shí)現(xiàn)以 Kerberos v4 鑒別 LDAP 服務(wù)器和 DSA 的 krbv42LDAP 和 krbv42DSA 選項(xiàng)。 Unbind 操作 Unbind 操作的作用是終止協(xié)議對(duì)話
9、。它沒(méi)有相應(yīng)的響應(yīng)。當(dāng)發(fā)出 UnbindRequest,協(xié)議的客戶(hù)端會(huì)認(rèn)為會(huì)話已終止;而收到 UnbindRequest 的協(xié) 議服務(wù)器將確信客戶(hù)端已終止會(huì)話,而放棄處理該會(huì)話的其他未答復(fù)的請(qǐng)求。 UnbindRequest := APPLICATION 2 NULL Search 操作 Search 操作讓客戶(hù)端提出申請(qǐng),在服務(wù)器上執(zhí)行搜索操作。 SearchRequest 定義如下: SearchRequest := APPLICATION 3 SEQUENCE baseObject LDAPDN, scope ENUMERATED baseObject (0), singleLevel
10、(1), wholeSubtree (2) , derefAliases ENUMERATED neverDerefAliases (0), derefInSearching (1), derefFindingBaseObj (2), derefAlways (3) , sizeLimit INTEGER (0 . maxInt), timeLimit INTEGER (0 . maxInt), attrsOnly BOOLEAN, filter Filter, attributes SEQUENCE OF AttributeType SearchResponse := CHOICE entr
11、y APPLICATION 4 SEQUENCE objectName LDAPDN, attributes SEQUENCE OF SEQUENCE AttributeType, SET OF AttributeValue , resultCode APPLICATION 5 LDAPResult 其中:baseObject 為搜索的基礎(chǔ)對(duì)象條目的 DN;scope 為搜索的范圍; filter 為需要匹配的搜索條件;attributes 為搜索結(jié)果需要返回的屬性列表, 為空時(shí)返回條目的所有屬性。 協(xié)議服務(wù)器將搜索的結(jié)果以一系列的 SearchResonse 返回給客戶(hù)端:其中 前面是零個(gè)至
12、許多個(gè)包含搜索結(jié)果 entry 的 SearchResonse,最后是一個(gè)包含 標(biāo)識(shí)搜索成功或失敗的 SearchResonse。 Modify 操作 客戶(hù)端可利用 Modify 操作讓服務(wù)器修改數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)。 ModifyRequest 和 ModifyResponse 定義如下: ModifyRequest := APPLICATION 6 SEQUENCE object LDAPDN, modification SEQUENCE OF SEQUENCE operation ENUMERATED add (0), delete (1), replace (2) , modificati
13、on SEQUENCE type AttributeType, values SET OF AttributeValue ModifyResponse := APPLICATION 7 LDAPResult 其中的參數(shù):object 描述被修改的對(duì)象名; modification 描述對(duì)某一條目的一系列修改,其中包括的操作有 add:為給出的屬性賦值,如有必要,產(chǎn)生該屬性; delete:刪除屬性的值,如果該屬性的值都已被刪除,刪除該屬性; replace:用給出的新值替代原屬性值,如有必要,產(chǎn)生該屬性。 當(dāng)服務(wù)器接到 ModifyRequest 時(shí),無(wú)論修改操作全部成功或任何一點(diǎn)失敗, 它都
14、將返回 ModifyResponse 作為響應(yīng)。由于一個(gè) ModifyRequest 可能包括一系 列的修改操作,為保持修改的一致性,當(dāng)返回失敗,所有修改都將廢棄,而返 回成功時(shí),須確認(rèn)所有修改成功。 Add 操作 客戶(hù)端利用 Add 操作向目錄中增加新的條目。AddRequest 和 AddResponse 定義如下: AddRequest := APPLICATION 8 SEQUENCE entry LDAPDN, attrs SEQUENCE OF SEQUENCE type AttributeType, values SET OF AttributeValue AddResponse
15、 := APPLICATION 9 LDAPResult 其中 entry 為欲增加條目的 DN,DN 中除了最后一級(jí) RDN 其他都必須已存在; attrs 為增加條目的屬性。 Delete 操作 客戶(hù)端利用 Delete 操作從目錄中刪除條目。刪除申請(qǐng)僅為刪除條目的 DN, 服務(wù)器接到申請(qǐng)刪除該條目,并返回響應(yīng)。 DelRequest := APPLICATION 10 LDAPDN DelResponse := APPLICATION 11 LDAPResult .3 LDAPLDAP 的的 PKIPKI 服務(wù)服務(wù) 作為 PKI 操作協(xié)議的 LDAP,提供了從數(shù)據(jù)倉(cāng)庫(kù)發(fā)布
16、證書(shū)和管理 PKI 信息的 服務(wù)。這種服務(wù)包含三方面的內(nèi)容: LDAPLDAP 數(shù)據(jù)倉(cāng)庫(kù)的讀取數(shù)據(jù)倉(cāng)庫(kù)的讀取 該服務(wù)提供當(dāng)端用戶(hù)知道條目名時(shí),從某個(gè)條目(entry)發(fā)布 PKI 信息。 它需要以下的 LDAP 操作: BindRequest (and BindResponse) SearchRequest (and SearchResponse) UnbindRequest LDAPLDAP 數(shù)據(jù)倉(cāng)庫(kù)的查詢(xún)數(shù)據(jù)倉(cāng)庫(kù)的查詢(xún) 用任意的方法,在數(shù)據(jù)倉(cāng)庫(kù)中查詢(xún)某個(gè)包含證書(shū)、CRL 或其他信息的條目。 它需要以下的 LDAP 操作: BindRequest (and BindResponse) Sea
17、rchRequest (and SearchResponse) UnbindRequest LDAPLDAP 數(shù)據(jù)倉(cāng)庫(kù)的修改數(shù)據(jù)倉(cāng)庫(kù)的修改 該服務(wù)提供對(duì)數(shù)據(jù)倉(cāng)庫(kù)中 PKI 信息的增加、刪除和修改。它需要以下的 LDAP 操作: BindRequest (and BindResponse) ModifyRequest (and ModifyResponse) AddRequest (and AddResponse) DelRequest (and DelResponse UnbindRequest 4.54.5 在線證書(shū)狀態(tài)協(xié)議在線證書(shū)狀態(tài)協(xié)議 OCSPOCSP 用戶(hù)使用證書(shū)前首先需要進(jìn)行各種驗(yàn)
18、證,包括證書(shū)是否失效,證書(shū)簽發(fā)者 是否可信,證書(shū)是否適用于本應(yīng)用,以及證書(shū)是否被撤消。前面三種驗(yàn)證可通 過(guò)證書(shū)本身實(shí)現(xiàn),后一種需要用戶(hù)查詢(xún)證書(shū)的狀態(tài)。 查詢(xún)證書(shū)的狀態(tài)的方法有兩種,一是前一章提過(guò)的 CRL,另一是利用在線查 詢(xún) OCSP。兩者各有其優(yōu)缺點(diǎn)。 CRL 是一種較成熟的技術(shù),具有可預(yù)測(cè)的性能價(jià)格比。CRL 文件使用戶(hù)很容 易高速緩存,而發(fā)布者也可以互相協(xié)作。但是,CRL 有著實(shí)時(shí)性和文件大小方 面的缺憾。現(xiàn)存證書(shū)認(rèn)證系統(tǒng)的使用者抱怨作為證書(shū)認(rèn)證的一個(gè)步驟,他們必 須先獲得最新的 CRL。一個(gè)較大的 CA 的 CRL 文件可能也較大,這會(huì)使傳輸帶寬 成為瓶頸。而 CRL 周期性發(fā)布的頻
19、率也可能導(dǎo)致時(shí)延問(wèn)題:比如 CA 每周發(fā)布一 次 CRL,那么最近 CRL 發(fā)布后一周的時(shí)間內(nèi)撤消的證書(shū),用戶(hù)都無(wú)法得知。 在線證書(shū)狀態(tài)協(xié)議(OCSP)提供了不需要 CRL 而獲得證書(shū)當(dāng)前狀態(tài)的方法。 OCSP 的使用能比周期發(fā)布的 CRL 更及時(shí)獲得證書(shū)當(dāng)前狀態(tài)。一個(gè) OCSP 的客戶(hù) 端向 OCSP 響應(yīng)服務(wù)器發(fā)出證書(shū)的狀態(tài)請(qǐng)求,后者返回證書(shū)的當(dāng)前狀態(tài)有效、 無(wú)效或不知道。由于用戶(hù)不必為驗(yàn)證一個(gè)或幾個(gè)證書(shū)而下載整個(gè) CRL 文件,所 以會(huì)戲劇性地降低所需通信帶寬。同時(shí)在線的 OCSP 也增加了時(shí)效性,最大限度 防止了已撤消證書(shū)的使用。 目前,OCSP 正作為 Internet 草案在討論中
20、。OCSP 還未成熟,在線傳輸?shù)?性能價(jià)格比,這些是投入應(yīng)用前需要考慮的。 .1 OCSPOCSP 的請(qǐng)求的請(qǐng)求 一個(gè) OCSP 客戶(hù)端向響應(yīng)服務(wù)器發(fā)出的證書(shū)狀態(tài)請(qǐng)求描述如下: OCSPRequest := SEQUENCE tbsRequest TBSRequest, optionalSignature 0 EXPLICIT Signature OPTIONAL TBSRequest := SEQUENCE version 0 EXPLICIT Version DEFAULT v1, requestorName 1 EXPLICIT GeneralName OPTIONAL,
21、 requestList SEQUENCE OF Request, requestExtensions 2 EXPLICIT Extensions OPTIONAL Signature := SEQUENCE signatureAlgorithm AlgorithmIdentifier, signature BIT STRING, certs 0 EXPLICIT SEQUENCE OF Certificate OPTIONAL Version := INTEGER v1(0) Request := SEQUENCE reqCert CertID, singleRequestExtension
22、s 0 EXPLICIT Extensions OPTIONAL CertID := SEQUENCE hashAlgorithm AlgorithmIdentifier, issuerNameHash OCTET STRING, - Hash of Issuers DN issuerKeyHash OCTET STRING, - Hash of Issuers public key serialNumber CertificateSerialNumber 如上,除了協(xié)議的版本號(hào),OCSP 請(qǐng)求必須包括CertID域。其中, issuerNameHash 和 issuerKeyHash 分別為
23、證書(shū)簽發(fā)者(CA)的 DN 和公鑰的散 列值。hashAlgorithm 為該散列算法的標(biāo)識(shí)。serialNumber 為證書(shū)序列號(hào)。 OCSP 請(qǐng)求中有簽名的選項(xiàng),請(qǐng)求提交者可以對(duì)整個(gè) tbsReauest 簽名。 .2 OCSPOCSP 的響應(yīng)的響應(yīng) OCSP 響應(yīng)服務(wù)器對(duì)證書(shū)狀態(tài)請(qǐng)求發(fā)出的響應(yīng)描述如下: OCSPResponse := SEQUENCE responseStatus OCSPResponseStatus, responseBytes 0 EXPLICIT ResponseBytes OPTIONAL OCSPResponseStatus := ENUMER
24、ATED successful (0), -Response has valid confirmations malformedRequest (1), -Illegal confirmation request internalError (2), -Internal error in issuer tryLater (3), -Try again later sigRequired (5), -Must sign the request unauthorized (6) -Request unauthorized ResponseBytes := SEQUENCE responseType
25、 OBJECT IDENTIFIER, response OCTET STRING OCSP 響應(yīng)一般包括響應(yīng)狀態(tài) responseStatus 和實(shí)際響應(yīng)值 responseByte。當(dāng)處理請(qǐng)求出現(xiàn)錯(cuò)誤時(shí),只包括簡(jiǎn)單的 responseStatus,沒(méi)有 responseByte。 普通 OCSP 響應(yīng)中 response 為 DER 編碼的 BasicOCSPResponse: BasicOCSPResponse := SEQUENCE tbsResponseData ResponseData, signatureAlgorithm AlgorithmIdentifier, signatu
26、re BIT STRING, certs 0 EXPLICIT SEQUENCE OF Certificate OPTIONAL ResponseData := SEQUENCE version 0 EXPLICIT Version DEFAULT v1, responderID ResponderID, producedAt GeneralizedTime, responses SEQUENCE OF SingleResponse, responseExtensions 1 EXPLICIT Extensions OPTIONAL ResponderID := CHOICE byName 1
27、 Name, byKey 2 KeyHash SingleResponse := SEQUENCE certID CertID, certStatus CertStatus, thisUpdate GeneralizedTime, nextUpdate 0 EXPLICIT GeneralizedTime OPTIONAL, singleExtensions 1 EXPLICIT Extensions OPTIONAL CertStatus := CHOICE good 0 IMPLICIT NULL, revoked 1 IMPLICIT RevokedInfo, unknown 2 IMP
28、LICIT UnknownInfo RevokedInfo := SEQUENCE revocationTime GeneralizedTime, revocationReason 0 EXPLICIT CRLReason OPTIONAL BasicOCSPResponse 響應(yīng)中包括版本號(hào)、響應(yīng)者 ID、對(duì)每個(gè)查詢(xún)證書(shū)的響 應(yīng)、對(duì)響應(yīng)的簽名和簽名算法的 OID 等。每個(gè)查詢(xún)證書(shū)的響應(yīng) SingleResponse 包括目標(biāo)證書(shū)的標(biāo)識(shí)符、證書(shū)狀態(tài)值、響應(yīng)有效期等。 證書(shū)的狀態(tài)分為 good、revoked、unknown 三種:good 說(shuō)明證書(shū)在響應(yīng)時(shí)有 效,revoked 表示證書(shū)已被撤
29、消,unknown 表示證書(shū)。 第五章第五章 PKI 系統(tǒng)模型的實(shí)現(xiàn)系統(tǒng)模型的實(shí)現(xiàn) 5.15.1 引言引言 PKI 系統(tǒng)模型的目標(biāo)是建立基于以上所論述協(xié)議的公鑰基礎(chǔ)設(shè)施,以滿(mǎn)足各 種公鑰應(yīng)用的需求。由于 PKI 技術(shù)上的復(fù)雜性和前沿性,本系統(tǒng)模型只完成了 基本的功能模塊,為使本模型系統(tǒng)投入實(shí)際應(yīng)用,在許多細(xì)節(jié)上還需要充實(shí)。 圖 5-1 描述了本實(shí)現(xiàn)模型的體系結(jié)構(gòu)。系統(tǒng)采用客戶(hù)/服務(wù)器模式,客戶(hù)端 用戶(hù)利用 TCP/IP 通過(guò) HTTP 或直接訪問(wèn) CA。CA/RA、LDAP、OCSP 等服務(wù)器之間 也采用 TCP/IP 通信,因此各服務(wù)器可分布不同的地方。 本章首先提出建立 PKI 需要實(shí)現(xiàn)的
30、功能模塊,然后討論它們的具體實(shí)現(xiàn)。 5.25.2 PKIPKI 實(shí)現(xiàn)的功能模塊實(shí)現(xiàn)的功能模塊 一個(gè)具有完整的體系結(jié)構(gòu)的 PKI 實(shí)現(xiàn)的可以歸納為如圖 5-2 的功能模塊: PSE 服務(wù)模塊,包括智能卡接口等個(gè)人安全環(huán)境的 API。 核心算法服務(wù)模塊,包括基本密碼算法如公鑰算法、散列等的函數(shù)實(shí)現(xiàn)。 高層密碼服務(wù)模塊,包括證書(shū)申請(qǐng),簽名,驗(yàn)證等的函數(shù)實(shí)現(xiàn)。 證書(shū)管理服務(wù)模塊,向數(shù)據(jù)倉(cāng)庫(kù)增加或撤消證書(shū)、密鑰等函數(shù)實(shí)現(xiàn)。 Internet 圖圖 5-1 PKI 實(shí)實(shí)現(xiàn)現(xiàn)模模型型體體系系結(jié)結(jié)構(gòu)構(gòu) CA/RA 服務(wù)器 HTTP 服務(wù)器 證書(shū) 數(shù)據(jù)庫(kù) 用戶(hù) LDAP 服務(wù)器 OCSP 服器務(wù) PKI 訪問(wèn)服
31、務(wù)模塊,利用 LDAP 訪問(wèn) PKI 完成證書(shū)查詢(xún)等功能的函數(shù)實(shí)現(xiàn)。 安全協(xié)議模塊,提供安全訪問(wèn)通道的協(xié)議實(shí)現(xiàn),包括 TLS,S/MIME 等。 安全策略服務(wù)模塊,用戶(hù)信息注冊(cè),訪問(wèn)控制,審計(jì)等功能實(shí)現(xiàn)。 支持服務(wù)模塊,LDAP 目錄訪問(wèn) API 等相關(guān)功能實(shí)現(xiàn)。 下面我們將詳細(xì)討論各模塊的內(nèi)容和具體實(shí)現(xiàn)。 .1 核心算法服務(wù)核心算法服務(wù) 核心算法服務(wù)是低層的密碼安全模塊,包括隨機(jī)數(shù)產(chǎn)生,公鑰對(duì)產(chǎn)生,散 列算法,秘密密鑰加密算法,公鑰加密算法等內(nèi)容。該模塊既可采用軟件實(shí)現(xiàn), 也可根據(jù)安全等級(jí)要求采用硬件實(shí)現(xiàn)。 該模塊的部件如圖 5-3。 如 Microsoft CryptoAP
32、I 1.0 相似的許多產(chǎn)品實(shí)現(xiàn)了核心算法的服務(wù),但 開(kāi)發(fā)自己的 PKI 需要掌握源碼。本文 PKI 采用的是 SSLeay 的 Cryptolib 的部分 算法實(shí)現(xiàn),而后者是流傳在 Internet,并經(jīng)過(guò)許多應(yīng)用考驗(yàn)的密碼安全函數(shù)庫(kù) 圖圖 5-2 PKI 實(shí)實(shí)現(xiàn)現(xiàn)的的模模塊塊結(jié)結(jié)構(gòu)構(gòu) 應(yīng)應(yīng)用用程程序序 安安全全協(xié)協(xié)議議 TLS,S/MIME,IPSec 證證書(shū)書(shū)管管理理服服務(wù)務(wù) 證書(shū)管理,私鑰管理等 PKI 訪訪問(wèn)問(wèn)服服務(wù)務(wù) 證書(shū)查詢(xún)、更新等 安安全全策策略略服服務(wù)務(wù) 用戶(hù)信息注冊(cè)、訪 問(wèn)控制、審計(jì)等 支支持持服服務(wù)務(wù) LDAP 目錄訪問(wèn)、 數(shù)據(jù)庫(kù)訪問(wèn)等 高高層層密密碼碼服服務(wù)務(wù) 生成證書(shū),
33、簽名,驗(yàn)證等 核核心心算算法法服服務(wù)務(wù) 散列,公鑰算法等 PSE 服服務(wù)務(wù) 智能卡接口、本地 數(shù)據(jù)安全存儲(chǔ)等 圖圖 5-3 核核心心算算法法模模塊塊 隨隨機(jī)機(jī)數(shù)數(shù)產(chǎn)產(chǎn)生生公公鑰鑰對(duì)對(duì)產(chǎn)產(chǎn)生生 RSA 散散列列算算法法 SHA,MD5 秘秘密密密密鑰鑰加加密密算算法法 DES,專(zhuān)有算法等 公公開(kāi)開(kāi)密密鑰鑰加加密密算算法法 RSA Base64 編編碼碼 源碼。作為安全考慮,核心可能采用自己的專(zhuān)用算法,因此本模塊設(shè)計(jì)時(shí)盡量 使函數(shù)接口標(biāo)準(zhǔn)化,以便于擴(kuò)展。 .2 高層密碼服務(wù)高層密碼服務(wù) 高層密碼模塊是建立在核心算法模塊上的,它為上層提供對(duì)封裝數(shù)據(jù)的操 作,包括證書(shū)申請(qǐng)、簽名、驗(yàn)證等
34、。該模塊包括了 X.509 封裝,DER/PEM 編碼 解碼等功能部件。見(jiàn)圖 5-4。 由于 X.509 和許多其他數(shù)據(jù)結(jié)構(gòu)都是用 ASN.1 描述的,所以我們需要建立 ASN.1 數(shù)據(jù)結(jié)構(gòu),并完成這些數(shù)據(jù)結(jié)構(gòu)從 DER 編碼到內(nèi)部 C 數(shù)據(jù)結(jié)構(gòu)的切換。 由于某些場(chǎng)合需要用到 PEM 編碼的證書(shū),所以還需要一套從 DER 轉(zhuǎn)換為 PEM 編 碼的函數(shù)。在這些下層的函數(shù)構(gòu)建的基礎(chǔ)上,就可完成證書(shū)相關(guān)的功能函數(shù), 如證書(shū)生成、簽名、驗(yàn)證等。 這個(gè)模塊的實(shí)現(xiàn)一部分仍然來(lái)自 SSLeay 的 Cryptolib,另一部分來(lái)自作者 開(kāi)發(fā)的個(gè)人文電安全系統(tǒng)。個(gè)人文電安全系統(tǒng)是解決網(wǎng)絡(luò)中電子郵件、文件傳 輸
35、安全問(wèn)題的產(chǎn)品。由于該系統(tǒng)定位在一個(gè)小范圍的群體,它 CA 的證書(shū)發(fā)布和 撤消都是離線的。盡管如此,并不影響對(duì)它下層的函數(shù)模塊的復(fù)用。 .3 證書(shū)管理服務(wù)證書(shū)管理服務(wù) 證書(shū)管理服務(wù)模塊是處于 PKI 中心的模塊。它即利用下層的密碼服務(wù)完成 證書(shū)生成、驗(yàn)證等功能,又訪問(wèn) LDAP 或數(shù)據(jù)庫(kù)存儲(chǔ)或查詢(xún)證書(shū),同時(shí),它還將 訪問(wèn)安全策略服務(wù),進(jìn)行訪問(wèn)控制并記錄審計(jì)日志。 證書(shū)管理服務(wù)包括證書(shū)管理和密鑰管理兩部分功能,如圖 5-5。 證書(shū)管理服務(wù)不僅僅是函數(shù)接口,而應(yīng)是把各功能函數(shù)組織為一個(gè)或幾個(gè) 圖圖 5-4 高高層層密密碼碼服服務(wù)務(wù)模模塊塊 ASN.1 數(shù)數(shù)據(jù)據(jù) 結(jié)結(jié)構(gòu)構(gòu) DER 編
36、編碼碼 X.509 封封裝裝 數(shù)數(shù)字字簽簽名名/驗(yàn)驗(yàn)證證自自簽簽名名證證書(shū)書(shū)生生成成 PEM 編編碼碼 證證書(shū)書(shū)申申請(qǐng)請(qǐng)生生成成 與與簽簽名名 CRL 生生成成 圖圖 5-5 證證書(shū)書(shū)管管理理服服務(wù)務(wù)模模塊塊 證證書(shū)書(shū)撤撤消消證證書(shū)書(shū)查查詢(xún)?cè)冏C證書(shū)書(shū)歸歸檔檔證證書(shū)書(shū)發(fā)發(fā)布布 密密鑰鑰更更新新密密鑰鑰恢恢復(fù)復(fù)密密鑰鑰生生成成 服務(wù)器。如圖 5-6 把證書(shū)管理服務(wù)分為 RA、CA 和 OCSP 三個(gè)服務(wù)器。圖中說(shuō)明 了證書(shū)管理服務(wù)器與外部的關(guān)系,而服務(wù)器間的通信可采用 PKIX 證書(shū)管理協(xié)議 (RFC2510)中所定義的證書(shū)管理消息。 證書(shū)管理服務(wù)不僅僅是函數(shù)接口,而應(yīng)是把各功能函數(shù)組織為一個(gè)或幾
37、個(gè) 服務(wù)器。如圖 5-6 把證書(shū)管理服務(wù)分為 RA、CA 和 OCSP 三個(gè)服務(wù)器。圖中說(shuō)明 了證書(shū)管理服務(wù)器與外部的關(guān)系,而服務(wù)器間的通信可采用 PKIX 證書(shū)管理協(xié)議 (RFC2510)中所定義的證書(shū)管理消息。 .4 PKIPKI 訪問(wèn)服務(wù)訪問(wèn)服務(wù) 有時(shí)用 TCP 直接訪問(wèn)圖 5-6 的證書(shū)管理服務(wù)器不方便,需要把復(fù)雜的管理 過(guò)程屏蔽起來(lái)。因此 PKI 訪問(wèn)服務(wù)模塊應(yīng)運(yùn)而生。它一方面是外界對(duì) PKI 訪問(wèn) 的服務(wù)器,另一方面又是證書(shū)管理服務(wù)器的客戶(hù)端。 PKI 訪問(wèn)服務(wù)模塊可以專(zhuān)門(mén)的訪問(wèn)終端,也可以利用 HTTP,Email 等現(xiàn)成的 應(yīng)用協(xié)議。本文 PKI 使用 HTTP
38、,利用友好的 Web 界面和強(qiáng)大的 CGI 來(lái)實(shí)現(xiàn) PKI 的訪問(wèn)。 .5 安全協(xié)議安全協(xié)議 訪問(wèn) PKI 的數(shù)據(jù)大多是安全敏感的,無(wú)論專(zhuān)門(mén)的訪問(wèn)終端還是 HTTP 等應(yīng)用 協(xié)議,都需要建筑在一個(gè)安全通道上。這樣的安全通道就是由 TLS struct ContentType type; ProtocolVersion version; uint16 length; opaque fragmentTLSPlaintext.length; TLSPlaintext; struct ContentType type; ProtocolVersion version; uint16 l
39、ength; opaque fragmentTLSCompressed.length; TLSCompressed; struct ContentType type; ProtocolVersion version; uint16 length; select (CipherSpec.cipher_type) case stream: GenericStreamCipher; case block: GenericBlockCipher; fragment; TLSCiphertext; stream-ciphered struct opaque contentTLSCompressed.le
40、ngth; opaque MACCipherSpec.hash_size; GenericStreamCipher; block-ciphered struct opaque contentTLSCompressed.length; opaque MACCipherSpec.hash_size; uint8 paddingGenericBlockCipher.padding_length; uint8 padding_length; GenericBlockCipher; .3 TLSTLS 握手層協(xié)議握手層協(xié)議 TLS 握手層包括三個(gè)子協(xié)議: Change cipher sp
41、ec protocol Change cipher spec protocol 給出了一個(gè)密碼策略轉(zhuǎn)換的信號(hào)。它包含的 是一個(gè)以當(dāng)前連接方式加密和壓縮的單字節(jié)報(bào)文。接收者接到該報(bào)文,立刻將 預(yù)備讀狀態(tài)拷貝為當(dāng)前讀狀態(tài);發(fā)送者發(fā)出該報(bào)文也立刻將預(yù)備寫(xiě)狀態(tài)拷貝為 當(dāng)前寫(xiě)狀態(tài)。握手過(guò)程中,當(dāng)安全參數(shù)討論達(dá)成一致后,客戶(hù)/服務(wù)端都發(fā)出該 報(bào)文,從而改變當(dāng)前的安全參數(shù),使后續(xù)的報(bào)文在所協(xié)商的新的密碼規(guī)則和密 鑰的保護(hù)之下。 Alert protocol Alert protocol 在客戶(hù)/服務(wù)間傳輸出錯(cuò)信息,報(bào)文中包含警告的級(jí)別和描 述。當(dāng)遇到致命錯(cuò)誤,接收端將立刻終止會(huì)話。 Handshake pr
42、otocol Handshake protocol 生成了會(huì)話狀態(tài)中的安全參數(shù)。當(dāng) TLS 客戶(hù)/服務(wù)端開(kāi) 始通信時(shí),通過(guò)握手協(xié)議,它們協(xié)商建立了協(xié)議版本、加密算法,互相進(jìn)行身 份鑒別,并用公鑰加密技術(shù)產(chǎn)生了共享密鑰。 TLS 握手流程見(jiàn)圖 8-2。 當(dāng)客戶(hù)/服務(wù)端試圖恢復(fù)一個(gè)被意外中斷的會(huì)話時(shí),雙方不再協(xié)商安全參數(shù), 而由客戶(hù)端發(fā)送會(huì)話的 ID,服務(wù)端在緩存中查找后,發(fā)出 change cipher spec 的報(bào)文,重新恢復(fù)會(huì)話。 6.36.3 為為 WWWWWW 訪問(wèn)建立訪問(wèn)建立 SSLSSL 連接連接 利用前一章建立的演示 CA,我們可以為 HTTP 服務(wù)器和瀏覽器提供證書(shū),從 而建立
43、安全的 WWW 訪問(wèn)。 整個(gè)系統(tǒng)建立在 Linux 環(huán)境的 PC 機(jī),HTTP 服務(wù)器使用 Apache 1.3.6,瀏 覽器采用 Netscape Communicator 4.0。 .1 瀏覽器證書(shū)的導(dǎo)入瀏覽器證書(shū)的導(dǎo)入 Netscape Communicator 4.0 可以接受多種格式的 X.509 v1、v2、v3 證書(shū)。 這些格式分為二進(jìn)制和文本兩類(lèi)。 -二進(jìn)制格式 DER 編碼證書(shū) PKCS#7 證書(shū)鏈 Netscape 證書(shū)序列 圖圖 6-2 TLS 握握手手?jǐn)?shù)數(shù)據(jù)據(jù)流流 ClientHello ServerHello Certificate Certifica
44、te Request ServerHelloDone Certificate Certificate Verify ChangeCipherSpec Finished ChangeCipherSpec Finished ClientServer 建立協(xié)議版本、會(huì)話 ID、壓縮方法、密碼 套,交換隨機(jī)數(shù) 送出服務(wù)器端證書(shū), 并請(qǐng)求客戶(hù)端證書(shū) 送出客戶(hù)端證書(shū) 改變密碼套,結(jié)束握 手過(guò)程 -文本格式 所有上面二進(jìn)制格式都可以作為文本格式的輸入。文本格式以“- BEGIN CERTIFICATE-”標(biāo)識(shí)開(kāi)始,接下來(lái)是證書(shū)數(shù)據(jù),是以 BASE64 編 碼(RFC1113)上面二進(jìn)制格式數(shù)據(jù),最后以“-E
45、ND CERTIFICATE- -”標(biāo)識(shí)結(jié)束。 Netscape Communicator 采用 HTTP 協(xié)議接收證書(shū),它識(shí)別幾種特殊的 MIME 類(lèi)型,這些 MIME 揭示了輸入證書(shū)的類(lèi)型: application/x-x509-user-certapplication/x-x509-user-cert 使用瀏覽器用戶(hù)的證書(shū)。在導(dǎo)入證書(shū)前,相應(yīng)的私鑰必須已存入用戶(hù)本 地的密鑰庫(kù)中,否則將出錯(cuò)無(wú)法導(dǎo)入證書(shū)。 application/x-x509-ca-certapplication/x-x509-ca-cert 認(rèn)證機(jī)關(guān) CA 的證書(shū)。當(dāng)下載該證書(shū)時(shí),瀏覽器將產(chǎn)生一系列對(duì)話框讓用 戶(hù)確認(rèn)是否
46、接受該 CA 證書(shū)和它簽發(fā)的證書(shū)。 application/x-x509-email-certapplication/x-x509-email-cert 這是 S/MIME 應(yīng)用的證書(shū)。用戶(hù)或 CA 可利用它在 Web 上發(fā)布證書(shū),其他 用戶(hù)下載后可發(fā)加密郵件或驗(yàn)證簽名。 .2 瀏覽器密鑰對(duì)的生成瀏覽器密鑰對(duì)的生成 Netscape 提供了一個(gè)擴(kuò)展的 HTML 標(biāo)識(shí)符來(lái)幫助產(chǎn)生密鑰對(duì),并在 表格中提交公鑰。這種機(jī)制使用在基于 Web 的證書(shū)管理系統(tǒng)中。在瀏 覽器中顯示為一個(gè)密鑰長(zhǎng)度的選擇框,當(dāng) HTML 表格被提交時(shí),私鑰被加密放在 本地密鑰庫(kù)中,而公鑰以 name-value
47、 對(duì)形式提交給 HTTP 服務(wù)器。 例如: 該 FORM 提交后,公鑰和 CHALLENGE 以一種 SignedPublicKeyAndChallenge 的 base64 編碼格式,與其他證書(shū)申請(qǐng)信息(commonname 等)一起傳給 HTTP 服 務(wù)器的 CGI 程序。提交數(shù)據(jù)如下: commonname=Lin+Xy&email=&pkey=MIHFMHEwXDANBgV%0AW.vmco%3D 應(yīng)當(dāng)注意的是由于美國(guó)的出口限制,一般的 Communicator 只能生成 512bits 的密鑰。 .3 建立建立 SSLSSL 連接的步驟連接的步驟 1) 建立自簽名的
48、CA 證書(shū) 在 CA 架設(shè)好后,首先需要生成自簽名的 CA 證書(shū)和密鑰,并存入 LDAP 目錄 中。HTTP 服務(wù)器通過(guò) application/x-x509-ca-cert 的 MIME 類(lèi)型,將證書(shū)導(dǎo)入 瀏覽器中。 將自簽名 CA 證書(shū)安裝到 Web 瀏覽器中后,瀏覽器便可以識(shí)別該 CA 簽發(fā)的 服務(wù)器證書(shū)。由于一旦安裝,瀏覽器接受所有該簽發(fā)的證書(shū),所以在你確認(rèn)該 CA 證書(shū)絕對(duì)安全之前,安裝是有風(fēng)險(xiǎn)的。 2) 建立服務(wù)器證書(shū) 服務(wù)器證書(shū)向客戶(hù)端提供服務(wù)器的身份鑒別。生成服務(wù)器證書(shū)需要先向 CA 提出申請(qǐng),由 CA 用私鑰簽名生成證書(shū)后,安裝到 HTTP 服務(wù)器中。Apache 服務(wù) 器中
49、將證書(shū)文件放入指定目錄,修改配置文件后完成服務(wù)器證書(shū)安裝。 當(dāng)連接到 HTTPS 的服務(wù)器,瀏覽器會(huì)自動(dòng)詢(xún)問(wèn)是否接受服務(wù)器證書(shū)。如果 選擇接受,服務(wù)器端認(rèn)證的 SSL 連接就建立起來(lái)了。 3) 建立客戶(hù)端證書(shū) 客戶(hù)端證書(shū)向服務(wù)器提供了客戶(hù)端的身份鑒別。產(chǎn)生和安裝客戶(hù)端證書(shū)比 服務(wù)器證書(shū)要復(fù)雜,因?yàn)榭蛻?hù)端需要先產(chǎn)生一對(duì)密鑰,把私鑰加密保存,將公 鑰生成證書(shū)請(qǐng)求發(fā)給 CA。CA 簽名證書(shū)請(qǐng)求后,返回給客戶(hù)端安裝。 產(chǎn)生密鑰和證書(shū)請(qǐng)求是利用 HTML 表格提交給 CGI,CGI 生成證書(shū)后,以 application/x-x509-user-cert 的 MIME 類(lèi)型返回給用戶(hù)。 第七章第七章 結(jié)
50、束語(yǔ)結(jié)束語(yǔ) 公鑰基礎(chǔ)設(shè)施是一個(gè)廣闊的研究領(lǐng)域,并有著非?,F(xiàn)實(shí)的應(yīng)用前景。如今 Internet 上不斷出臺(tái)的 PKI 相關(guān)的新協(xié)議和新產(chǎn)品都說(shuō)明,PKI 理論的研究正 加速成長(zhǎng)將走向成熟期;而電子商務(wù)等 PKI 的應(yīng)用也正隨之加速發(fā)展。 本文首先介紹了 PKI 的理論,包括密碼理論、證書(shū)與認(rèn)證、PKI 的構(gòu)架和各 種相關(guān)協(xié)議,然后提出了建立 PKI 實(shí)現(xiàn)的框架模型,最后以 TLS 為例演示 PKI 應(yīng)用。 在研究中,作者深深體會(huì)到構(gòu)建 PKI 是很復(fù)雜和龐大的工程。而 PKI 誘人 的應(yīng)用前景,又使越來(lái)越多的人投入到相關(guān)的研究開(kāi)發(fā)中。作者試圖跟上 PKI 發(fā)展的腳步,并描述 PKI 盡可能多的
51、方面。但由于水平所限,難免出現(xiàn)的不足 和錯(cuò)誤還需要讀者批評(píng)指正。 附錄附錄1術(shù)語(yǔ)及縮寫(xiě)詞術(shù)語(yǔ)及縮寫(xiě)詞 ASN.1 : Abstract Syntax Notation One , 抽象語(yǔ)法描述 CA : Certification Authority , 公證機(jī)關(guān) CGI : Common Gateway Interface , 通用網(wǎng)關(guān)接口 CRL : Certificate Revocation Lists , 證書(shū)廢止表 , 又稱(chēng)黑表 DAP : Directory Access Protocol ,目錄訪問(wèn)協(xié)議 DER : Distinguished Encoding Rules ,
52、唯一編碼規(guī)則 DIT : Directory Information Tree , 目錄信息樹(shù) DN : Distinguished Name , 唯一標(biāo)識(shí)名 HTTP : Hypertext Transfer Protocol , 超文本傳輸協(xié)議 IETF : Internet Engineering Task Force , Internet 工程任務(wù)組 IPSec : Internet Protocol Security extensions , IP 安全擴(kuò)展 ISO : International Organization for Standardization , 國(guó)際標(biāo)準(zhǔn)化組織
53、ITU : International Telecommunication Union , 國(guó)際電信聯(lián)盟 LDAP : Lightweight Directory Access Protocol , 輕型目錄訪問(wèn)協(xié)議 MAC : Message Authentication Code , 消息鑒別碼 NIST : National Institute of Standards and Technology , 美國(guó)國(guó)家標(biāo)準(zhǔn) 與技術(shù)局 OCSP : Online Certificate Status Protocol , 在線證書(shū)狀態(tài)協(xié)議 PEM : Privacy Enhanced Mail
54、,保密增強(qiáng)郵件 PERL : Practical Extraction and Report Language , Perl 語(yǔ)言 RFC : Request for Comment , 請(qǐng)求注解(Internet 標(biāo)準(zhǔn)) PKCS : Public Key Cryptography Standards , RSA 公鑰體制標(biāo)準(zhǔn) PKI : Public Key Infrastructure , 公鑰基礎(chǔ)設(shè)施 PKIX : Public Key Infrastructure using X.509 , IETF PKIX 工作組 PSE : Personal Security Environm
55、ent , 個(gè)人安全環(huán)境 RA : Registration Authority , 注冊(cè)機(jī)關(guān) SET : Secure Electronic Transactions Protocol , 安全電子交易協(xié)議 S/MIME : Secure Multipurpose Internet Mail Extensions , 安全多用途 互連網(wǎng)郵件擴(kuò)展 SHA : Secure Hash Algorithm , 安全散列算法 SSL : Secure Socket Layer , 安全套接字 TLS : Transport Layer Secure Protocol , 傳輸層安全協(xié)議 VPN :
56、Virtual Private Networks , 虛擬專(zhuān)網(wǎng) e 馬,陪F?lm嫄 W 壙獑?N?)?0?q?3拞屓?p 勌 m:b5a 漬璺1 疆 lv0 瘩艌 v?2 屘 b 瘌 Tq 妋 4UK袢,疀薤,A6 玭$? $徤?|?罪=T?G 駁 op1 尚懇袹戦疈 u 圻?賡 O?a?*p 懡 0L )w 懱拽?E?/扢?9 镃/潺hR烞 b 蔔 Ye 嚁劑 Bb?捚?慳曥 T?UFUZ!醋 MM 蘇g 壺鰷伸?qfg%厧1t? 戯憤焿驆罳騙萡 P?躀 cP 縮蒕?nP 砫 ?C?Z 豸值?橒忋喏曚 NI 耔 nENB 峢 mT 鸏 s 眑+?該 |紖?!汩?膾 f抙氄宨澻 S 箔 XM
57、 竴玐訨?V?腡?,B 衹絵 2-n 吞輷匽 e 馬 e 馬,陪F?lm嫄 W 壙獑?N?)?0?q?3拞屓?p 勌 m:b5a 漬璺1 疆 lv0 瘩艌 v?2 屘 b 瘌 Tq 妋 4UK袢,疀薤,A6 玭$? $徤?|?罪=T?G 駁 op1 尚懇袹戦疈 u 圻?賡 O?a?*p 懡 0L )w 懱拽?E?/扢?9 镃/潺hR烞 b 蔔 Ye 嚁劑 Bb?捚?慳曥 T 羈 8?p蟇 7 硏楓pg 裋.1 瑡2 陹?泝 Z 祘?$賕?諑矽?|D蚈/盰#,vDlE嵮禋 T?NI 耔 nENB 峢 mT 鸏 s 眑+?該 |紖?!汩?膾 f抙氄宨澻 S 箔 XM 竴玐訨?V?腡?,B 衹絵 2
58、-n 吞輷匽之銻蚗 v枉 h5di:t 詮 I?懣忋忑殆#懛-嗕!V 汁 赸 l 偎蠽 M n?鈹舤 Y?忩 eFHga厏a 堳膷 Q?h 芛vf?-瘐?c+粂鰌 q 惦 ez 赸 l 偎蠽 M n?鈹舤 Y?忩 eFHga厏a 堳膷 Q?h 芛vf?-瘐?c+粂鰌 q 惦 e摭 F 訥,#RU ?遴?eyk?窅脆?_躵 y 膠?宗卝?XA 蛋?H7 曮 Z- e 馬,陪F?lm嫄 W 壙獑?N?)?0?q?3拞屓?p 勌 m:b5a 漬璺1 疆 lv0vb 瘌 Tq 妋 4UK袢,疀薤,A6 玭$? $徤?|?罪=T?G 駁 op1 尚懇袹戦疈 u 圻?賡 O?a?*p 懡 0L )w 懱拽
59、?E?/扢?9 镃/潺hR烞 b 蔔 Ye 嚁劑 Bb?捚?慳曥 T?UFUZ!醋 MM 蘇g 壺鰷伸?qfg%厧1t? 戯憤焿驆罳騙萡 P?躀 cP 縮蒕?nP 砫 ?C?Z 豸值?橒忋喏曚 NI 耔 nENB?%?*H?棐鑉濤 3峽-Z 乙 v 徻 3?珄 餖朮 爟?W 圐葴逑辢鈁 e? ?籋鰫.僂?p蟇 7 硏楓pg 裋.1 瑡2 陹?泝 Z 祘?$賕?諑矽?|D蚈/盰#,vDlE嵮禋 T 羈 8?p蟇 7 硏楓pg 裋.1 瑡2 陹?泝 Z 祘?$賕?諑矽?|D蚈/盰#,vDlE嵮禋 T?NI 耔 nENB 峢 mT 鸏 s 眑+?該 |紖?!汩?膾 f抙氄宨澻 S 箔 XM 竴玐訨?
60、V?腡?,B 衹絵 2-n 吞輷匽之銻蚗 v枉 h5di:t 詮 I?懣忋忑殆#懛-嗕寒絫 赸 l 偎蠽 M n?鈹舤 Y?忩 eFHga厏a 堳膷 Q?h 芛vf?-瘐?c+粂鰌 q 惦 ez 赸 l 偎蠽 M n?鈹舤 Y?忩 eFHga厏a 堳膷 Q?h 芛vf?-瘐?c+粂鰌 q 惦 e摭 F 訥,#RU ?遴?eyk?窅脆?_躵 y 膠?宗卝?XA 蛋?H7 曮 Z- e 馬,陪F?lm嫄 W 壙獑?N?)?0?q?3拞屓?p 勌 m:b5a 漬璺1 疆 lv0 瘩艌 v?2 屘 b 瘌 Tq 妋 4UK袢,疀薤,A6 玭$? $徤?|?罪=T?G 駁 op1 尚懇袹戦疈 u 圻?賡
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豬小弟課件教學(xué)課件
- 2024年廣西體育館大院體育用品銷(xiāo)售合同
- 2024年建筑工程分包及勞務(wù)承包協(xié)議
- 2024年度石油天然氣開(kāi)采與銷(xiāo)售合同
- 2024年度船舶修造安裝工程分包協(xié)議
- 2024年度深圳晚輔老師招聘合同
- 2024年布匹交易協(xié)議規(guī)定
- 04年國(guó)際貨物買(mǎi)賣(mài)合同
- 2024期房購(gòu)買(mǎi)合同范本
- 2024年度施工現(xiàn)場(chǎng)食品安全管理合同
- 民間借貸利息計(jì)算表
- 2024江蘇省鐵路集團(tuán)限公司春季招聘24人高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 滬科版(2024)八年級(jí)全一冊(cè)物理第一學(xué)期期中學(xué)業(yè)質(zhì)量測(cè)試卷 2套(含答案)
- Q GDW 10115-2022 110kV~1000kV架空輸電線路施工及驗(yàn)收規(guī)范
- 2023《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀PPT
- 液壓設(shè)計(jì)常用資料密封溝槽尺寸
- 實(shí)驗(yàn)室家具工程施工組織方案
- 小學(xué)數(shù)學(xué)教學(xué)“數(shù)學(xué)好玩”探析
- 畫(huà)法幾何及機(jī)械制圖(第六版)1-1
- 設(shè)備運(yùn)行分析報(bào)告(模板)
- 后勤日常工作.ppt
評(píng)論
0/150
提交評(píng)論