顯示具有 線上交易安全 標籤的文章。 顯示所有文章
顯示具有 線上交易安全 標籤的文章。 顯示所有文章

2015年3月5日 星期四

線上交易的安全性

線上交易的安全性
(線上交易安全系列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所存的信用卡資料確實屬於持卡人,那麼這個漏洞就不再存在了。


當然,我們還是可以再增加更多的安全措施,讓這個交易過程加倍的安全。 不過基本上,這是個投資報酬率,和防偽與方便性之間的平衡問題。 在合理的防偽措施提高了仿製或冒用的成本後,再增加的安全防偽或檢驗措施,有可能會巨幅增加營運成本或降低使用者的便利性,算一算不見得會划得來。 現在還是只能以增加合理的安全管制的措施,來盡量增加偽卡和冒用的成本和風險,以保險和理賠來降低或分攤發卡機構或持有人的損失。 最新的趨勢是不在卡片本身的安全防偽性上再作更多文章,而是想辦法把卡片跟持有人的其他生物特徵更緊密的結合,以加強或取代原先依賴的親筆簽名和人工檢驗措施。

而現在金融界和電腦界的趨勢也都是走向「無實體(虛擬)交易」的時代,以往採用的印章或識別證不但落伍,不但無法自動檢驗,有些根本就是無法適用,而且極易仿製或冒用,漸漸的,在這樣的無實體交易裡,大家都必須改用【生物特徵結合記憶力】的雙重檢驗方式,來取代以往用實質憑證的檢驗方法。

線上股市交易(點對點的關係)的安全性


透過網際網路來下單買賣股票,其實是最簡化的線上交易行為。 中間只牽涉三方,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伺服器一出問題,整個系統就不用想動了。

線上交易安全嗎?


線上交易安全嗎?
(線上交易安全系列1/4)

By 陳宜誠 Vincent Chen

(這是我於西元1995~1997年發表於『網際空間』雜誌之“CyberMoney” 和 “CyberTech” 專欄,並以《網際理財。海外投資:兼論網路交易安全》,ISBN 957-99499-6-4,由資訊傳真機構於西元1997年9月集結成書出版的幾篇文章。現在回頭再看它們,覺得雖然經過了快二十年了,這些有關線上交易安全的資訊對於網友可能還算有用,所以再PO這些文章在這裡,以跟網友共勉之。)

 

現在網際網路上的全球用戶眾多, 即使其中只有百分之一的人有在上頭做商業的交易行為,這也是個每天要成交超過數億筆的大生意,所以現在在國內外,不管是您聽過或沒聽過的廠商,不管公司或個人,每個人都擠破頭想先進去網際網路卡位再說,即使只是沾到邊也好。網際網路的盛行,也帶動了線上購物交易,以及即時金融服務的發展,而由於提供線上金融服務的成本低廉,收效宏大,歐美銀行業界莫不爭先搶登網際網路。

你可以直接用信用卡(也就是用信用卡上的卡號,持卡人的姓名,以及有效年月)讓您在網際網路上購物。假若你在證券商那兒開了一個戶頭,您也可以透過網際網路來下單做股票交易。那麼,到底這樣的線上交易安全嗎?


如何確保系統的安全性


要回答這個問題,我們必須先了解我們一般是怎樣測量系統的安全性的。 首先,讀者您必須了解,這個世界上並沒有任何系統是可以做到百分之一百絕對安全的。 同時,系統的安全性和使用的方便性通常也是互相衝突的。 而且,由於人類的參與而產生的誤失(Human Factors)也會降低系統的整體安全度,因此只有那些完全不給人使用的系統,才能夠做到所謂「百分之一百的安全」。 所以,我們只能做出「相對安全」的系統。

安全控管所使用的辨識方法有很多,但我們為了測量系統的安全性,可以把它們概分為以下的三大類辨識方法。

·                   人類的記憶力(Memory):


密碼,員工編號,兵籍號碼,身分證字號,口令,銀行帳號,開戶人的生日,出生地,母親的娘家姓氏(外國女性婚後冠夫姓是個慣例,所以只有親人才會知道她原先娘家的姓氏),帳戶餘額,戶頭裡還有哪幾種證券,畢業於哪所小學等等,皆屬於此類考驗人類智力及記憶力的檢驗方法。

·                   實質的物體憑證(Token):


鈔票,代幣,印章,存摺,各種卡片(信用卡,簽帳卡,金融卡),各種證件(身分證,識別證,護照,簽證),股票,證券,票據(支票,匯票,本票),號牌,借據等等,皆屬於此類用實際持有某個信物來做檢驗的方法。

·                   與生俱來的生物特徵(Biometrics):


臉孔的外貌,手掌的立體形狀與皮膚的導電性,頭顱的熱感應圖,指尖的指紋,手心的掌紋,手背的血管紋,簽名的式樣,簽名的筆壓變化,語音的聲紋,眼睛曈孔的虹彩紋,視網膜的微血管紋,皆屬於這種利用人人不同、與生俱來、無法仿冒的生物性特徵來進行的檢驗方法。 

簽名成本最低,但正確率最低,仿冒最容易。 聲紋也很容易錄音仿製,能辨識是否是錄音重撥的機器又太昂貴,很難商業話。 用雷射來掃描眼睛虹彩或視網膜的技術,精確度最高,但價格昂貴,而且難以免除是否會造成使用者健康受到傷害的疑慮。 指紋或掌紋是唯一有可能會遺留在犯罪現場的生物特徵,是刑事辦案的重要依據。 但由於指紋及掌紋或臉孔皆屬於2D圖形辨識技術,可取樣的特徵點較少,同時易受油汙、指壓、化妝的影響,以致於影響其商用系統的辨識速度及正確性,現在也有較先進的「3D指形或掌形辨識機」發展出來。

指紋、指形、掌紋或掌形辨識機是現在國內外比較風行的生物辨識系統。 國外也將它與自動櫃員機(ATM)結合,用辨識用戶的手指或手掌來取代鍵入個人密碼(PIN)的動作,不但方便而且能巨幅增強利用ATM來作存提匯款動作的安全防偽措施。 國內也有銀行將它們與保管箱系統結合,一舉改善以往煩瑣且不安全的印章、簽名、身份證、行員鑰匙、用戶鑰匙的層層核對的措施,讓用戶能更方便且更安全的去使用他的保管箱。當然還有用它們來做員工考勤上班打卡之用。

證件上的相片雖然也是記錄人的臉孔外貌,但由於與本人的外貌常有差距,又極易偽冒造假,所以除非是直接用電腦來做人類五官特徵的辨識,外貌的記錄(相片或寫真)一般是不被歸類為此類生物特徵的辨識方法,而被歸類為依靠實質憑證的防偽措施。


生活中的實例


要能享受開放式網路環境所帶來之便利,又能確保資訊的私密性、完整性以及可用性,就必須儘早規劃並構建完整的電腦網路安全系統。 而安全防護,如前所述,是不可能做到百分之百完全零漏洞的。 只要安全控管的措施能使非法侵入者所需花費的成本,遠超過其在竊取資料後所能獲得的價值,我們即可算這個安全控管系統是符合我們安全需求的系統。

一個系統若要被歸類為所謂比較安全的系統,單用一類檢驗方法是不可靠的。 一個系統的安全性也是環環相扣,互相影響的。 系統若採用了多重的安全措施,它的整體安全性就取決於最弱的那一環。 

根據國外安全機構的長期研究顯示,任何辨識系統,假若要做到最基本的「身分確認」、「存取管制」、及「防偽保密」的安全性,就必須在以上所列的三類檢驗方法裡,至少同時使用到其中的兩種辨識方法,才會比較沒有安全上的漏洞,也能巨幅減少被冒用或混入的可能性,才夠格能被稱為比較安全的系統。 以此簡易的分類方式,我們就可以很快的推斷出來某個系統的安全性是高還是低。 我們試舉幾個生活中的例子來作說明。

·                   查哨所用的口令


不管是幾問幾答,由於只用了一種檢驗方法(記憶力),所以是不安全的。 有心人士只要聽過幾次問答的過程,配合適當的穿著舉止,就能成功的假冒查哨的軍官。 所以衛兵應該還要加上盤查或比對臉孔是否跟記憶相符(你該不會不認得自己連上的長官吧?)等措施。

·                   登入電腦系統所用的密碼


由於只用了一種檢驗方法(記憶力),不管你的密碼用了多長的一個字串,它基本上就是個不安全的設計。 破解密碼的方法有很多種,最粗魯的是直接偷看,再來是在維修系統時取得,也有人做個小程式趁機常駐在系統裡來監視鍵盤的輸入,有人用網路連線過來偷瞧,有人做個模擬的主機介面好騙你輸入密碼,有人乾脆設個站台,號稱能免費或低價提供一些好東東,來收集他人的帳號和密碼(人的記憶力有限,大部份的人都是一個密碼走天下的),最高級的就是寫個程式來破解密碼了。

·                   身份證與識別證


它只使用了一類檢驗方法(識別證本身,衛兵或警察再將上面的相片和持有人的臉孔做肉眼的比對),所以是比較不安全的系統。 證件本身雖然有各種防偽措施,但假若沒有衛兵或警察拿它來與你的臉孔比對,或者照片與本人實在不像,或者未能很方便的察覺相片本身或證件本身是偽造或假冒的話,這也是不安全的設計。 通常若要用在安全等級要求較高的地方,至少還要加上盤查、問口令、輸入密碼等查驗是否是真正的持有人的保防措施,或以先進的掌型辨識機來做嚴格的防偽與管制。

·                   證券與支票


對於支票,國外使用了兩類檢驗方法(支票本身有防偽措施和開票人的親筆簽名),所以是比較安全的。 國內以前使用的是同類的兩種檢驗方法(支票本身和印章),而且國內對於有價證券的印製一點也不講究,用彩色照相製版或直接複印就能亂真了,尤其在電腦刻印流行後,照本新刻一個印章更是相當簡單的事,所以國內的支票是比較不安全的設計。 現在至少還要加上防偽油墨和親筆簽名,才能達到基本的安全性的要求。 而證券部份,最好能跟國外一樣的直接發行無實體的證券,用帳戶內的數字來代表,就不會有這些困擾了。

·                   提款卡與金融卡


提款時,使用的是提款卡本身(實質憑證)和持有人的個人識別碼PIN(personal Identification Number)(記憶力),由於使用了兩類檢驗方法,所以是比較安全的設計。 國內幾年以前竟然是把這個PIN密碼,以明碼方式記錄在卡上的磁條裡,這當然是個不安全的設計,後來被某人複製提款卡盜領後,才跟國外一樣的加上亂碼的保護,恢復成比較安全的設計。

·                   網際網路上用信用卡購物


現在您就可以到商店設的網路站台那兒去瀏覽目錄,鍵入您的信用卡卡號與姓名等,然後就可以經由網際網路來購買商品。 這樣交易的缺點每個人都看得到,無法使用前一節所述的任何一種辨識措施。 首先商家無法辨識你是否真的是卡片的持有人,也無法辨識親筆簽名,同時商家本身的可靠性也無法確認,金額易被竄改,這些鍵入的資料很容易被竊取,冒用,散佈,或當作郵購目錄來販賣等等。

現在就有人想方法設立所謂買賣雙方之間的公正第三人的認證中心(CA: Certificate Authority),來解決這個雙方之間的信用(Credit)認證問題。 也有人推出各種可透過網路確認的實質憑證(Token),以取代原先信用卡的設計。 更有人在電腦上或電話機上加入各種生物辨識裝置(Biometrics Recognition Device),例如掌形辨識機,頭形辨識機,指紋辨識機,虹彩辨識機,聲紋辨識機等,以一舉突破利用網際網路來購物的安全性,並加強其使用上的便利性。 我們稍後的章節會用較大的篇幅來探討如何防治這個漏洞。