(線上交易安全系列3/4)
By 陳宜誠 Vincent Chen
(這是我於西元1995~1997年發表於『網際空間』雜誌之“CyberMoney” 和 “CyberTech” 專欄,並以《網際理財。海外投資:兼論網路交易安全》,ISBN 957-99499-6-4 ,由資訊傳真機構於西元1997年9月集結成書出版的幾篇文章。現在回頭再看它們,覺得雖然經過了快二十年了,這些有關線上交易安全的資訊對於網友可能還算有用,所以再PO這些文章在這裡,以跟網友共勉之。)
線上交易的安全性
信用卡本身有卡號,姓名,雷射標籤,特殊字型等防偽設計。 在商店刷卡消費時,是用信用卡本身(實質憑證)和持有人的親筆簽名(生物特徵);而提領現金時,則跟提款卡一樣的是用卡片本身(實質憑證)和持有人的個人識別碼PIN(記憶力),都同時使用了兩類檢驗方法,所以是比較安全、不易仿冒的設計。 不過,假設商家不盡心查對簽名的樣式是否相符,或者持有人的簽名未定型,或者拿的是足以亂真的偽卡,這些防偽措施根本也是無用。 你也不會知道這個商家是不已被犯罪集團侵入,還是這個餐廳根本跟偽造集團串通好,是開來收集信用卡的卡號的。 它們更不能防範服務生在帶著你的信用卡離開你的視線之後,會不會拿了就跑,多刷幾次卡,虛填金額,留下卡號,私藏收據等等。 所以,雖然它是比較安全的系統,最近有些信用卡的發行銀行也會在卡上印製持有人的彩色相片或預先印製簽名,甚至使用不易仿冒的智慧晶片卡(Smart IC Card),稍可增強安全控管的措施,但還是不能完全防堵這些漏洞。
(
後註:例如,最近有新聞報導說,Apple Pay在登錄信用卡資料時,美國的發卡銀行認證其確為持卡人的手續就過於簡便,僅使用社會安全號碼的最後四碼,造成偽卡集團有機可乘,使得盜刷率大為升高,..
(
後註:例如,最近有新聞報導說,Apple Pay在登錄信用卡資料時,美國的發卡銀行認證其確為持卡人的手續就過於簡便,僅使用社會安全號碼的最後四碼,造成偽卡集團有機可乘,使得盜刷率大為升高,..
不過大家別太擔心,這是美國發卡銀行認證不確實所造成的,跟Apple Pay本身的系統安全性無關。而且,這些盜刷信用卡的損失,就會由這些認證不確實的發卡銀行來支付。因此,這些美國銀行就會要求更多個資,好來確認Apple Pay所存的信用卡資料確實屬於持卡人,那麼這個漏洞就不再存在了。
當然,我們還是可以再增加更多的安全措施,讓這個交易過程加倍的安全。 不過基本上,這是個投資報酬率,和防偽與方便性之間的平衡問題。 在合理的防偽措施提高了仿製或冒用的成本後,再增加的安全防偽或檢驗措施,有可能會巨幅增加營運成本或降低使用者的便利性,算一算不見得會划得來。
現在還是只能以增加合理的安全管制的措施,來盡量增加偽卡和冒用的成本和風險,以保險和理賠來降低或分攤發卡機構或持有人的損失。 最新的趨勢是不在卡片本身的安全防偽性上再作更多文章,而是想辦法把卡片跟持有人的其他生物特徵更緊密的結合,以加強或取代原先依賴的親筆簽名和人工檢驗措施。
而現在金融界和電腦界的趨勢也都是走向「無實體(虛擬)交易」的時代,以往採用的印章或識別證不但落伍,不但無法自動檢驗,有些根本就是無法適用,而且極易仿製或冒用,漸漸的,在這樣的無實體交易裡,大家都必須改用【生物特徵結合記憶力】的雙重檢驗方式,來取代以往用實質憑證的檢驗方法。
線上股市交易(點對點的關係)的安全性
透過網際網路來下單買賣股票,其實是最簡化的線上交易行為。 中間只牽涉三方,1)券商,它的電腦主機系統和它所設的網路站台,2)中間經過的網際網路,3)您的個人電腦和您自己。
券商所設的網際網路站台,除了要能讓合法的客戶連線之外,當然還要跟券商的資料庫與主電腦聯結。
首先,它在路由器(router)那兒要先設一道軟體或硬體的防火牆,使用者在連到網路站台時,必須能提供合法的識別碼(Identification Code)和通行碼(password)。讓網路上的不法者不能輕易進入。 再來是,券商電腦系統的硬體保密器,將會自動對各個線上作業(session)產生一組隨機亂碼,據以對通行於券商內部網路與主機資料庫做溝通的各作業內容,加以編碼互相保密。 使用者若要下單,還要輸入一個與通行碼不同的交易密碼(Transaction Password),以達到多重保密的目的。 當然,券商的電腦系統也要是個能夠防護資料安全的系統,在系統設計上就必須考慮增強其安全性。券商的電腦系統,和它連結的交易所、銀行、以及券商間的通訊網路和電腦系統,可以假設是相當安全的專屬電腦網路(事實上也是,筆者以後會細述),已經存在許久,而且一般人無法接觸,假若會出問題大部份也是券商內部的安全控管不良,跟你是否經由網際網路來下單無關。
資料在網際網路上傳遞,有可能會遭到竄改,假冒,竊看(竊聽),遺失,干擾,複製等攻擊。
資料遺失或被干擾並無法防制,只能設定為在一段時間後,若未收到回應,就經由不同的路徑自動重送資料。 資料複製可以用編序號來解決。 為防竄改,可以用特殊的MAC(Message Authentication Code)編碼方式,為每一份文件計算出一個MAC碼,只要文件當中有一字與原文不同,就無法算出同一個MAC碼。 為防竊看,在傳遞之前,文件就必須經過特殊的加密編碼保護,在收件之後再經過解密程序來閱讀。
為防假冒,雙方所用的密碼必須是一樣的(單一金匙系統),或者是成對的(公開金匙系統)。 而保密的強度是與金匙(Key)的長度成正比的,其道理就像對號鎖的號碼假若用了越多位數字,正確的開鎖密碼被人猜中的機率就會越小。
再來就是檢視你自己和你的電腦是否有基本的安全保護。 你有設開機密碼嗎? 帳號是跟別人共用的? 你有把帳號和密碼記在本子上或鍵盤下面的壞習慣嗎?
銀幕保護程式有設密碼嗎? 有沒有把機密檔案加密的習慣? 跟別人共用一部電腦? 時常跟別人連線? 開放他人共用檔案?
甚至,有無被人偷窺的可能? 眾多在電腦室取得別人帳號和密碼的方法中,偷窺是最簡單的方法。
由於是只在券商和在它那兒開戶的合法客戶之間做點對點的交易,所以使用了多重的登入和交易密碼,和執行一般的資料亂碼保護,就可以合理保障交易的安全性了。
只要你的券商沒有拆爛污,有裝置適當的資料保全設施,和執行內部安全控管機制,一般透過網際網路的股票下單交易行為,以現在的軟硬體技術,是可以達到相當的安全性的。
虛擬的電子錢幣(Electronic
Money)交易
現金(鈔票)交易有幾個支票或信用卡無法取代的優勢,第一它是完全匿名的,第二是它交易的速度很快,可以找零。 金融機構間之間本來就已經是用電子網路來作清算和匯兌支付的,現在只是要建立一個用戶到各金融機構之間,透過網際網路連結的安全管道。 不過,說來容易做來難,網際網路有跨國的特性,想發行國際通用的金錢(不管是否是虛擬錢幣),會牽涉到各國財政部和中央銀行的態度,還有清算、匯兌、稅率等問題,本身就是一件令人頭大的事。
電子錢幣的四項要素
¨
安全(Security): 以用來確保線上交易(on-line transactions),電子轉帳(transferring funds),還有發行電子貨幣都能安全的進行。
¨
防偽(Authentication): 所以買方和賣方都能確認所收受的電子錢幣是真的。
¨
匿名(Anonymity): 以確保消費者,商家,和交易本身的資訊不被公開。
¨
可分割(Divisibility): 能夠找零及湊整數,所以電子錢幣可以用來支付大量或小金額的交易。
|
線上跨國購物交易(多點成網狀的關係)的安全性
由於你不能傳遞實體的鈔票給網際網路另一端的人來買東西,所以你必須用個替代的方法,把這些鈔票所代表的同額金錢價值,透過某個雙方都認可的媒介,經過國際匯率轉換,由你的手中傳給對方,對方也要能回應通知您它已收到此筆金額,以供你日後對質之用,或在收到購買的商品後,再執行媒介執行真正的扣款。
你當然可以使用銀行的信用狀或匯款服務,但最方便的線上購物方法就是直接用信用卡在網際網路上做交易,也就是鍵入它的卡號,持用人姓名,以及有效年月,就可以在網際網路上買東西。
鍵入信用卡號,透過網際網路來購物,是蠻複雜的線上交易行為。 這個金錢交易流程上所牽涉到的單位有:
1.
消費者: 只要按個鍵就可啟動一個交易,商品的買方。
2. 商家: 這筆交易的對象,商品的賣方。
3. 各國的銀行:消費者或商家在此開立帳戶,保有其錢財,領取信用卡等。
4.
各國的金融清算組織: 由位於銀行之間的清算組織,來做跨行的電子票據交換和清算。美國的銀行是使用聯邦儲備銀行的自動清算中心Automated Clearing House
(ACH),而台灣的是由金資中心來提供類似的服務。
5.
跨國的信用卡組織: 它們透過專屬的網路,與全世界的金融機構與清算組織連結,提供端末機以讓商家來驗證消費者的信用卡,並在日後向消費者催收及支付商家貨款。
6.
跨國的金融清算組織: SWIFT是跨國的匯款清算系統。
7.
電子資訊交換EDI服務公司: 大部份的電子資訊交換(EDI)交易現在仍是透過各EDI服務公司專屬的網路,或特別設置的加值網路(VAN)來進行。 不過,現在若要透過網際網路來做各種EDI服務,並沒有任何技術上的困難。
8.
加值網路VANs: 特殊用途的加值網路,VANs可以經由虛擬專屬網路Virtual Private Networks (VPNs),透過網際網路來連結。
9.
虛擬專屬網路VPNs: 專門用來處理在同一個公司組織內各部門,或屬於同一個製造銷售體系的公司之間的交易,例如經銷商(distributors),工廠(manufacturers),和供應商(materials suppliers)的訂單和發票等。虛擬專屬網路可以用專屬的網路連結,也可以利用網際網路現成的頻寬,用保密的技術在上面架設一個私用的通道。
10. 網際網路Internet: 將構成所有電子交易的終極媒介和骨幹。
現有的網際網路安全措施
其實線上交易的風險性並不比您到餐廳用信用卡消費來得大。 您鍵入您的信用卡卡號,然後把它用電子郵件經由網際網路送給他人,可能仍會比你在餐廳裡把信用卡交給服務生簽帳還安全。 什麼事在這樣的交易過程裡都有可能發生,也都曾經發生過,但您不擔心這些的原因是因為,信用卡組織在這個交易裡面,擔任了仲裁和保護者的角色。
在線上,並沒有侍者站在結帳的櫃台和您中間。 只要您加上適當的保密措施,而銀行能像信用卡組織一樣的保護你,吸收這個風險,那麼這筆線上交易會遠比您在餐廳裡使用信用卡簽帳更安全。 VISA和MasterCard制定的SET標準,就是用來界定以上至少五方(買方,買方的銀行,信用卡組織,賣方的銀行,賣方)之間的權力和義務。
RSA Data Security的公開金匙加密程序,是Visa和MasterCard這兩個信用卡組織共同支持的「線上安全交易」Secure Electronic Transactions (SET)標準的基石,你可以到他們各自的站台去搜尋這個SET標準的文件說明。 Microsoft和Netscape Communications也早已加入了這個支持SET的行列,讓使用者能在網際網路上安全的用瀏覽器和信用卡號做交易,而且商家和消費者都先要經過信用卡組織的認證。
IBM的Internet Keyed Payments (iKP)標準定義了一系列的安全支付協定(Secure Payment Protocol),結合了公開金匙和祕密金匙,讓使用者能在網際網路上安全的做交易。 IBM的iKP架構假設商家和消費者之間的交易都要透過第三人,例如信用卡組織或銀行,來完成。 消費者透過網際網路來下單,但iKP系統用安全的專屬網路(secure
private network)來完成付款的交易。
加密/解密的程序雖然讓交易更加安全,但他們所增加的運算負擔(processing overhead)會讓處理大量的小金額交易變得十分的不划算。
處理一個適當金匙長度的數位簽章可能會相當的慢,用一般的電腦設備可能每秒只能處理20到50個訊息。 所以,假設處理每筆交易就可以收到一分錢的收續費,一台這樣的電腦設備每年最多也只能產生50萬美元的利潤。指定一個共通的機構來收集許多待處理的交易,然後交給信用卡清算組織一起執行,是降低運算負擔的一個方法。 First Virtual就是這樣的一個設立在Internet上的金融機構。
Netscape Communications的Secure Sockets Layer (SSL)是個在TCP/IP網路上定義資料加密(data encryption),伺服器防偽冒(server authentication),訊息防竄改(message integrity),還有選用的客戶端防偽冒(optional client authentication)的保密協定(Security Protocol)。 SSL位於TCP/IP和應用程式之間,做用戶端和伺服器之間所有通訊的即時加密/解密動作。 其中包括了網路地址(uniform resource locator ﹣URL)和文件的內容的加密,這當然也包括在其內的信用卡卡號。 這些複雜的加密及解密動作,像Netscape Navigator及Microsoft Explorer等有支援SSL標準的瀏覽器軟體,都已幫你自動做好了。
您只要輸入【https://站台位址/】,還有【帳號或識別碼】,以及【通行碼】,就可以看到瀏覽器左下角的鑰匙符號是完整的。
這是通知您你的電腦和他方的電腦之間,已建立了一條保密的通訊管道,別人是無法竊看或竄改的。
另一個WEB的保密標準是Enterprise Integration Technologies所推出的HTTP的擴充集(extension),稱為S-HTTP。 它在HTTP通信協定裡增加了以訊息加密為基礎的擴充,能讓你簽名(sign),加密(encrypt),還有防護(authenticate)程式間的通信(interprocess communications (IPC))。
您喜歡的話,你還可以把S-HTTP架在SSL之上,同時使用他們。
MIT的Kerberos,以希臘神話裡的三頭看門狗為名,是最為學術單位所熟知的祕密金匙系統。 它產生一個加密的資料包封(encrypted data packet),稱為一個ticket以識別個別的使用者。要用電腦進行交易,你先產生一個ticket以跟位於你的電腦系統和他方的電腦系統之間的Kerberos伺服器講話。 而雙方的電腦系統都跟Kerberos伺服器共用一個祕密金匙,以保護之間傳輸的訊息不被竊聽或竄改。 但這系統有個致命缺點,只要Kerberos伺服器一出問題,整個系統就不用想動了。