保護軟件項目的制作方法

            文檔序號:11142849閱讀:588來源:國知局
            保護軟件項目的制造方法與工藝

            本發明涉及用于保護軟件項目的方法、用于使用受保護的軟件項目實施數據處理的方法以及用于實施此類方法的裝置和計算機程序。



            背景技術:

            眾所周知的是,常常有針對軟件項目的攻擊被發起。攻擊者可能希望獲得包含在軟件項目內的秘密信息(比如加密密鑰),其目的是濫用該秘密信息(例如通過把加密密鑰分發給其他人/系統,從而使得這些人/系統可以按照未經授權的方式使用加密密鑰)。類似地,攻擊者可能希望修改軟件項目的執行流程。舉例來說,軟件項目可能具有檢查軟件項目的用戶是否具有特定許可或訪問權利的判定點——如果用戶具有這些許可或訪問權利,則軟件項目可以準許用戶訪問特定功能或數據,否則會拒絕此類訪問。攻擊者可能希望嘗試修改軟件項目在該判定點處的執行,從而使得即使用戶不具有許可或訪問權利,軟件項目仍然準許用戶訪問該特定功能或數據。

            存在許多眾所周知的軟件保護技術,這些技術可以被應用于初始軟件項目以便生成受保護的軟件項目,其目的是使得攻擊者不可能成功進行其攻擊(或者至少足夠困難)。



            技術實現要素:

            確保可以按照安全并且可升級的方式以及按照可以容易并且高效地實施安全性審核的方式高效地應用軟件保護技術是一項困難的挑戰。本發明的實施例旨在解決這樣的問題。

            根據本發明的第一方面,提供一種保護軟件項目的方法,所述軟件項目被布置成基于一個或多個數據項目實施數據處理,所述方法包括:對所述軟件項目應用一種或多種軟件保護技術以生成受保護的軟件項目,其中所述一種或多種軟件保護技術被布置成使得所述受保護的軟件項目把所述數據處理至少部分地實施成在有限環上的一項或多項線性代數運算。

            在一些實施例中,所述一項或多項線性代數運算當中的每一項是在所述有限環上的針對向量空間的相應線性代數運算,并且其中所述一項或多項線性代數運算當中的每一項對被表示成所述向量空間的一個或多個元素的相應輸入數據進行運算以產生相應輸出數據。對于所述一項或多項線性代數運算當中的至少一項,所述相應輸入數據可以至少部分地基于所述一個或多個數據項目當中的至少一個。所述有限環可以是環,并且所述向量空間于是可以是向量空間,其中n是正整數。

            在一些實施例中,所述數據處理包括在有限環上的算術運算,并且所述對所述軟件項目應用所述一種或多種軟件保護技術包括使用在所述有限環上的一項或多項線性代數運算在所述受保護的軟件項目中實施所述算術運算。

            在一些實施例中,所述數據處理包括在有限環上的邏輯運算,并且所述對所述軟件項目應用所述一種或多種軟件保護技術包括使用在所述有限環上的一項或多項線性代數運算在所述受保護的軟件項目中實施所述邏輯運算。

            在一些實施例中,所述數據處理包括以下各項當中的至少一項:(a)至少部分地基于所述一個或多個數據項目當中的至少一個的判定;(b)安全性相關功能;(c)訪問控制功能;(d)加密功能;以及(e)權利管理功能。

            在一些實施例中,所述一種或多種軟件保護技術包括以下各項當中的一項或多項:(i)白盒保護技術;(ii)節點鎖定技術;(iii)數據流模糊;以及(iv)控制流模糊。

            根據本發明的第二方面,提供一種對一個或多個數據項目實施數據處理的方法,其中所述數據處理包括以下各項當中的至少一項:(a)至少部分地基于所述一個或多個數據項目當中的至少一個的判定;(b)安全性相關功能;(c)訪問控制功能;(d)加密功能;以及(e)權利管理功能;其中所述方法包括:執行受保護的軟件項目,所述受保護的軟件項目把所述數據處理至少部分地實施成在有限環上的一項或多項線性代數運算。

            在一些實施例中,所述一項或多項線性代數運算當中的每一項是在所述有限環上的針對向量空間的相應線性代數運算,并且所述一項或多項線性代數運算當中的每一項對被表示成所述向量空間的一個或多個元素的相應輸入數據進行運算以產生相應輸出數據。對于所述一項或多項線性代數運算當中的至少一項,所述相應輸入數據可以至少部分地基于所述一個或多個數據項目當中的至少一個。所述有限環可以是環,并且所述向量空間可以是向量空間,其中n是正整數。

            在一些實施例中,所述數據處理包括在有限環上的算術運算,并且所述受保護的軟件項目使用在所述有限環上的一項或多項線性代數運算來實施所述算術運算。

            在一些實施例中,所述數據處理包括在有限環上的邏輯運算,并且所述受保護的軟件項目使用在所述有限環上的一項或多項線性代數運算來實施所述邏輯運算。

            根據本發明的第三方面,提供一種被布置成實施至少一種前面提到的方法的裝置。

            根據本發明的第四方面,提供一種計算機程序,其在由處理器執行時使得處理器實施至少一種前面提到的方法。所述計算機程序可以被存儲在計算機可讀介質上。

            附圖說明

            現在將參照附圖僅通過舉例的方式來描述本發明的實施例,其中:

            圖1示意性地圖示了計算機系統的一個示例;以及

            圖2示意性地圖示了根據本發明的一個實施例的系統。

            具體實施方式

            在后面的描述中以及在附圖中描述了本發明的特定實施例。但是將認識到,本發明不限于所描述的實施例,并且一些實施例可以不包括后面所描述的所有特征。但是將顯而易見的是,在不背離所附權利要求書中所闡述的本發明的更寬泛的精神和范圍的情況下,可以在這里做出各種修改和改變。

            1—系統總覽

            圖1示意性地圖示了計算機系統100的一個示例。系統100包括計算機102。計算機102包括:存儲介質104,存儲器106,處理器108,接口110,用戶輸出接口112,用戶輸入接口114,以及網絡接口116,它們全部通過一條或多條通信總線118鏈接在一起。

            存儲介質104可以是任何形式的非易失性數據存儲設備,比如硬盤驅動器、磁盤、光盤、ROM等等當中的一項或多項。存儲介質104可以存儲供處理器108執行的操作系統,以使得計算機102運轉。存儲介質104還可以存儲一個或多個計算機程序(或者軟件或指令或代碼)。

            存儲器106可以是適合于存儲數據和/或計算機程序(或者軟件或指令或代碼)的任何隨機存取存儲器(存儲單元或易失性存儲介質)。

            處理器108可以是適合于執行一個或多個計算機程序(比如存儲在存儲介質104上和/或存儲器106中的計算機程序)的任何數據處理單元,其中一些計算機程序可以是根據本發明的實施例的計算機程序,或者是在由處理器108執行時使得處理器108實施根據本發明的一個實施例的方法并且把系統100配置成根據本發明的一個實施例的系統的計算機程序。處理器108可以包括單個數據處理單元,或者并行地或彼此協作地操作的多個數據處理單元。處理器108在實施針對本發明的實施例的數據處理操作時可以向存儲介質104和/或存儲器106存儲數據和/或從其讀取數據。

            接口110可以是用于提供去到處于計算機102外部或者可以從計算機102移除的設備122的接口的任何單元。設備122可以是數據存儲設備,例如光盤、磁盤、固態存儲設備等等當中的一項或多項。設備122可以具有處理能力——例如所述設備可以是智能卡。接口110因此可以根據其接收自處理器108的一條或多條命令從設備122訪問數據、或者向設備122提供數據或者與設備122接口。

            用戶輸入接口114被布置成接收來自系統100的用戶或操作員的輸入。用戶可以通過連接到用戶輸入接口114或者與之通信的系統100的一個或多個輸入設備(比如鼠標(或其他指示設備)126和/或鍵盤124)來提供該輸入。但是將認識到,用戶可以通過一個或多個附加的或替換的輸入設備(比如觸摸屏)來向計算機102提供輸入。計算機102可以把通過用戶輸入接口114接收自輸入設備的輸入存儲在存儲器106中以供處理器108隨后訪問和處理,或者可以將其直接傳遞到處理器108,從而使得處理器108可以相應地對用戶輸入做出響應。

            用戶輸出接口112被布置成向系統100的用戶或操作員提供圖形/視覺和/或音頻輸出。因此,處理器108可以被布置成指令用戶輸出接口112形成表示所期望的圖形輸出的圖像/視頻信號,并且將該信號提供到與用戶輸出接口112連接的系統100的監視器(或者屏幕或顯示單元)120。附加地或替換地,處理器108可以被布置成指令用戶輸出接口112形成表示所期望的音頻輸出的音頻信號,并且將該信號提供到與用戶輸出接口112連接的系統100的一個或多個揚聲器121。

            最后,網絡接口116為計算機102提供從一個或多個數據通信網絡下載數據和/或上傳數據到一個或多個數據通信網絡的功能。

            將認識到,在圖1中圖示并且在前面描述的系統100的架構僅僅是示例性的,并且在本發明的實施例中可以使用具有不同架構(例如具有少于圖1中所示出的組件或者具有圖1中所示出的之外的附加和/或替換組件)的其他計算機系統100。作為示例,計算機系統100可以包括以下各項當中的一項或多項:個人計算機;服務器計算機;移動電話;平板設備;膝上型計算機;電視機;機頂盒;游戲機;其他移動設備或消費電子設備;等等。

            圖2示意性地圖示了根據本發明的一個實施例的系統200。系統200包括:軟件生成系統210;軟件保護系統250;用戶系統280;以及網絡290。

            軟件生成系統210包括(或者執行或使用)生成初始軟件項目220的軟件生成工具212。軟件生成工具212例如可以是軟件生成系統210的處理器所執行的軟件應用。軟件生成系統210可以被布置成自主地生成初始軟件項目220;附加地或替換地,軟件生成系統210可以被布置成在一個或多個軟件開發人員的控制下生成初始軟件項目220,所述軟件開發人員至少部分地編寫形成初始軟件項目220的部分的軟件代碼。用于生成或開發軟件項目的工具是非常眾所周知的,因此這里將不更詳細地描述。

            初始軟件項目220可以包括源代碼、對象代碼、可執行代碼和二進制代碼當中的一項或多項。初始軟件項目220可以用一種或多種編程語言來編程或編寫,所述編程語言可以包括編譯編程語言和/或解譯或腳本編程語言。初始軟件項目220可以包括一個或多個模塊或軟件組件或計算機程序,其可以被呈現或存儲在一個或多個文件內。實際上,初始軟件項目220可以是整個軟件應用、軟件庫、或者一個或多個軟件函數或過程的整體或一部分或者介于其間的任何情況(正如本領域技術人員將認識到的那樣)。

            在由處理器執行時,初始軟件項目220被布置成基于一個或多個數據項目來實施(或者使得處理器實施)數據處理。每一個數據項目可以分別是任何類型的數據,比如音頻數據、視頻數據、多媒體數據、文本數據、財務數據、一個或多個加密密鑰、數字權利管理數據、條件訪問數據等等。所述數據處理可以包括以下各項當中的一項或多項:(a)至少部分地基于所述一個或多個數據項目當中的至少一個的判定;(b)安全性相關功能;(c)訪問控制功能;(d)加密功能;以及(e)權利管理功能。但是將認識到,數據處理可以包括一種或多種其他類型的功能或操作作為前面的示例的附加或替換。作為一個示例,數據處理可以涉及提供對于作為已加密內容接收和/或存儲的內容(比如音頻和/或視頻數據)的用戶訪問,其中只有在用戶具有適當的訪問許可/權利的情況下才為用戶提供對于內容的訪問。因此,所述一個或多個數據項目可以包括:已加密內容;關于用戶和/或用戶系統280的細節或用戶和/或用戶系統280的標識;規定一項或多項許可和/或權利的數據;以及一個或多個加密密鑰(其可以作為初始軟件項目220的部分而被存儲)。因此,希望保護初始軟件項目220,以使得攻擊者無法按照未經授權的方式使用初始軟件項目220,未經授權方式是指即使攻擊者未被授權訪問內容也能夠通過該方式獲得對于內容的訪問;也就是說防止攻擊者繞過由初始軟件項目220提供的條件訪問和/或數字權利管理功能(例如通過確定一個或多個解密密鑰,或者規避初始軟件項目220中的涉及是否應當為用戶提供對于內容的訪問的判定點或分支點)。將認識到,當然存在將希望為之提供針對攻擊者的保護(出于類似的或者可能的其他原因)的初始軟件項目220所能實施的其他功能和/或初始軟件項目220所使用的其他信息。因此,如圖2中所示,初始軟件項目220被提供(或者傳輸或傳送)到軟件保護系統250。

            軟件保護系統250包括(或者執行或使用)軟件保護工具252。軟件保護工具252例如可以是軟件保護系統250的處理器所執行的軟件應用。軟件保護工具252被布置成接收初始軟件項目220作為輸入。軟件保護工具252基于所接收到的初始軟件項目220生成受保護的軟件項目260。軟件保護工具252生成受保護的軟件項目260的方法將在后面描述。

            軟件保護系統250可以包括軟件數據庫254。軟件數據庫254包括可以由軟件保護工具252在生成受保護的軟件項目260時使用的軟件的一個或多個部分——后面將對此進行更加詳細的描述。

            軟件生成系統210和軟件保護系統250可以由不同的實體運行或操作。因此,如圖2中所示,軟件保護系統250可以向軟件生成系統210輸出受保護的軟件項目260。在該模型的情況下,軟件保護系統250向軟件生成系統210提供保護服務。替換地,軟件生成系統210和軟件保護系統250可以由相同的實體運行或操作——實際上,軟件生成系統210和軟件保護系統250可以形成單個系統的部分(在圖2中通過虛線270圖示),該系統使用軟件生成工具212生成初始軟件項目220,并且使用軟件保護工具252通過生成受保護的軟件項目260來保護該初始軟件項目220。

            因此,軟件生成系統210和/或軟件保護系統250可以通過網絡290向用戶系統280輸出(或者提供或傳送)受保護的軟件項目260。但是將認識到,可以由未在圖2中示出的不同實體來實施受保護的軟件項目260的分發。

            還將認識到,在受保護的軟件項目260已經由軟件保護系統250生成之后并且在分發到用戶系統280之前,受保護的軟件項目260可以經歷各種附加的處理。因此將認識到,在后面的描述中,對受保護的軟件項目260的分發或使用的提及包括通過對受保護的軟件項目260應用附加的處理所得到的軟件片段的分發或使用。舉例來說,受保護的軟件項目260可能需要被編譯和/或與其他軟件項目鏈接(例如如果受保護的軟件項目260將要形成將被分發到用戶系統280的更大軟件應用的部分的話)。然而將認識到,可以不需要這樣的附加處理(例如如果受保護的軟件項目260是準備好分發的最終的JavaScript片段的話)。

            網絡290可以是適合于向用戶系統280傳送或傳輸受保護的軟件項目260的任何種類的數據通信網絡。因此,網絡290可以包括以下各項當中的一項或多項:局域網,廣域網,城域網,因特網,無線通信網絡,有線或電纜通信網絡,衛星通信網絡,電話網絡等等。軟件生成系統210和/或軟件保護系統250可以被布置成通過網絡290經由任何適當的數據通信協議與用戶系統280進行通信。實際上,可以通過物理介質(比如存儲在一個或多個CD或DVD上)將受保護的軟件項目260提供到用戶系統280,因此網絡290于是可以包括用于通過物理方式把物理介質遞送到用戶系統280的遞送系統。

            用戶系統280被布置成使用受保護的軟件項目260,例如通過在用戶系統280的一個或多個處理器上執行受保護的軟件項目280。

            用戶系統280可以是適合于執行受保護的軟件項目280的任何系統。因此,用戶系統280可以是以下各項當中的一項或多項:個人計算機,膝上型計算機,筆記本計算機,平板計算機,移動電話,機頂盒,電視,服務器,游戲機等等。軟件保護系統250和軟件生成系統210例如可以包括一臺或多臺個人計算機和/或服務器計算機。因此,用戶系統280、軟件保護系統250和軟件生成系統210當中的每一個可以包括前面參照圖1描述的一個或多個相應的系統100。

            將認識到,雖然圖2把系統200圖示成包括單個用戶設備280、單個軟件生成系統210和單個軟件保護系統250,但是系統200可以包括多個用戶設備280和/或多個軟件生成系統210和/或多個軟件保護系統250。

            2—軟件保護技術

            正如前面所提到的那樣,軟件保護工具252的目的是保護初始軟件項目220的功能或數據處理,和/或保護由初始軟件項目220使用或處理的數據。具體來說,受保護的軟件項目260將提供與初始軟件項目220相同的功能或數據處理——但是該功能或數據處理以一種方式被實施在受保護的軟件項目260中使得用戶系統280的操作員無法按照非預期的或者未經授權的方式從受保護的軟件項目260訪問或使用該功能或數據處理(然而,如果為用戶系統280提供了初始軟件項目220,則用戶系統280的操作員可能能夠按照非預期的或者未經授權的方式訪問或使用所述功能或數據處理)。類似地,受保護的軟件項目260可以按照受保護的或者模糊化的方式存儲秘密信息(比如加密密鑰),從而使得攻擊者更難(如果不是不可能的話)推斷出或訪問該秘密信息(然而,如果為用戶系統280提供了初始軟件項目220,則用戶系統280的操作員可能能夠從初始軟件項目220推斷出或訪問該秘密信息)。

            例如:

            -初始軟件項目220可以包括至少部分地基于將由初始軟件項目220處理的一個或多個數據項目當中的至少一個的判定(或者判定塊或分支點)。如果初始軟件項目220被提供到用戶系統280,則攻擊者可能能夠強制初始軟件項目220執行,從而使得在處理判定之后的執行路徑被遵循,即使該執行路徑原本不應當被遵循。舉例來說,所述判定可以包括測試程序變量B是真(TRUE)還是假(FALSE),并且初始軟件項目220可以被布置成使得如果判定識別出B為真,則執行路徑PT被遵循/執行,而如果判定識別出B為假,則執行路徑PF被遵循/執行。在這種情況下,攻擊者可以(例如通過使用調試器)在判定識別出B為真的情況下強制初始軟件項目220遵循路徑PF,和/或在判定識別出B為假的情況下強制初始軟件項目220遵循路徑PT。因此,在一些實施例中,軟件保護工具250旨在通過在生成受保護的軟件項目260時對初始軟件項目220內的判定應用一種或多種軟件保護技術來防止攻擊者這樣做(或者至少使其更加困難)。

            -初始軟件項目220可以包括以下各項當中的一項或多項:安全性相關功能;訪問控制功能;加密功能;以及權利管理功能。這樣的功能常常涉及使用秘密數據,比如一個或多個加密密鑰。所述處理可以涉及使用一個或多個加密密鑰和/或對一個或多個加密密鑰進行操作或者利用其進行操作。如果攻擊者能夠識別或確定秘密數據,則會發生安全漏洞,并且對于受到秘密數據保護的數據(比如音頻和/或視頻內容)的控制或管理可能會被規避掉。因此,在一些實施例中,軟件保護工具250旨在通過在生成受保護的軟件項目260時對初始軟件項目220內的此類功能應用一種或多種軟件保護技術來防止攻擊者識別或確定一項或多項秘密數據(或者至少使其更加困難)。

            “白盒(white-box)”環境是用于軟件項目的執行環境,其中假設軟件項目的攻擊者對于軟件項目的正被操作的數據(包括中間數值)、存儲器內容以及執行/過程流程具有完全的訪問權限和可見性。此外,在白盒環境中,假設攻擊者能夠例如通過使用調試器修改軟件項目的正被操作的數據、存儲器內容以及執行/過程流程——這樣,攻擊者可以對軟件項目的操作進行實驗并且嘗試操縱軟件項目的操作,其目的是規避初始意圖的功能和/或識別秘密信息和/或出于其他目的。實際上,人們甚至可以假設攻擊者知曉正由軟件項目實施的底層算法。但是軟件項目可能需要使用秘密信息(例如一個或多個加密密鑰),其中該信息需要對于攻擊者保持隱藏。類似地,將會希望防止攻擊者修改軟件項目的執行/控制流,例如防止攻擊者強制軟件項目在判定塊之后采取并非合法執行路徑的一條執行路徑。有許多技術(其在這里被稱作“白盒模糊技術”)用于把初始軟件項目220變換成受保護的軟件項目260,從而使得受保護的軟件項目260抵抗白盒攻擊,也就是說使得受保護的軟件項目260在白盒環境中執行時抵抗攻擊者的攻擊(比如前面所提到的攻擊)。這樣的白盒模糊技術的示例可以在如下文獻中找到:“White-Box Cryptography and an AES Implementation” S. Chow et al,Selected Areas in Cryptography,9th Annual International Workshop,SAC 2002,Lecture Notes in Computer Science 2595(2003),p250-270)以及“A White-box DES Implementation for DRM Applications”,S. Chow et al,Digital Rights Management,ACM CCS-9 Workshop,DRM 2002,Lecture Notes in Computer Science 2696(2003),p1-15,其全部公開內容通過引用被合并在此。附加的示例可以在US61/055,694和WO2009/140774中找到,這兩個文獻的全部公開內容通過引用被合并在此。一些白盒模糊技術實施數據流模糊——例如參見US7,350,085、US7,397,916、US6,594,761和US6,842,862,其全部公開內容通過引用被合并在此。一些白盒模糊技術實施控制流模糊——例如參見US6,779,114、US6,594,761和US6,842,862,其全部公開內容通過引用被合并在此。但是將認識到,存在其他白盒模糊技術,并且本發明的實施例可以使用任何白盒模糊技術。

            作為另一個示例,有可能的情況是初始軟件項目220可能意圖被提供(或者分發)到特定用戶設備280(或者特定用戶設備280的集合)并且由其使用,并且因此希望把軟件項目220“鎖定”到(一個或多個)特定用戶設備280,也就是說防止軟件項目220在另一個用戶設備280上執行。因此,有許多技術(其在這里被稱作“節點鎖定”技術)用于把初始軟件項目220變換成受保護的軟件項目260,從而使得受保護的軟件項目260可以在一個或多個預定/特定用戶設備280上執行(或者由其執行)但是將不會在其他用戶設備上執行。這樣的節點鎖定技術的示例可以在WO2012/126077中找到,該文獻的全部公開內容通過引用被合并在此。但是將認識到,存在其他節點鎖定技術,并且本發明的實施例可以使用任何節點鎖定技術。

            數字加水印是一種眾所周知的技術。具體來說,數字加水印涉及修改初始數字對象以產生加有水印的數字對象。做出修改以把特定數據(其被稱作有效載荷數據)嵌入或隱藏到初始數字對象中。所述有效載荷數據例如可以包括標識數字對象的所有權或其他權利信息的數據。有效載荷數據可以標識加有水印的數字對象的(預期)接收者,在這種情況下,有效載荷數據被稱作數字指紋——這樣的數字加水印可以被用來幫助追蹤數字對象的未經授權的拷貝的起源。數字加水印可以被應用于軟件項目。這樣的軟件加水印技術的示例可以在US7,395,433中找到,該文獻的全部公開內容通過引用被合并在此。但是將認識到,存在其他軟件加水印技術,并且本發明的實施例可以使用任何軟件加水印技術。

            可能希望把受保護的軟件項目260的不同版本提供到不同的用戶系統280。受保護的軟件項目260的不同版本為不同的用戶系統280提供相同的功能——但是受保護的軟件項目260的不同版本被不同地編程或實施。這樣有助于限制攻擊者成功地攻擊受保護的軟件項目260的影響。具體來說,如果攻擊者成功地攻擊了他的受保護的軟件項目260的版本,則該攻擊(或者通過該攻擊發現或訪問的比如加密密鑰之類的數據)可能不適于供受保護的軟件項目260的不同版本使用。因此,有許多技術(其在這里被稱作“多樣性(diversity)”技術)用于把初始軟件項目220變換成受保護的軟件項目260,從而使得受保護的軟件項目260的不同版本被生成(也就是說從而引入“多樣性”)。這樣的多樣性技術的示例可以在WO2011/120123中找到,該文獻的全部公開內容通過引用被合并在此。但是將認識到,存在其他多樣性技術,并且本發明的實施例可以使用任何多樣性技術。

            前面提到的白盒模糊技術、節點鎖定技術、軟件加水印技術和多樣性技術是軟件保護技術的示例。將認識到,存在對初始軟件項目220應用保護以生成受保護的軟件項目260的其他方法。因此,這里所使用的術語“軟件保護技術”應當被理解成表示對初始軟件項目220應用保護以生成受保護的軟件項目260的任何方法(目的是挫敗攻擊者的攻擊,或者至少使得攻擊者成功進行他的攻擊更加困難),比如任一種前面提到的白盒模糊技術和/或任一種前面提到的節點鎖定技術和/或任一種前面提到的軟件加水印技術和/或任一種前面提到的多樣性技術。

            在本發明的實施例中,軟件保護工具252可以對初始軟件項目220應用一種或多種前面提到的軟件保護技術,以便生成受保護的軟件項目260。

            存在許多方式可以用來在受保護的軟件項目260內實施前面提到的軟件保護,也就是說存在許多方式可以用來對初始軟件項目應用前面提到的軟件保護技術以獲得受保護的軟件項目260。具體來說,為了從初始軟件項目220生成受保護的軟件項目260,軟件保護工具252可以修改初始軟件項目220內的一個或多個代碼部分,和/或可以將一個或多個新的代碼部分添加或引入到初始軟件項目220中。用來做出這些修改的實際方式或者用來編寫新的代碼部分的實際方式當然可以有所不同——畢竟存在許多編寫軟件以實現相同功能的方式。但是已經創造性地認識到,實施軟件保護技術的當前方法存在以下問題:

            (a)一些軟件保護技術(或者一些軟件保護技術的至少部分)的應用是手動過程。因此,所應用的軟件保護將特定于初始軟件項目220及其特性。這意味著保護的質量或強度將取決于正在手動實施或應用軟件保護的安全團隊的技術。于是這可能對軟件保護技術的應用的后續自動化步驟具有負面影響(例如在所得到的受保護的軟件項目260的代碼的效率和/或尺寸和/或安全性方面)。

            (b)一些軟件保護技術(比如白盒模糊技術)的應用常常導致非常晦澀(obscure)的代碼。晦澀性并不一定意味著安全性,因為這使得安全性審核任務變得復雜,并且可能導致未被檢測到的弱點。將希望能夠消除這樣的未被檢測到的弱點(或者至少降低其可能性),并且使得安全性審核任務更加容易。此外,如果在后來檢測到弱點,則固有的晦澀性意味著使得提供軟件更新以修正所檢測到的弱點的能力更加困難、緩慢并且成本高昂。

            (c)初始軟件項目220常常涉及使用混合的算術和邏輯數學(比如)。這總是會使得一些軟件保護技術對初始軟件項目220的應用更加困難,并且減少了針對使得一些軟件保護技術的應用自動化的選項。

            (d)一些軟件保護技術適用于字注釋(word-wise)數據元素(例如其總是對被表示成32比特字的數據進行運算)。這代表著風險,因為這使得攻擊者更容易追蹤關鍵資產和/或檢測處理樣式。

            如應當變得顯而易見的,本發明的實施例解決了這些問題當中的一個或多個個。

            3—在有限環上使用向量空間

            在本發明的實施例中,軟件保護工具252對初始軟件項目220應用一種或多種軟件保護技術,從而使得所得到的受保護的軟件項目260把數據處理(即如前面所描述的由初始軟件項目220提供的功能)至少部分地實施成在有限環上的一項或多項線性代數運算。

            具體來說,受保護的軟件項目260把數據處理至少部分地實施成在有限環上的一項或多項線性代數運算,而不是僅僅使用在有限環上的算術運算或者在有限環上的邏輯運算來實施該數據處理。舉例來說,初始軟件項目220通常被編寫成使得程序變量和數據實際上是有限環的元素(或者被表示成其元素),也就是具有對正整數n按模計算的加法和乘法的n比特數的環。于是初始軟件項目220使用對作為該有限環的元素(或者被表示成該有限環的元素)的數據(或者參數或變量)進行運算的算術運算和邏輯運算來實施其功能。在這里,n常常是32或64(針對32比特或64比特字以及32比特或64比特處理器)。與此相對,在本發明的實施例中,所得到的受保護的軟件項目260將數據處理至少部分地實施成在有限環上的一項或多項線性代數運算。在這里“線性代數”運算是對向量空間的一個或多個元素的運算或函數。

            如根據后面的內容將變得顯而易見的,有限環的元素可以被表示成在有限環上的向量空間的對應元素,并且反之亦然。在這里,向量空間是其元素為向量的向量空間,其中每一個向量的分量或元素是有限環的元素。類似地,有限環上的算術運算和該有限環上的邏輯運算可以被實施成針對向量空間的對應的相應線性代數運算,其中每一項線性代數運算對被表示成向量空間的一個或多個元素的相應輸入數據進行運算,以便產生對應的輸出數據。因此,在本發明的實施例中,軟件保護工具252至少部分地通過如下方式實施一種或多種軟件保護技術:將代碼添加到初始軟件項目220中和/或修改初始軟件項目220的現有代碼,從而使得所添加的代碼和/或經過修改的代碼包括(或者被實施成)針對向量空間的一項或多項線性代數運算(并且對向量空間的元素進行運算)。最終結果是初始軟件項目220仍然使相同的軟件保護技術對其應用——但是這些軟件保護技術按照與他們先前被應用于初始軟件項目220或者實施在初始軟件項目220內的方式不同的方式被應用于初始軟件項目220或者被實施在初始軟件項目220內(不同點在于所添加的代碼和/或對現有代碼做出的(一項或多項)修改包括對向量空間的元素進行運算的針對向量空間的一項或多項線性代數運算)。

            在后面,有限環將是前面所討論的商環,并且向量空間將是向量空間(即向量空間的元素是具有本身是有限環的元素的n個元素/分量的向量)。但是將認識到,本發明的實施例同樣適用于不同的有限環和向量空間。

            3.1—從到的映射

            定義函數如下:

            于是函數提供把向量空間的任何元素u映射到有限環的元素的一種方式。因此,關于向量空間的一個或多個元素定義的表達式(或者公式或運算)可以被映射到對有限環的一個或多個對應元素進行運算的對應表達式(或者公式或運算)。

            函數具有以下屬性:。

            將認識到,存在其他方式可以用來定義把向量空間的元素映射(或者關聯)到有限環的對應元素的函數,并且本發明的實施例不限于前面給出的示例性函數。

            3.2—從到的映射

            設函數是把有限環的元素映射(關聯)到向量空間的對應元素的函數。存在許多方式可以用來定義函數,并且將認識到,本發明的實施例不限于后面給出的示例。

            函數的一個示例是如下定義的函數:

            函數的另一個示例是如下定義的函數。如果并且的二進制表示是,則

            注意。

            3.3—的元素的歸一化形式

            定義函數如下:

            向量空間的元素可以被視為向量空間的元素u的“歸一化”形式。應當簡要描述函數的使用。

            注意,對于環的任何元素p,如果,則。

            3.4—邏輯乘法

            定義函數如下:

            其中,,,并且M(u)標示具有如下定義的元素mij的對角矩陣:對于i=0,…,n-1,mii=ui,并且對于i≠j,mij=0。

            應當簡要描述函數的使用。

            3.5—的元素的加法

            注意,

            因此,如果中的兩個元素pq在中被表示成和,則中的pq的和p+q等效于中的和u+v。這是因為通過映射把u+v從映射回到得到。

            3.6—的元素的乘法

            定義函數如下:

            其中,,,并且。

            注意,

            因此,如果中的兩個元素pq在中被表示成和,則中的pq的乘積等效于中的乘積。這是因為通過映射把從映射回到得到。

            3.7—的元素的多項式變換

            考慮通過系數如下定義的二次變換T:

            如果中的元素x在中被表示成,則我們需要確定中的哪一個元素u等效于中的經過變換的元素,也就是中的使得的元素u

            設。則

            其中并且

            其中,

            因此,如果中的元素x在中被表示成,則中的經過變換的元素等效于中的元素。這是因為通過映射把u從映射回到得到。

            我們還有:

            將認識到,前述內容類似地適用于任意階的任何多項式變換。具體來說,考慮通過系數如下定義的一般多項式變換T:。于是如果中的元素x在中被表示成,則中的經過變換的元素等效于中的元素。這是因為通過映射把u從映射回到得到。

            3.8—的元素的邏輯與(AND)

            定義函數或算子如下:

            其中,,并且。

            于是。因此,如果中的兩個元素p和q在中被表示成和,則中的p和q的邏輯(逐比特)與等效于中的。這是因為通過映射把從映射回到得到。

            3.9—的元素的邏輯異或(XOR)

            定義函數或算子如下:

            于是

            因此,如果中的兩個元素pq在中被表示成和,則中的pq的邏輯(逐比特)異或等效于中的。這是因為通過映射把從映射回到得到:

            3.10—的元素的其他邏輯算子

            由于針對的元素的所有邏輯算子都可以按照針對的元素的邏輯(逐比特)與和異或算子來表達,并且由于針對的元素的邏輯(逐比特)與和異或算子在中具有對應的線性代數算子,因此針對的元素的所有其他邏輯算子都可以按照前面提到的線性代數算子和來表達。

            3.11—的元素的移位運算

            定義函數:如下:

            其中,,并且其中是如下定義的矩陣:

            假設中的元素x在中被表示成,并且假設x的二進制表示是,使得,于是中的向右移位k個位置得到中的元素,其二進制表示是。中的元素等效于中的元素。這是因為通過映射把從映射回到得到,由于,使得。因此,。

            類似地,定義函數如下:

            其中,,并且其中是如下定義的矩陣:

            假設中的元素x在中被表示成,并且假設x的二進制表示是,使得,于是中的向左移位k個位置得到中的元素,其二進制表示是。中的元素等效于中的元素。這是因為通過映射把從映射回到得到,由于,使得。因此,。

            3.12—的其他函數或算子

            前面的示例性函數和算子表明,對于(a)對作為環的元素的一個或多個運算對象(或參數)進行運算以便(b)生成作為環的元素的一項或多項結果的函數F1,存在等效的函數或算子F2,其(a)根據與之間的映射對作為向量空間的元素并且對應于的一個或多個運算對象(或參數)進行運算并且(b)根據與之間的映射生成對應于的一項或多項結果。雖然在前面已經描述了中的多個示例性函數和算子及其在中的等效函數和算子,但是將認識到,基于這些示例可以定義和確定中的更多函數和算子及其在中的等效函數和算子。此外,按照類似于前面所討論的方式,技術人員將能夠針對中的任何函數或算子確定其在中的等效函數或算子。

            因此將認識到,軟件保護工具252可以被布置成至少部分地通過如下方式實施一種或多種軟件保護技術:將代碼添加到初始軟件項目220中和/或修改初始軟件項目220的現有代碼從而使得所添加的代碼和/或經過修改的代碼包括(或者被實施成)針對向量空間的一項或多項線性代數運算(并且對向量空間的元素進行運算),這代替使用在有限環上的一項或多項算術和/或邏輯運算來添加代碼和/或修改代碼。舉例來說,使用前面的等效性,可以把實施一種或多種軟件保護技術(但是僅僅使用在環上的算術和/或邏輯運算這樣做)的現有技術轉換成按照功能上等效的方式實施所述一種或多種軟件保護技術(但是使用針對向量空間的線性代數運算這樣做)的技術。

            在一些實施例中,軟件保護系統250包括數據庫254。數據庫254包括可以由軟件保護工具252在生成受保護的軟件項目260時使用的軟件或代碼的一個或多個部分。舉例來說,數據庫254可以包括用于實施如在前面的3.7節中闡述的向量空間中的多項式變換的代碼的一個或多個部分。通過這種方式,可以開發并且保持參考/模板代碼部分的集合,以供將來由軟件保護252和/或軟件保護252的操作員使用。如圖2中所示,數據庫254中的這些代碼部分當中的一個或多個可以利用軟件生成系統210來編寫或開發。

            通過采用在有限域上使用線性代數運算而不是在有限域上使用算術和/或邏輯運算的方法來實施軟件保護技術,提供了許多優點和好處。舉例來說:

            -使用精簡的數學運算集合(也就是有限域上的線性代數運算)實施軟件保護技術,從而建立有助于改進安全性審核的標準。具體來說,安全性審核的范圍可以被擴展到軟件保護技術的設計。工程團隊(其編寫初始軟件項目220和/或使用軟件保護工具252實施軟件保護技術)與安全性審核團隊之間的溝通和理解可以得到改進,這是因為基于該精簡的數學運算集合實現對于保護框架的更好的共識。

            -通過把算術和邏輯運算表達成針對向量空間的線性代數運算,消除了前面提到的保護包括混合算術/邏輯數學的初始軟件項目220的困難。這于是使得軟件保護過程更自動化。

            -對于弱點和安全漏洞的分析以及產生針對此類弱點和漏洞的解決方案得到了促進,這是因為軟件保護技術是使用精簡的數學運算集合來實施的。

            4—示例

            下面提供了前面所提到的技術的示例。但是將認識到,這僅僅是一個示例,并且本發明的實施例可以同樣被應用于其他軟件保護技術并且按照其他方式來應用。

            假設初始軟件項目220被布置成生成控制字CW(即用于對已加密內容進行解密的加密密鑰)。因此,初始軟件項目220可以根據公式或函數來計算CW,其中M是“掩碼”,并且K是密鑰,具體來說M和K都是32比特無符號字。

            環是,并且向量空間是。

            M和K都是的元素,因此設和是它們在中的等效元素。

            用于保護對一個或多個軟件變量進行運算的函數的一種眾所周知的技術涉及對這些變量應用相應的線性變換,并且隨后對這些經過變換的變量實施所述函數的經過變換的版本——例如參見如下文獻:“White-Box Cryptography and an AES Implementation”,S. Chow et al,Selected Areas in Cryptography,9th Annual International Workshop,SAC 2002,Lecture Notes in Computer Science 2595(2003),p250-270以及“A White-box DES Implementation for DRM Applications”,S. Chow et al,Digital Rights Management,ACM CCS-9 Workshop,DRM 2002,Lecture Notes in Computer Science 2696(2003),p1-15。對經過變換的變量實施函數的經過變換的版本的結果本身可以被變換,以便隨后從該函數獲得正確的結果。這產生了正確的結果,但是該處理將是對經過變換的變量實施的,而從未揭示這些變量的真實(未經變換的)數值,從而對攻擊者隱藏了這些數值。

            將這個過程應用于本示例,然后對于,定義變換和如下:

            和,其中如果,則。因此,是函數的逆。類似地,對于,定義變換和如下:

            和,其中如果,則。因此,是函數的逆。隨后,可以獲得和的經過變換的版本如下:和。

            正如前面所討論的那樣,如果中的兩個元素pq在中被表示成和,則中的pq的邏輯(逐比特)異或等效于中的。因此,中的M和K的邏輯(逐比特)異或等效于中的。

            于是:

            其中,。

            因此人們可以把cw表達成cw=A+B+C,其中

            因此,可以使用線性代數運算來計算向量ABC。內容提供者或條件訪問系統于是可以像前面那樣生成向量ABC,并且隨后將這些向量傳送到用戶系統280。在用戶系統280上執行的受保護的軟件項目260不是被布置成從內容提供者或條件訪問系統接收M和K并且如在初始軟件項目220中那樣計算,而是被布置成從內容提供者或條件訪問系統接收向量ABC并且計算。

            因此,已經對初始軟件項目220應用了前面提到的軟件保護技術以生成受保護的軟件項目260,其中所述軟件保護技術是使用針對的線性代數運算來實施的。

            在前面的示例中,關于把cw劃分成特定的向量ABC的選擇是有用的,這是因為:B更新用戶系統280上的掩碼MC包含與內容有關的密鑰K,并且A隨后把BC“粘合”在一起以使得用戶系統280能夠如前面所闡述的那樣獲得CW。用戶系統280不需要明確地對向量ABC進行“去變換(de-transform)”以便明確地計算掩碼M和密鑰K從而計算CW,因此觀察所述處理(例如在調試器中)的攻擊者無法確定掩碼M和密鑰K的數值,即使掩碼M和密鑰K正被使用。

            但是將認識到,存在其他方式可以用來把cw劃分成兩個或更多個向量,并且本發明的實施例不限于把cw劃分成如前面所闡述的特定向量ABC

            5—修改

            將認識到,所描述的方法被示出為按照特定順序實施的個體步驟。但是技術人員將認識到,這些步驟可以被組合或者按照不同的順序來實施,同時仍然實現所期望的結果。

            將認識到,可以使用各種不同的信息處理系統來實施本發明的實施例。具體來說,雖然附圖及其討論提供了示例性的計算系統和方法,但是這些僅僅是為了在討論本發明的各個方面時提供有用的參考而被呈現的。本發明的實施例可以被實施在任何適當的數據處理設備上,數據處理設備比如是個人計算機、膝上型計算機、個人數字助理、移動電話、機頂盒、電視、服務器計算機等等。當然,對于所述系統和方法的描述出于討論的目的而被簡化,并且其僅僅是可以被用于本發明的實施例的許多不同類型的系統和方法的其中之一。將認識到,邏輯塊之間的邊界僅僅是說明性的,并且替換的實施例可以合并邏輯塊或元件,或者可以對各個邏輯塊或元件施加替換的功能分解。

            將認識到,前面提到的功能可以被實施成作為硬件和/或軟件的一個或多個對應模塊。舉例來說,前面提到的功能可以被實施成一個或多個軟件組件以供系統的處理器執行。替換地,前面提到的功能可以被實施成硬件,比如在一個或多個現場可編程門陣列(FPGA)上,和/或一個或多個專用集成電路(ASIC),和/或一個或多個數字信號處理器(DSP),和/或其他硬件布置。前面所描述的方法步驟各自可以由對應的相應模塊實施;多個方法步驟可以一起由單個模塊實施。

            將認識到,如果本發明的實施例是通過計算機程序實施的,則承載計算機程序的存儲介質和傳送介質形成本發明的方面。計算機程序可以具有一條或多條程序指令或程序代碼,其在由計算機執行時實施本發明的實施例。這里所使用的術語“程序”可以是被設計用于在計算機系統上執行的指令序列,并且可以包括子例程、函數、過程、模塊、對象方法、對象實施方式、可執行應用、小應用程序、小服務程序、源代碼、對象代碼、共享庫、動態鏈接庫和/或被設計用于在計算機系統上執行的其他指令序列。存儲介質可以是磁盤(比如硬盤驅動器或軟盤)、光盤(比如CD-ROM、DVD-ROM或BluRay盤)或者存儲器(比如ROM、RAM、EEPROM、EPROM、閃存或者便攜式/可移除存儲器設備)等等。傳送介質可以是通信信號、數據廣播、兩臺或更多臺計算機之間的通信鏈接等等。

            當前第1頁1 2 3 
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品