亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

?? ??? ??
首頁(yè) 版本說(shuō)明 從1.3升級(jí)到2.0 編譯時(shí)配置的改變 運(yùn)行時(shí)配置的改變 雜項(xiàng)變化 第三方模塊 從 2.0 升級(jí)到 2.2 編譯時(shí)配置的改變 運(yùn)行時(shí)配置的改變 雜項(xiàng)變化 第三方模塊 Apache 2.1/2.2 版本的新特性 核心增強(qiáng) 模塊增強(qiáng) 程序增強(qiáng) 針對(duì)模塊開(kāi)發(fā)者的變化 Apache 2.0 版本的新特性 核心的增強(qiáng) 模塊的增強(qiáng) Apache許可證 參考手冊(cè) 編譯與安裝 針對(duì)心急者的概述 要求 下載 解壓 配置源代碼樹(shù) 編譯 安裝 配置 測(cè)試 升級(jí) 啟動(dòng) Apache是怎樣啟動(dòng)的 啟動(dòng)時(shí)發(fā)生錯(cuò)誤 隨系統(tǒng)啟動(dòng)時(shí)啟動(dòng) 額外信息 停止與重新啟動(dòng) 簡(jiǎn)介 立即停止 優(yōu)雅重啟 立即重啟 優(yōu)雅停止 附錄:信號(hào)和競(jìng)爭(zhēng)條件 運(yùn)行時(shí)配置指令 主配置文件 配置文件的語(yǔ)法 模塊 指令的作用域 .htaccess文件 配置段 配置段(容器)的類型 文件系統(tǒng)和網(wǎng)絡(luò)空間 虛擬主機(jī) 代理 允許使用哪些指令? 配置段的合并 內(nèi)容緩沖 簡(jiǎn)介 緩沖概述 安全方面的考慮 文件句柄緩沖 內(nèi)存緩沖 磁盤(pán)緩沖 服務(wù)器全局配置 服務(wù)器標(biāo)識(shí) 文件定位 限制資源的使用 日志文件 安全警告 錯(cuò)誤日志 訪問(wèn)日志 日志滾動(dòng) 管道日志 虛擬主機(jī) 其他日志文件 從URL到文件系統(tǒng)的映射 相關(guān)模塊和指令 DocumentRoot DocumentRoot以外的文件 用戶目錄 URL重定向 反向代理 重寫(xiě)引擎 File Not Found 安全方面的提示 保持不斷更新和升級(jí) ServerRoot目錄的權(quán)限 服務(wù)器端包含 關(guān)于CGI 未指定為腳本的CGI 指定為腳本的CGI 其他動(dòng)態(tài)內(nèi)容的來(lái)源 系統(tǒng)設(shè)置的保護(hù) 默認(rèn)配置下服務(wù)器文件的保護(hù) 觀察日志文件 動(dòng)態(tài)共享對(duì)象(DSO) 實(shí)現(xiàn) 用法概要 背景知識(shí) 優(yōu)點(diǎn)和缺點(diǎn) 內(nèi)容協(xié)商 關(guān)于內(nèi)容協(xié)商 Apache中的內(nèi)容協(xié)商 協(xié)商的方法 打亂品質(zhì)值 透明內(nèi)容協(xié)商的擴(kuò)展 超鏈和名稱轉(zhuǎn)換說(shuō)明 緩沖說(shuō)明 更多信息 自定義錯(cuò)誤響應(yīng) 行為 配置 自定義錯(cuò)誤響應(yīng)與重定向 地址和端口綁定 概述 針對(duì)IPv6的特殊考慮 怎樣與虛擬主機(jī)協(xié)同工作 多路處理模塊(MPM) 簡(jiǎn)介 選擇一個(gè)MPM 默認(rèn)的MPM 環(huán)境變量 設(shè)置環(huán)境變量 使用環(huán)境變量 用于特殊目的的環(huán)境變量 示例 處理器的使用 什么是處理器? 例子 程序員注意事項(xiàng) 過(guò)濾器 Apache2中的過(guò)濾器 智能過(guò)慮 使用過(guò)濾器 CGI腳本的Suexec執(zhí)行 開(kāi)始之前 suEXEC的安全模型 配置和安裝suEXEC 啟用和禁用suEXEC 使用suEXEC 調(diào)試suEXEC 謹(jǐn)防Jabberwock:警告和舉例 性能調(diào)整 硬件和操作系統(tǒng) 運(yùn)行時(shí)的配置 編譯時(shí)的配置 附錄:蹤跡的詳細(xì)分析 URL重寫(xiě)指南 mod_rewrite簡(jiǎn)介 實(shí)踐方案 URL的規(guī)劃 內(nèi)容的處理 對(duì)訪問(wèn)的限制 其他 虛擬主機(jī)文檔 總述 虛擬主機(jī)支持 配置指令 基于主機(jī)名的虛擬主機(jī) 基于域名的虛擬主機(jī)和基于IP的虛擬主機(jī)比較 使用基于域名的虛擬主機(jī) 與舊版瀏覽器的兼容性 基于IP地址的虛擬主機(jī) 系統(tǒng)需求 如何配置Apache 設(shè)置多個(gè)守護(hù)進(jìn)程 配置擁有多個(gè)虛擬主機(jī)的單一守護(hù)進(jìn)程 動(dòng)態(tài)配置大量虛擬主機(jī) 動(dòng)機(jī) 概述 簡(jiǎn)單的動(dòng)態(tài)虛擬主機(jī) 一個(gè)實(shí)際的個(gè)人主頁(yè)系統(tǒng) 在同一個(gè)服務(wù)器上架設(shè)多個(gè)主機(jī)的虛擬系統(tǒng) 更為有效的基于IP地址的虛擬主機(jī) 使用老版本的Apache 使用mod_rewrite實(shí)現(xiàn)簡(jiǎn)單的動(dòng)態(tài)虛擬主機(jī) 使用mod_rewrite的個(gè)人主頁(yè)系統(tǒng) 使用獨(dú)立的虛擬主機(jī)配置文件 虛擬主機(jī)的普通配置示例 在一個(gè)IP地址上運(yùn)行多個(gè)基于域名的web站點(diǎn) 在多于一個(gè)IP的情況下使用基于域名的虛擬主機(jī) 在不同的IP的地址(比如一個(gè)內(nèi)部和一個(gè)外部地址)上提供相同的內(nèi)容 在不同的端口上運(yùn)行不同的站點(diǎn) 建立基于IP的虛擬主機(jī) 混用基于端口和基于IP的虛擬主機(jī) 混用基于域名和基于IP的虛擬主機(jī) 將虛擬主機(jī)和代理模塊一起使用 使用默認(rèn)虛擬主機(jī) 將一個(gè)基于域名的虛擬主機(jī)移植為一個(gè)基于IP的虛擬主機(jī) 使用ServerPath指令 深入討論虛擬主機(jī)的匹配 解析配置文件 虛擬主機(jī)匹配 小技巧 文件描述符限制 關(guān)于DNS和Apache 一個(gè)簡(jiǎn)單示例 拒絕服務(wù) "主服務(wù)器"地址 避免這些問(wèn)題的小技巧 附錄:進(jìn)一步的提示 常見(jiàn)問(wèn)題 概述 SSL/TLS 加密 概述 文檔 mod_ssl 緒論 密碼技術(shù) 證書(shū) 安全套接字層(SSL) 參考 兼容性 配置指令 環(huán)境變量 自定義日志功能 如何... 加密方案和強(qiáng)制性高等級(jí)安全 客戶認(rèn)證和訪問(wèn)控制 常見(jiàn)問(wèn)題解答 About The Module Installation Configuration Certificates The SSL Protocol mod_ssl Support 如何.../指南 概述 認(rèn)證 相關(guān)模塊和指令 簡(jiǎn)介 先決條件 啟用認(rèn)證 允許多人訪問(wèn) 可能存在的問(wèn)題 其他認(rèn)證方法 更多信息 CGI動(dòng)態(tài)頁(yè)面 簡(jiǎn)介 配置Apache以允許CGI 編寫(xiě)CGI程序 程序還是不能運(yùn)行! 幕后是怎樣操作的? CGI模塊/庫(kù) 更多信息 服務(wù)器端包含 簡(jiǎn)介 什么是SSI? 配置服務(wù)器以允許SSI 基本SSI指令 附加的例子 我還能設(shè)置其它什么? 執(zhí)行命令 高級(jí)SSI技術(shù) 總結(jié) .htaccess文件 .htaccess文件 工作原理和使用方法 (不)使用.htaccess文件的場(chǎng)合 指令的生效 認(rèn)證舉例 服務(wù)器端包含(SSI)舉例 CGI舉例 疑難解答 用戶網(wǎng)站目錄 用戶網(wǎng)站目錄 用UserDir設(shè)置文件路徑 限定哪些用戶可以使用此功能 啟用對(duì)每個(gè)用戶都有效的cgi目錄 允許用戶改變配置 對(duì)特定平臺(tái)的說(shuō)明 概述 Microsoft Windows 其他平臺(tái) 在Microsoft Windows中使用Apache 對(duì)操作系統(tǒng)的要求 下載 Apache for Windows 安裝 Apache for Windows 配置 Apache for Windows 以服務(wù)方式運(yùn)行 Apache for Windows 作為控制臺(tái)程序運(yùn)行Apache 測(cè)試安裝 編譯Windows下的Apache 系統(tǒng)要求 命令行編譯 Developer Studio集成開(kāi)發(fā)環(huán)境的工作區(qū)編譯 項(xiàng)目組件 在Novell NetWare平臺(tái)上使用Apache Requirements Downloading Apache for NetWare Installing Apache for NetWare Running Apache for NetWare Configuring Apache for NetWare Compiling Apache for NetWare 在HP-UX中運(yùn)行Apache The Apache EBCDIC Port Overview of the Apache EBCDIC Port Design Goals Technical Solution Porting Notes Document Storage Notes Apache Modules' Status Third Party Modules' Status 服務(wù)器與支持程序 概述 httpd 語(yǔ)法 選項(xiàng) ab 語(yǔ)法 選項(xiàng) Bugs apachectl 語(yǔ)法 選項(xiàng) apxs 語(yǔ)法 選項(xiàng) 舉例 configure 語(yǔ)法 選項(xiàng) 環(huán)境變量 dbmmanage 語(yǔ)法 選項(xiàng) Bugs htcacheclean 語(yǔ)法 選項(xiàng) 返回值 htdbm 語(yǔ)法 選項(xiàng) Bugs 返回值 舉例 安全方面的考慮 限制 htdigest 語(yǔ)法 選項(xiàng) htpasswd 語(yǔ)法 選項(xiàng) 返回值 舉例 安全方面的考慮 限制 logresolve 語(yǔ)法 選項(xiàng) rotatelogs 語(yǔ)法 選項(xiàng) Portability suexec 語(yǔ)法 選項(xiàng) 其他程序 log_server_status split-logfile 雜項(xiàng)文檔 概述 相關(guān)標(biāo)準(zhǔn) HTTP推薦標(biāo)準(zhǔn) HTML推薦標(biāo)準(zhǔn) 認(rèn)證 語(yǔ)言/國(guó)家代碼 Apache 模塊 描述模塊的術(shù)語(yǔ) 說(shuō)明 狀態(tài) 源代碼文件 模塊標(biāo)識(shí)符 兼容性 描述指令的術(shù)語(yǔ) 說(shuō)明 語(yǔ)法 默認(rèn)值(Default) 作用域(Context) 覆蓋項(xiàng)(Override) 狀態(tài) 模塊(Module) 兼容性(Compatibility) Apache核心(Core)特性 AcceptFilter AcceptPathInfo AccessFileName AddDefaultCharset AddOutputFilterByType AllowEncodedSlashes AllowOverride AuthName AuthType CGIMapExtension ContentDigest DefaultType <Directory> <DirectoryMatch> DocumentRoot EnableMMAP EnableSendfile ErrorDocument ErrorLog FileETag <Files> <FilesMatch> ForceType HostnameLookups <IfDefine> <IfModule> Include KeepAlive KeepAliveTimeout <Limit> <LimitExcept> LimitInternalRecursion LimitRequestBody LimitRequestFields LimitRequestFieldSize LimitRequestLine LimitXMLRequestBody <Location> <LocationMatch> LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens SetHandler SetInputFilter SetOutputFilter TimeOut TraceEnable UseCanonicalName UseCanonicalPhysicalPort <VirtualHost> Apache MPM 公共指令 AcceptMutex CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBackLog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild ThreadStackSize User Apache MPM beos MaxRequestsPerThread CoreDumpDirectory Group Listen ListenBacklog MaxClients MaxMemFree MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize StartThreads User Apache MPM event AcceptMutex CoreDumpDirectory EnableExceptionHook Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers ThreadLimit ThreadsPerChild ThreadStackSize User Apache MPM netware MaxThreads Listen ListenBacklog MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads ReceiveBufferSize SendBufferSize StartThreads ThreadStackSize Apache MPM os2 Group Listen ListenBacklog MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize SendBufferSize StartServers User Apache MPM prefork 工作方式 MaxSpareServers MinSpareServers AcceptMutex CoreDumpDirectory EnableExceptionHook Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ServerLimit StartServers User Apache MPM winnt Win32DisableAcceptEx CoreDumpDirectory Listen ListenBacklog MaxMemFree MaxRequestsPerChild PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ThreadLimit ThreadsPerChild ThreadStackSize Apache MPM worker 工作方式 AcceptMutex CoreDumpDirectory EnableExceptionHook Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ServerLimit StartServers ThreadLimit ThreadsPerChild ThreadStackSize User Apache Module mod_actions Action指令 Script指令 Apache Module mod_alias 處理順序 Alias AliasMatch Redirect RedirectMatch RedirectPermanent RedirectTemp ScriptAlias ScriptAliasMatch Apache Module mod_asis 用法 Apache Module mod_auth_basic AuthBasicAuthoritative AuthBasicProvider Apache Module mod_auth_digest 使用摘要認(rèn)證 配合 MS Internet Explorer 6 工作 AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize Apache Module mod_authn_alias 示例 <AuthnProviderAlias> Apache Module mod_authn_anon 示例 Anonymous Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail Apache Module mod_authn_dbd 配置示例 AuthDBDUserPWQuery AuthDBDUserRealmQuery Apache Module mod_authn_dbm AuthDBMType AuthDBMUserFile Apache Module mod_authn_default AuthDefaultAuthoritative Apache Module mod_authn_file AuthUserFile Apache Module mod_authnz_ldap Contents Operation The require Directives 舉例 Using TLS Using SSL Using Microsoft FrontPage with mod_authnz_ldap AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative Apache Module mod_authz_dbm AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType Apache Module mod_authz_default AuthzDefaultAuthoritative Apache Module mod_authz_groupfile AuthGroupFile AuthzGroupFileAuthoritative Apache Module mod_authz_host Allow Deny Order Apache Module mod_authz_owner 配置示例 AuthzOwnerAuthoritative Apache Module mod_authz_user AuthzUserAuthoritative Apache Module mod_autoindex Autoindex Request Query Arguments AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault IndexStyleSheet ReadmeName Apache Module mod_cache Related Modules and Directives 配置示例 CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate Apache Module mod_cern_meta MetaDir MetaFiles MetaSuffix Apache Module mod_cgi CGI 環(huán)境變量 CGI 腳本的調(diào)試 ScriptLog ScriptLogBuffer ScriptLogLength Apache Module mod_cgid ScriptSock ScriptLog ScriptLogBuffer ScriptLogLength Apache Module mod_charset_lite Common Problems CharsetDefault CharsetOptions CharsetSourceEnc Apache Module mod_dav Enabling WebDAV Security Issues Complex Configurations Dav DavDepthInfinity DavMinTimeout Apache Module mod_dav_fs DavLockDB Apache Module mod_dav_lock DavGenericLockDB Apache Module mod_dbd Connection Pooling Apache DBD API SQL Prepared Statements DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver Apache Module mod_deflate 配置舉例 啟用壓縮 代理服務(wù)器 DeflateBufferSize DeflateCompressionLevel DeflateFilterNote DeflateMemLevel DeflateWindowSize Apache Module mod_dir DirectoryIndex DirectorySlash Apache Module mod_disk_cache CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot Apache Module mod_dumpio 啟用dumpio支持 DumpIOInput DumpIOOutput Apache Module mod_echo ProtocolEcho Apache Module mod_env PassEnv SetEnv UnsetEnv Apache Module mod_example Compiling the example module Using the mod_example Module Example Apache Module mod_expires 交替間隔語(yǔ)法 ExpiresActive ExpiresByType ExpiresDefault Apache Module mod_ext_filter 舉例 ExtFilterDefine ExtFilterOptions Apache Module mod_file_cache Using mod_file_cache CacheFile MMapFile Apache Module mod_filter Smart Filtering Filter Declarations Configuring the Chain Examples Protocol Handling FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace Apache Module mod_headers 處理順序 前處理和后處理 舉例 Header RequestHeader Apache Module mod_ident IdentityCheck IdentityCheckTimeout Apache Module mod_imagemap New Features Imagemap File Example Mapfile Referencing your mapfile ImapBase ImapDefault ImapMenu Apache Module mod_include Enabling Server-Side Includes PATH_INFO with Server Side Includes Basic Elements Include Variables Variable Substitution Flow Control Elements SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack Apache Module mod_info 安全問(wèn)題 選擇哪些信息可以被顯示 已知的局限 AddModuleInfo Apache Module mod_isapi 用法 附加注釋 程序員注記 ISAPIAppendLogToErrors ISAPIAppendLogToQuery ISAPICacheFile ISAPIFakeAsync ISAPILogNotSupported ISAPIReadAheadBuffer Apache Module mod_ldap 示例配置 LDAP 連接池 LDAP 緩沖 使用SSL/TLS SSL/TLS 證書(shū) LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert Apache Module mod_log_config 定制日志文件格式 安全考慮 BufferedLogs CookieLog CustomLog LogFormat TransferLog Apache Module mod_log_forensic 定制日志文件格式 安全考慮 ForensicLog Apache Module mod_logio 定制日志文件格式 Apache Module mod_mem_cache MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize Apache Module mod_mime 帶多擴(kuò)展名的文件 內(nèi)容編碼 字符集和語(yǔ)言 AddCharset AddEncoding AddHandler AddInputFilter AddLanguage AddOutputFilter AddType DefaultLanguage ModMimeUsePathInfo MultiviewsMatch RemoveCharset RemoveEncoding RemoveHandler RemoveInputFilter RemoveLanguage RemoveOutputFilter RemoveType TypesConfig Apache Module mod_mime_magic "Magic文件"的格式 性能問(wèn)題 注意 MimeMagicFile Apache Module mod_negotiation 類型表 MultiViews CacheNegotiatedDocs ForceLanguagePriority LanguagePriority Apache Module mod_nw_ssl NWSSLTrustedCerts NWSSLUpgradeable SecureListen Apache Module mod_proxy 正向和反向代理 簡(jiǎn)單示例 控制對(duì)代理服務(wù)器的訪問(wèn) 緩慢啟動(dòng) 局域網(wǎng)代理 協(xié)議調(diào)整 請(qǐng)求體 AllowCONNECT NoProxy <Proxy> ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize <ProxyMatch> ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia Apache Module mod_proxy_ajp Overview of the protocol Basic Packet Structure Request Packet Structure Response Packet Structure Apache Module mod_proxy_balancer Load balancer scheduler algorithm Request Counting Algorithm Weighted Traffic Counting Algorithm Enabling Balancer Manager Support Apache Module mod_proxy_connect Apache Module mod_proxy_ftp 為什么xxx類型的文件不能從FTP下載? 如何強(qiáng)制文件xxx使用FTP的ASCII形式下載? 我如何使用FTP上傳? 我如何能訪問(wèn)我自己home目錄以外的FTP文件? 我如何才能在瀏覽器的URL框中隱藏FTP的明文密碼? Apache Module mod_proxy_http Apache Module mod_rewrite 特殊字符的引用 環(huán)境變量 實(shí)用方案 RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule Apache Module mod_setenvif BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase Apache Module mod_so 為Windows創(chuàng)建可加載模塊 LoadFile LoadModule Apache Module mod_speling CheckSpelling Apache Module mod_ssl 環(huán)境變量 Custom Log Formats SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth Apache Module mod_status Enabling Status Support 自動(dòng)更新 Machine Readable Status File ExtendedStatus Apache Module mod_suexec SuexecUserGroup Apache Module mod_unique_id Theory Apache Module mod_userdir UserDir Apache Module mod_usertrack Logging 2-digit or 4-digit dates for cookies? CookieDomain CookieExpires CookieName CookieStyle CookieTracking Apache Module mod_version <IfVersion> Apache Module mod_vhost_alias 目錄名稱的轉(zhuǎn)換 示例 VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP 開(kāi)發(fā)者文檔 Overview Topics External Resources Apache API notes Basic concepts How handlers work Resource allocation and resource pools Configuration Debugging Memory Allocation in APR Available debugging options Allowable Combinations Activating Debugging Options Documenting Apache 2.0 Apache 2.0 Hook Functions Creating a hook function Hooking the hook Converting Modules from Apache 1.3 to Apache 2.0 The easier changes ... The messier changes... Request Processing in Apache 2.0 The Request Processing Cycle The Request Parsing Phase The Security Phase The Preparation Phase The Handler Phase How Filters Work in Apache 2.0 Filter Types How are filters inserted? Asis Explanations 詞匯和索引 詞匯表 模塊索引 指令索引 指令速查 譯者聲明
??

SSL/TLS高強(qiáng)度加密:緒論

標(biāo)準(zhǔn)的好處就是你有充足的選擇。如果確實(shí)不喜歡現(xiàn)存的標(biāo)準(zhǔn),你只需等待來(lái)年發(fā)布一個(gè)你喜歡的新標(biāo)準(zhǔn)。

-- A. Tanenbaum, "Introduction to Computer Networks"

作為緒論,本文針對(duì)的是熟悉Web、HTTP、Apache的讀者而不是安全方面的專家,它不是SSL協(xié)議的權(quán)威性指南,不討論在一個(gè)組織中管理證書(shū)的特殊技術(shù),也沒(méi)有重要的法定專利聲明及摘錄和引用限制。但是,本文會(huì)通過(guò)綜合講述各種概念、定義和例子,給mod_ssl的使用者提供背景資料,作為更深入探索的起點(diǎn)。

這里的內(nèi)容主要是來(lái)源于Introducing SSL and Certificates using SSLeay并經(jīng)過(guò)作者Frederick J. Hirsch許可。此文由 Open Group Research Institute于1997年夏,發(fā)表在Web Security: A Matter of Trust, World Wide Web Journal, Volume 2, Issue 3, Summer 1997,肯定意見(jiàn)請(qǐng)反饋給Frederick Hirsch(原作者),反對(duì)意見(jiàn)請(qǐng)反饋給Ralf S. Engelschall(mod_ssl的作者)。

密碼技術(shù)

要理解SSL就必須理解密碼系統(tǒng)、消息摘要函數(shù)(單向或散列函數(shù))和數(shù)字簽名,這些技術(shù)是許多文獻(xiàn)所討論的主題(比如[AC96),提供了保密性、完整性和認(rèn)證的基礎(chǔ)。

密碼系統(tǒng)

假設(shè)Alice想給她的銀行發(fā)一個(gè)消息以劃轉(zhuǎn)資金,并希望這個(gè)消息是保密的,因?yàn)槠渲泻兴膸ぬ?hào)和劃轉(zhuǎn)金額等信息。一種方案是使用密碼系統(tǒng),將要傳輸?shù)男畔⑥D(zhuǎn)變?yōu)榧用苄问?,從而只能為希望他讀懂的人讀懂。一旦加密為這種形式,這條消息也許只能用一個(gè)密鑰來(lái)破譯,如果沒(méi)有,那么這條信息毫無(wú)用處,因?yàn)楹玫拿艽a系統(tǒng)可以使破譯難度高到入侵者認(rèn)為原文不值得他們花費(fèi)那么大的努力。

密碼系統(tǒng)有兩大類:常規(guī)的和公共密鑰。

常規(guī)密碼
又稱為對(duì)稱密碼,需要發(fā)送者和接收者共同持有一個(gè)密鑰:一小段用來(lái)加密和解密的秘密信息。如果這個(gè)密鑰是保密的,那么這條消息除了發(fā)送者和接受者以外可能沒(méi)有人可以閱讀。如果Alice和銀行共同持有一個(gè)密鑰,則可以互相發(fā)送保密信息。但是,私有通訊密鑰的選擇行為本身,卻可能不是無(wú)懈可擊的。
公共密鑰密碼
又稱為不對(duì)稱密碼,定義了一種使用兩個(gè)密鑰的算法以解決密鑰交換問(wèn)題,一個(gè)密鑰用于加密,另一個(gè)用于解密,從而使簡(jiǎn)單公布一個(gè)密鑰(公共的密鑰,簡(jiǎn)稱:公鑰)而保留其他的(私有的密鑰,簡(jiǎn)稱:私鑰)以接收保密消息成為可能。

任何人都可以用公鑰加密一條消息,而僅允許私鑰的持有者閱讀。如此,Alice就可能使用公鑰加密其保密消息,發(fā)送給私鑰的持有者(銀行),只有銀行能夠?qū)λ饷堋?/p>

消息摘要

雖然Alice可能加密其消息使它稱為私有的,但仍應(yīng)注意到某些人可能會(huì)篡改或替換其原始消息,以劃轉(zhuǎn)資金到他們自己的帳戶。一種保證Alice消息完整性的方法是同時(shí)發(fā)一個(gè)其消息的簡(jiǎn)單摘要給銀行,供銀行與消息本身比對(duì),如果相符則消息正確。

這樣的方法被稱為消息摘要、單向函數(shù)散列函數(shù)。消息摘要用于對(duì)較大而且變長(zhǎng)的消息建立較短而且等長(zhǎng)的一種表述,其設(shè)計(jì)使將摘要還原成消息極其困難,而且對(duì)兩個(gè)不同的消息幾乎不可能生成相同的摘要,從而排除了替換一個(gè)消息為另一個(gè)而維持相同摘要的可能性。

Alice面臨的另一個(gè)挑戰(zhàn)是要保證摘要發(fā)送到銀行的安全,如此,才能確保消息的完整性。

一種解決方法是在摘要中包含數(shù)字簽名。

數(shù)字簽名

當(dāng)Alice發(fā)送消息到銀行,銀行需要確認(rèn)此消息的確是她發(fā)送的,而不是入侵者盜用其帳號(hào)。為此,可以在消息中包含一個(gè)由Alice建立的數(shù)字簽名。

數(shù)字簽名是以加密的消息摘要和其他信息(比如一個(gè)流水號(hào))以及發(fā)送者的私有密鑰建立的。雖然任何人都可能用公共密鑰解密簽名,但是只有簽發(fā)者知道其私有密鑰,也就是,只有密鑰的持有者才能簽發(fā)。包含在簽名中的摘要只對(duì)該消息有效,以確保沒(méi)有人可以改變摘要而保持簽名不變。

為了避免簽名日后被入侵者破譯和再利用,簽名包含有一個(gè)流水號(hào)。如此,萬(wàn)一(只是假設(shè))Alice并沒(méi)有發(fā)送此消息,雖然她可能真的簽發(fā)過(guò),銀行可以免遭其欺詐性指控。

證書(shū)

雖然Alice可能已經(jīng)發(fā)送了一個(gè)保密的消息給銀行,簽了名,并可以保證消息的完整性,但是她仍然需要確認(rèn)她的確是在和那個(gè)銀行通訊,也就是說(shuō),她需要確認(rèn)她用的公共密鑰的確對(duì)應(yīng)于銀行用的私有密鑰。同樣,銀行也需要驗(yàn)證此消息的簽名的確對(duì)應(yīng)于Alice的簽名。

如果各部分有驗(yàn)證其余部分一致性的證書(shū),以確認(rèn)公共密鑰,并是由一個(gè)可以信任的代理所簽發(fā)的,那么他們雙方都可以肯定其通訊對(duì)象的身份。這個(gè)可以信任的代理稱為證書(shū)機(jī)構(gòu)(Certificate Authority),其證書(shū)用于認(rèn)證。

證書(shū)的內(nèi)容

與一個(gè)公共密鑰關(guān)聯(lián)的證書(shū)有一個(gè)主題,即一個(gè)個(gè)體或者服務(wù)器或者其他實(shí)體的真實(shí)身份,如表1所示。主題中的信息包含身份信息(識(shí)別名[Distinguished Name])和公共密鑰,還包括發(fā)布此證書(shū)的證書(shū)機(jī)構(gòu)的名稱和簽名以及證書(shū)的有效期限,還可能會(huì)有證書(shū)機(jī)構(gòu)監(jiān)管者信息和流水號(hào)等附加信息。

表 1: Certificate Information

Subject Distinguished Name, Public Key
Issuer Distinguished Name, Signature
Period of Validity Not Before Date, Not After Date
Administrative Information Version, Serial Number
Extended Information Basic Constraints, Netscape Flags, etc.

識(shí)別名用于在一個(gè)特定的上下文中指明身份,比如,一個(gè)個(gè)體可能有一個(gè)個(gè)人證書(shū),同時(shí)還有一個(gè)其雇傭者的證書(shū)。X.509標(biāo)準(zhǔn)[X509]中定義了識(shí)別名的各個(gè)項(xiàng)及其名稱和縮寫(xiě)(見(jiàn)表2)。

表 2: Distinguished Name Information

DN Field Abbrev. Description Example
Common Name CN Name being certified CN=Joe Average
Organization or Company O Name is associated with this
organization
O=Snake Oil, Ltd.
Organizational Unit OU Name is associated with this
organization unit, such as a department
OU=Research Institute
City/Locality L Name is located in this City L=Snake City
State/Province ST Name is located in this State/Province ST=Desert
Country C Name is located in this Country (ISO code) C=XZ

證書(shū)機(jī)構(gòu)可能會(huì)定義規(guī)定哪些識(shí)別名是可選的,而哪些是必須的一個(gè)規(guī)范,還可能對(duì)項(xiàng)的內(nèi)容和證書(shū)使用人數(shù)有所要求。比如,一個(gè)Netscape瀏覽器要求證書(shū)中的Common Name項(xiàng)必須是服務(wù)器名稱,此名稱可以是服務(wù)器域名的通配模式,形如:*.snakeoil.com 。

證書(shū)的二進(jìn)制形式用ASN.1記號(hào)法[X208] [PKCS]表示,記號(hào)法定義了如何表示內(nèi)容,編碼規(guī)則定義了如何將信息轉(zhuǎn)變成二進(jìn)制形式。證書(shū)的二進(jìn)制編碼使用了基于更通用的基本編碼規(guī)則(Basic Encoding Rules[BER])的識(shí)別名編碼規(guī)則(Distinguished Encoding Rules[DER])。為了在不能處理二進(jìn)制的情況下進(jìn)行傳輸,二進(jìn)制形式用Base64編碼方式[MIME]轉(zhuǎn)換成ASCII形式,其編碼結(jié)果是以開(kāi)始和結(jié)束符號(hào)分隔的若干的行,稱為PEM形式(其名稱來(lái)源于"Privacy Enhanced Mail"),如下所示:

Example of a PEM-encoded certificate (snakeoil.crt)

-----BEGIN CERTIFICATE-----
MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
-----END CERTIFICATE-----

證書(shū)機(jī)構(gòu)

證書(shū)機(jī)構(gòu)在授予證書(shū)前會(huì)驗(yàn)證證書(shū)的申請(qǐng)信息,以確認(rèn)密鑰對(duì)中私有密鑰的持有實(shí)體。比如:如果Alice申請(qǐng)一個(gè)個(gè)人證書(shū),則證書(shū)機(jī)構(gòu)首先會(huì)確認(rèn)Alice的確是申請(qǐng)證書(shū)的那個(gè)人。

證書(shū)鏈

一個(gè)證書(shū)機(jī)構(gòu)也可能給另一個(gè)證書(shū)機(jī)構(gòu)授予證書(shū)。所以,Alice可能需要檢查證書(shū)的授予者,及其父授予者,直到找到一個(gè)她所信任的。她可以只信任由一個(gè)有限的授予者鏈所授予的證書(shū),以減小這個(gè)鏈中"劣質(zhì)"證書(shū)帶來(lái)的風(fēng)險(xiǎn)。

建立頂級(jí)CA

如前所述,每個(gè)證書(shū)要求其授予者指定證書(shū)主題中實(shí)體的有效性,直到最高一級(jí)的證書(shū)機(jī)構(gòu)。這樣就產(chǎn)生一個(gè)問(wèn)題:最高一級(jí)的證書(shū)機(jī)構(gòu)沒(méi)有授予者,那么誰(shuí)為它的證書(shū)作擔(dān)保呢??jī)H在這種情況下,此證書(shū)是"自簽名的",即證書(shū)的授予者和主題中的一樣,所以,必須對(duì)自簽名的證書(shū)備加注意。頂級(jí)機(jī)構(gòu)廣泛發(fā)布的公共密鑰可以減小信任這個(gè)密鑰所帶來(lái)的風(fēng)險(xiǎn)--這顯然比其他某個(gè)人發(fā)布密鑰并宣稱他是證書(shū)機(jī)構(gòu)要安全一些。瀏覽器被默認(rèn)地配置為信任著名的證書(shū)機(jī)構(gòu)。

許多公司是專業(yè)證書(shū)機(jī)構(gòu),如Thawte和VeriSign,提供如下服務(wù):

  • 驗(yàn)證證書(shū)的申請(qǐng)
  • 處理證書(shū)的申請(qǐng)
  • 授予和管理證書(shū)

自己建立一個(gè)證書(shū)機(jī)構(gòu)也是可能的,雖然在Internet環(huán)境中有風(fēng)險(xiǎn),但在驗(yàn)證個(gè)體或服務(wù)器較容易的Intranet環(huán)境中,會(huì)很有用。

證書(shū)的管理

建立一個(gè)證書(shū)機(jī)構(gòu)需要一個(gè)堅(jiān)強(qiáng)的監(jiān)管、技術(shù)和管理體系。證書(shū)機(jī)構(gòu)不僅僅是授予證書(shū),還必須管理證書(shū)的有效期和更新,并維護(hù)一個(gè)已授予的但已經(jīng)失效的證書(shū)列表(作廢證書(shū)列表[Certificate Revocation Lists,或CRL])。比如,Alice作為公司雇員有資格申請(qǐng)證書(shū),又如,Alice離開(kāi)公司后需要作廢此證書(shū)等。由于憑證書(shū)可以到處通行無(wú)阻,所以不可能從證書(shū)本身看出已經(jīng)作廢,因此,驗(yàn)證證書(shū)的有效性就必須查作廢證書(shū)列表(而這通常不是自動(dòng)處理的一部分)。

說(shuō)明

如果使用了一個(gè)瀏覽器沒(méi)有默認(rèn)配置的證書(shū)機(jī)構(gòu),則必須加載這個(gè)證書(shū)機(jī)構(gòu)的證書(shū)進(jìn)入瀏覽器,使瀏覽器可以驗(yàn)證由這個(gè)證書(shū)機(jī)構(gòu)簽發(fā)的服務(wù)器證書(shū)。這樣做是有風(fēng)險(xiǎn)的,因?yàn)橐坏┘虞d,瀏覽器會(huì)接受由這個(gè)證書(shū)機(jī)構(gòu)簽發(fā)的所有證書(shū)。

安全套接字層(SSL)

安全套接字層協(xié)議是位于可靠的面向連接的網(wǎng)絡(luò)層協(xié)議(如TCP/IP)和應(yīng)用程序協(xié)議層(如HTTP)之間的一種協(xié)議層。SSL通過(guò)互相認(rèn)證、使用數(shù)字簽名確保完整性、使用加密確保私密性,以實(shí)現(xiàn)客戶端和服務(wù)器之間的安全通訊。

這個(gè)協(xié)議被設(shè)計(jì)為支持許多用于密碼、摘要和簽名的特定算法,允許因各種目的對(duì)特定的服務(wù)器選擇算法,并允許采用新算法以得其利。其選擇的協(xié)商操作發(fā)生在客戶和服務(wù)器建立協(xié)議對(duì)話的開(kāi)始階段。

表 4: Versions of the SSL protocol

Version Source Description Browser Support
SSL v2.0 Vendor Standard (from Netscape Corp.) [SSL2] First SSL protocol for which implementations exists - NS Navigator 1.x/2.x
- MS IE 3.x
- Lynx/2.8+OpenSSL
SSL v3.0 Expired Internet Draft (from Netscape Corp.) [SSL3] Revisions to prevent specific security attacks, add non-RSA ciphers, and support for certificate chains - NS Navigator 2.x/3.x/4.x
- MS IE 3.x/4.x
- Lynx/2.8+OpenSSL
TLS v1.0 Proposed Internet Standard (from IETF) [TLS1] Revision of SSL 3.0 to update the MAC layer to HMAC, add block padding for block ciphers, message order standardization and more alert messages. - Lynx/2.8+OpenSSL

如表4所示,SSL協(xié)議有多種版本。SSL3.0的一個(gè)優(yōu)點(diǎn)是增加了對(duì)加載證書(shū)鏈的支持,以允許服務(wù)器在發(fā)給瀏覽器的授予者證書(shū)上附加一個(gè)服務(wù)器證書(shū)。鏈的加載也允許瀏覽器驗(yàn)證服務(wù)器證書(shū),即使對(duì)此授予者的證書(shū)機(jī)構(gòu)證書(shū)并沒(méi)有安裝,因?yàn)樗呀?jīng)包含在這個(gè)證書(shū)鏈中了。SSL3.0目前正由Internet Engineering Task Force(IETF)研發(fā),是傳輸層安全[TLS]協(xié)議標(biāo)準(zhǔn)的基礎(chǔ)。

會(huì)話的建立

SSL會(huì)話在客戶端和服務(wù)器的握手過(guò)程之后建立,如Figure 1所示,其過(guò)程可能因服務(wù)器是否配置為支持服務(wù)器證書(shū)和是否要求有客戶證書(shū)有所不同。雖然存在密碼信息管理需要額外握手操作的情況,本文只說(shuō)明其中有共性的部分,參見(jiàn)所有可能情況下的SSL規(guī)范。

說(shuō)明

SSL會(huì)話一旦建立就可能是可重用的,以避免在初始會(huì)話時(shí)的性能損失和許多步驟的重復(fù)。為此,服務(wù)器為其后的連接緩存了為每個(gè)SSL會(huì)話設(shè)定的唯一的會(huì)話標(biāo)志,以減少握手操作(直到服務(wù)器緩存中的會(huì)話標(biāo)志過(guò)期為止)。


Figure 1: Simplified SSL Handshake Sequence

客戶端和服務(wù)器的握手過(guò)程如下所示:

  1. 協(xié)商用于數(shù)據(jù)傳輸?shù)拿艽a組
  2. 建立并共享客戶端和服務(wù)器的會(huì)話密鑰
  3. 可選的客戶端對(duì)服務(wù)器的認(rèn)證
  4. 可選的服務(wù)器對(duì)客戶端的認(rèn)證

第一步的密碼組協(xié)商,允許客戶端和服務(wù)器選擇一個(gè)共同支持的密碼組。SSL3.0協(xié)議規(guī)范定義了31個(gè)密碼組。密碼組由以下各部分組成:

  • 密鑰交換法
  • 數(shù)據(jù)傳輸密碼
  • 建立消息認(rèn)證代碼(Message Authentication Code[MAC])的消息摘要

此三個(gè)組成部分說(shuō)明如下。

密鑰交換方法

密鑰交換法指明如何在客戶端和服務(wù)器的數(shù)據(jù)傳輸中使用共享的對(duì)稱密鑰。SSL2.0僅使用RSA密鑰交換,而SSL3.0可以在啟用證書(shū)時(shí),選擇使用包括RSA的多種密鑰交換算法,以及無(wú)須證書(shū)和客戶端-服務(wù)器先期通訊的Diffie-Hellman密鑰交換法。

密鑰交換法的一個(gè)變數(shù)是數(shù)字簽名(可用可不用),如果用,用哪一種。私有密鑰配合簽名可以確保在生成共享密鑰[AC96, p516]的信息交換過(guò)程中抵御攻擊。

數(shù)據(jù)傳輸密碼

SSL使用在前面加密對(duì)話消息中有所講述的常規(guī)密碼算法(對(duì)稱密碼),可以有包括不加密在內(nèi)的九種選擇:

  • No encryption
  • Stream Ciphers
    • RC4 with 40-bit keys
    • RC4 with 128-bit keys
  • CBC Block Ciphers
    • RC2 with 40 bit key
    • DES with 40 bit key
    • DES with 56 bit key
    • Triple-DES with 168 bit key
    • Idea (128 bit key)
    • Fortezza (96 bit key)

這里的"CBC"是Cipher Block Chaining,指在加密當(dāng)前塊時(shí)會(huì)用到先前已經(jīng)加密的部分文本;"DES"是Data Encryption Standard[AC96, ch12],有多個(gè)變種(包括DES40和3DES_EDE);"Idea"是現(xiàn)有最好的最堅(jiān)強(qiáng)的加密算法之一;"RC2"是RSADSI[AC96, ch13]的專屬的算法。

摘要函數(shù)

摘要函數(shù)指明對(duì)一個(gè)記錄單元如何建立摘要。SSL有如下支持:

  • No digest (Null choice)
  • MD5, a 128-bit hash
  • Secure Hash Algorithm (SHA-1), a 160-bit hash

消息摘要用于建立加密的消息認(rèn)證碼(MAC),與消息本身一同發(fā)送,以確保消息完整性并抵御還原攻擊。

握手序列協(xié)議

握手序列使用三個(gè)協(xié)議:

  • SSL Handshake Protocol ,以完成客戶端和服務(wù)器之間對(duì)話的建立。
  • SSL Change Cipher Spec Protocol ,以實(shí)際建立對(duì)話用密碼組的約定。
  • SSL Alert Protocol ,在客戶端和服務(wù)器之間傳輸SSL出錯(cuò)消息。

這些協(xié)議和應(yīng)用協(xié)議的數(shù)據(jù)用 SSL Record Protocol 進(jìn)行封裝,如Figure 2所示,在不檢查數(shù)據(jù)的較底層的協(xié)議中傳輸。封裝協(xié)議對(duì)其底層協(xié)議來(lái)說(shuō)是未知的。


Figure 2: SSL Protocol Stack

SSL控制協(xié)議對(duì)記錄協(xié)議的封裝,使一個(gè)正在進(jìn)行的對(duì)話在重協(xié)商其控制協(xié)議后得以安全地進(jìn)行傳輸。如果事先沒(méi)有建立對(duì)話,則會(huì)使用Null密碼組,也就是說(shuō),在建立對(duì)話以前,不使用密碼,且消息沒(méi)有完整性摘要。

數(shù)據(jù)傳輸

SSL記錄協(xié)議,如Figure 3所示,用于客戶端和服務(wù)器之間的傳輸應(yīng)用和SSL控制數(shù)據(jù),可能把數(shù)據(jù)分割成較小的單元,或者組合多個(gè)較高層協(xié)議數(shù)據(jù)為一個(gè)單元。在使用底層可靠傳輸協(xié)議傳輸數(shù)據(jù)單元之前,它可能會(huì)對(duì)這些單元進(jìn)行壓縮、附著摘要簽名和加密(注意:目前所有主要SSL的實(shí)現(xiàn)都缺乏對(duì)壓縮的支持)。


Figure 3: SSL Record Protocol

保護(hù)HTTP通訊

SSL的一個(gè)常見(jiàn)的用途是保護(hù)瀏覽器和網(wǎng)絡(luò)服務(wù)器之間的網(wǎng)絡(luò)HTTP通訊,但這并排除應(yīng)用于不加保護(hù)的HTTP。其方法主要是,對(duì)普通HTTP加以SSL保護(hù)(稱為HTTPS),但有一個(gè)重要的區(qū)別:它使用URL類型https而不是http ,而且使用不同的服務(wù)器端口(默認(rèn)的是443)。mod_ssl為Apache網(wǎng)絡(luò)服務(wù)器提供的功能主要就是這些了...

References

[AC96]
Bruce Schneier, Applied Cryptography, 2nd Edition, Wiley, 1996. See http://www.counterpane.com/ for various other materials by Bruce Schneier.
[X208]
ITU-T Recommendation X.208, Specification of Abstract Syntax Notation One (ASN.1), 1988. See for instance http://www.itu.int/rec/recommendation.asp?type=items&lang=e&parent=T-REC-X.208-198811-I.
[X509]
ITU-T Recommendation X.509, The Directory - Authentication Framework. See for instance http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.509.
[PKCS]
Public Key Cryptography Standards (PKCS), RSA Laboratories Technical Notes, See http://www.rsasecurity.com/rsalabs/pkcs/.
[MIME]
N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC2045. See for instance http://ietf.org/rfc/rfc2045.txt.
[SSL2]
Kipp E.B. Hickman, The SSL Protocol, 1995. See http://www.netscape.com/eng/security/SSL_2.html.
[SSL3]
Alan O. Freier, Philip Karlton, Paul C. Kocher, The SSL Protocol Version 3.0, 1996. See http://www.netscape.com/eng/ssl3/draft302.txt.
[TLS1]
Tim Dierks, Christopher Allen, The TLS Protocol Version 1.0, 1999. See http://ietf.org/rfc/rfc2246.txt.
?? ??: ?? ??: