蔣明+方圓+蔡夢臣
摘要:對于移動客戶端與服務器端傳輸?shù)拿舾袛?shù)據,可使用對稱加密算法,在移動客戶端加密,在服務器端解密,充分利用對稱加密算法加解密速度快、計算量小、效率高的優(yōu)點,可以在保證數(shù)據傳輸安全的基礎上,提高應用系統(tǒng)的整體效率和性能。
關鍵詞:移動終端;加密算法;信息安全
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1007-9416(2017)05-0225-01
1 相關技術介紹
隨著移動應用在國家電網生產作業(yè)中的廣泛應用,應用的數(shù)據安全成為信息安全管理中的重點難點[1]。數(shù)據加密是保障電力生產敏感數(shù)據的重要方法[2],在常用的數(shù)據對稱加密體制中,數(shù)據的發(fā)送方和接收方使用的密鑰是相同的,這個密鑰是對外保密的,且在安全通信之前要事先由數(shù)據發(fā)送方和接收方商定好。數(shù)據發(fā)送方將要發(fā)送的原始明文數(shù)據使用對稱加密算法進行處理,得到密文數(shù)據。數(shù)據接收方在接收到發(fā)送方密文數(shù)據之后,借助于事先商定好的共享密鑰,使用相同的對稱加密算法對密文數(shù)據進行解密,得到明文數(shù)據。對稱加密算法的安全性取決于密鑰的保密性,如果密鑰泄露,數(shù)據的保密性將很難得到保障。對稱加密算法具有加密速度快、效率高、計算量小等恃點,常見的對稱加密算法包括:DES算法[3]、3DES算法、AES算法、IDEA算法。
2 對稱加密共享密鑰的生成與分發(fā)
對于移動客戶端與服務器端傳輸?shù)拿舾袛?shù)據,可使用對稱加密算法,在移動客戶端加密,在服務器端解密,充分利用對稱加密算法加解密速度快、計算量小、效率高的優(yōu)點。非對稱加解密算法相對于對稱加解密算法的復雜度更高,其加密的速度遠遠慢于對稱加密算法。在本方案所基于的移動互聯(lián)環(huán)境中,對于傳輸?shù)拿舾袛?shù)據,選擇使用對稱加密算法來實現(xiàn)數(shù)據的加密和解密操作,可在保證數(shù)據傳輸安全的基礎上,提高應用系統(tǒng)的整體效率和性能。
2.1 移動客戶端生成共享密鑰
在國網移動互聯(lián)環(huán)境中,需要傳輸敏感數(shù)據時,對數(shù)據的加密采用的是對稱加密算法SM4。在對稱加密體制中,數(shù)據發(fā)送方與接收方使用相同的密鑰,即本文中所說的共享密鑰。在移動互聯(lián)的移動APP中,生成對稱加密所使用的共享密鑰,并進行相關加密與簽名處理,最后將加密后的密文數(shù)據和簽名數(shù)據發(fā)送給服務器端。
2.2 共享密鑰的分發(fā)
對稱加密體制中數(shù)據傳輸?shù)陌踩饕Q于共享密鑰的安全,數(shù)據通信的雙方都要對共享密鑰的安全負責。在本方案中,移動APP端負責生成其與服務器端通信所使用的對稱加密算法共享密鑰,在移動客戶端通過使用ECIES算法借助于該移動客戶端自身公鑰加密共享密鑰,將加密后的共享密鑰的密文保存到SQLite對應的數(shù)據表中。為了保證共享密鑰能夠安全地傳輸給服務器端,在移動客戶端使用非對稱加密體制中的橢圓曲線集成加密算法ECIES,借助于服務器端公鑰將共享密鑰進行加密處理,然后對共享密鑰密文進行簽名處理,將共享密鑰密文和簽名數(shù)據一同發(fā)送給服務器端。
服務器端接收到共享密鑰密文和簽名數(shù)據之后,使用該移動客戶端的公鑰進行簽名驗證,如果簽名驗證通過,則將共享密鑰密文使用服務器端私鑰進行解密得到共享密鑰明文,使用ECIES算法借助于服務器公鑰將共享密鑰明文進行加密處理,將加密后共享密鑰的密文保存到相對應的MySQL數(shù)據表中。這樣,不但考慮了共享密鑰在移動客戶端與Web服務器之間數(shù)據傳輸?shù)陌踩?,也考慮了共享密鑰在移動客戶端和服務器端的存儲安全。
3 客戶端對敏感數(shù)據的處理
3.1 加密敏感數(shù)據
移動客戶端與服務器之間交互的數(shù)據分為敏感數(shù)據和非敏感數(shù)據兩種。對于非敏感數(shù)據,可以使用明文直接傳輸,這樣可以使整個過程具有較高的效率和性能。對于敏感數(shù)據,需要使用加密算法進行處理,保證數(shù)據的安全性,使得數(shù)據即便在傳輸過程中被非法截獲,信息的截獲者也不能直接識別所截獲數(shù)據表示的真實內容。例如在使用企信等APP時,會涉及到用戶身份、號碼、地址等信息,這些都是用戶的敏感信息。如果手機用戶所使用的各種類型的手機端應用程序,對用戶的敏感數(shù)據沒有經過加密處理而直接以明文形式傳輸?shù)脑?,一旦被不法分子截獲,經過分析和處理得出很多用戶隱私信息,進而會給該手機用戶生活和工作帶來麻煩,造成不必要的損失。因此,在不同的移動互聯(lián)應用中,需要根據具體項目中移動客戶端與服務器之間數(shù)據交互的安全需求,選擇適當安全強度的加密方案進行數(shù)據加密處理。在本方案中對于傳輸敏感數(shù)據,使用對稱加密算法SM4,借助于對稱加密密鑰,來完成敏感數(shù)據的加密工作。
3.2 產生簽名數(shù)據
數(shù)字簽名需要綜合使用消息摘要算法和非對稱加密算法,使用消息摘要算法生成摘要信息之后,使用自身的私鑰對摘要信息加密形成簽名數(shù)據。本方案中,用戶發(fā)送信息經過加密形成密文數(shù)據,使用消息摘要算法將密文數(shù)據生成摘要信息,移動客戶端使用存儲在SQLite數(shù)據庫表AppJCeys中的私鑰對摘要信息進行加密處理,形成簽名數(shù)據。然后將簽名數(shù)據和用戶注冊信息的密文數(shù)據一同傳送給Web服務器端。移動客戶端對敏感數(shù)據處理的基本流程,如下面圖1所示。
4 服務器端對數(shù)據的處理
服務器端接收到移動客戶端發(fā)送過來的json數(shù)據并進行相關處理。如果服務器端接收到的是移動客戶端敏感數(shù)據處理之后傳送過來的數(shù)據信息,則從中解析出密文數(shù)據和簽名數(shù)據。其中,密文數(shù)據是移動客戶端使用對稱加密算法SM4借助于共享密鑰加密得到的,簽名數(shù)據是移動客戶端經過生成摘要與使用私鑰加密處理之后得到的。對于解析得到的密文數(shù)據,使用與移動客戶端相同的消息摘要算法生成新的摘要信息,服務器端使用的消息摘要算法是SHA1。
參考文獻
[1]程帥.顏佳,電網企業(yè)移動信息化安全防護策略研究[J].《吉林電力》,2016, 44(4):19-22.
[2]李鑫.焦陽,企業(yè)級移動應用數(shù)據安全防護技術研究[J].《信息通信》,2013(4):111-112.
[3]李聯(lián),信息安全中的DES加密算法[J].《現(xiàn)代電子技術》,2005,28(9):118-120.endprint