一種應用于移動商務系統(tǒng)的安全解決方法
【專利摘要】本發(fā)明提供一種應用于移動商務系統(tǒng)的安全解決方法,所述移動商務系統(tǒng)包括移動設備、銷售終端、M-Commerce服務器、支付服務器和商家服務器,其中銷售終端與移動設備產生通訊連接,移動設備通過網絡與M-Commerce服務器連接,M-Commerce服務器分別與支付服務器、商家服務器連接,所述安全解決方法用于解決所述移動設備、以及所述移動設備到E-Commerce服務器之間的安全機制,這些安全機制可以保證移動商務交易中數據的真實性、機密性、完整性和不可抵賴性。
【專利說明】一種應用于移動商務系統(tǒng)的安全解決方法
[0001]【技術領域】:
本申請屬于移動設備安全領域,具體涉及一種應用于移動商務系統(tǒng)的安全解決方法。
[0002]【背景技術】:
移動設備應用的快速增長帶來了大量的個人與移動運營商之間的通訊。除了被用作語音和文字的通訊工具,越來越多的人更愿意使用移動設備經由無線網絡隨時隨地的網上購物、做生意或者管理購物卡、銀行賬戶、貸款及信用卡等等。
[0003]使用移動設備的應用程序來做電子交易的用戶最關心的一點莫過于交易信息的安全性,這包括了交易信息以下幾個方面:真實性、機密性、完整性和不可抵賴性。
[0004]參見圖1,為電子交易Μ-Commerce平臺的體系結構,根據角色以及數據傳輸過程中提供服務的不同,可以從中劃分出五個實體,分別有著不同的安全機制:
A ->設備到銷售終端 B ->設備
C ->設備到M-Commerce服務器 D -> M-Commerce 服務器
E -> Μ-Commerce服務器到支付服務器(銀行)的通訊 F -> Μ-Commerce服務器到商家服務器(第三方)的通訊
本發(fā)明可以確保用戶在無線網絡上安全地傳輸來自于移動設備應用程序的電子化交易信息,并且比傳統(tǒng)的瀏覽器模式更加的安全和方便。
[0005]
【發(fā)明內容】
:
本發(fā)明為了克服現有技術中移動設備應用程序的電子化交易信息的低安全性、機密性和完整性,提供了一種新的應用于移動商務系統(tǒng)的安全解決方法。
[0006]在M-Commerce平臺的體系結構其中移動設備、移動設備到E-Commerce服務器之間的安全機制,它與安裝在移動設備中的應用程序是密切相關的。這些安全機制可以保證移動商務交易中數據的真實性、機密性、完整性和不可抵賴性,
具體可以概括為以下幾點:
1.將移動設備中的客戶端程序與MSISDN (MSISDN號碼是在公共電話網交換網絡編號計劃中,唯一能識別移動用戶的號碼)進行綁定。
[0007]2.使用臨時交易ID做為實體卡片ID的引用,因此黑客無法獲取實體卡片的ID。
[0008]3.客戶端程序必須經過CA (電子商務認證中心)認證簽名,以確保該程序是由可信賴的公司發(fā)行并且不會被黑客竄改。
[0009]4.采用隨機算法獲得會話密鑰,而在這些密鑰對應的商業(yè)交易過程中采用對稱加密算法,這不但解決了對稱加密算法中密鑰管理的困難,同時也解決了非對稱加密算法性能低下的問題。
[0010]5.對應不同的會話有不同的會話密鑰,甚至在同一個會話中,會話密鑰和加密算法也是交替變化的,這樣可以確保加密策略不可復制。
[0011]6.采用了數據及隨機數來防止重復消息攻擊。[0012]本發(fā)明還保護手機設備的安全性:由于綁定了手機應用的pin碼與終端的MSISDN,即便終端用戶更換了手機里的SIM卡,他也無法使用先前安裝的應用程序,而只能重新安裝M-Commerce應用。
[0013]【專利附圖】
【附圖說明】:
圖1為現有技術中的M-Commerce平臺的體系結構;
圖2為典型的手機應用流程;
圖3為本發(fā)明的激活進程的安全機制;
圖4為本發(fā)明的登錄進程的安全機制;
圖5為本發(fā)明的業(yè)務流程的安全機制;
圖6為本發(fā)明的公共密鑰的更新機制。
[0014]【具體實施方式】:
以下內容將結合說明書附圖對本發(fā)明的【具體實施方式】作詳細說明:
參見圖2,為典型的手機應用流程,手機客戶端發(fā)送請求從Μ-Commerce服務(器)端下載應用程序,常規(guī)的流程如下:
1、服務端必須使用https協(xié)議確保服務端是可靠的。下載的應用程序必須具有CA簽名認證以確保程序是由可信賴的公司發(fā)布并且不被黑客竄改。
[0015]2.M-Commerce服務端在收到客戶端安裝程序成功的狀態(tài)信息后向客戶端發(fā)送激活碼,服務端將激活碼與客戶端的MSISDN進行綁定。下載協(xié)議必須支持OMA-Download-OTA規(guī)范,這樣才能確保各種不同的支付方式可以使用并且避免信息內容的碎片化。
[0016]3.當客戶端的應用程序第一次運行時,為了初始化登錄密碼需要輸入接收到的激活碼用以建立Pin碼(SM卡的個人識別密碼)。
[0017]4.在激活之后,終端用戶可以使用pin碼登錄應用程序。如果嘗試登錄的次數超過了預先設定的次數而沒有成功,那么登錄的賬號將被鎖定,在這種情況下,只有經授權的管理員用戶才能夠在驗證用戶后予以解鎖。
[0018]5.登錄成功后,終端用戶可以做一些事情,比如購買商品、支付賬單,使用電子卡
&坐坐/I寸寸O
[0019]在本發(fā)明中采用了一些安全方法,增強了上述步驟3、4、5的安全通訊機制,來提高數據和通訊的安全性。
[0020]1.信用卡或者銀行賬號不會被存儲在或發(fā)布到手機或Μ-Commerce服務器。支付服務器會生成一個唯一的內部ID做為實體卡的引用,這一 ID在其他渠道都是無法識別的
(此ID在程序內部使用,與實體卡--對應)。M-Commerce服務器為支付應用生成一個臨時
事務ID作為內部ID的引用(臨時事務ID在程序內部使用,與內部ID—一對應)。該支付事務ID只對該交易有效并且在很短的時間之后將會失效。(有效的判定由程序根據支付事務ID及生成后經歷的時長確定,有效的時長可以設置)。
[0021]2.綁定手機應用的pin碼與終端的MSISDN。即便終端用戶更換了手機里的SIM卡,他也無法使用先前安裝的應 用程序,而只能重新安裝M-Commerce應用程序。
[0022]3.采用終端用戶的pin碼來加密手機里的本地數據。即便用戶手機里的數據被盜取了,在沒有pin碼的情況下也無法解密這些數據。
[0023]4.在激活或者登錄過程服務端采用非對稱加密算法(RSA)獲得會話密鑰,在業(yè)務處理過程服務端采用對稱加密算法(3DES,AES)獲得會話密鑰。
[0024]5.M_Co_erce應用程序在發(fā)布時會生成一個公共密鑰。這個公共密鑰用在非對稱算法中并且只能被Μ-Commerce服務器更新。
[0025]6.登錄成功后,M-Commerce服務器會生成一對密鑰(keyl和key2)用于通訊會話,加上兩種不同的對稱加密隨機3DES+AES,就有四個加密方式:
3DES+keyl
3DES+key2
AES+keyl
AES+key2
每一個交易都會隨機選擇一種加密方式,這樣就能保證每次交易都有不同的安全策略。
[0026]激活進程的安全機制:圖3為本發(fā)明的激活進程安全機制的詳細過程:
1.客戶端程序按照隨機算法(RNG算法)生成客戶端會話密鑰(SKM)。
[0027]2.客戶端程序采用非對稱加密算法(RSA算法)基于服務端的公共密鑰來加密數據,這些數據包括SKM (安全密鑰管理)、PIN、激活碼等。
[0028]3.M-Commerce服務器基于私鑰解密消息,從這些消息中獲得有用的信息,這些有用的信息包括SKM,PIN,激活碼等數據。
[0029]4.如果激活碼是有效的,就進行校驗。
[0030]5.M-Commerce服務器基于會話密鑰(SKM)加密MSG (響應消息),并且根據MD5為該消息(加密前的)計算MACl。
[0031]6.客戶端程序從M-commerce服務器接收消息并且基于會話密鑰(SKM)解密響應消息,為解密后的響應消息計算MAC2,如果MACl與MAC2相等就進行檢驗。
[0032]上述步驟2和3采用的是非對稱加密算法,是服務端接收會話密鑰的的過程,步驟5、6采用的是對稱加密算法,是服務端發(fā)送給客戶端會話密鑰的過程;其中MD5即Message-Digest Algorithm 5,是當前計算機領域用于確保信息傳輸完整一致而廣泛使用的散列算法之一 ;MAC1與MAC2計算得到的消息的代碼,響應消息就是手機端向服務端發(fā)送請求變量的一些值的響應,不同的應用程序在激活時需要從服務端需要拿到的變量不一樣的。
[0033]登錄進程的安全機制:圖4為本發(fā)明的登錄進程的安全機制的詳細過程:
在使用客戶端應用程序的業(yè)務功能之前,終端用戶必須成功地登錄Μ-Commerce服務器,這樣才能獲得所使用業(yè)務的會話密鑰。圖4描述了詳細的登錄安全機制。
[0034]登錄的通信過程類似于激活過程;請求和響應的業(yè)務數據是不同的。Μ-Commerce服務器會檢查登錄名和密碼;同時會檢查MSISDN和PIN碼之間的綁定關系。登錄校驗之后,服務器會生成一對會話密鑰用于通信,此過程中采用非對稱算法(RSA)獲得會話密鑰。如果客戶端和服務器之間在設定的時間段內沒有發(fā)生任何操作,那么這對密鑰將會過期。
[0035]業(yè)務流程的安全機制:圖5為本發(fā)明的業(yè)務流程的安全機制的詳細過程:
登錄成功后,終端用戶可以做一些操作,比如購買商品,支付賬單,使用電子卡片。這些
操作的安全性由于涉及到敏感數據故而非常重要。正如前述,一些臨時卡或者賬戶的ID將在通信過程中生成而不是實體卡號,這些臨時的卡或者賬戶ID將僅僅在指定的業(yè)務過程中有用。
[0036]信用卡或者銀行賬號不會被存儲在或發(fā)布到手機或Μ-Commerce服務器。支付服務器會生成一個唯一的內部ID做為實體卡的引用,這一 ID在其他渠道都是無法識別的(此ID在程序內部使用,與實體卡一一對應),意指,同一張卡在不同的業(yè)務流程中的ID都是不一樣的。M-Commerce服務器為支付應用生成一個臨時事務ID作為內部ID的引用(臨時事務ID在程序內部使用,與內部ID —一對應)。該支付的臨時事務ID只對該交易有效并且在很短的時間之后將會失效。有效的判定由程序根據支付事務ID及生成后經歷的時長確定,有效的時長可以設置。
[0037]其中的安全機制是一個標準的對稱加密過程(3DES/AES)??蛻舳嗽趦蓚€加密算法(3DES/AES)中隨機選擇一種,并且選擇兩個會話密鑰。每一個處理過程采用不同的加密方式,這樣可以增強通信的安全性。
[0038]具體地,M-Commerce服務器會生成一對密鑰(keyl和key2)用于通訊會話,加上兩種不同的對稱加密隨機3DES+AES,就有四個加密方式:
3DES+keyl
3DES+key2
AES+keyl
AES+key2
每一個交易都會隨機選擇一種加密方式,這樣就能保證每次交易都有不同的安全策略。
[0039]另一個重要點是M-Commerce服務器將會生成一個隨機數和一個遞增序列用于每個處理過程來防止重復消息攻擊。當請求消息中的隨機數不等于服務端的隨機數或者序列數小于上一個消息的序列數,服務器會拒絕該消息并且記錄到歷史數據中。
[0040]公共密鑰的更新:一對公共密鑰被分配給客戶端程序,出于安全性的考慮,這些公共密鑰會被周期性的更新,圖6展示了公共密鑰更新的過程。其中公共密鑰的更新是發(fā)生在激活或者登錄過程中的。
[0041]1.客戶端程序基于服務端的公共密鑰加密數據,這些數據用于激活或者登錄過程并且發(fā)送請求到M-Commerce服務器。
[0042]2.服務器解密這些數據,發(fā)現公共密鑰已經過期,隨后就通知客戶端說公共密鑰已經過期。
[0043]3.客戶端響應一個新的公共密鑰發(fā)送給服務器。
[0044]4.服務器發(fā)送帶有備份服務器私鑰簽名的公共密鑰,其中備份服務器私鑰是和客戶端的備份服務器公鑰相關的。
[0045]5.客戶端校驗服務器備份密鑰的簽名。如果成功,將會刪除當前的活動公共密鑰并且激活備份的公共密鑰,來自服務器的新的公共密鑰將成為新的備份密鑰。
[0046] 本發(fā)明的這些安全機制可以保證移動商務交易中數據的真實性、機密性、完整性和不可抵賴性,其有益效果是將移動設備中的客戶端程序與MSISDN (手機號碼)進行綁定;使用臨時交易ID做為實體卡片ID的引用,因此黑客無法獲取實體卡片的ID ;客戶端程序必須經過CA (電子商務認證中心)認證簽名,以確保該程序是由可信賴的公司發(fā)行并且不會被黑客竄改;采用非對稱加密算法獲得會話密鑰,而在這些密鑰對應的商業(yè)交易過程中采用對稱加密算法,這不但解決了對稱加密算法中密鑰管理的困難,同時也解決了非對稱加密算法性能低下的問題;對應不同的會話有不同的會話密鑰,甚至在同一個會話中,會話密鑰和加密算法也是交替變化的,這樣可以確保加密策略不可復制;采用了數據及隨機數來防止重復消息攻擊。
【權利要求】
1.一種應用于移動商務系統(tǒng)的安全解決方法,所述移動商務系統(tǒng)包括移動設備、銷售終端、M-Commerce服務器、支付服務器和商家服務器,其中銷售終端與移動設備產生通訊連接,移動設備通過網絡與M-Commerce服務器連接,M-Commerce服務器分別與支付服務器、商家服務器連接,其特征在于,所述移動設備的Pin碼與MSISDN綁定一起,所述安全解決方法用于解決所述移動設備、以及所述移動設備到E-Commerce服務器之間的安全機制。
2.根據權利要求1所述的方法,其特征在于,當移動設備客戶端發(fā)送請求從M-Commerce服務端下載應用程序時,包括以下步驟: 1)激活步驟;2)登錄步驟;3)業(yè)務操作步驟; 其中在步驟1)和2)中服務端采用非對稱加密算法獲得會話密鑰,在步驟3)中服務端采用對稱加密算法獲得會話密鑰。
3.根據權利要求2所述的方法,其特征在于,所述激活步驟中采用的激活進程的安全機制,具體包括: 1)、移動設備客戶端程序按照隨機算法生成客戶端會話密鑰; 2)、客戶端程序采用非對稱加密算法并基于服務端的公共密鑰來加密數據; 3),M-Commerce服務器基于私鑰解密上述加密數據,并獲得有用的信息,這些有用的信息包括SKM,PIN,激活碼等數據; 4)、如果激活碼是有效的,就進行校驗; 5),M-Commerce服務器基于會話密鑰加密響應消息,并且根據MD5為該消息計算MACl ; 6)、客戶端從M-co_erce服務器接收加密后的響應消息并且基于會話密鑰解密響應消息,為解密后的響應消息計算MAC2,如果MACl與MAC2相等就進行檢驗。
4.根據權利要求2所述的方法,其特征在于,所述登錄步驟中采用的登錄進程的安全機制,具體包括: 1)M-Commerce服務器檢查登錄名和密碼;同時檢查MSISDN和PIN碼之間的綁定關系; 2 )登錄校驗之后,所述服務器生成一對會話密鑰用于客戶端與服務端的通信,此通信過程中采用非對稱算法,如果所述客戶端和所述服務器之間在設定的時間段內沒有發(fā)生任何操作,那么這對密鑰將會過期。
5.根據權利要求2所述的方法,其特征在于,所述業(yè)務操作步驟中采用的業(yè)務流程的安全機制,具體包括: O信用卡或者銀行賬號不會被存儲在或發(fā)布到手機或Μ-Commerce服務器,支付服務器會生成一個唯一的內部應用程序ID做為實體卡的引用; 2)M-Commerce服務器為支付應用生成一個臨時事務ID作為內部應用程序ID的引用,該支付的臨時事務ID只對該交易有效并且在很短的時間之后將會失效; 3)每一個交易都會隨機選擇一種加密方式,所述加密方式是客戶端在兩個加密算法3DES/AES中隨機選擇一種并加上兩個會話密鑰之一; 4)M-Commerce服務器將會生成一個隨機數和一個遞增序列用于每個處理過程來防止重復消息攻擊。
6.根據權利要求5所述的方法,其特征在于:采用的業(yè)務流程的安全機制3)中有四個加密方式:分別是:3DES+keyl、3DES+key2、AES+keyl、AES+key2,其中 key I 和 key 2 是M-Commerce服務器生成的一對密鑰。
7.根據權利要求5所述的方法,其特征在于:采用的業(yè)務流程的安全機制4)中是當請求消息中的隨機數不等于服務端的隨機數或者請求消息中的序列數小于上一個消息的序列數,服務器會拒絕該消息并且記錄到歷史數據中。
8.根據權利要求1所述的方法,其特征在于:所述移動商務系統(tǒng)還包括與Μ-Commerce服務器相連接的備份服務器。
9.根據權利要求8所述的方法,其特征在于,在步驟I)和2)中還有公共密鑰的更新機制: 1)、客戶端程序基于服務端的公共密鑰加密數據,這些數據用于激活或者登錄過程并且發(fā)送請求到M-Commerce服務器; 2),M-Commerce服務器解密這些數據,發(fā)現公共密鑰已經過期,隨后就通知客戶端說公共密鑰已經過期; 3)、客戶端響應一個新的公共密鑰發(fā)送給M-Co_erce服務器; 4)、M-Commerce服務器發(fā)送帶有備份服務器私鑰簽名的公共密鑰,其中備份服務器私鑰是和客戶端的備份服務器公鑰相關的; 5)、客戶端校驗服務器備份密鑰的簽名,如果成功,將會刪除當前的活動公共密鑰并且激活備份的公共密鑰,來自服務器 的新的公共密鑰將成為新的備份密鑰。
【文檔編號】H04L29/06GK103888263SQ201410135701
【公開日】2014年6月25日 申請日期:2014年4月4日 優(yōu)先權日:2014年4月4日
【發(fā)明者】祝海濤, 王繼剛, 呂學坤, 李智遠, 申建 申請人:國建正坤數字科技(北京)有限公司