專利名稱:Flash數據傳輸方法及系統、服務器和客戶端的制作方法
技術領域:
本發明涉及信息領域,具體涉及一種Flash數據傳輸方法及系統、服務器和客戶端。
背景技術:
Flash是由macromedia公司推出的交互式矢量圖和Web動畫的一種工具,用其可以制作出各式各樣的動畫作品,人們在生活中通常也將用Flash工具制作的動畫作品稱為 Flash0現在flash動畫數據在網絡通信中的安全面臨2個問題1.非法截取網絡傳輸到flash動畫的數據;若服務器與flash客戶端采用明文方式傳輸數據的話,用戶只需要在網絡中用抓包工具抓取服務器與flash客戶端通信的數據包,就可以非法知道通信雙方的數據了。2.偽造合法的客戶端進行非法請求接收數據;若flash的運行文件swf沒有經過任何處理,用戶只需要利用swf破解軟件就可以還原as2/as3代碼,然后修改代碼再次編譯就完成了偽造合法客戶端,進而非法請求接收服務器數據,服務器無法識別客戶端是否非法。針對這種情況,flash網絡通信的安全機制通常采用的手段是對swf文件進行加殼、加密,現在流行的加殼軟件有SWFKit,現在流行的對swf本身加密的軟件有dosWf,swf encrypt,此種方法極易被破解軟件破解,或是對flash代碼進行混淆,此方法不能根本解決別人獲取代碼后進行分析,總之Flash網絡通信的安全性較低。
發明內容
本發明提供一種Flash數據傳輸方法及系統、服務器和客戶端,能夠提高網絡通信中Flash數據傳輸的安全性。本發明提供了一種Flash數據傳輸方法,包括建立Flash服務器和Flash客戶端共享的密鑰獲取規則;Flash服務器確定密鑰混淆數據塊;所述Flash服務器根據所述密鑰獲取規則從所述密鑰混淆數據塊中提取密鑰;所述Flash服務器通過所述密鑰對需傳輸的數據進行加密;所述Flash服務器將加密后的數據和所述密鑰混淆數據塊通過網絡傳輸給Flash 客戶端;所述Flash客戶端根據所述密鑰獲取規則從獲取到的所述密鑰混淆數據塊中提取所述密鑰;所述Flash客戶端根據所述密鑰對獲取到的加密后的數據進行解密。所述建立Flash服務器和Flash客戶端共享的密鑰獲取規則優選為包括利用C語言或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;利用Adobe Alchemy將所述密鑰獲取規則的計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. O可調用的密鑰獲取規則SWC文件;在所述Flash服務器和Flash客戶端中設置所述密鑰獲取規則SWC文件。所述Flash服務器確定密鑰混淆數據塊優選為包括=Flash服務器隨機或以設定方式生成密鑰混淆數據塊;禾口/ 或,所述密鑰混淆數據塊包含的字節數優選為256字節-IOM字節。所述Flash服務器通過所述密鑰對需傳輸的數據進行加密時加密的方式優選為包括對稱加密;所述對稱加密的算法優選為包括數據加密標準DES算法、三重數據加密標準 3DES算法、數據塊加密算法IDEA、傳統對稱分組加密算法RC2、流加密算法簇RC4、分組密碼算法RC5、高級加密標準AES算法中的一種。所述Flash服務器將所述加密后的數據和所述密鑰混淆數據塊通過網絡傳輸給 Flash客戶端優選為包括所述Flash服務器按照預定位置順序將所述加密后的數據和所述密鑰混淆數據塊組建網絡傳輸文件,將所述網絡傳輸文件通過網絡傳輸給Flash客戶端;在Flash客戶端接收到所述網絡傳輸文件之后,并在所述從獲取到的所述密鑰混淆數據塊中提取所述密鑰的步驟之前,優選為進一步包括所述Flash客戶端根據所述預定位置順序從所述網絡傳輸文件中獲取所述密鑰混淆數據塊和加密后的所述數據。本發明還提供了一種上述任一種所述Flash數據傳輸方法的Flash服務器,包括第一建立模塊、確定模塊、獲取模塊、加密模塊、傳輸模塊;所述第一建立模塊,用于在Flash服務器上建立所述Flash服務器和Flash客戶端共享的密鑰獲取規則;所述確定模塊,用于確定密鑰混淆數據塊;所述獲取模塊,用于根據所述第一建立模塊建立的所述密鑰獲取規則從所述確定模塊所確定的密鑰混淆數據塊中提取密鑰;所述加密模塊,用于通過所述抹去模塊所提取的密鑰對需傳輸的數據進行加密;所述傳輸模塊,用于將所述加密模塊加密后的數據和所述確定模塊確定的所述密鑰混淆數據塊通過網絡傳輸給Flash客戶端。所述第一建立模塊優選為包括代碼生成子模塊,用于利用C語言或C++語言建立 Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;文件生成子模塊,用于利用Adobe Alchemy將所述計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. 0可調用的密鑰獲取規則SWC文件;保存模塊,用于保存所述文件生成子模塊生成的密鑰獲取規則SWC文件;和/ 或,所述Flash服務器優選為進一步包括位置順序模塊,用于按照預定位置順序將所述加密模塊加密后的數據和所述確定模塊確定的密鑰混淆數據塊,組建為網絡傳輸文件,并發送給所述傳輸模塊;所述傳輸模塊,優選為是將接收到的所述網絡傳輸文件通過網絡傳輸給Flash客戶端。
本發明還提供一種上述任一種所述Flash數據傳輸方法的Flash客戶端,其特征在于,包括第二建立模塊、第一提取模塊、第二提取模塊、第三提取模塊、解密模塊;所述第二建立模塊,用于在Flash客戶端上建立所述Flash服務器和Flash客戶端共享的密鑰獲取規則;所述第一提取模塊,用于從所述Flash服務器獲取所述密鑰混淆數據塊;所述第二提取模塊,根據所述第二建立模塊建立的所述密鑰獲取規則從所述第一提取模塊獲取的所述密鑰混淆數據塊中提取密鑰;所述第三提取模塊,用于從所述Flash服務器獲取所述加密后的數據;所述解密模塊,用于根據所述第二提取模塊提取的所述密鑰對所述第三提取模塊獲取的所述加密后的數據進行解密。所述第二建立模塊優選為包括代碼編寫子模塊,用于利用C語言或C++語言建立 Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;文件組件子模塊,用于利用Adobe Alchemy將所述計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. 0可調用的密鑰獲取規則SWC文件;存儲模塊,用于保存所述文件生成子模塊生成的密鑰獲取規則SWC文件;和/ 或,所述Flash客戶端優選為進一步包括接收模塊,用于接收按照預定位置順序將所述加密后的數據和所述密鑰混淆數據塊組件的網絡傳輸文件;則,所述第一提取模塊,優選為是從所述接收模塊接收的所述網絡傳輸文件中按照預定位置順序提取所述密鑰混淆數據塊;所述第三提取模塊,優選為是從所述接收模塊接收的所述網絡傳輸文件中按照預定位置順序提取所述加密后的數據。本發明還提供了一種采用上述任一種所述Flash數據傳輸方法的Flash數據傳輸系統,包括上述任一種所述的Flash服務器;上述任一種所述的Flash客戶端。通過本發明提供一種Flash數據傳輸方法及系統、服務器和客戶端,能夠達到如下的有益效果1.本發明采用Flash服務器和Flash客戶端共享的密鑰獲取規則,通過密鑰獲取規則從密鑰混淆數據塊中獲取密鑰,對需傳輸的數據進行加密形成加密后的數據,并將密鑰混淆數據塊和加密后的數據一起發送給Flash客戶端,Flash客戶端根據共享的密鑰獲取規則提取密鑰,然后進行解密,一方面避免需傳輸的數據以明文方式傳輸,一方面采用獨特的密鑰獲取規則和加密方法,從而有效增強了需傳輸的數據在傳輸過程中的安全性。2.本發明在建立Flash服務器和Flash客戶端共享的密鑰獲取規則中,首先采用 C或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則代碼,然后利用Adobe Alchemy將代碼編譯生成動作腳本3. OAction Script3. 0可調用的密鑰獲取規則SWC文件, 因為當前所有的反編譯軟件都是針對AVM2的,而對低層虛擬機(LLVM)的gcc/g++編譯器生成的開源庫(swc庫),是無法破解的,因此數據傳輸的安全性進一步增強。3.本發明的加密方式采用的對稱加密,Flash服務器和Flash客戶端共享同一個密鑰,另一方面用于提取密鑰的密鑰混淆數據塊是隨機生成的,從而避免了仿造、破解的可能性,進一步增強了數據傳輸的安全性。4.本發明還采用Adobe Alchemy對密鑰獲取規則進行編譯,而Adobe Alchemy能夠解決互聯網調用C語言或C++語言開源庫和Flash的運行效率問題,因此,進一步提高了運行效率。
為了更清楚地說明本發明實施例或現有技術中的技術方案,以下將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,以下描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員而言,在不付出創造性勞動的前提下,還可以根據這些附圖所示實施例得到其它的實施例及其附圖。圖1為本發明Flash數據傳輸方法基本流程圖;圖2為本發明一個具體實施例中Flash數據傳輸方法流程圖;圖3為本發明Flash服務器基本結構示意圖;圖4為本發明Flash客戶端基本機構示意圖;圖5為本發明Flash數據傳輸系統基本結構示意圖。
具體實施例方式以下將結合附圖對本發明各實施例的技術方案進行清楚、完整的描述,顯然,所描述的實施例僅僅是本發明的一部分實施例,而不是全部的實施例。基于本發明中的實施例, 本領域普通技術人員在沒有做出創造性勞動的前提下所得到的所有其它實施例,都屬于本發明所保護的范圍。本發明提供一種Flash數據傳輸方法,見圖1,所示,包括步驟101,建立Flash服務器和Flash客戶端共享的密鑰獲取規則;步驟102,Flash服務器確定密鑰混淆數據塊;需要說明的是此處的“確定”是由 Flash服務器生成密鑰混淆數據塊。步驟103,所述Flash服務器根據所述密鑰獲取規則從所述密鑰混淆數據塊中提取密鑰;步驟104,所述Flash服務器通過所述密鑰對需傳輸的數據進行加密;步驟105,所述Flash服務器將所述加密后的數據和所述密鑰混淆數據塊通過網絡傳輸給Flash客戶端;步驟106,所述Flash客戶端根據所述密鑰獲取規則從獲取到的所述密鑰混淆數據塊中提取所述密鑰;步驟107,所述Flash客戶端根據所述密鑰對獲取到的所述加密后的數據進行解密。發明采用Flash服務器和Flash客戶端共享的密鑰獲取規則,通過密鑰獲取規則從密鑰混淆數據塊中獲取密鑰,對需傳輸的數據進行加密形成加密后的數據,并將密鑰混淆數據塊和加密后的數據一起發送給Flash客戶端,Flash客戶端根據共享的密鑰獲取規則提取密鑰,然后進行解密,一方面避免需傳輸的數據以明文方式傳輸,一方面采用獨特的密鑰獲取規則和加密方法,從而有效增強了需傳輸的數據在傳輸過程中的安全性。接下來,本發明將根據一個具體實施例對Flash數據傳輸方法進行詳細描述,見圖2,所示步驟201,確定密鑰獲取規則;密鑰獲取規則中包含了從哪里獲取密鑰,如何獲取密鑰,該密鑰獲取規則需要在 Flash服務器和Flash客戶端共享的,為了達到這種共享需要在兩方程序中均編入密鑰獲取規則,因此首先需要確定密鑰獲取規則。確定的方式可以人為商定,人為設定、也可以采用既有的某種密鑰獲取規則,或采用其他方式確定密鑰獲取規則。步驟202,對密鑰獲取規則進行編程;具體來說,即是用計算機程序設計語言對所述密鑰獲取規則進行編寫,建立Flash 服務器和Flash客戶端共享的密鑰獲取規則的密鑰獲取規則計算機程序設計語言代碼,該計算機程序設計語言包括C語言或C++語言。如上所述,編程是為了在Flash服務器和Flash客戶端共享,因此需要在兩方的程序中均通過編程方法將密鑰獲取規則寫入程序中。步驟203,用Adobe Alchemy對編程后的密鑰獲取規則進行編譯成SWC文件;具體來說,即是利用Adobe Alchemy將所述密鑰獲取規則計算機程序設計語言代碼編譯生成動作腳本3. 0 (Action Script3. 0)可調用的密鑰獲取規則的SWC文件;Adobe Alchemy是運行在低層虛擬機(LLVM),運行在AVM2之下,它允許c語言或 c++語言編譯生成動作腳本(ActionScript)。LLVM將c/c++代碼進行編譯,并且生成RISC-LIKE指令的字節碼,存儲在緩沖區之中,在flash運行開始時,實時翻譯成機器相關的本地代碼。需要調用時是調用翻譯后的二進制本地代碼,以此提高運行速度。當生成編譯完成后,字節碼需要保存在一個緩沖區之內,由于架之內需要和AVM2 兼容,所以這個緩沖區將以AVM2能夠識別的ByteArray形式保存在內存之中,即使反編譯工具,反編譯這個swf文件,也是看不到任何代碼。因為通過Adobe Alchemy將生成的AVM2能夠識別的ByteArray與AVM2自己的生成ActioMcript是有本質的區別,swf反編譯工具只能針對AVM2生成的ActioMcript, 將其還原成AS3代碼,而對gcc/g++與AdobeAlchemy結合生成的ActioMcript還原成c/ c++代碼是毫無辦法的。注AVM2是目前Flash播放器(Player)最新版本11的核心,所有 Actionscript 3的代碼都只能由AVM2來執行。注gcc/g++為c語言或c++語言的編譯
οAdobe alchemy自動生成一個AS3的接口文件,以方便AS3調用,值得注意的是,所有c/c++編譯后的數據都以SWC文件形式生成。步驟204,Flash服務器隨機生成256個字節的密鑰混淆數據塊;密鑰混淆數據塊是用于提取密鑰,一個字節是8位,取值的美國信息互換標準代碼(ascii)是0 255 ;生成隨機數的函數是rand(),然后對生成的隨機數對256求余可得到0 255的隨機數。密鑰混淆數據塊長度太長或太短均不好,要么影響速度,要么安全性降低,因此, 256個字節是密鑰混淆數據塊的一個具體實施方式
中的長度,其長度還可以在256個字CN 102546824 A
節-IOM個字節之間變動。另一方面,Flash服務器可以隨機生成或通過設定方式生成該密鑰混淆數據塊,為了提高安全性,優選為采用隨機生成的方式得到密鑰混淆數據塊,從而保證密鑰混淆數據塊即時的變動性,從而降低被仿造和破解的可能性。需要說明的是,密鑰獲取規則中會涉及如何從密鑰混淆數據塊中提取到的,比如 AES需要16個字節數據作為密鑰,那么我們可以提取密鑰混淆數據塊的前面16個字節作為密鑰。但是如果我們想要更高級別的安全性,那就必須設計復雜的密鑰獲取規則。如key
= keybuff[keybuff
];密鑰的第一個字節=密鑰混淆數據塊下標值為密鑰混淆數據塊第1個字節的值。密鑰混淆數據塊第1個字節的值是個隨機數,所以密鑰的第一個字節=隨機某個密鑰數據塊的字節。其他15個字節的密鑰以此類推。步驟205,Flash服務器根據密鑰獲取規則從密鑰混淆數據塊中提取密鑰;根據步驟201-204可以得出,密鑰獲取規則中降到了如何從密鑰混淆數據塊中獲取密鑰,又因為Flash服務器中已經確定了密鑰混淆數據塊的內容,因此根據密鑰獲取規則和密鑰混淆數據塊可以提取密鑰。步驟206,Flash服務器通過密鑰對需傳輸的數據進行對稱加密;本發明的另一個創新點即是對需傳輸的數據不采用明文方式傳輸,需要根據上文取得的密鑰對需傳輸的數據進行加密,然后進行傳輸。加密的方式有很多,根據密鑰類型不同將現代密碼技術分為兩類對稱加密算法 (秘密鑰匙加密)和非對稱加密算法(公開密鑰加密)。對稱鑰匙加密系統是加密和解密均采用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,并保持鑰匙的秘密。非對稱密鑰加密系統采用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。本發明優選采用對稱加密算法,Flash服務器和Flash客戶端可以采用同一個密鑰對進行加密或解密。其中對稱加密采用的具體算法可以采用數據加密標準DES算法、三重數據加密標準3DES算法、數據塊加密算法IDEA、傳統對稱分組加密算法RC2、流加密算法簇RC4、分組密碼算法RC5、高級加密標準AES算法中的一種,也可以采用其他的對稱加密算法。步驟207,確定Flash服務器與Flash客戶端之間共享的加密后的數據和密鑰混淆數據塊在網絡傳輸文件中的位置順序;加密后的數據和密鑰混淆數據在網絡傳輸文件中的位置順序需要提前確定,可以為加密后的數據在前,密鑰混淆數據塊在后,或者加密后的數據在后,密鑰混淆數據塊在前,或其他的方式。位置順序需要在Flash服務器和Flash客戶端之間共享,一方面雙方按照既定位置順序規則進行擺放和提取加密后的數據和密鑰混淆數據塊,如果位置順序不確定將有可能會導致提取錯誤,出現混淆,最終導致解密失敗。同時,本步驟也可以在步驟201-206中任意一步之前進行。步驟208,Flash服務器按照預先設定位置順序將加密后的數據和密鑰混淆數據塊放入網絡傳輸文件,用于傳輸;
Flash服務器按照預先設定位置順序將加密后的數據和密鑰混淆數據塊進行排序后組建網絡傳輸文件。本步是建立在步驟201-207均進行之后。步驟209,Flash服務器將所述網絡傳輸文件通過網絡傳輸給Flash客戶端;通過此步Flash服務器將加密后的數據傳輸給Flash客戶端,同時將提取密鑰的密鑰混淆數據塊傳輸給Flash客戶端。步驟210,Flash客戶端從網絡傳輸文件中提取密鑰混淆數據塊和加密后的數據;Flash客戶端在接收到網絡傳輸文件后,可以通過預先設定的共享的位置順序從獲取的網絡傳輸文件中提取密鑰混淆數據塊和加密后的數據。步驟211,Flash客戶端提取密鑰;Flash客戶端根據密鑰混淆數據塊和共享的密鑰獲取規則提取密鑰。步驟212,Flash客戶端用所述密鑰解密加密后的數據。經過解密后的數據可以在Flash客戶端顯示。至此,完成Flash服務器與Flash客戶端之間通信的加密,提高了通信的安全性。本發明還提供了一種上述任一種所述Flash數據傳輸方法的Flash服務器,如圖 3,所示,包括第一建立模塊、確定模塊、獲取模塊、加密模塊、傳輸模塊;所述第一建立模塊,用于在Flash服務器上建立所述Flash服務器和Flash客戶端共享的密鑰獲取規則;所述確定模塊,用于確定密鑰混淆數據塊;所述獲取模塊,用于根據所述第一建立模塊建立的所述密鑰獲取規則從所述確定模塊所確定的密鑰混淆數據塊中提取密鑰;所述加密模塊,用于通過所述抹去模塊所提取的密鑰對需傳輸的數據進行加密;所述傳輸模塊,用于將所述加密模塊加密后的數據和所述確定模塊確定的所述密鑰混淆數據塊通過網絡傳輸給Flash客戶端。在具體實施例中,所述第一建立模塊優選為包括代碼生成子模塊,用于利用C語言或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;文件生成子模塊,用于利用Adobe Alchemy將所述計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. 0可調用的密鑰獲取規則SWC文件; 保存模塊,用于保存所述文件生成子模塊生成的密鑰獲取規則SWC文件。在具體實施例中,所述Flash服務器優選為進一步包括位置順序模塊,用于按照預定位置順序將所述加密模塊加密后的數據和所述確定模塊確定的密鑰混淆數據塊,組建為網絡傳輸文件,并發送給所述傳輸模塊;所述傳輸模塊,優選為是將接收到的所述網絡傳輸文件通過網絡傳輸給Flash客戶端。本發明還提供一種上述任一種所述Flash數據傳輸方法的Flash客戶端,如圖4, 所示,包括第二建立模塊、第一提取模塊、第二提取模塊、第三提取模塊、解密模塊;所述第二建立模塊,用于在Flash客戶端上建立所述Flash服務器和Flash客戶端共享的密鑰獲取規則;
所述第一提取模塊,用于從所述Flash服務器獲取所述密鑰混淆數據塊;所述第二提取模塊,根據所述第二建立模塊建立的所述密鑰獲取規則從所述第一提取模塊獲取的所述密鑰混淆數據塊中提取密鑰;所述第三提取模塊,用于從所述Flash服務器獲取所述加密后的數據;所述解密模塊,用于根據所述第二提取模塊提取的所述密鑰對所述第三提取模塊獲取的所述加密后的數據進行解密。在具體實施例中,所述第二建立模塊優選為包括代碼編寫子模塊,用于利用C語言或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;文件組件子模塊,用于利用Adobe Alchemy將所述計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. O可調用的密鑰獲取規則SWC文件; 存儲模塊,用于保存所述文件生成子模塊生成的密鑰獲取規則SWC文件;在具體實施例中,所述Flash客戶端優選為進一步包括接收模塊,用于接收按照預定位置順序將所述加密后的數據和所述密鑰混淆數據塊組件的網絡傳輸文件;則,所述第一提取模塊,優選為是從所述接收模塊接收的所述網絡傳輸文件中按照預定位置順序提取所述密鑰混淆數據塊;所述第三提取模塊,優選為是從所述接收模塊接收的所述網絡傳輸文件中按照預定位置順序提取所述加密后的數據。本發明還提供了一種采用上述任一種所述Flash數據傳輸方法的Flash數據傳輸系統,如圖5,所示,包括上述任一種所述的Flash服務器;上述任一種所述的Flash客戶端。通過本發明提供一種Flash數據傳輸方法及系統、服務器和客戶端,能夠達到如下的有益效果1.本發明采用Flash服務器和Flash客戶端共享的密鑰獲取規則,通過密鑰獲取規則從密鑰混淆數據塊中獲取密鑰,對需傳輸的數據進行加密形成加密后的數據,并將密鑰混淆數據塊和加密后的數據一起發送給Flash客戶端,Flash客戶端根據共享的密鑰獲取規則提取密鑰,然后進行解密,一方面避免需傳輸的數據以明文方式傳輸,一方面采用獨特的密鑰獲取規則和加密方法,從而有效增強了需傳輸的數據在傳輸過程中的安全性。2.本發明在建立Flash服務器和Flash客戶端共享的密鑰獲取規則中,首先采用 C或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則代碼,然后利用Adobe Alchemy將代碼編譯生成動作腳本3. OAction Script3. O可調用的密鑰獲取規則SWC文件, 因為當前所有的反編譯軟件都是針對AVM2的,而對低層虛擬機(LLVM)的gcc/g++編譯器生成的開源庫(swc庫),是無法破解的,因此數據傳輸的安全性進一步增強。3.本發明的加密方式采用的對稱加密,Flash服務器和Flash客戶端共享同一個密鑰,另一方面用于提取密鑰的密鑰混淆數據塊是隨機生成的,從而避免了仿造、破解的可能性,進一步增強了數據傳輸的安全性。4.本發明還采用Adobe Alchemy對密鑰獲取規則進行編譯,而Adobe Alchemy能夠解決互聯網調用C語言或C++語言開源庫和Flash的運行效率問題,因此,進一步提高了運行效率。本發明提供的各種實施例可根據需要以任意方式相互組合,通過這種組合得到的技術方案,也在本發明的范圍內。
顯然,本領域技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若對本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也包含這些改動和變型在內。
權利要求
1.ー種Flash數據傳輸方法,其特征在干,包括建立Flash服務器和Flash客戶端共享的密鑰獲取規則;Flash服務器確定密鑰混淆數據塊;所述Flash服務器根據所述密鑰獲取規則從所述密鑰混淆數據塊中提取密鑰;所述Flash服務器通過所述密鑰對需傳輸的數據進行加密;所述Flash服務器將加密后的數據和所述密鑰混淆數據塊通過網絡傳輸給Flash客戶立而;所述Flash客戶端根據所述密鑰獲取規則從獲取到的所述密鑰混淆數據塊中提取所述密鑰;所述Flash客戶端根據所述密鑰對獲取到的加密后的數據進行解密。
2.如權利要求1所述的Flash數據傳輸方法,其特征在干,所述建立Flash服務器和 Flash客戶端共享的密鑰獲取規則包括利用C語言或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;利用Adobe Alchemy將所述密鑰獲取規則的計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. O可調用的密鑰獲取規則SWC文件;在所述Flash服務器和Flash客戶端中設置所述密鑰獲取規則SWC文件。
3.如權利要求1所述的Flash數據傳輸方法,其特征在干,所述Flash服務器確定密鑰混淆數據塊包括=Flash服務器隨機或以設定方式生成密鑰混淆數據塊;和/或,所述密鑰混淆數據塊包含的字節數為256字節-IOM字節。
4.如權利要求1所述的Flash數據傳輸方法,其特征在干,所述Flash服務器通過所述密鑰對需傳輸的數據進行加密時加密的方式包括對稱加密;所述對稱加密的算法包括數據加密標準DES算法、三重數據加密標準3DES算法、數據塊加密算法IDEA、傳統對稱分組加密算法RC2、流加密算法簇RC4、分組密碼算法RC5、高級加密標準AES算法中的ー種。
5.如權利要求1-4任一項所述的Flash數據傳輸方法,其特征在干,所述Flash服務器將所述加密后的數據和所述密鑰混淆數據塊通過網絡傳輸給Flash 客戶端包括所述Flash服務器按照預定位置順序將所述加密后的數據和所述密鑰混淆數據塊組建網絡傳輸文件,將所述網絡傳輸文件通過網絡傳輸給Flash客戶端;在Flash客戶端接收到所述網絡傳輸文件之后,并在所述從獲取到的所述密鑰混淆數據塊中提取所述密鑰的步驟之前,進ー步包括所述Flash客戶端根據所述預定位置順序從所述網絡傳輸文件中獲取所述密鑰混淆數據塊和加密后的所述數據。
6.ー種采用權利要求1-5任一項所述Flash數據傳輸方法的Flash服務器,其特征在干,包括第一建立模塊、確定模塊、獲取模塊、加密模塊、傳輸模塊;所述第一建立模塊,用于在Flash服務器上建立所述Flash服務器和Flash客戶端共享的密鑰獲取規則;所述確定模塊,用于確定密鑰混淆數據塊;所述獲取模塊,用于根據所述第一建立模塊建立的所述密鑰獲取規則從所述確定模塊所確定的密鑰混淆數據塊中提取密鑰;所述加密模塊,用于通過所述抹去模塊所提取的密鑰對需傳輸的數據進行加密; 所述傳輸模塊,用于將所述加密模塊加密后的數據和所述確定模塊確定的所述密鑰混淆數據塊通過網絡傳輸給Flash客戶端。
7.如權利要求6所述的Flash服務器,其特征在干,所述第一建立模塊包括代碼生成子模塊,用于利用C語言或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;文件生成子模塊,用于利用Adobe Alchemy將所述計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. O可調用的密鑰獲取規則SWC文件;保存模塊,用于保存所述文件生成子模塊生成的密鑰獲取規則SWC文件; 和/或,所述Flash服務器進一歩包括位置順序模塊,用于按照預定位置順序將所述加密模塊加密后的數據和所述確定模塊確定的密鑰混淆數據塊,組建為網絡傳輸文件,并發送給所述傳輸模塊;所述傳輸模塊,是將接收到的所述網絡傳輸文件通過網絡傳輸給Flash客戶端。
8.ー種采用權利要求1-5任一項所述Flash數據傳輸方法的Flash客戶端,其特征在干,包括第二建立模塊、第一提取模塊、第二提取模塊、第三提取模塊、解密模塊; 所述第二建立模塊,用于在Flash客戶端上建立所述Flash服務器和Flash客戶端共享的密鑰獲取規則;所述第一提取模塊,用于從所述Flash服務器獲取所述密鑰混淆數據塊; 所述第二提取模塊,根據所述第二建立模塊建立的所述密鑰獲取規則從所述第一提取模塊獲取的所述密鑰混淆數據塊中提取密鑰;所述第三提取模塊,用于從所述Flash服務器獲取所述加密后的數據; 所述解密模塊,用于根據所述第二提取模塊提取的所述密鑰對所述第三提取模塊獲取的所述加密后的數據進行解密。
9.如權利要求8所述的Flash客戶端,其特征在干, 所述第二建立模塊包括代碼編寫子模塊,用于利用C語言或C++語言建立Flash服務器和Flash客戶端共享的密鑰獲取規則形成密鑰獲取規則的計算機程序設計語言代碼;文件組件子模塊,用于利用Adobe Alchemy將所述計算機程序設計語言代碼編譯生成動作腳本3. OAction Script3. O可調用的密鑰獲取規則SWC文件;存儲模塊,用于保存所述文件生成子模塊生成的密鑰獲取規則SWC文件; 和/或,所述Flash客戶端進一歩包括接收模塊,用于接收按照預定位置順序將所述加密后的數據和所述密鑰混淆數據塊組件的網絡傳輸文件;則,所述第一提取模塊,是從所述接收模塊接收的所述網絡傳輸文件中按照預定位置順序提取所述密鑰混淆數據塊;所述第三提取模塊,是從所述接收模塊接收的所述網絡傳輸文件中按照預定位置順序提取所述加密后的數據。
10. 一種采用權利要求1-5任一項所述Flash數據傳輸方法的Flash數據傳輸系統,其特征在于,包括權利要求6或7所述的Flash服務器; 權利要求8或9所述的Flash客戶端。
全文摘要
本發明涉及信息領域,具體涉及一種Flash數據傳輸方法及系統、服務器和客戶端,其中Flash數據傳輸方法包括建立Flash服務器和Flash客戶端共享的密鑰獲取規則;Flash服務器確定密鑰混淆數據塊;所述Flash服務器根據所述密鑰獲取規則從所述密鑰混淆數據塊中提取密鑰;所述Flash服務器通過所述密鑰對需傳輸的數據進行加密;所述Flash服務器將加密后的數據和所述密鑰混淆數據塊通過網絡傳輸給Flash客戶端;所述Flash客戶端根據所述密鑰獲取規則從獲取到的所述密鑰混淆數據塊中提取所述密鑰;所述Flash客戶端根據所述密鑰對獲取到的加密后的數據進行解密。Flash服務器、Flash客戶端及Flash數據傳輸系統均使用上述加密方法后傳輸。本發明能夠提高Flash網絡通信中的安全性。
文檔編號H04L9/08GK102546824SQ20121003853
公開日2012年7月4日 申請日期2012年2月20日 優先權日2012年2月20日
發明者沈文策 申請人:沈文策