一種集成加密算法的方法和系統的制作方法
【專利摘要】本申請公開了一種集成加密算法的方法和系統,其中所述方法包括:在移動設備存儲區劃分獨立分區并使所述分區在刷機時不可更改其中的內容;在移動設備操作系統中增加一個獨立用戶和組,并設置所述獨立用戶不能有登錄shell;將所述獨立分區掛載到文件系統中,并設置所述獨立分區只能由所述獨立用戶進行讀寫;在移動設備操作系統中建立提供加密算法實現并存儲加密算法相關數據的服務,使所述服務以所述獨立用戶的身份運行;在操作系統SDK中為應用層提供加密算法相關API接口,所述接口為需要調用加密算法的應用提供所需的函數。本發明方法或系統使得各類需要使用加密算法如CPK的應用可以直接使用操作系統提供的加密算法服務,而不需要各自實現相應加密算法。
【專利說明】
一種集成加密算法的方法和系統
技術領域
[0001]本申請涉及電數字數據處理領域,尤其涉及一種集成加密算法的方法和系統。
【背景技術】
[0002]隨著證書密碼體系的發展,CPK組合公鑰體制逐步在實際的企業環境中得到應用和部署,在移動手機端,也就誕生了很多使用CPK算法的應用。但是,在操作系統上,一直還沒有一種在系統中集成了CPK算法的移動操作系統誕生。現有的應用都是自己調用CPK相關算法庫,導致每個應用都得包含一套CPK算法,增加了應用的代碼量,也無法保證應用自己實現的CPK代碼的正確性和一致性。另外,由于每個應用自己維護CPK私鑰,所以即使這些應用都使用的是一個CPK私鑰,也迫使它們都必須分別向CPK服務器去請求私鑰,導致重復操作。
【發明內容】
[0003]本申請的目標在于提供一種集成加密算法的方法或系統,其使得各類需要使用加密算法如CPK的應用可以直接使用操作系統提供的加密算法服務,而不需要各自實現相應加密算法。
[0004]本申請的目標由一種集成加密算法的方法實現,該方法包括:
[0005]在移動設備存儲區劃分獨立分區并使所述分區在刷機時不可更改其中的內容;
[0006]在移動設備操作系統中增加一個獨立用戶和組,并設置所述獨立用戶不能有登錄shell;
[0007]將所述獨立分區掛載到文件系統中,并設置所述獨立分區只能由所述獨立用戶進行讀寫;
[0008]在移動設備操作系統中建立提供加密算法實現并存儲加密算法相關數據的服務,使所述服務以所述獨立用戶的身份運行;
[0009]在操作系統SDK中為應用層提供加密算法相關API接口,所述接口為需要調用加密算法的應用提供所需的函數。
[0010]本申請的目標還由一種集成加密算法的系統實現,該系統包括:
[0011]獨立分區設置模塊,用于在移動設備存儲區劃分獨立分區并使所述分區在刷機時不可更改其中的內容;
[0012]獨立用戶設置模塊,用于在移動設備操作系統中增加一個獨立用戶和組,并設置所述獨立用戶不能有登錄Shell;
[0013]獨立分區掛載模塊,用于將所述獨立分區掛載到文件系統中,并設置所述獨立分區只能由所述獨立用戶進行讀寫;
[0014]服務建立模塊,用于在移動設備操作系統中建立提供加密算法實現并存儲加密算法相關數據的服務,使所述服務以所述獨立用戶的身份運行;
[0015]接口提供模塊,用于在操作系統SDK中為應用層提供加密算法相關API接口,所述接口為需要調用加密算法的應用提供所需的函數。
[0016]通過本發明方法或系統,由于在操作系統中集成了加密算法如CPK算法,其他需要使用CPK算法的應用不需要自己再實現該算法,可以直接通過系統API實現這些功能,所以可以減少應用開發和測試的工作量,降低開發成本,并且可以減少開發完畢的應用的大小。此外,由于系統提供了成熟可靠的CPK算法,應用不需要自己再實現,可以提高應用的質量。由于系統提供了統一的CPK算法,所以對于應用來說,這提高了他們在算法上的一致性,減少了不同應用和服務間由于協商不一致導致的沖突。再者,由于在系統中提供了CPK服務,所以可以在應用間共享CPK私鑰。
【附圖說明】
[0017]本發明將在下面參考附圖并結合優選實施例進行更完全地說明。
[0018]圖1為根據本發明方法的一實施例的流程圖。
[0019]圖2為根據本發明系統的一實施例的結構示意圖。
[0020]為清晰起見,這些附圖均為示意性及簡化的圖,它們只給出了對于理解本發明所必要的細節,而省略其他細節。
【具體實施方式】
[0021]通過下面給出的詳細描述,本發明的適用范圍將顯而易見。然而,應當理解,在詳細描述和具體例子表明本發明優選實施例的同時,它們僅為說明目的給出。
[0022]圖1示出了根據本發明實施例的用于集成加密算法的方法的流程圖,在此以加密算法為CPK算法為例。該方法開始于步驟S10,在移動設備如手機存儲區里劃分出獨立分區,此區域刷機時不可更改其中內容。在步驟S20,在手機系統中增加一個獨立用戶和組,例如:cpkadmin;并且設置此用戶不能有登錄shelK登錄殼)。在步驟S30,將劃分的獨立分區掛載到文件系統中,例如:/cpkcontainer ;掛載時設置只能由獨立用戶cpkadmin進行讀寫,其他用戶不允許有訪問權限。在步驟S40,在系統中建立一個服務,例如:cpkmanagerd,讓此服務以獨立用戶cpkadmin的身份運行,該服務提供具體的CPK算法實現,并且存儲CPK相關數據,例如:公鑰矩陣、用戶的私鑰。之后,在步驟S50,在操作系統SDK(System Development Kit,系統開發工具包)中,為應用層提供CPK相關API接口,該接口為需要調用CPK的應用提供所需的函數。在實施例中,所有運行期數據加密存儲到/cpkcontainer,防止拆機暴力破解。對于公私鑰矩陣和私鑰不允許導出和拷貝,確保加密算法的安全性。
[0023]在其它實施例中,還在cpkmanagerd里按CPK私鑰服務器域名劃分隔離區域,如果應用對應的CPK私鑰服務器是相同的,那么它們可以共享該私鑰。當然,應用是否共享私鑰可以由應用自己通過API來單獨設置。
[0024]該實施例的方法通過在移動操作系統中內置了CPK系統服務,為整個操作系統提供CPK算法支持,并且為應用層實現了可供開發者調用的CPK相關API。這樣各類需要使用CPK的應用就可以直接使用操作系統提供的CPK算法服務,而不必自己再包含CPK算法模塊,可以減少各個應用的大小,同時由系統來保證CPK算法的正確性,提高了各個應用的質量。另外,系統集成的CPK服務,可以為相關CPK應用提供共享的私鑰,只要有一個應用成果下載了 CPK私鑰,其他應用都可以使用,減少了應用的操作。
[0025]圖2示出了根據本發明實施例的用于集成加密算法的系統的示意圖,該系統包括:獨立分區設置模塊10,用于在移動設備存儲區劃分獨立分區并使所述分區在刷機時不可更改其中的內容;獨立用戶設置模塊20,用于在移動設備操作系統中增加一個獨立用戶和組,并設置所述獨立用戶不能有登錄shell;獨立分區掛載模塊30,用于將所述獨立分區掛載到文件系統中,并設置所述獨立分區只能由所述獨立用戶進行讀寫;服務建立模塊40,用于在移動設備操作系統中建立提供加密算法實現并存儲加密算法相關數據的服務,使所述服務以所述獨立用戶的身份運行;接口提供模塊50,用于在操作系統SDK中為應用層提供加密算法相關API接口,所述接口為需要調用加密算法的應用提供所需的函數;隔離區域劃分模塊60,用于響應于所述加密算法為CPK算法,在所述服務里按CPK私鑰服務器域名劃分隔離區域;私鑰共享模塊70,用于響應于多個應用對應的CPK私鑰服務器相同,所述多個應用共享私鑰。
[0026]除非明確指出,在此所用的單數形式“一”、“該”均包括復數含義(即具有“至少一”的意思)。應當進一步理解,說明書中使用的術語“具有”、“包括”和/或“包含”表明存在所述的特征、步驟、操作、元件和/或部件,但不排除存在或增加一個或多個其他特征、步驟、操作、元件、部件和/或其組合。如在此所用的術語“和/或”包括一個或多個列舉的相關項目的任何及所有組合。除非明確指出,在此公開的任何方法的步驟不必精確按照所公開的順序執行。
[0027]—些優選實施例已經在前面進行了說明,但是應當強調的是,本發明不局限于這些實施例,而是可以本發明主題范圍內的其它方式實現。
【主權項】
1.一種集成加密算法的方法,其特征在于,所述方法包括: 在移動設備存儲區劃分獨立分區并使所述分區在刷機時不可更改其中的內容; 在移動設備操作系統中增加一個獨立用戶和組,并設置所述獨立用戶不能有登錄shell; 將所述獨立分區掛載到文件系統中,并設置所述獨立分區只能由所述獨立用戶進行讀與; 在移動設備操作系統中建立提供加密算法實現并存儲加密算法相關數據的服務,使所述服務以所述獨立用戶的身份運行; 在操作系統SDK中為應用層提供加密算法相關API接口,所述接口為需要調用加密算法的應用提供所需的函數。2.根據權利要求1所述的方法,其特征在于,所述方法還包括: 使得加密算法運行期數據加密存儲到所述文件系統中。3.根據權利要求1所述的方法,其特征在于,所述方法還包括: 使得所述加密算法相關數據不允許導出和拷貝。4.根據權利要求1所述的方法,其特征在于,所述加密算法相關數據存儲于所述獨立分區中。5.根據權利要求1-4任一所述的方法,其特征在于,所述加密算法為CPK算法。6.根據權利要求5所述的方法,其特征在于,所述方法還包括: 在所述服務里按CPK私鑰服務器域名劃分隔離區域。7.根據權利要求6所述的方法,其特征在于,所述方法還包括: 響應于多個應用對應的CPK私鑰服務器相同,所述多個應用共享私鑰。8.一種集成加密算法的系統,其特征在于,所述系統包括: 獨立分區設置模塊,用于在移動設備存儲區劃分獨立分區并使所述分區在刷機時不可更改其中的內容; 獨立用戶設置模塊,用于在移動設備操作系統中增加一個獨立用戶和組,并設置所述獨立用戶不能有登錄shell; 獨立分區掛載模塊,用于將所述獨立分區掛載到文件系統中,并設置所述獨立分區只能由所述獨立用戶進行讀寫; 服務建立模塊,用于在移動設備操作系統中建立提供加密算法實現并存儲加密算法相關數據的服務,使所述服務以所述獨立用戶的身份運行; 接口提供模塊,用于在操作系統SDK中為應用層提供加密算法相關API接口,所述接口為需要調用加密算法的應用提供所需的函數。9.根據權利要求8所述的系統,其特征在于,所述系統還包括: 隔離區域劃分模塊,用于響應于所述加密算法為CPK算法,在所述服務里按CPK私鑰服務器域名劃分隔離區域。10.根據權利要求9所述的系統,其特征在于,所述系統還包括: 私鑰共享模塊,用于響應于多個應用對應的CPK私鑰服務器相同,所述多個應用共享私鑰。
【文檔編號】G06F21/12GK105844120SQ201610292486
【公開日】2016年8月10日
【申請日】2016年5月5日
【發明人】楊玉奇
【申請人】北京元心科技有限公司