亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        RSA算法在共享軟件加密技術(shù)中的應(yīng)用機(jī)制研究

        2012-12-31 00:00:00劉心聲

        摘要:本文首先對(duì)共享軟件的常用加密方法做了簡(jiǎn)單比較,接著重點(diǎn)闡述了RSA算法的原理及在序列號(hào)加密技術(shù)、在線注冊(cè)加密技術(shù)、激活碼加密技術(shù)方面的應(yīng)用機(jī)制。

        關(guān)鍵詞:共享軟件;加密技術(shù);RSA算法

        中圖分類號(hào):TP309.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 24-0170-02

        隨著軟件行業(yè)經(jīng)營(yíng)模式的轉(zhuǎn)變,在網(wǎng)絡(luò)上發(fā)布的共享軟件逐漸增多,軟件開發(fā)商為了保護(hù)自己的知識(shí)產(chǎn)權(quán)權(quán)益,需要對(duì)軟件產(chǎn)品進(jìn)行加密處理,以防止未經(jīng)許可的隨意拷貝,這就形成了各種各樣的共享軟件加密技術(shù)。

        1 共享軟件的界定

        共享軟件一般是指那種在網(wǎng)絡(luò)上公開發(fā)布的,采用“先試用,后購(gòu)買”方式銷售的具有版權(quán)的軟件,此類軟件一般有兩個(gè)或兩個(gè)以上的版本,網(wǎng)絡(luò)上公開發(fā)布的是一個(gè)功能受限或者用戶數(shù)量受限制或使用時(shí)間、次數(shù)受限的共享版本,用戶只能試用軟件部分功能或者只能試用一定次數(shù)或一段時(shí)間,只有當(dāng)用戶購(gòu)買注冊(cè)之后才可以使用沒有限制的正式版本。

        2 常用的共享軟件保護(hù)方法對(duì)比綜述

        共享軟件保護(hù)方式主要有兩大類,一類是依賴于特定硬件的硬加密保護(hù)技術(shù),如加密卡(狗)、鑰匙盤等;另一類是不需要額外硬件的軟件加密保護(hù)技術(shù),如密碼表、許可證加密法等,序列號(hào)法一般采用綁定計(jì)算機(jī)硬件的方式,但它綁定的是計(jì)算機(jī)本身如CPU、BIOS、硬盤、MAC等的硬件信息,沒有增加額外的硬件設(shè)備,因此將其歸結(jié)為“軟加密”技術(shù)。

        2.1 硬加密技術(shù)

        (1)鑰匙盤加密法的原理是利用BIOS的INT 13中斷格式化軟盤成一些特殊的磁道,有的還在軟盤的這些特殊磁道上寫入一定信息,即在軟盤的特殊位置做標(biāo)記,在軟件運(yùn)行時(shí)需要讀取這些特殊標(biāo)記,以檢驗(yàn)軟件的合法性,因此使用軟件時(shí)必須將鑰匙盤插在軟驅(qū)中。這是最古老的加密方法,目前基本上不在采用了。

        (2)加密卡(狗)加密法。加密卡(狗)加密法是插在計(jì)算機(jī)并口、串口等接口上的軟硬件結(jié)合的軟件加密產(chǎn)品。當(dāng)被加密卡(狗)保護(hù)的軟件要運(yùn)行時(shí),軟件向插在計(jì)算機(jī)接口上的加密卡(狗)發(fā)出查詢命令,加密卡(狗)根據(jù)命令迅速計(jì)算查詢并給出響應(yīng),如果響應(yīng)正確,則保證軟件繼續(xù)運(yùn)行,否則,軟件將不能運(yùn)行。目前,大型商業(yè)軟件一般都采用加密卡(狗)來(lái)保護(hù),但共享軟件采用此種方法的較少,因?yàn)樵摷用鼙Wo(hù)方法成本較高。

        (3)CD-Key光盤保護(hù)技術(shù)。此加密技術(shù)的原理是被保護(hù)的軟件在啟動(dòng)時(shí)判斷光驅(qū)中的光盤上是否存在某特定文件,如果存在則說(shuō)明軟件是合法的,繼續(xù)運(yùn)行,否則則認(rèn)為是非法的,拒絕運(yùn)行。但當(dāng)軟件一旦運(yùn)行后一般不再檢查加密光盤文件的存在與否。Windows操作系統(tǒng)下此加密方法的實(shí)現(xiàn)通常是:先用GetLogicalDriveStrings()或GetLogicalDrives()得到計(jì)算機(jī)的驅(qū)動(dòng)器列表,然后再用GetDriveType()檢查每一個(gè)驅(qū)動(dòng)器看是不是光驅(qū),若是光驅(qū)則用CreateFileA()或FindFirstFileA()等檢查特定的文件是否存在,并可能進(jìn)一步檢查文件的屬性、大小、內(nèi)容等,這由加密者根據(jù)自己的需要設(shè)定。由于本加密技術(shù)需要制作加密光盤,這對(duì)一些規(guī)模小的軟件開發(fā)商來(lái)說(shuō)具有一定的困難,因此這種加密技術(shù)目前在共享軟件上用的也較少。

        2.2 軟加密技術(shù)

        (1)密碼表加密技術(shù)。其原理是在軟件啟動(dòng)時(shí)要求用戶根據(jù)屏幕出現(xiàn)的提示問(wèn)題輸入特定的答案,而這個(gè)答案一般是在用戶手冊(cè)上的防復(fù)印的密碼表中,只有用戶輸入正確答案后才能繼續(xù)運(yùn)行。這種加密技術(shù)實(shí)現(xiàn)簡(jiǎn)單,而且成本較低,但軟件破譯者往往把整個(gè)密碼表保存成一個(gè)計(jì)算機(jī)文件,同破解后的盜版軟件一同公布,因此目前國(guó)內(nèi)共享軟件使用此方法較少。

        (2)Key File加密保護(hù)技術(shù)。這是一種利用注冊(cè)文件來(lái)保護(hù)共享軟件的加密方式。Key File通常是一個(gè)小文件,文件格式自由,可以是純文本文件,也可以是二進(jìn)制文件,其內(nèi)容是一些加密過(guò)或未加密的數(shù)據(jù),一般有用戶名、注冊(cè)碼等信息。采用此種加密技術(shù)的共享軟件試用版一般沒有注冊(cè)文件,當(dāng)用戶希望使用正式版時(shí)需要交費(fèi)注冊(cè),交費(fèi)注冊(cè)后收到此共享軟件的注冊(cè)文件,用戶只需要將注冊(cè)文件存放到指定的目錄即可使試用版成為正式版。當(dāng)共享軟件每次啟動(dòng)時(shí),從注冊(cè)文件中讀取數(shù)據(jù),然后利用加解密算法進(jìn)行注冊(cè)文件驗(yàn)證處理,如果正確則以注冊(cè)版模式運(yùn)行。目前這種加密技術(shù)在共享軟件中應(yīng)用也不多。

        (3)序列號(hào)加密技術(shù)。目前大多數(shù)共享軟件采用這種加密方式。用戶一旦試用期滿仍想使用這個(gè)軟件,就必須到軟件公司進(jìn)行交費(fèi)注冊(cè),軟件公司根據(jù)用戶提交的相關(guān)信息利用密碼加密算法生成一個(gè)序列號(hào),這個(gè)序列號(hào)往往是根據(jù)用戶提交的姓名、計(jì)算機(jī)某一硬件如CPU、網(wǎng)卡、硬盤、顯卡等的序列號(hào)生成的,用戶將軟件公司給的序列號(hào)在軟件運(yùn)行時(shí)輸入進(jìn)去,軟件利用自己的算法程序驗(yàn)證序列號(hào)是否正確,若正確說(shuō)明你是合法用戶,就可以正常使用了。

        此方法的優(yōu)點(diǎn)就是方案實(shí)現(xiàn)簡(jiǎn)單、方便,交易過(guò)程在Internet上實(shí)現(xiàn)。缺點(diǎn)就是軟件的解密是在用戶計(jì)算機(jī)上完成的,一些黑客利用用戶信息與軟件序列號(hào)之間的驗(yàn)證漏洞找出用戶信息與軟件序列號(hào)之間的換算算法,編制出一種叫KeyMaker的破解程序,只要輸入所需的用戶信息,破解程序就能幫助你計(jì)算出序列號(hào),你再用你的名字和這個(gè)序列號(hào)輸入進(jìn)軟件中就變成正版軟件了。

        (4)許可證加密技術(shù)。從某種角度來(lái)說(shuō),許可證加密技術(shù)可以看作是序列號(hào)加密技術(shù)的一個(gè)變種。這種共享軟件不能直接使用,在安裝或運(yùn)行時(shí)會(huì)對(duì)用戶的計(jì)算機(jī)進(jìn)行系統(tǒng)檢測(cè),并依據(jù)檢測(cè)結(jié)果生成一個(gè)用戶計(jì)算機(jī)的特定指紋數(shù)據(jù),它可以是一個(gè)純文本文件,也可以是一串十六進(jìn)制數(shù),用戶把指紋數(shù)據(jù)通過(guò)Email、Internet等方式傳送給軟件開發(fā)商,開發(fā)商根據(jù)用戶指紋數(shù)據(jù)生成一個(gè)注冊(cè)碼或注冊(cè)文件并發(fā)送給用戶,用戶完成注冊(cè)后即可正常使用。

        該加密技術(shù)的缺點(diǎn)是軟件的使用受限,通常只能用在注冊(cè)指紋數(shù)據(jù)的那臺(tái)計(jì)算機(jī)上,更換計(jì)算機(jī)或者用戶更換了某些硬件設(shè)備都可能造成注冊(cè)碼或者注冊(cè)文件失效,還需要重新更新指紋數(shù)據(jù)從而獲取新的注冊(cè)碼或注冊(cè)文件,這對(duì)開發(fā)商來(lái)說(shuō)無(wú)疑增大了服務(wù)與管理的工作量。

        (5)數(shù)字簽名(Digital Signature)加密技術(shù)。數(shù)字簽名又名電子簽章、公鑰數(shù)字簽名,該技術(shù)是公開密鑰算法(即非對(duì)稱加密算法)的典型應(yīng)用,是在數(shù)據(jù)單元上附加一些數(shù)據(jù),也可是對(duì)數(shù)據(jù)單元所作的密碼變換,類似于寫在書信上的親筆簽名,只不過(guò)是使用公鑰加密數(shù)字技術(shù)來(lái)實(shí)現(xiàn)鑒別數(shù)字信息真?zhèn)蔚姆椒ā?/p>

        基于公鑰密碼體制的數(shù)字簽名技術(shù)目前主要分普通數(shù)字簽名、特殊數(shù)字簽名兩類。其中普通數(shù)字簽名加密技術(shù)采用的算法主要有RSA、Fiat-Shamir、ElGamal、Schnorr、Guillou-Quisquarter、Ong-Schnorr-Shamir數(shù)字簽名算法、Des/DSA、橢圓曲線數(shù)字簽名算法和有限自動(dòng)機(jī)數(shù)字簽名算法等;特殊數(shù)字簽名加密技術(shù)主要有盲簽名、公平盲簽名、代理簽名、群簽名、不可否認(rèn)簽名、門限簽名、具有消息恢復(fù)功能的簽名等,具體采用哪種加密算法由具體應(yīng)用環(huán)境來(lái)決定,但不管采用哪種數(shù)字簽名加密技術(shù),通常都要定義兩種互補(bǔ)的算法,一種是用于簽名,另一種是用于驗(yàn)證。

        數(shù)字簽名加密技術(shù)是目前共享軟件加密應(yīng)用較多的一種,也是目前的一個(gè)研究熱門課題。

        3 RSA算法的原理與具體應(yīng)用機(jī)制

        3.1 RSA算法基本原理

        RSA是第一個(gè)比較完善的、既可用于數(shù)據(jù)加密又可用于數(shù)字簽名的算法,目前已被ISO、ITU等一些國(guó)際標(biāo)準(zhǔn)化組織做為標(biāo)準(zhǔn)采用。

        RSA加密體制用戶i的公開加密算法Ei和保密的解密算法Di是這樣產(chǎn)生的:

        (1)隨機(jī)選取兩個(gè)不同的大素?cái)?shù)pi和qi,將這兩個(gè)數(shù)保密;

        (2)計(jì)算求出兩個(gè)素?cái)?shù)的乘積ni=piqi,然后計(jì)算出ni的歐拉數(shù)Ф(ni)=(pi-1)(qi-1);

        (3)用戶從(1,Ф(ni))中隨機(jī)選取一個(gè)與Ф(ni)互質(zhì)的整數(shù)ei,作為公開的加密指數(shù);

        (4)利用歐幾里得算法計(jì)算di,滿足eidi≡1 MOD Ф(ni);

        (5)(ni,ei)和(ni,di)分別稱為“公開密鑰”和“秘密密鑰”。

        由上述原理可知,RSA加密算法是基于模冪的可逆運(yùn)算,但這種可逆是由特定的數(shù)值對(duì)(即公鑰和私鑰)決定的。

        3.2 RSA算法在共享軟件加密技術(shù)方面的應(yīng)用機(jī)制

        (1)RSA算法在序列號(hào)加密技術(shù)方面的應(yīng)用機(jī)制。

        1)生成一對(duì)私鑰D和公鑰E,以供注冊(cè)機(jī)、軟件注冊(cè)模板使用;

        2)共享軟件開發(fā)商編寫一個(gè)注冊(cè)機(jī),并通過(guò)注冊(cè)機(jī)將用戶名、私鑰D等信息生成密碼C——注冊(cè)碼,然后將用戶名和注冊(cè)碼提供給客戶;

        3)客戶啟動(dòng)軟件時(shí),輸入開發(fā)商提供的用戶名與注冊(cè)碼,軟件注冊(cè)模板程序采用公鑰E對(duì)注冊(cè)碼解碼后生成F——用戶名;

        4)軟件注冊(cè)模板對(duì)比輸入的用戶名和解碼后的用戶名F,若一致則用戶合法,否則授權(quán)失敗。

        (2)RSA算法在在線注冊(cè)加密技術(shù)方面的應(yīng)用機(jī)制。

        1)生成一對(duì)私鑰D和公鑰E,以供注冊(cè)系統(tǒng)、軟件注冊(cè)模板使用;

        2)軟件開發(fā)商通過(guò)私鑰D將用戶的憑證信息加密生成F,通常存儲(chǔ)在注冊(cè)數(shù)據(jù)庫(kù)中;

        3)客戶啟動(dòng)軟件時(shí),輸入客戶特征信息后,軟件注冊(cè)模板程序?qū)τ脩籼卣餍畔⒗霉€E加密,形成注冊(cè)憑證C并發(fā)送到開發(fā)商的注冊(cè)系統(tǒng)中;

        4)注冊(cè)系統(tǒng)對(duì)用戶注冊(cè)憑證C采用私鑰D加密生成F,并通過(guò)F驗(yàn)證客戶身份的有效性;

        5)注冊(cè)系統(tǒng)通過(guò)私鑰D對(duì)注冊(cè)驗(yàn)證結(jié)果進(jìn)行加密后再發(fā)送回軟件系統(tǒng);

        6)軟件注冊(cè)模板程序?qū)︱?yàn)證結(jié)果利用公鑰E解密,根據(jù)對(duì)比結(jié)果來(lái)決定是否是有效授權(quán)。

        (3)RSA算法在激活碼加密技術(shù)方面的應(yīng)用機(jī)制。

        1)生成一對(duì)私鑰D和公鑰E,以供注冊(cè)機(jī)、軟件注冊(cè)模板使用;

        2)用戶啟動(dòng)軟件時(shí),軟件注冊(cè)模板檢測(cè)客戶機(jī)的特定硬件信息,如硬盤序列號(hào)、MAC地址、CPU序列號(hào)等,并通過(guò)有關(guān)編碼算法生成一個(gè)申請(qǐng)碼C;

        3)客戶將申請(qǐng)碼C發(fā)給軟件開發(fā)商,開發(fā)商通過(guò)注冊(cè)機(jī)對(duì)申請(qǐng)碼C利用私鑰D加密生成激活碼F并發(fā)送給客戶;

        4)客戶輸入激活碼F后,軟件注冊(cè)模板程序?qū)せ畲aF利用公鑰E解碼后生成G——客戶機(jī)特征信息,然后將G與軟件注冊(cè)模板提取客戶機(jī)的特定信息后的編碼進(jìn)行對(duì)比,若相等則客戶合法,否則授權(quán)失敗。

        美女被男人插得高潮的网站| 亚洲公开免费在线视频| 99久久国产一区二区三区| 久久热免费最新精品视频网站| 久久久久亚洲av片无码| 成人免费毛片内射美女-百度 | 久精品国产欧美亚洲色aⅴ大片| 久久精品这里就是精品| 人妻制服丝袜中文字幕| 久久久老熟女一区二区三区 | 国产精品亚洲av无人区一区蜜桃 | 日本熟日本熟妇中文在线观看 | 国产精品无码久久久久免费AV | 国产尤物精品视频| 69精品丰满人妻无码视频a片| 亚洲熟妇av日韩熟妇av| 亚洲av在线观看播放| 欧美成人aaa片一区国产精品| 99这里只有精品| 国产偷闻隔壁人妻内裤av| 亚洲国产精品久久又爽av| 亚洲国产av玩弄放荡人妇系列| 日本中文字幕在线播放第1页| 国产一区二区黑丝美女| 人妻精品视频一区二区三区| 亚洲人成未满十八禁网站| 国产国拍亚洲精品午夜不卡17| 久久精品国产亚洲av夜夜| 婷婷成人丁香五月综合激情| 欧美日本国产va高清cabal| 欧美人与动牲交片免费| 日韩精品在线观看在线| 97在线观看视频| 国产欧美精品一区二区三区,| 国产一级自拍av播放| 国产精品久人妻精品老妇| 激情偷乱人伦小说视频在线| 蜜桃视频色版在线观看| 亚洲高清三区二区一区| 午夜精品久久久久久| 亚洲欧洲日产国码无码|