SlideShare a Scribd company logo
1 of 3
SSL(Secure Socket Layer)

04 / 30 / 2005


一、什麼是 SSL


SSL 是 Netscape 於 1994 年提出的一種網路傳輸安全標準,用來幫助網際網
路上安全的交易。SSL 推出不久之後 Internet Engineering Task Force
(IETF)組織也投入發展相同功能的標準,他們是以 SSL 3.0 作為規範的基
礎,最後發展出 TLS(Transport Layer Security)協定。SSL 與 TLS 本身僅有
些微差異,經常被拿來相提並論,是目前普遍被應用於安全 HTTP(HTTPS)
網際網路交易的通訊協定組,也就是網頁瀏覽器與網頁伺服器之間的安全協定;
例如網頁需要使用者輸入信用卡、個人身份資料之前,網頁伺服器就改以 https
的連線來取代。


事實上 SSL 不僅僅用於 http 的連線,也可以運用於網路的 File Transfer
Protocol (FTP)、Lightweight Directory Access Protocol (LDAP)和
Simple Mail Transfer Protocol (SMTP)等協定,SSL 啟動了伺服器的認證、
用戶端的認證、資料加密和資料的完整性 (Integrity),用法與網際網路的方
式一樣。


二、SSL 的安全性


● 身份驗證(authentication)


SSL 本身具備認證的能力,符合 SSL 功能的網站,必須向公認的憑證發送機
構(例如 VeriSign 或 Thawte)申請憑證,當我們連線到這些網站時,我們就
可以很確信這些網站的確是可靠的,因為憑證機構必須負起發送憑證時申請人
的身份驗證,而且網站所使用網址必須符合憑證所登錄的網址。


● 資料加密(encryption)


SSL 另一個重要的功能是加密的能力,加密強度可以分為 40 位元及 128 位元
兩種長度的金鑰,這是傳送加密資料時使用的階段金鑰(session key)。根據
以往對 40 位元金鑰加密的挑戰紀錄,透過 120 部工作站以 8 個整天不停運算,
也才解出一個訊息,如果要再解出另一個訊息,這意味著同樣數量的工作站數
量必須再跑 8 天。如果今天把 40 位元提升為 128 位元,那要解開一個訊息的
困難度是使用 40 位元金鑰的 1 兆倍,目前不論瀏覽器或網站伺服器軟體,都
已經支援 128 位元的 SSL 連線。事實上也從來沒聽過信用卡資料在網路上被擷
取破解的案例,有的也只是網路商店的誠信問題,因此與其要求網路技術的安
全性,倒不如慎選網路上的交易對象。


● 資料完整性(integrity)


SSL 透過 message authentication code (MAC)的處理以保證資料的完整性,
所採取的是雜湊函數(hash)的運算,傳送端將傳送由金鑰與訊息運算出來的
MAC;接收端則會對接收到的訊息再計算一遍,若比對兩者 MAC 若一致,此
即可證明訊息資料未被攔截竄改,因為對攻擊者而言,他並無私密金鑰
(private key)可以用來更改訊息或 MAC。


三、SSL 之網站應用


SSL 目前廣泛應用於網站的安全連線,要使網站具備 SSL 的功能必須先向憑
證機構(Certificate Authority)申請 SSL 連線的憑證,接著針對需要提供安全
連線的資料或是網頁安裝此憑證。整個連線的工作流程大略說明如下:


1. 當您要連線到具備 SSL 設定的網站或網頁時,URL 當 中的 http 將自動轉
換為 https,或者以 https 的 URL 直接連線。


2. 當網站伺服器收到要求後,把內含公開金鑰的憑證傳送給瀏覽器用戶端。


3. 用戶端收到憑證之後驗證網站身份無誤,並與伺服器端協商安全等級。


4. 接著瀏覽器使用網站的公開金鑰對隨機產生的階段金鑰(session key)加
密,再傳送給 SSL 連線的網站。


5. 網站以自己的私密金鑰對加密的階段金鑰解密。


6. 雙方利用解開的階段金鑰傳遞加密的資料與解密。
06.Ssl

More Related Content

What's hot

コンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talkコンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talk
bose999
 
451 Ch
451 Ch451 Ch
451 Ch
anjaan
 
RubyistのためのSilverlight2
RubyistのためのSilverlight2RubyistのためのSilverlight2
RubyistのためのSilverlight2
Akihiro Ikezoe
 
CAPとBASEとEventually Consistent
CAPとBASEとEventually ConsistentCAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
Yohei Yamamoto
 
FlashDevelop开发流程
FlashDevelop开发流程FlashDevelop开发流程
FlashDevelop开发流程
lzyy
 
20090513 Cmsnight
20090513 Cmsnight20090513 Cmsnight
20090513 Cmsnight
Yusuke Ando
 
Calendar
CalendarCalendar
Calendar
kumee
 

What's hot (20)

コンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talkコンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talk
 
OpenCARE Project
OpenCARE ProjectOpenCARE Project
OpenCARE Project
 
ケータイサイトのはなし(入門編)
ケータイサイトのはなし(入門編)ケータイサイトのはなし(入門編)
ケータイサイトのはなし(入門編)
 
マイコンと機械学習を使って行動認識システムを作ろう
マイコンと機械学習を使って行動認識システムを作ろうマイコンと機械学習を使って行動認識システムを作ろう
マイコンと機械学習を使って行動認識システムを作ろう
 
97th Kernel code reading party, TOMOYO Linux Night
97th Kernel code reading party, TOMOYO Linux Night97th Kernel code reading party, TOMOYO Linux Night
97th Kernel code reading party, TOMOYO Linux Night
 
451 Ch
451 Ch451 Ch
451 Ch
 
RubyistのためのSilverlight2
RubyistのためのSilverlight2RubyistのためのSilverlight2
RubyistのためのSilverlight2
 
Androidの中身-第26回NaCl社内勉強会
Androidの中身-第26回NaCl社内勉強会Androidの中身-第26回NaCl社内勉強会
Androidの中身-第26回NaCl社内勉強会
 
VSUG Leaders Summit 2008 - Ustream
VSUG Leaders Summit 2008 - UstreamVSUG Leaders Summit 2008 - Ustream
VSUG Leaders Summit 2008 - Ustream
 
Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009
 
OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)
 
Openlink Virtuoso v01
Openlink Virtuoso v01Openlink Virtuoso v01
Openlink Virtuoso v01
 
about Shibuya.trac naming
about Shibuya.trac namingabout Shibuya.trac naming
about Shibuya.trac naming
 
CAPとBASEとEventually Consistent
CAPとBASEとEventually ConsistentCAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
 
Openid+Rails講演会2008
Openid+Rails講演会2008Openid+Rails講演会2008
Openid+Rails講演会2008
 
FlashDevelop开发流程
FlashDevelop开发流程FlashDevelop开发流程
FlashDevelop开发流程
 
イケテルRuby開発環境
イケテルRuby開発環境イケテルRuby開発環境
イケテルRuby開発環境
 
20090513 Cmsnight
20090513 Cmsnight20090513 Cmsnight
20090513 Cmsnight
 
Spring Dynamic Modules
Spring Dynamic ModulesSpring Dynamic Modules
Spring Dynamic Modules
 
Calendar
CalendarCalendar
Calendar
 

Viewers also liked

Api Code Pack For Net Framework
Api Code Pack For Net FrameworkApi Code Pack For Net Framework
Api Code Pack For Net Framework
Chui-Wen Chiu
 
以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈
以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈
以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈
Chui-Wen Chiu
 
Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)
Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)
Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)
Chui-Wen Chiu
 
如何輕鬆快速開發報表:談 SQL Server 2008 報表開發
如何輕鬆快速開發報表:談 SQL Server 2008 報表開發如何輕鬆快速開發報表:談 SQL Server 2008 報表開發
如何輕鬆快速開發報表:談 SQL Server 2008 報表開發
Chui-Wen Chiu
 
Catlins 最南的海岸線
Catlins  最南的海岸線Catlins  最南的海岸線
Catlins 最南的海岸線
Chui-Wen Chiu
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發
Chui-Wen Chiu
 
董大偉,Silverlight3 技術講座
董大偉,Silverlight3 技術講座董大偉,Silverlight3 技術講座
董大偉,Silverlight3 技術講座
Chui-Wen Chiu
 
08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?
08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?
08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?
Chui-Wen Chiu
 
說對了話,無價!
說對了話,無價!說對了話,無價!
說對了話,無價!
Chui-Wen Chiu
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
Chui-Wen Chiu
 

Viewers also liked (17)

Api Code Pack For Net Framework
Api Code Pack For Net FrameworkApi Code Pack For Net Framework
Api Code Pack For Net Framework
 
以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈
以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈
以 .NET RIA Services 打通 Silverlight 分散式開發之任督二脈
 
海角七號
海角七號海角七號
海角七號
 
腰酸背痛
腰酸背痛腰酸背痛
腰酸背痛
 
Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)
Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)
Windows 7兼容性系列课程(2):Windows 7用户权限控制 (UAC)
 
如何輕鬆快速開發報表:談 SQL Server 2008 報表開發
如何輕鬆快速開發報表:談 SQL Server 2008 報表開發如何輕鬆快速開發報表:談 SQL Server 2008 報表開發
如何輕鬆快速開發報表:談 SQL Server 2008 報表開發
 
Catlins 最南的海岸線
Catlins  最南的海岸線Catlins  最南的海岸線
Catlins 最南的海岸線
 
06.Ssl
06.Ssl06.Ssl
06.Ssl
 
墾丁 更新版
墾丁  更新版墾丁  更新版
墾丁 更新版
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發
 
14.淺談Ddr2 Sdram
14.淺談Ddr2 Sdram14.淺談Ddr2 Sdram
14.淺談Ddr2 Sdram
 
董大偉,Silverlight3 技術講座
董大偉,Silverlight3 技術講座董大偉,Silverlight3 技術講座
董大偉,Silverlight3 技術講座
 
08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?
08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?
08.如何利用Netstat指令及Windows工作管理員來排解網路連線異常的狀況?
 
Good Advise
Good AdviseGood Advise
Good Advise
 
說對了話,無價!
說對了話,無價!說對了話,無價!
說對了話,無價!
 
利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
 
移動內存算法
移動內存算法移動內存算法
移動內存算法
 

More from Chui-Wen Chiu

More from Chui-Wen Chiu (20)

Dynamic Python
Dynamic PythonDynamic Python
Dynamic Python
 
Pythonpresent
PythonpresentPythonpresent
Pythonpresent
 
Introduce Django
Introduce DjangoIntroduce Django
Introduce Django
 
墾丁 更新版2
墾丁  更新版2墾丁  更新版2
墾丁 更新版2
 
Bw1096
Bw1096Bw1096
Bw1096
 
高雄新地標 統一夢世代
高雄新地標  統一夢世代高雄新地標  統一夢世代
高雄新地標 統一夢世代
 
Borland傳奇
Borland傳奇Borland傳奇
Borland傳奇
 
Python 庫簡介
Python 庫簡介Python 庫簡介
Python 庫簡介
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 
天下第一 夜市總冠軍
天下第一 夜市總冠軍天下第一 夜市總冠軍
天下第一 夜市總冠軍
 
下班就跑是富有哲學道理1
下班就跑是富有哲學道理1下班就跑是富有哲學道理1
下班就跑是富有哲學道理1
 
認識腸病毒
認識腸病毒認識腸病毒
認識腸病毒
 
排隊的店
排隊的店排隊的店
排隊的店
 
柬埔寨鄉村婚禮
柬埔寨鄉村婚禮柬埔寨鄉村婚禮
柬埔寨鄉村婚禮
 
新 創 意
新 創 意新 創 意
新 創 意
 
挖好屬於自己的井
挖好屬於自己的井挖好屬於自己的井
挖好屬於自己的井
 
Why The Us Wants War 080702
Why The Us Wants War  080702Why The Us Wants War  080702
Why The Us Wants War 080702
 
你今天的選擇是什麼?
你今天的選擇是什麼?你今天的選擇是什麼?
你今天的選擇是什麼?
 
我的學思歷程 劉兆玄
我的學思歷程 劉兆玄我的學思歷程 劉兆玄
我的學思歷程 劉兆玄
 
Unknown Parameter Value
Unknown Parameter ValueUnknown Parameter Value
Unknown Parameter Value
 

06.Ssl

  • 1. SSL(Secure Socket Layer) 04 / 30 / 2005 一、什麼是 SSL SSL 是 Netscape 於 1994 年提出的一種網路傳輸安全標準,用來幫助網際網 路上安全的交易。SSL 推出不久之後 Internet Engineering Task Force (IETF)組織也投入發展相同功能的標準,他們是以 SSL 3.0 作為規範的基 礎,最後發展出 TLS(Transport Layer Security)協定。SSL 與 TLS 本身僅有 些微差異,經常被拿來相提並論,是目前普遍被應用於安全 HTTP(HTTPS) 網際網路交易的通訊協定組,也就是網頁瀏覽器與網頁伺服器之間的安全協定; 例如網頁需要使用者輸入信用卡、個人身份資料之前,網頁伺服器就改以 https 的連線來取代。 事實上 SSL 不僅僅用於 http 的連線,也可以運用於網路的 File Transfer Protocol (FTP)、Lightweight Directory Access Protocol (LDAP)和 Simple Mail Transfer Protocol (SMTP)等協定,SSL 啟動了伺服器的認證、 用戶端的認證、資料加密和資料的完整性 (Integrity),用法與網際網路的方 式一樣。 二、SSL 的安全性 ● 身份驗證(authentication) SSL 本身具備認證的能力,符合 SSL 功能的網站,必須向公認的憑證發送機 構(例如 VeriSign 或 Thawte)申請憑證,當我們連線到這些網站時,我們就 可以很確信這些網站的確是可靠的,因為憑證機構必須負起發送憑證時申請人 的身份驗證,而且網站所使用網址必須符合憑證所登錄的網址。 ● 資料加密(encryption) SSL 另一個重要的功能是加密的能力,加密強度可以分為 40 位元及 128 位元 兩種長度的金鑰,這是傳送加密資料時使用的階段金鑰(session key)。根據 以往對 40 位元金鑰加密的挑戰紀錄,透過 120 部工作站以 8 個整天不停運算,
  • 2. 也才解出一個訊息,如果要再解出另一個訊息,這意味著同樣數量的工作站數 量必須再跑 8 天。如果今天把 40 位元提升為 128 位元,那要解開一個訊息的 困難度是使用 40 位元金鑰的 1 兆倍,目前不論瀏覽器或網站伺服器軟體,都 已經支援 128 位元的 SSL 連線。事實上也從來沒聽過信用卡資料在網路上被擷 取破解的案例,有的也只是網路商店的誠信問題,因此與其要求網路技術的安 全性,倒不如慎選網路上的交易對象。 ● 資料完整性(integrity) SSL 透過 message authentication code (MAC)的處理以保證資料的完整性, 所採取的是雜湊函數(hash)的運算,傳送端將傳送由金鑰與訊息運算出來的 MAC;接收端則會對接收到的訊息再計算一遍,若比對兩者 MAC 若一致,此 即可證明訊息資料未被攔截竄改,因為對攻擊者而言,他並無私密金鑰 (private key)可以用來更改訊息或 MAC。 三、SSL 之網站應用 SSL 目前廣泛應用於網站的安全連線,要使網站具備 SSL 的功能必須先向憑 證機構(Certificate Authority)申請 SSL 連線的憑證,接著針對需要提供安全 連線的資料或是網頁安裝此憑證。整個連線的工作流程大略說明如下: 1. 當您要連線到具備 SSL 設定的網站或網頁時,URL 當 中的 http 將自動轉 換為 https,或者以 https 的 URL 直接連線。 2. 當網站伺服器收到要求後,把內含公開金鑰的憑證傳送給瀏覽器用戶端。 3. 用戶端收到憑證之後驗證網站身份無誤,並與伺服器端協商安全等級。 4. 接著瀏覽器使用網站的公開金鑰對隨機產生的階段金鑰(session key)加 密,再傳送給 SSL 連線的網站。 5. 網站以自己的私密金鑰對加密的階段金鑰解密。 6. 雙方利用解開的階段金鑰傳遞加密的資料與解密。