您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > ssltls 及其在网页伺服器上之应用
SSL/TLS及其在網頁伺服器上之應用Yi-NengLin,Chang-WeiYang,Shwu-FenKuo,andChen-KueiLee交通大學資訊科學系系計算機中心{ynlin,cwyang,cklee,sfkuo}@cis.nctu.edu.tw2020/2/26交通大學資訊科學系系計算機中心2大綱SSL簡介TLS簡介SSL/TLS在網頁伺服器上之應用參考資料2020/2/26交通大學資訊科學系系計算機中心3Part1SSL簡介SSL演進SSL簡介2020/2/26交通大學資訊科學系系計算機中心4SSL演進SSLv2(SecureSocketLayer)Netscape,1994PCT(PrivateCommunicationsTechnology)Microsoft,1995CompatiblewithSSLv2SSLv3Netscape,1996TLSv1(TransportLayerSecurity)ETF,1998MinorchangeswithSSLv3,maybeviewedasSSLv3.12020/2/26交通大學資訊科學系系計算機中心5SSL/TLS網路層2020/2/26交通大學資訊科學系系計算機中心6SSL示意圖2020/2/26交通大學資訊科學系系計算機中心7SSL安全特性(1/2)私密性(secrecyorprivacy):透過加密能確保資訊的私密性。即使訊息仍然可能會被第三者攔截,但是他們無法閱讀這些資訊,因為他們沒有鑰匙可以開啟加密的資料Asymmetrickeyexchange:RSA,Diffie-Hellman,etc.Symmetricencryption:DES,3DES,RC4,etc.完整性(messageintegrity):藉由MAC來確保訊息的完整性。如果在傳輸過程資料遭到竄改,接收者會可以從MAC檢查出訊息遭到破壞MessageIntegrity:MD5,SHA-12020/2/26交通大學資訊科學系系計算機中心8SSL安全特性(2/2)認證(Authentication):經由數位憑證,確定另一通訊端的真實身份ServerauthenticationClientauthenticationX.509:public-keycertificate2020/2/26交通大學資訊科學系系計算機中心9SSL協定(Protocols)溝通協定(HandshakeProtocol)相互認証(authentication)密碼方法與加解密鑰匙溝通資料協定(RecordProtocol)對ApplicationLayer的資料做加密2020/2/26交通大學資訊科學系系計算機中心10HandshakeProtocolofSSL2020/2/26交通大學資訊科學系系計算機中心11RecordProtocolofSSL2020/2/26交通大學資訊科學系系計算機中心12SSL不能做什麼?SSL只保障資料在Internet上的安全,一旦資料到達對方之後,就以明文存在。例如,以SSL傳送信用卡卡號,server端可以知道該信用卡卡號SET才可以保障server端的商家無法得到卡號SSL並不能防止送訊息的一方否認(denial)曾經送過某一個訊息2020/2/26交通大學資訊科學系系計算機中心13Part2TLS簡介簡介TLSHandshakeProtocolTLSRecordProtocolSSL/TLS優缺點2020/2/26交通大學資訊科學系系計算機中心14簡介(1/2)TLS由IETF在1997年所提出來的。TLSv1建構在SSLv3之上TLS介於ApplicationLayer之下,TCP之上TLS由二部份組成TLSRecordProtocolTLSHandshakeProtocol2020/2/26交通大學資訊科學系系計算機中心15簡介(2/2)TLSisusedconnection-orientedtransport,typicallyTCP.TLS可做到:Authentication(認證)以public/Privatekey方式來做Confidentiality(機密性)利用一sessionkey,來encode和decode資料Integrity(完整性)以檢查MAC(MessageAuthenticationCode),來確認資料是否遭竄改2020/2/26交通大學資訊科學系系計算機中心16TLSHandshakeProtocol(1/2)主要是負責在client/server傳送前,互相做認證和keyexchange在handshake過程中,主要做三部份:協調所用的加密演算法(ciphersuite)例如:TLS_RSA_WITH_RC4_128_MD5認證(Authentication)使用public/privatekey方式Keyexchange先產生MasterSecret,用來產生以下二個sessionkey:WriteMACSecret(sessionkeyforhashing)WriteKey(sessionkeyforencryption)2020/2/26交通大學資訊科學系系計算機中心17TLSHandshakeProtocol(2/2)1.sendsClienthello2.sendsServerhello3.sendscertificate/sendsServerhellodone4.requestcertificate5.responsecertificate6.sendsencryptedPre-MasterSecret7.sendsChangecipherspec/sendsClientfinished8.sendsServerfinished(RecordLayer)clientserver2020/2/26交通大學資訊科學系系計算機中心18TLSRecordProtocol主要負責資料傳送確保資料傳送時的安全性及完整性在傳送的資料加一個MAC(MessageAuthenticationCode),而在接收到資料時確認MAC是否正確fragmentdatacompressencryptdecrypteddecompressedreassembledtransmitsenderreceiver2020/2/26交通大學資訊科學系系計算機中心19SSL/TLS優缺點TLS優點TLS設計可具有延展性TLS與ApplicationLayer相互獨立TLS是有彈性的,支援較多的keysize和提供不同的安全等級TLS的hashfunction使用上相當謹慎SSL優點很多的browser己支援SSL缺點SSL需要修改proxyprotocol2020/2/26交通大學資訊科學系系計算機中心20Part3SSL/TLS在apache上之應用mod_ssl,Apache-SSL概觀設定指令介紹對網頁伺服器效能的影響2020/2/26交通大學資訊科學系系計算機中心21mod_ssl簡介Apache的安全模組和OpenSSL溝通的介面普及率有越來越高的趨勢增加mod_ssl模組到apache$cdapache_1.3.x/$setenvSSL_BASE=/path/to/openssl$./configure...--enable-module=ssl#ToenabletheDynamicSharedObject(DSO)support#addthefollowingtwolinesinsrc/ConfigurationAddModulessl_modulemodules/ssl/libssl.aSharedModulessl_modulemodules/ssl/libssl.soMonthMarketShareApacheShare20000755.49%9.36%20010758.73%18.35%2020/2/26交通大學資訊科學系系計算機中心22Apache-SSL為mod_ssl之前身(5%相似)Mod_ssl和Apache-SSL,誰好誰壞?說明檔之完整性是否採用DynamicSharedObject(DSO)是否支援Win32架構程式碼品質與可讀性安裝之便利性Log檔的詳細程度2020/2/26交通大學資訊科學系系計算機中心23設定指令SSLPassPhraseDialog通行對話的方式選項:builtin,exec:/path/to/program範例:SSLPassPhraseDialogexec:/usr/local/apache/sbin/pp-filterSSLMutex選擇互斥(mutualexclusion)機制選項:None(default;不建議),file:/path/to/mutex,sem範例:SSLMutexfile:/usr/local/apache/logs/ssl_mutex2020/2/26交通大學資訊科學系系計算機中心24設定指令SSLRandomSeedsPseudoRandomNumberGenerator(PRNG)seedingsource選項:none,file:/path/to/source,exec:/path/to/program範例:SSLRandomSeedconnectfile:/dev/urandom1024SSLSessionCacheglobal/inter-processSSLSessionCache選項:none,dbm:/path/to/datafile範例:SSLSessionCachedbm:/usr/local/apache/logs/ssl_gcache_data2020/2/26交通大學資訊科學系系計算機中心25設定指令SSLProtocol選擇可用之SSL協定選項:SSLv2,SSLv3,TLSv1,ALL範例:SSLProtocolall-SSLv2(enableallbutSSLv2)SSLRequireSSL拒絕沒有使用SSL的HTTPrequests選項:無範例:SSLRequireSSL2020/2/26交通大學資訊科學系系計算機中心26設定指令SSLLog設定記錄檔選項:none(default),/path/to/file範例:SSLLog/usr/local/apache/logs/ssl_engine_logSSLLogLevel設定記錄等級選項:none(default),error,warn,info,trace,debug範例:SSLLogLevelwarn2020/2/26交通大學資訊科學系系計算機中心27對伺服器之效能影響(1/2)PerformanceanalysisofTLSwebserversSessionreuseTLShandshake的負擔很重避免重複執行從同一IP來的TLShandshake對(大型的)電子商務網站來說Session的時間一般都較短Lowsessionreuserate可用RSAaccelerator來因應對一般的網站來說所有request都由TLSserver來處理需要更快速的處理器2020/2/26交通大學資訊科學系系計算機中心28對伺服器之效能影響(2/2)2020/2/26交通大學資訊科學系系計算機中心29參考資料1.://“PerformanceAnalysisofTLSwebservers,”InProceedingsofNDSS'0
本文标题:ssltls 及其在网页伺服器上之应用
链接地址:https://www.777doc.com/doc-4008457 .html