偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一種混合加密方案在軟件授權(quán)中的應(yīng)用

安全 移動(dòng)安全
擁有知識(shí)產(chǎn)權(quán)的軟件一般采取軟件保護(hù)手段,需要使用某種方式激活軟件才可以使用。軟件激活本質(zhì)是對(duì)密文數(shù)據(jù)進(jìn)行比較,而密文數(shù)據(jù)是由軟件開發(fā)商根據(jù)目標(biāo)機(jī)器的特征數(shù)據(jù)進(jìn)行加密產(chǎn)生的。

擁有知識(shí)產(chǎn)權(quán)的軟件一般采取軟件保護(hù)手段,需要使用某種方式激活軟件才可以使用。軟件激活本質(zhì)是對(duì)密文數(shù)據(jù)進(jìn)行比較,而密文數(shù)據(jù)是由軟件開發(fā)商根據(jù)目標(biāo)機(jī)器的特征數(shù)據(jù)進(jìn)行加密產(chǎn)生的。激活過(guò)程是在認(rèn)證服務(wù)器或者目標(biāo)機(jī)器上完成,在這個(gè)過(guò)程中,數(shù)據(jù)加密方案至關(guān)重要,設(shè)計(jì)良好的加密方案,難以被破解、復(fù)制或盜用,軟件保護(hù)工作做的很完善。本文分析現(xiàn)有軟件保護(hù)方式,借鑒基礎(chǔ)軟件加密算法基礎(chǔ)上,設(shè)計(jì)出一種高強(qiáng)度、難破解的混合加密方案,并在軟件工程實(shí)踐中驗(yàn)證該混合加密方案的可行性。

[[200821]]

1 軟件保護(hù)

為了保護(hù)軟件開發(fā)商的權(quán)益,防止軟件被復(fù)制、盜用或未經(jīng)認(rèn)證而非法使用軟件,一般采用軟件授權(quán)方式對(duì)軟件進(jìn)行認(rèn)證激活,只有經(jīng)過(guò)認(rèn)證激活的軟件才能正常使用,用戶才能使用軟件提供的各項(xiàng)功能、服務(wù)。隨著軟件普及程度、互聯(lián)網(wǎng)技術(shù)的發(fā)展,軟件的功能模塊越來(lái)越多,軟件開發(fā)商希望按照功能模塊來(lái)銷售軟件;隨著銷售模式的發(fā)展,用戶希望按照使用時(shí)間、次數(shù)來(lái)購(gòu)買和使用軟件;隨著用戶數(shù)量的增長(zhǎng)和軟件版本的增加,軟件開發(fā)商需要更好的管理軟件銷售和使用,因而軟件授權(quán)保護(hù)的研究與應(yīng)用越來(lái)越重要。從技術(shù)角度,軟件授權(quán)可以分為在線授權(quán)和離線授權(quán)。

1.1 在線授權(quán)

在線授權(quán),是一種新興的、基于認(rèn)證服務(wù)器的授權(quán)方式,以互聯(lián)網(wǎng)技術(shù)為基礎(chǔ),替代傳統(tǒng)的授權(quán)文件、序列號(hào)或激活碼方式。應(yīng)用程序通過(guò)開發(fā)商發(fā)放的認(rèn)證碼與認(rèn)證服務(wù)器建立連接,調(diào)用服務(wù)器接口完成授權(quán)過(guò)程。在線授權(quán)采用高強(qiáng)度的通信加密技術(shù),并且服務(wù)器遠(yuǎn)離軟件用戶,它的軟件保護(hù)強(qiáng)度非常高。除此之外,應(yīng)用程序在后臺(tái)可以周期訪問(wèn)認(rèn)證服務(wù)器,為開發(fā)商收集軟件用戶使用狀態(tài)、統(tǒng)計(jì)軟件使用情況、快速升級(jí)與維護(hù)提供了技術(shù)手段。

1.2 離線授權(quán)

離線授權(quán)即傳統(tǒng)意義上通過(guò)注冊(cè)碼、序列號(hào)、密鑰或者授權(quán)文件,在本地完成應(yīng)用程序激活的方式。通常設(shè)計(jì)實(shí)現(xiàn)上有兩種形式:硬認(rèn)證激活、軟認(rèn)證激活。

硬認(rèn)證激活需要借助額外硬件設(shè)備,在硬件設(shè)備中存儲(chǔ)應(yīng)用程序激活必須的認(rèn)證數(shù)據(jù),只有認(rèn)證數(shù)據(jù)能被應(yīng)用程序讀取識(shí)別,應(yīng)用程序才可以正常使用。“加密狗”是一種硬認(rèn)證激活方式的一種實(shí)現(xiàn),插在計(jì)算機(jī)USB口或串口上的便攜存儲(chǔ)設(shè)備,早期多為串口形式,現(xiàn)在絕大部分都是USB口形式。

軟認(rèn)證激活是另外一種軟件認(rèn)證激活形式,通常由軟件開發(fā)商向用戶提供特征數(shù)據(jù)采集工具。用戶在目標(biāo)計(jì)算機(jī)上運(yùn)行該工具,將工具采集的特征數(shù)據(jù)提交給開發(fā)商,開發(fā)商依據(jù)特征數(shù)據(jù)生成激活密鑰、序列號(hào)、激活碼或者授權(quán)文件。用戶再使用開發(fā)商提供的序列號(hào)、激活碼或者授權(quán)文件完成應(yīng)用程序認(rèn)證激活。特征數(shù)據(jù)即工具軟件采集用戶計(jì)算機(jī)產(chǎn)生的硬件特征、軟件特征數(shù)據(jù)。硬件特征數(shù)據(jù)指主板序列號(hào)、磁盤序列號(hào)、物理地址等數(shù)據(jù);軟件特征數(shù)據(jù)指計(jì)算機(jī)名稱、用戶名稱等數(shù)據(jù)。激活密鑰、序列號(hào)、激活碼或者授權(quán)文件都是對(duì)特征數(shù)據(jù)進(jìn)行加密、編碼后產(chǎn)生的。離線認(rèn)證激活方式是現(xiàn)在軟件主流認(rèn)證激活方式。

2 加密方案設(shè)計(jì)及應(yīng)用

2.1 加密算法概述

軟件保護(hù)中使用密碼學(xué)知識(shí)來(lái)完成特征數(shù)據(jù)的保護(hù)、敏感信息的驗(yàn)證,涉及內(nèi)容涵蓋信息資源機(jī)密性、信息鑒別、信息報(bào)文完整性和不可否認(rèn)性等相關(guān)問(wèn)題。數(shù)據(jù)加密技術(shù)是最常用的軟件保護(hù)技術(shù)手段,其基本思想是通過(guò)變換信息的表示形式來(lái)偽裝需要保護(hù)的敏感信息,使非授權(quán)者不能了解被保護(hù)信息的內(nèi)容。實(shí)施過(guò)程中利用技術(shù)手段把重要的數(shù)據(jù)變?yōu)閬y碼(加密)傳送,到達(dá)目的地后再用相同或不同的手段還原(解密)。數(shù)據(jù)加密技術(shù)包括兩個(gè)元素:加密方案和密鑰。加密方案是將普通的信息資源或者可以理解的信息資源與一串?dāng)?shù)字(密鑰)結(jié)合,產(chǎn)生不可理解的密文的步驟,密鑰是用來(lái)對(duì)數(shù)據(jù)進(jìn)行編碼加密和解密的一種數(shù)據(jù)。在密鑰保護(hù)中,可通過(guò)適當(dāng)?shù)拿荑€加密技術(shù)和管理機(jī)制來(lái)保證信息資源的安全。

數(shù)據(jù)加密算法基于相應(yīng)的數(shù)學(xué)理論,發(fā)展至今,已經(jīng)產(chǎn)生了大量?jī)?yōu)秀的加密算法,通常分為兩類:對(duì)稱密碼算法和非對(duì)稱密碼算法。Blowfish算法是著名的對(duì)稱加密算法,是一種將64位數(shù)據(jù)分組及使用可變長(zhǎng)度密鑰的對(duì)稱密鑰分組加密算法,可用來(lái)加密64位長(zhǎng)度的字符串。32位處理器誕生后,Blowfish算法因其在加密速度上的優(yōu)越性而引起人們的廣泛關(guān)注。Blowfish算法具有加密速度快、緊湊、密鑰長(zhǎng)度可變、免費(fèi)使用等特點(diǎn),已被廣泛使用于軟件保護(hù)、軟件認(rèn)證激活。算法核心在于子密鑰的生成,它將變長(zhǎng)密鑰擴(kuò)展成總長(zhǎng)4168 比特位的子密鑰數(shù)組。算法中使用了大量的子密鑰,而子密鑰又依賴于用戶密鑰,實(shí)際加密解密過(guò)程中使用的是更新后的子密鑰數(shù)組,子密鑰即P數(shù)組和S盒。算法輸人64位明文信息,經(jīng)過(guò)加密運(yùn)算,輸出64位密文信息。

MD5的全稱是Message-digest Algorithm5(中文譯作信息摘要算法5),為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列算法,用以驗(yàn)證消息的完整性、確保信息傳輸?shù)恼_性,是著名的非對(duì)稱加密算法。它經(jīng)MD2、MD3和MD4發(fā)展而來(lái),在20世紀(jì)90年代初誕生。MD5算法可簡(jiǎn)要敘述為:MD5以512位分組來(lái)處理輸入的信息資源,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)了一系列循環(huán)處理,算法的輸出四個(gè)32位分組,將這四個(gè)32位分組順序組合后生成一個(gè)128位散列值。MD5算法具有輸出長(zhǎng)度固定、目標(biāo)值容易計(jì)算、抗修改性強(qiáng)和超低碰撞概率的特點(diǎn)。對(duì)任意長(zhǎng)度的數(shù)據(jù),算法輸出固定128位散列值;對(duì)原數(shù)據(jù)的任何修改,即便是修改一個(gè)比特位,所得到的散列值都不同的;已知原數(shù)據(jù)和所生成散列值,想找到一個(gè)具有相同散列值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常非常困難的。

2.2 加密方案設(shè)計(jì)

在實(shí)際使用過(guò)程中,使用單一加密算法作為加密方案對(duì)信息資源進(jìn)行加密保護(hù)往往無(wú)法滿足應(yīng)用需求。其中Blowfish算法采用變長(zhǎng)用戶密鑰,算法加密解密核心在于用戶密鑰的選擇和保護(hù),開發(fā)者往往經(jīng)常使用一些弱用戶密鑰對(duì)信息資源進(jìn)行加密,導(dǎo)致Blowfish算法存在著很大的安全隱患 。然而簡(jiǎn)單的MD5加密也是沒(méi)有辦法達(dá)到絕對(duì)的安全的,隨著技術(shù)的不斷進(jìn)步,普通的MD5加密有多種暴力破解方式,因此如果想要保證信息數(shù)據(jù)、資源的安全,必須要設(shè)計(jì)新型加密方案。本文將混合使用上述兩種加密算法,設(shè)計(jì)設(shè)計(jì)一種新型的、高效的、破解難度高的混合加密方案,以增強(qiáng)安全性。加密方案核心步驟如下:

(1)對(duì)原始信息資源使用MD5算法進(jìn)行加密,產(chǎn)生128位散列值;

(2)將步驟a產(chǎn)生的固定長(zhǎng)度散列值作為Blowfish算法的用戶密鑰,初始化Blowfish加密算法;

(3)使用初始化完成后的Blowfish算法對(duì)原始信息資源的進(jìn)行加密,加密后即會(huì)產(chǎn)生高安全性的密文數(shù)據(jù)。

2.3 方案工程應(yīng)用

在實(shí)驗(yàn)室工程應(yīng)用中對(duì)本文設(shè)計(jì)的混合加密方案進(jìn)行驗(yàn)證,對(duì)工程應(yīng)用中的關(guān)鍵部分給出偽代碼實(shí)現(xiàn)。本實(shí)驗(yàn)室工程應(yīng)用設(shè)計(jì)以軟件授權(quán)文件形式試驗(yàn)、驗(yàn)證混合加密方案的先進(jìn)性、可行性和可實(shí)施性,其中授權(quán)文件中含有用于比較驗(yàn)證的密文數(shù)據(jù)。

生成授權(quán)文件中密文數(shù)據(jù)的偽代碼如下:

 

一種混合加密方案在軟件授權(quán)中的應(yīng)用

 

認(rèn)證激活過(guò)程即讀取授權(quán)文件中的密文數(shù)據(jù),然后掃描目標(biāo)機(jī)器硬件特征、軟件特征數(shù)據(jù),根據(jù)特征數(shù)據(jù)生成密文數(shù)據(jù),將新生成的密文數(shù)據(jù)與授權(quán)文件中讀取的密文數(shù)據(jù)進(jìn)行比較,密文數(shù)據(jù)相同即認(rèn)證激活成功,否則認(rèn)證激活失敗,實(shí)現(xiàn)部分偽代碼如下:

 

一種混合加密方案在軟件授權(quán)中的應(yīng)用

 

3 結(jié)束語(yǔ)

使用激活密鑰、序列號(hào)、激活碼或授權(quán)文件等方式認(rèn)證激活軟件是軟件開發(fā)商保護(hù)軟件知識(shí)產(chǎn)權(quán)的常用技術(shù)手段,但是上述技術(shù)手段存在被破解的風(fēng)險(xiǎn)。隨著基礎(chǔ)數(shù)學(xué)、計(jì)算機(jī)科學(xué)、密碼學(xué)等基礎(chǔ)科學(xué)的發(fā)展,對(duì)加密算法研究的升入,互聯(lián)網(wǎng)技術(shù)的進(jìn)步,使用單一加密算法的加密方案被破解的風(fēng)險(xiǎn)越來(lái)越大。為了降低被破解的風(fēng)險(xiǎn),應(yīng)當(dāng)設(shè)計(jì)新型加密方案,混合使用不同類型、用途的加密算法,才能降以指數(shù)級(jí)提高破解難度,降低加密方案被破解的風(fēng)險(xiǎn)。本文所設(shè)計(jì)的新型加密方案組合使用Blowfish算法和MD5摘要算法,安全系數(shù)高、破解難度高,在實(shí)驗(yàn)室工程應(yīng)用中通過(guò)驗(yàn)證,具有先進(jìn)性、可行性和可實(shí)施性,可以作為一種先進(jìn)加密方案推廣使用。

參考文獻(xiàn)

[1]王津濤,覃尚毅,王冬梅.基于MD5的迭代冗余加密算法.計(jì)算機(jī)工程與設(shè)計(jì),2007(28).

[2]鐘黔川,朱清新.Blowfish密碼系統(tǒng)分析[J].計(jì)算機(jī)應(yīng)用,2007(27).

[3]高博,李彥.一種基于硬件特征和動(dòng)態(tài)許可證的服務(wù)器端軟件授權(quán)認(rèn)證模型[J].計(jì)算機(jī)工程與科學(xué),2013(35).

[4]陳志倫.一種基于RSA/IDEA加密License文件的軟件保護(hù)方案[J].計(jì)算機(jī)應(yīng)用與軟件,2005(22).

[5]毛明,秦志光,陳少暉.破譯MD5算法關(guān)鍵技術(shù)探索[J].計(jì)算機(jī)應(yīng)用,2009(29).

作者簡(jiǎn)介

商開拴(1985-),男,河北石家莊市人。大學(xué)本科學(xué)歷?,F(xiàn)為中國(guó)電子科技集團(tuán)公司電子科學(xué)研究院職工。主要研究方向?yàn)橄到y(tǒng)軟件設(shè)計(jì)與集成。

作者單位

中國(guó)電子科技集團(tuán)公司電子科學(xué)研究院 北京市 100041

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 電子技術(shù)與軟件工程
相關(guān)推薦

2017-09-19 14:33:19

比特云工業(yè)軟件智能制造

2012-12-25 10:48:35

IBMdW

2012-05-21 08:27:18

2018-02-08 08:11:41

2010-03-10 09:44:51

Linux啟動(dòng)引導(dǎo)加密

2022-07-13 11:49:18

接口遷移方案

2022-09-27 08:04:37

Adapter?設(shè)計(jì)模式

2023-07-18 07:23:11

方案payloadrequest

2016-03-21 13:24:22

apk安卓開發(fā)

2010-06-12 11:03:02

UML應(yīng)用

2016-04-18 13:41:10

軟件IC網(wǎng)

2018-06-20 16:10:20

WindowsWindows 10應(yīng)用程序

2017-07-05 14:09:04

系統(tǒng)設(shè)計(jì)與架構(gòu)java云計(jì)算

2013-11-29 09:18:39

GartnerBYOD應(yīng)用戰(zhàn)略

2022-05-13 09:40:51

代碼可行應(yīng)用性能

2017-06-22 16:46:45

2019-04-03 10:55:03

AI

2020-12-09 10:15:34

Pythonweb代碼

2020-12-23 10:10:23

Pythonweb代碼

2022-07-07 10:33:27

Python姿勢(shì)代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)