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交通大學資訊科學系系計算機中心3Part1SSL簡介SSL演進SSL簡介2020/2/26交通大學資訊科學系系計算機中心4SSL演進SSLv2(SecureSocketLayer)Netscape,1994PCT(PrivateCommunicationsTechnology)Microsoft,1995CompatiblewithSSLv2SSLv3Netscape,1996TLSv1(TransportLayerSecurity)ETF,1998MinorchangeswithSSLv3,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):經由數位憑證,確定另一通訊端的真實身份ServerauthenticationClientauthenticationX.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交通大學資訊科學系系計算機中心13Part2TLS簡介簡介TLSHandshakeProtocolTLSRecordProtocolSSL/TLS優缺點2020/2/26交通大學資訊科學系系計算機中心14簡介(1/2)TLS由IETF在1997年所提出來的。TLSv1建構在SSLv3之上TLS介於ApplicationLayer之下,TCP之上TLS由二部份組成TLSRecordProtocolTLSHandshakeProtocol2020/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交通大學資訊科學系系計算機中心20Part3SSL/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-filterSSLMutex選擇互斥(mutualexclusion)機制選項:None(default;不建議),file:/path/to/mutex,sem範例:SSLMutexfile:/usr/local/apache/logs/ssl_mutex2020/2/26交通大學資訊科學系系計算機中心24設定指令SSLRandomSeedsPseudoRandomNumberGenerator(PRNG)seedingsource選項:none,file:/path/to/source,exec:/path/to/program範例:SSLRandomSeedconnectfile:/dev/urandom1024SSLSessionCacheglobal/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_logSSLLogLevel設定記錄等級選項:none(default),error,warn,info,trace,debug範例:SSLLogLevelwarn2020/2/26交通大學資訊科學系系計算機中心27對伺服器之效能影響(1/2)PerformanceanalysisofTLSwebserversSessionreuseTLShandshake的負擔很重避免重複執行從同一IP來的TLShandshake對(大型的)電子商務網站來說Session的時間一般都較短Lowsessionreuserate可用RSAaccelerator來因應對一般的網站來說所有request都由TLSserver來處理需要更快速的處理器2020/2/26交通大學資訊科學系系計算機中心28對伺服器之效能影響(2/2)2020/2/26交通大學資訊科學系系計算機中心29參考資料1.://“PerformanceAnalysisofTLSwebservers,”InProceedingsofNDSS'0

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功