專利名稱:一種用于云計算系統的外部數據傳輸方法
技術領域:
本發明屬于信息技術領域,尤其涉及一種云計算系統的外部數據傳輸方法。
背景技術:
云計算是一種按照用戶需求、便利地通過網絡獲取計算資源的計算模式,這些資源可以來自一個共享的、可配置的資源池,并能夠快速地獲取和釋放,它提供了一個全新的互聯網商業服務模型,即用戶可以通過網絡以按需、易擴展的方式租用所需的服務。云計算技術利用高速互聯網的傳輸能力,將計算、存儲、軟件、服務等資源從分散的個人計算機或服務器移植到互聯網中集中管理的大規模高性能計算機、個人計算機、虛擬計算機中,從而 使用戶像使用電力一樣使用這些資源。采用云計算的模式能夠提高計算效率和資源的可用性。目前云計算領域主要分為下面三種,即SaaS(Software-as-a_Service)軟件即服務;PaaS (Plartform—as-a—Service)平臺即月艮務;IaaS (Infrastructure-as-a-Service)基礎設施即服務。SaaS是Software-as-a-service (軟件即服務)的簡稱,是隨著互聯網技術的發展開始出現并興起的一種全新的軟件應用模式,是云計算領域發展最成熟、應用最廣泛的服務。它本質上只是應用軟件的傳送/按需式利用,例如,由數千顧客通過瀏覽器同時訪問的電子郵件應用程序。通過SaaS軟件用戶只需要可以訪問互聯網就能使用軟件。基于SaaS的軟件大大降低了軟件,尤其是大型軟件的安裝使用成本。軟件托管在服務提供商服務器上,減少了客戶的管理維護成本,可靠性也更高。Salesforce. com是SaaS模式的典型代表。PaaS是Platform-as-a-Service(平臺即服務)的簡稱,是把應用服務器、數據庫等基礎平臺作為一種服務提供的模式。PaaS平臺可以將操作系統、應用開發環境等平臺級產品服務的方式提供給用戶,用于允許開發人員部署在基于云的基礎設施上托管的應用。通過PaaS服務,應用開發人員在無需關注底層的中間件平臺與其他資源的前提下就可以開發程序。并且不需關注底層中間平臺的運營維護。PaaS降低了應用開發團隊的維護成本,提升了企業內部的資源的利用率。PaaS平臺對應用開發團隊提供了強大而穩定的基礎運營平臺,以及專業的技術支持隊伍,優質的平臺級服務保證支撐應用系統長時間、穩定的運行。IaaS是Infrastructure-as-a-Service (基礎設施即服務)的簡稱,是把數據中心、基礎設施硬件資源通過Web分配給用戶使用的商業模式。其中為客戶端提供虛擬服務器和/或按需式資源、如存儲裝置,根據需要對它們付費,與消費實用程序資源相似。無論是SaaS、PaaS還是IaaS,用戶都是通過互聯網接入云服務的,這里把從用戶到云服務器這一段數據通信稱為云計算系統外部的數據傳輸。在這樣互聯網的交互中,需要解決兩個問題,即用戶身份驗證和數據安全。加密成為云計算的必要選擇,此時問題的癥結就變成了用戶口令和密鑰該如何分配、保存或者同步了。由于云是商業化產品,云服務提供商可以提供不同安全強度的方式,供用戶根據需要來選擇和最終決定將運用怎樣的安全策略和方法。最傳統和簡單的用戶身份驗證就是通過單一的口令,或者說是用戶密碼,數據通信過程中使用的加密密鑰本身很可能會需要在網絡上傳輸。方便而廉價的更高級的用戶身份驗證,需要一張“口令卡”的配合。“口令卡”是一張二維表格,由橫坐標X和縱坐標Y以及對應的點值P (X,y)構成,與某個用戶綁定。驗證身份時,用戶首先輸入自己的用戶密碼,若正確,則系統返回幾個點的橫縱坐標,要求輸入“ 口令卡”中與之對應的幾個點值pl,p2···,只有用戶密碼和動態點值都正確,才認可用戶身份。這種用戶驗證方法下的數據通信過程中使用的加密密鑰可以由用戶密碼和動態點值通過算法得到,如哈希算法,相比傳統的單口令驗證有不錯的安全性。但隨著云計算應用領域的日益擴展,用戶對云計算也提出了越來越高的安全性要求,目前上述提到的現有方法均不能滿足更高度安全性要求。
發明內容
鑒于上述,本發明的目的是提出一種云計算系統的外部數據傳輸方法,它可有效提高云計算的安全性。·為解決上述技術問題,本發明采用如下技術方案
一種云計算系統的外部數據傳輸方法,該方法基于USB設備的身份認證與數據加密,其特征在于用戶登錄服務器驗證身份的方法如下
用私鑰對密碼和時間戳進行加密,完成簽名,這一步在USB Key中完成;
將簽名信息發送給云服務器;
云服務器用用戶公鑰解密簽名信息,得到密碼和時間戳,若時間戳過期,則驗證失敗;用散列函數獲得密碼摘要,密碼摘要與數據庫中保存的用戶密碼信息不符,則驗證失敗;只有當時間戳有效,密碼摘要對比一致,用戶驗證才成功,系統認可用戶身份并提供服務。根據本發明的另一方面,進一步包括所述USB Key還用于產生和保存動態密鑰。根據本發明的另一方面,進一步包括所述USB Key可以存儲用戶的私鑰,利用內置的簽名算法實現對用戶身份的認證。上述外部數據傳輸方方法保障了密鑰的安全性,防止密鑰的非法復制,同時聯合物理防篡改技術,大大提高偽造的難度和成本,從而可有效提高云計算的安全性。
圖I為本發明的用戶身份驗證的基本流程圖。
具體實施例方式本發明的云計算系統的外部數據傳輸方法是一種具有更高安全性的基于USB設備的身份認證與數據加密方法。該技術方案的一個實施例需要USB Key,這一種USB接口的硬件設備,形狀同常見的U盤沒什么區別,但其內部結構卻非那么簡單,它的集成電路不但包含E2PR0M,而且還包含中央處理器、隨機存儲器RAM以及固化在只讀存儲器中的操作系統,可以存儲用戶的私鑰,利用內置的簽名算法實現對用戶身份的認證,保證數據的安全,達到標識被授權者身份的目的。USB Key在卡內完成加密運算,保障了密鑰的安全性,防止密鑰的非法復制,同時聯合物理防篡改技術,大大提高偽造的難度和成本,從而提高安全性。外觀上它小巧易于攜帶;技術上它既有基于安全性能較高的非對稱加密技術,也有效率更高的對稱加密技術;安全性能上每一個USB硬件都具有硬件和用戶密碼的雙重保護,用戶私鑰也不可導出,杜絕了復制用戶身份信息的可能性,很好地解決了身份認證的安全可靠;通用性上提供USB接口可直接連接電腦。USB硬件的特性決定了它可以應用于軟件保護,網絡身份認證等領域。USB Key中保存有用戶的私鑰,用戶公鑰云服務器是已知的。用戶登錄服務器驗證身份的過程如下
第一步,用私鑰對密碼和時間戳進行加密,完成簽名,這一步在USB Key中完成; 第二步,將簽名信息發送給云服務器;
第三步,云服務器用用戶公鑰解密簽名信息,得到密碼和時間戳。若時間戳過期,則驗證失敗;用散列函數獲得密碼摘要,密碼摘要與數據庫中保存的用戶密碼信息不符,則驗證失敗;只有當時間戳有效,密碼摘要對比一致,用戶驗證才成功,系統認可用戶身份并提供 服務。用戶身份驗證基本流程如圖I所示。USB Key用戶身份驗證在現實生活中已經有所應用,比如網上銀行交易時的身份驗證等;但往往也只在用戶登錄時的身份驗證使用。在本發明的方案中,USB Key在用戶身份驗證完成后的通信過程中也將發揮重要作用——動態密鑰的產生和保存。提高加密通信的安全性,除了從增強加密算法的強度外,還可以從密鑰強度上考慮,只使用一次的密鑰,即一次性密鑰是很好的選擇。在USB Key中運行密鑰生成及同步程序UkeySyn。進程UkeySyn運行在USB Key的外部不可讀的私有部分,在用戶登錄成功后開始運行。前面同步密鑰流不同的是,UkeySyn保存一個η元組k[n]和一個指針P。每一個USB Key中的私有部分中固化有一個初值元組k O [n],由于USB Key與用戶綁
定,等價于每一個初值元組也與用戶--對應。USB Key中可讀部分保存有向量r ( K p,
K η,Tc )以及可用標識V。每經過AT的時間,UkeySyn對元組k進行更新,并修改USBKey中可讀部分的向量r。更新方式由下面的偽代碼所示
Begin:
for (inti=l; i<n; i++)k[i]= k 0 [i];
P=0; while (true)
{
Wait(AT); k[p]=R(k[p]); p=(p+l)modn;
Update_r(k[p]);
}
End;
修改向量r的功能有函數Update_r()完成。通信過程中通信進程需要從USB Key中讀取密鑰。使用η元組k[n]而不是使用單一 K O的目的是為了增加破解難度,相對于云系統內部,外部的互聯網環境更復雜,安全威脅也更多,增加密鑰的數量,即使密鑰變換的具體函數R()被知曉,也必須完全破解η個密鑰才能得到通信的完整內容,這不僅變相增加了密鑰的長度,也變相減少了可用于分析的密文的數量,增加破解難度,提高數據的安全性。若能將加密解密的過程也放于USB Key中則安全性更高。該實施例中使用了額外的硬件USB Key來提高安全性,作為商業化的云系統,需要考慮其功能可行性和成本。根據前面提出的功能需要,一種符合要求的具體硬件是MC9S08JM60系列芯片。MCU是HCS08家族成員中低成本、高性能的8位微處理器。家族中所有的MCU使用增強型HCS08內核,具有高達60Κ字節的閃存,全速的USB2.0設備控制器。它非常適合各種工業控制和消費類應用。JM60有64腳LQFP和QFP、48腳QFN和44腳的LQFP四種封裝形 式,其主要具有如下功能特性
1)總線時鐘可達24MHz;
2)支持多達32個外圍設備中斷/復位源;
3)4K字節的內部SRAM;
4)60K字節的片上Flash存儲器;
5)USB模塊;
6)2個串行通信接口(SCI);
7)I 個內部集成電路控制器(Inter-Integrated Circuit, I2C);
8)I 個 12 通道、12 位 AD 轉換器(Analog-to-Digital Converter, ADC);
9)8個通道的定時及脈寬調制器(TPM);
10)2路串行外圍設備接口(SPI);
11)8個極性可選的鍵盤中斷(KBI)引腳;
12)51個通用輸入/輸出(GPIO)和I個單輸入和單輸出引腳;
13)多功能時鐘觸發器(MCG);
14)I個可編程軟件看門狗定時器;
15)Flash塊保護;
16)單線后臺調試接口;
17)256 字節的 USB RAM0基于MC9S08JM60系列芯片的開發可以用C語言或者匯編語言來實現,通過使用Codeffarrior IDE,可以快速建立一個應用的框架。在算法的具體實現上,可以調用斯坦福大學的PBC庫(Pairing-Based Cryptography Library),來實現對大數的一系列操作,如乘法,求逆和雙線性映射等,加密算法的C代碼很容易獲得,這里就不再詳述。由于芯片上并沒有操作系統,因此在跳入程序入口點之前,需要做操作系統載入程序的工作如下
_EXTERN_Cvoid_Startup (void){
INIT_SP_FROM_STARTUP_DESC O ;
#ifndef_0NLY_INIT_SPInitO ;
#endif
#ifndef—BANKED——asmJMPmain;//跳到主函數
#else
—asmCALLmain;
#endif
}
在主函數里面則是真正的用來實現功能的代碼。方案設計的USB Key需要接收通信程序發出的一些指令,然后對其分析相應,所以程序中有一個死循環,不停地接收指令。當設備加電完成初始化后,就進入這個循環,接收指令并給出響應。 voidmain (void)
{
INT8Ulen=0;
INT8Ui=0;
DisableMCUint ();
//I.芯片初始化 MCUInitO ;
EnableMCUint O ;
//2.模塊初始化 USBInitO ;
LoadVariables();
//總循環 for (;;)
{
Ien=USBReceiveData(USB_RX_EP_N0, USBRecBuff);if (len!=0)
{
//處理接收到的數據并作出回應
}
USBSendData(USB_TX_EP_N0, USBSendBuff, len);
}
}
通過上面的分析,用戶端的應用程序只要向USB設備發出一個異步的請求,并設定好請求響應的回調函數,就能完成和設備的通信,實現硬件設備的讀取。也就是說,從功能上,USB Key是可以滿足需求的。這里本發明的描述和應用都只是說明性和示意性的,并非是想要將本發明的范圍限制在上述實施例中。這里所披露的實施例的變形和改變是完全可能的,對于那些本領域的普通技術人員來說,實施例的替換和等效的各種部件均是公知的。在不脫離本發明范圍和精神的情況下,可以對這里所披露的實施例進行其它變形和改變。
權利要求
1.一種云計算系統的外部數據傳輸方法,該方法基于USB設備的身份認證與數據加密,其特征在于,用戶登錄服務器驗證身份的方法如下 用私鑰對密碼和時間戳進行加密,完成簽名,這一步在USB Key中完成; 將簽名信息發送給云服務器; 云服務器用用戶公鑰解密簽名信息,得到密碼和時間戳,若時間戳過期,則驗證失敗;用散列函數獲得密碼摘要,密碼摘要與數據庫中保存的用戶密碼信息不符,則驗證失敗;只有當時間戳有效,密碼摘要對比一致,用戶驗證才成功,系統認可用戶身份并提供服務。
2.如權利要求1所述的方法,進一步包括所述USBKey還用于產生和保存動態密鑰。
3.如權利要求1或2所述的方法,進一步包括所述USBKey可以存儲用戶的私鑰,利用內置的簽名算法實現對用戶身份的認證。
4.如權利要求3所述的方法,其中戶登錄服務器驗證身份的過程如下 第一步,用私鑰對密碼和時間戳進行加密,完成簽名,這一步在USB Key中完成; 第二步,將簽名信息發送給云服務器; 第三步,云服務器用用戶公鑰解密簽名信息,得到密碼和時間戳。
5.如權利要求4所述的方法,其中若時間戳過期,則驗證失敗;用散列函數獲得密碼摘要,密碼摘要與數據庫中保存的用戶密碼信息不符,則驗證失敗;只有當時間戳有效,密碼摘要對比一致,用戶驗證才成功,系統認可用戶身份并提供服務。
全文摘要
本發明涉及一種云計算系統的外部數據傳輸方法,該方法基于USB設備的身份認證與數據加密,其中用戶登錄服務器驗證身份的方法為,用私鑰對密碼和時間戳進行加密,完成簽名,這一步在USBKey中完成;將簽名信息發送給云服務器;云服務器用用戶公鑰解密簽名信息,得到密碼和時間戳,若時間戳過期,則驗證失敗;用散列函數獲得密碼摘要,密碼摘要與數據庫中保存的用戶密碼信息不符,則驗證失敗;只有當時間戳有效,密碼摘要對比一致,用戶驗證才成功,系統認可用戶身份并提供服務。該技術方案可以有效提高云計算系統的安全性。
文檔編號H04L29/08GK102882858SQ20121033817
公開日2013年1月16日 申請日期2012年9月13日 優先權日2012年9月13日
發明者宗競 申請人:江蘇樂買到網絡科技有限公司