本發明的實施例涉及一種加密技術。
背景技術:
現有的基于表的白盒實現方式只使用單一屬性密鑰而實現。因此,需要傳送白盒實現物整體,所以在控制傳送量時存在諸多困難。
并且,由于白盒實現物整體的布置,實現物整體一直存在于終端內,所以存在因終端的丟失等而引起的未授權用戶使用加密功能以及實現物整體的泄露等缺點。
現有技術文獻
專利文獻
(專利文獻0001)韓國公開專利第10-2012-0030335號(2012.03.28)
技術實現要素:
本發明的實施例的目的在于提供一種加密裝置以及方法。
根據本發明的一實施例的加密裝置,包括:表生成部,由屬性互不相同的多個密鑰分別生成密鑰表,并生成相對所述多個密鑰獨立的密鑰獨立表,從而生成由所述密鑰表和所述密鑰獨立表構成的加密算法;以及傳送部,將所述密鑰表和所述密鑰獨立表傳送至客戶端裝置。
所述密鑰表可以包括:靜態密鑰表,由不需要更新的靜態密鑰生成;動態密鑰表,由需要周期性地或者非周期性地更新的動態密鑰生成并且隨著所述動態密鑰的更新而變更。
所述傳送部可基于為了生成密鑰表而使用的密鑰的屬性而使由各個密鑰生成的密鑰表的傳送時間點變得不同,由此進行傳送。
所述表生成部可以基于為了生成密鑰表而使用的密鑰的屬性而由各個密鑰生成不同大小的密鑰表。
所述表生成部在所述動態密鑰得到更新的情況下,可以從更新的動態密 鑰生成動態密鑰表,從而在所述加密算法所包含的多個密鑰表中將由被更新之前的動態密鑰生成的動態密鑰表變更為由所述更新的動態密鑰生成的動態密鑰表。
所述傳送部可以將由所述變更的動態密鑰生成的動態密鑰表傳送至所述客戶端裝置。
所述表生成部可以根據所述客戶端裝置或者所述客戶端裝置的用戶而使由所述多個密鑰分別生成的各個密鑰表的應用位置變得不同,由此生成所述加密算法。
根據本發明的一實施例的加密方法,包括以下步驟:由屬性互不相同的多個密鑰分別生成密鑰表;生成相對所述多個密鑰獨立的密鑰獨立表;生成由所述密鑰表和所述密鑰獨立表構成的加密算法;將所述密鑰表和所述密鑰獨立表傳送至客戶端裝置。
所述密鑰表可以包括:靜態密鑰表,由不需要更新的靜態密鑰生成;動態密鑰表,由需要周期性地或者非周期性地更新的動態密鑰生成并且隨著所述動態密鑰的更新而變更。
在所述傳送的步驟中,可基于為了生成密鑰表而使用的密鑰的屬性而使由各個密鑰生成的密鑰表的傳送時間點變得不同,由此進行傳送。
在所述生成密鑰表的步驟中,可以基于為了生成密鑰表而被使用的密鑰的屬性而由各個密鑰生成不同大小的密鑰表。
所述加密方法還可以包括如下步驟:在所述動態密鑰得到更新的情況下,由更新的動態密鑰生成動態密鑰表;在所述加密算法中包含的多個密鑰表中,將由更新前的動態密鑰生成的動態密鑰表變更為由所述更新的動態密鑰生成的動態密鑰表。
所述加密方法還可以包括如下步驟:將由所述變更的動態密鑰生成的動態密鑰表傳送至所述客戶端裝置。
在所述生成加密算法的步驟中,可以根據所述客戶端裝置或者所述客戶端裝置的用戶而使由所述多個密鑰分別生成的各個密鑰表的應用位置變得不同,由此生成所述加密算法。
根據本發明的一實施例的儲存于計算機可讀記錄介質的計算機應用程序,該應用程序與硬件結合而執行如下步驟:由屬性互不相同的多個密鑰分別生成密鑰表;生成相對所述多個密鑰獨立的密鑰獨立表;生成由所述密鑰表和 所述密鑰獨立表構成的加密算法;將所述密鑰表和所述密鑰獨立表傳送至客戶端裝置。
根據本發明的實施例,利用多種屬性的密鑰,可以根據屬性而實現互不相同的密鑰表,并且之后在更新密鑰時選擇性地傳送密鑰表,從而提高傳送密鑰表的效率。
進而,客戶終端內不再存在加密算法的整體實現物,因此可以根除整體實現物被攻擊者泄露的現象。
附圖說明
圖1為根據本發明的一實施例的加密裝置的構成圖。
圖2為密鑰表的結構的示例圖。
圖3為根據本發明的一實施例的加密方法的流程圖。
圖4為表示根據本發明的一實施例的動態密鑰表的更新步驟的流程圖。
符號說明
100:加密裝置 110:表生成部
130:傳送部 210:密鑰表
211:動態密鑰表 212:靜態密鑰表
220:密鑰獨立表
具體實施方式
以下,將參考附圖而對本發明的具體實施形態進行說明。以下的詳細的說明是為幫助包括對本說明書中描述的方法、裝置以及/或者系統的理解而提供的。然而這僅僅為示例,本發明并不局限于此。
在對本發明的實施例進行說明時,如果判斷為對與本發明相關的公知技術進行的具體說明會給本發明的主旨帶來不必要的混亂,則將省略對其的詳細說明。并且,下述的術語為考慮到本發明中的作用而給出定義的術語,其可以根據用戶、適用者的意圖或者習慣等而不同。所以,其需要基于本說明書的整體內容來做出定義。在詳細的說明中使用的術語只是用于敘述本發明的實施例的,而并不具有限制作用。在沒有明確的反例時,單數形態的表現形式包括復數形態的含義。本說明書中,要理解“包括”或者“具有”等表述指某些特征、數字、步驟、操作、要素以及它們的部分或者組合,不能理 解成排除所敘述的表現形式之外的一個或以上的其他特征、數字、步驟、操作、要素以及它們的部分或者組合的存在或者可能性。
圖1為根據本發明的一實施例的加密裝置的構成圖。
參考圖1,根據本發明的一實施例的加密裝置100包括密鑰表生成部110以及傳送部130。
加密裝置100例如可以由通過數字版權管理(DRM:Digital Rights Management)服務器、網絡服務器等用于向客戶終端提供加密的內容乃至服務的裝置的一個構成來實現。
表生成部110生成密鑰表和密鑰獨立表,之后生成由所生成的密鑰表和密鑰獨立表構成的白盒加密算法。
此時,密鑰表和密鑰獨立表指的是在白盒加密算法中為了加密/解密運算而使用的查找(Look-up)表。
并且,密鑰表指的是由密鑰直接生成的查找表,密鑰獨立表指的是并不由密鑰生成的查找表。
另外,表生成部110可以由多個密鑰分別生成密鑰表,此時,多個密鑰可分別具有互不相同的屬性。
具體而言,為了生成各個密鑰表而使用的密鑰例如可以包括:群密鑰,分配給屬于特定用戶組的用戶;個人密鑰,分配給特定用戶;終端認證密鑰,分配給特定終端;會話密鑰,在每個通信會話(session)中生成;內容密鑰;數據密鑰、消息認證用密鑰等。但是,在表生成部110中為了生成密鑰表而使用的密鑰的屬性并不局限于上述的示例,并且根據應用加密裝置100的服務環境,除了上述的示例之外還可以使用多種屬性的密鑰。
另外,如圖2中示出的示例,由各個密鑰生成的密鑰表可以分為靜態密鑰表和動態密鑰表。
此時,靜態密鑰表指的是由不需要更新的靜態密鑰生成的密鑰表,動態密鑰表指的是由需要周期性地或者非周期性地更新的動態密鑰生成的密鑰表。
具體地,靜態密鑰例如可以指終端認證密鑰、群密鑰等具有與服務或者終端相同壽命的密鑰。
并且,動態密鑰指諸如會話密鑰、內容密鑰、數據密鑰、消息認證用密鑰等被周期性地或者非周期性地更新的密鑰。
另外,根據本發明的一實施例,密鑰表生成部110可以根據為了生成密 鑰表而使用的密鑰的屬性而將由各個密鑰生成的密鑰表生成為不同的大小。
例如,密鑰表生成部110可以以大小小于由靜態密鑰或以相對長的周期更新的動態密鑰生成的動態密鑰表的大小的方式生成由如會話密鑰那樣以相對短的周期更新的動態密鑰生成的動態密鑰表。因此,如下文所述,可以根據動態密鑰的更新而柔性地調整所要傳送至客戶終端的動態密鑰表的傳送量。
并且,根據本發明的一實施例,密鑰表生成部110可以根據客戶終端或者客戶終端的用戶而使按屬性的密鑰表在所生成的白盒加密算法內的應用位置變得不同。
另外,在表生成部110中生成的靜態密鑰表是從靜態密鑰生成,所以在最初生成后不會改變,但是對于動態密鑰表而言,在為生成相關的密鑰表而使用的動態密鑰每次發生變更時均需要變更動態密鑰表。
所以,根據本發明的一實施例,表生成部110在為生成動態密鑰表而使用的動態加密鑰被更新的情況下,由更新的動態密鑰生成新的動態密鑰表,從而可以將由更新前的動態密鑰生成的動態密鑰表變為新的動態密鑰表。
傳送部130將由表生成部110生成的密鑰表和密鑰獨立表傳送至客戶終端。
此時,根據本發明的一實施例,傳送部130可以如下方式進行傳送:根據為了生成密鑰表而使用的密鑰的屬性而使密鑰表的傳送時間點變得不同。
例如,傳送部130可以在分配客戶終端時或者提供用于提供服務的應用時,將靜態密鑰表傳送至客戶終端后,在傳送加密的數據時,將為了加密而使用的動態密鑰表與加密的數據一同傳送至客戶終端。
作為其他示例,傳送部130在分配客戶終端或者提供用于提供服務的應用時,將靜態密鑰表和動態密鑰表中由具有相對長的更新周期的密鑰生成的動態密鑰表傳送至客戶終端后,剩余動態密鑰表可在傳送利用相關動態密鑰表而被加密的數據時與加密的數據一起傳送至客戶終端。
另外,由傳送部130執行的密鑰表傳送方式并不局限于上述示例,除了上述示例以外,還可以根據應用所生成的白盒加密算法的系統的密鑰政策、通信環境、傳送量、實現白盒加密算法實現的效率等而以多種方法來實現。
另外,根據本發明的一實施例,傳送部130將借助于表生成部110而生成的動態密鑰表傳送至客戶端后,在傳送的動態密鑰表被更新的情況下,將更新的動態密鑰表傳送至客戶終端,由此可以在客戶終端中使已傳送的動態 密鑰表得到更新。
另外,在一實施例中,圖1中示出的密鑰表生成部110以及傳送部130可以在包括一個以上的處理器以及與該處理器連接的計算機可讀記錄介質的,一個以上的計算裝置上實現。計算機可讀記錄介質可以位于處理器的內部或者外部,并且可以通過公知的多種手段連接到處理器。計算裝置內的處理器可以使各個計算裝置照著本說明書中記載的示例性的實施例運轉。例如,處理器可以執行計算機可讀記錄介質中儲存的指令,計算機可讀記錄介質中儲存的指令在由處理器執行時,可以使計算裝置執行根據本說明書中記載的示例性的實施例的操作。
圖3為根據本發明的一實施例的加密方法的流程圖。
參考圖3,加密裝置100由具有不同屬性的多個密鑰分別生成密鑰表(310)。
此時,生成的密鑰表可以包括:靜態密鑰表,由不需要更新的靜態密鑰生成;動態密鑰表,由周期性地或者非周期性地更新的動態密鑰生成。
另外,根據本發明的一實施例,加密裝置100可以根據為了生成密鑰表而使用的密鑰的屬性而使由各個密鑰生成的密鑰表大小不同地生成。例如,密鑰表生成部110例如,以大小小于由靜態密鑰或者以長周期更新的動態密鑰生成的動態密鑰表的大小的方式生成由如會話密鑰那樣以相對短的周期更新的動態密鑰生成的動態密鑰表。
之后,加密裝置100生成相對為了生成密鑰表而使用的密鑰獨立的密鑰獨立表(320)。
之后,加密裝置100將生成由所生成的密鑰表和密鑰獨立表構成的白盒加密算法(330)。
此時,根據本發明的一實施例,加密裝置100可以根據客戶終端、客戶終端的用戶或者服務使用者而使按屬性的密鑰表在所生成的白盒加密算法內的應用位置變得不同。
之后,加密裝置100將所生成的密鑰表和密鑰獨立表提供給客戶終端(340)。
此時,加密裝置100可以以如下方式傳送至客戶端裝置:根據為了生成密鑰表而使用的密鑰的屬性而使所生成的密鑰表的傳送時間點變得不同。
圖4為示出根據本發明的一實施例的動態密鑰表更新步驟的流程圖。
參照圖4,加密裝置100在用于生成動態密鑰表的動態密鑰得到更新的情況下(410),由更新的動態密鑰生成動態密鑰表(420)。
之后,加密裝置100將白盒加密算法中包含的動態密鑰表中的由更新之前的動態密鑰生成的動態密鑰表變更為由更新的動態密鑰生成的動態密鑰表(430)。
之后,加密裝置100將從更新的動態密鑰生成的密鑰表傳送至客戶端裝置(440)。
另外,圖3以及圖4中示出的流程圖中將所述方法分成多個步驟而記載,但是其中至少一部分的步驟可以被交換順序而執行或者與其他步驟結合而執行,或者被省略或被分成細分步驟而執行,或者附加未被圖示的一個以上的步驟而執行。
另外,本發明的一實施例可以包括計算機可讀記錄介質,其包括用于在計算機上執行本說明書中記載的方法的程序。所述計算機可讀記錄介質可以單獨地或者組合地包括程序命令、本地數據文件、本地數據結構等。所述介質可以是為本發明而特別地設計并構成的介質,或者是在計算機軟件領域中通常被使用的介質。計算機可解碼記錄介質的示例包括:磁介質,如硬盤、軟盤以及磁帶等;光記錄介質,如CD-ROM、DVD等;磁-光介質,軟盤等;以及ROM、RAM、閃存等為了儲存命令并執行程序命令而特別構成的硬件裝置。作為程序命令的例,不僅包括如利用編譯器制作的計算機語音代碼,還可以包括可利用翻譯器等由計算機執行的高級語言代碼。
以上,對本發明的具有代表性的實施例進行了詳細的說明,然而在本發明所屬的技術領域中具有基本知識的人員可以理解對上述的實施例可在不脫離本發明的范圍的限度內進行多種變形。因此,本發明的權利范圍并不局限于上述的實施例,本發明的權利范圍需要根據權利要求書的范圍以及與該權利要求書均等的范圍來確定。