發信人: Allen (u ) 日期: Sat, 25 Jul 1998 21:46:46 -0400 標題: 電子商務上 SET vs. SSL 信群: tw.bbs.comp.security 看板: 來源: <35BA9896.8EC17512@m2.dj.net.tw>:5193, gate3.ca.us.ibm.com 組織: 大家近來對電子商務, 網路購物的安全性有 蠻多討論. 想提供一些意見大家參考看看 What can SSL do? SSL 提供通訊雙方 (大多數狀況是 browser <-> web server) 間 身分認證 (web server 有 certificate, browser 也可以有, 但擁有的人並不多), 資料加解密 (encryption/decryption), 資料完整性 (data integrity) 等等功能. SSL 是介於 TCP/IP 之上, Application layer 之下的夾心餅乾 它保證兩端 application 所作的通訊內容有加密, 沒被竄改, 知道是誰送的 What SSL can not do... 因為 SSL 設計時考量的是方便使用, 對 Application 來說要 transparent, 所以在 Application Level 看來都是 plain data format, Application 不需要 自己去看加密解密簽章的處理. 同理, 如果在 Application Level 要留下 transaction 的證據 (for example, 留下數位簽章), SSL 在檯面下已經一手 遮天作完了, Application 就要自己額外處理 網路刷卡的問題 在電子商務中的網路上刷卡來看, SSL 只確保信用卡號從 client browser 傳送到 web server 這一段受到保護, 1. 它並無法保證 client 的身分 (除非 client 有拿到 X.509V3 certificate, 但並不多) 而且, 卡號到了 web server 上 CGI 程式接收到之後 就是 plain text, 可能會有兩種問題 2. 商家自己就有內賊, 把一堆卡號據為己有去盜刷. 用 SSL 只是確保了 卡號只傳給壞商家, 中途的 hacker 分不到一杯羹. 3. 商家是清白的, 但 web server 安全沒作好, 被 hacker 侵入該 server, 偷走卡號的資料 另外, 網路交易衍生的問題 3. client 答應買 5000 元的東西, 商家卻向收單銀行說 client 買 10000 元, 起糾紛的時候, 請問有沒有什麼有力證據來證明是 5000 不是 10000? sorry, 因為 SSL 只管 client -> wer server, 之後就沒了, 若是黑店鐵了心 要坑顧客的錢, 顧客是沒證據的, 因為並沒有對 "5000元" 在 application layer 作數位簽章 (缺乏 form-signing mechanism, 後來 Netscape 才補強, 但知道的人不多, 尚未普及) 所以, SSL 在網路購物上所能作的保護實在是有限 What SET can do? SET 為了解決上面 SSL 在網路購物上所作不到的, 特別花了很大功夫 去作到下面的事: 1. 身分認證: 顧客, 商家, 收單銀行通通都要有 SET certificate 驗明正身 2. 在 application layer 上作很多事情, 是原來 SSL 不管的, 所以 client 要有 電子錢包軟體去作這些加解密簽章等運算. 技術上來說, 它是個 browser plug-in. 同理, merchant 端及收單銀行都要有相對應的 SET 模組 來處理 SET 要作的運算 3. 商家根本「看不到」卡號, 卡號被包在「信封」中, 商家打不開, 只能照樣 傳給收單銀行, 銀行才能打開, 如果沒問題 (for example, 不是失竊卡, 沒有刷爆, ......) 銀行就回覆商家 OK no problem, 我會付你錢, 至於是那個 卡號, 商家您就甭管了吧! 4. 交易的內容與金額由 client 與 merchant 各呈一份, 彼此看不到, 兩份一起 交到收單銀行才拆開, 如果兩者都說是 5000 元, OK no problem, 這筆 transaction 就圓滿成交. 反之, 一個說 5000, 另一個說 10000, 這代誌就 大條啦! 所以啦, 基本上 SET 對購物上會發生的安全問題是著墨頗深的 當初就是因為 SSL 不能作到很滿意, VISA, MasterCard 才會去要設計 SET 出來補強. 目前的問題是推廣快慢的問題, 不是技術上的問題 在「電子商務 or 網路刷卡」這個論點上, SSL 當然是遜於 SET (請注意, 我不是指 SSL 不好, 而是說在電子商務特殊的環境下, SET 比 SSL 解決更多實際問題) Allen Yu allenyu@pobox.com .