熱門:

2019年1月11日

李亞力 數裏見真章

從公鑰加密學談到支付寶

數碼支付在電子商務領域日益流行,最好的例子是支付寶(Alipay)和微信支付(WeChat Pay)。數碼現金交易涉及三方:付款人、收款人、持有付款人和收款人賬戶的銀行。交易過程始於付款人從其銀行賬戶中提取資金並把生成的令牌(token)存入個人數碼錢包。然後,此令牌將轉移到收款人的錢包中。最後,該令牌會轉換成金錢並存進收款人的銀行賬戶。要理解這項新技術,我們必須從數碼簽名算法談起,這是公鑰加密學的重要部分之一。

公鑰加密或非對稱加密,是任何使用一對密鑰的加密系統,包括:(1)可以廣泛傳播的公鑰;(2)只能持有者知道的私鑰。公鑰加密有兩個功能:(1)身份驗證──公鑰可確定訊息是從私鑰持有者發送;(2)加密──只有私鑰持有者能解開公鑰的加密。

驗證保障資料安全

在公鑰加密系統中,任何人都可以使用接收者的公鑰把訊息加密,其後只能用接收者的私鑰解密。實際上,任何公鑰密碼系統的強度有賴於從公鑰找出配對私鑰所需的計算工作量。此外,公鑰密碼系統的安全性依賴於私鑰擁有者能否保密;反過來說,即使公鑰被公開分發,也不會危及訊息的安全。

公鑰加密學一個有趣的類比是帶有郵件插槽的鎖定郵箱。郵件插槽是公開的,任何人也可寄存郵件,而郵箱的位置(街道地址)實際上就是公鑰。任何知道這街道地址者都可以寄存信件進該郵箱內,但只有手持密鑰的人才能開啟該郵箱並閱讀郵件/訊息。

公鑰加密最廣泛應用於訊息安全學,後者涉及所有電子訊息資產的保護並抵禦相關安全威脅。公鑰密碼學能確保電子數據在通信和存儲期間的機密性、真實性和不可否認性。

公鑰加密的一個核心問題是,須確認/證明聲稱持有公鑰的人是真實和正確的,並無惡意篡改或替換的第三方。解決此問題的常用方法是使用公鑰基礎結構,這結構能獨立地證明公鑰和私鑰的擁有人,也可成為一種中央機制的「信任網」,分散地認證任何公鑰,並取代用戶和公鑰之間的個人認可。可惜到目前為止,電腦學家仍未找到「公鑰認證問題」的滿意解決方案。

公鑰密碼學兩個最著名的用途是:

(1)公鑰加密──任何郵件經收件人的公鑰加密後,便不能由任何沒有匹配私鑰的人解密,這可確保郵件的機密性。

(2)數碼簽名──任何郵件經過發件人的私鑰進行簽名後,即可由任何持發件人公鑰的人來驗證,這可證明發件人擁有私鑰和相關聯的公鑰,並能確保郵件沒有被篡改,因為該郵件與它的數碼簽名在數學上是綁定的,故無論任何與原本郵件訊息有多麼相似的郵件均會被驗證失敗。

在公鑰簽名系統中,你可以把任何訊息與私鑰一起創建一個數碼簽名。任何擁有相應公鑰的人也可以把(1)訊息、(2)一個假定的數碼簽名,以及(3)相應公鑰,集合來驗證該數碼簽名是否有效,換句話說,你可以驗證消息是否來自私鑰擁有者。任何人如果想更改訊息,甚至替換單個字母,也會導致驗證失敗。在一個安全的數碼簽名系統中,從公鑰或任何數碼簽名中推斷出私鑰在計算上是不可行的,也無法從訊息中找到有效的數碼簽名。因此,私鑰擁有者可通過數碼簽名來驗證訊息的真實性。

數碼簽名學一個有趣的類比是一封用私人蠟封密的信件,任何人也可打開該蠟封信件,但只有這獨特的私人蠟印章才能驗證發件人。

電子貨幣六大特性

現在我們回到文章開頭的例子(支付寶和微信支付),它們是數碼簽名學的一個重要應用──數碼現金(也稱為電子貨幣、電子現金、數碼貨幣或網絡貨幣),一個可經由電子方式安全地支付商品或服務費用的系統,而當中不必涉及銀行調解交易。

數碼現金能夠儲藏貨幣價值, 作為預付費的持票工具,讓非發行人也可支付款項,而毋須涉及交易中的銀行賬戶。一個運作良好的數碼現金系統應具備以下特性︰

(1)安全性:確保高水平的身份驗證技術,不應被付款人、收款人或其他任何人複製或重複使用。

(2)匿名:保持個人的匿名性,進行的交易是不可追溯的。

(3)便攜性:系統的使用與位置無關。交易可以通過電腦網絡傳輸到存儲設備,反之亦然。

(4)可轉移性:用戶可支付任何款項,毋須通過聯繫銀行作身份驗證。

(5)可分性:用戶可把數碼現金細分為較小的面額和選擇只用一部分。

(6)用戶友好:獲廣泛接受,付款人和收款人都應該能夠輕鬆地使用。

雖然數碼現金系統效率高,但使用上仍有許多潛在問題,例如逃稅、洗錢和不穩定滙率等。最後,看看一個加密和解密算法的例子。假設小明想向小美發送訊息x,那麼他們可以執行以下操作:

1. 小明計算c≡xe(mod n),然後把訊息加密並發送予小美。

2. 小美計算cf≡xef≡x(mod n),以解密並恢復小明加密的訊息。

mod是系數,例如5≡2(mod3),就是說5除以3後,餘數為2。這個算法利用數量n的因子分解,如n被其他用戶(非小明或小美)成功分解,他們的私鑰可以立即被恢復,因此n的因子分解應該非常複雜和需要大量計算時間。在實踐中,我們應選擇非常大的素數p和q,乘積n=pq將由數千個數字組成,使得n的因子分解極端困難。

作者為香港大學統計及精算學系講師

訂戶登入

回上

信報簡介 | 服務條款 | 私隱條款 | 免責聲明 | 廣告查詢 | 加入信報 | 聯絡信報

股票及指數資料由財經智珠網有限公司提供。期貨指數資料由天滙財經有限公司提供。外滙及黃金報價由路透社提供。

本網站的內容概不構成任何投資意見,本網站內容亦並非就任何個別投資者的特定投資目標、財務狀況及個別需要而編製。投資者不應只按本網站內容進行投資。在作出任何投資決定前,投資者應考慮產品的特點、其本身的投資目標、可承受的風險程度及其他因素,並適當地尋求獨立的財務及專業意見。本網站及其資訊供應商竭力提供準確而可靠的資料,但並不保證資料絕對無誤,資料如有錯漏而令閣下蒙受損失,本公司概不負責。

You are currently at: www.hkej.com
Skip This Ads