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

        ?

        一種基于彈性保護機制的軟件保護模型

        2017-11-15 13:04:31汪彩梅劉文杰
        關(guān)鍵詞:服務(wù)端公鑰客戶端

        汪彩梅,劉文杰

        (1.合肥學(xué)院 計算機科學(xué)與技術(shù)系,合肥 230601;2.科大國創(chuàng)軟件股份有限公司,合肥 230088)

        一種基于彈性保護機制的軟件保護模型

        汪彩梅1,劉文杰2

        (1.合肥學(xué)院 計算機科學(xué)與技術(shù)系,合肥 230601;2.科大國創(chuàng)軟件股份有限公司,合肥 230088)

        從軟件服務(wù)商及用戶的利益雙贏角度提出了一種基于彈性保護機制的軟件保護模型。一方面,該模型使得軟件服務(wù)商通過安全機模塊為合法用戶提供生成的注冊碼方法達到保護軟件的目的;另一方面,合法用戶可以通過數(shù)字簽名技術(shù)驗證軟件服務(wù)商的身份從而提高了自身利益的保障。利用用戶身份認證、主機硬件驗證、軟件權(quán)限設(shè)置機制實現(xiàn)了對軟件的彈性保護。模型分為四個模塊:客戶端模塊、軟件服務(wù)端模塊、安全機模塊、數(shù)據(jù)庫模塊。實驗結(jié)果驗證了該模型能同時解決了服務(wù)商與用戶之間的軟件保護問題與權(quán)限管理問題。

        彈性保護;安全機模塊;身份認證;權(quán)限設(shè)置

        隨著計算機的飛速發(fā)展,計算機軟件被侵權(quán)現(xiàn)象越來越嚴重,其主要方式有未經(jīng)授權(quán)用戶的非法復(fù)制以及非法傳播[1-2],為軟件廠商及用戶的利益帶來很大的危害。針對這一現(xiàn)象很多專家學(xué)者提出了一系列軟件保護方法,如key file保護、軟件殼保護、加密狗及注冊碼保護等。[3-5]

        然而現(xiàn)有的軟件保護技術(shù)基本上側(cè)重于研究軟件自身的保護機制,而很少考慮用戶的權(quán)限管理問題,基于此論文提出了一種基于混合技術(shù)的保護模型,即解決軟件的保護問題,同時解決了權(quán)限管理問題。模型包含有幾個基本要素:(1)軟件加密,(2)權(quán)限管理,包括用戶的權(quán)限管理和軟件的授權(quán)管理。通過為軟件設(shè)置安全系數(shù)及軟件用戶的授權(quán)訪問雙重策略實現(xiàn)了對軟件的彈性保護,(3)安全注冊系統(tǒng),安全注冊系統(tǒng)為軟件保護模型的核心,用于授權(quán)的實現(xiàn)。

        1 基于彈性保護機制的軟件保護模型的設(shè)計

        1.1角色設(shè)計

        論文在軟件保護模型中設(shè)計有三個角色:客戶端(Client)、服務(wù)端(Server)和安全機模塊(Safety),實現(xiàn)對軟件安全的保護和客戶信息的保護。其中客戶端代表合法客戶的身份,服務(wù)端代表軟件服務(wù)商的身份。它們實現(xiàn)的功能分別如下。

        1.1.1 角色功能

        服務(wù)端實現(xiàn)的功能:

        (1)建立客戶信息數(shù)據(jù)庫,專門用于記錄合法用戶信息。

        (2)建立通過標(biāo)簽的形式將每個軟件設(shè)置為受保護或無保護狀態(tài),這一功能也為實現(xiàn)彈性保護機制奠定基礎(chǔ)。

        (3)對于訪問受保護軟件的用戶,將其用戶信息及MAC地址信息提交給安全機模塊,產(chǎn)生安全碼。

        安全機模塊實現(xiàn)的功能:

        根據(jù)服務(wù)端提供的用戶信息及MAC地址信息采用RSA簽名算法生成安全碼并返回給服務(wù)端。

        客戶端實現(xiàn)的功能:

        (1)從服務(wù)端下載軟件,運行驗證程序,判斷該軟件是否受保護。

        (2)對于受保護的軟件,客戶端則需要向服務(wù)端提交用戶信息及MAC地址信息,申請訪問安全碼。

        (3)從服務(wù)端獲取安全碼,利用安全碼通過驗證程序運行受保護的軟件。

        1.1.2 角色交互流程

        客戶端(Client)、服務(wù)端(Server)和安全機模塊(Safety)之間的交互如圖1所示。

        客戶端在服務(wù)端下載受保護軟件時,需要提交MAC地址,軟件服務(wù)端將MAC地址存放數(shù)據(jù)庫中,并使用安全機模塊的軟件對MAC地址進行RSA加密,將加密后的MAC地址采用點對點通信發(fā)給安全機模塊,安全機模塊用自己的軟件對加密的MAC地址解密并采用RSA數(shù)字簽名算法對MAC地址簽名生成注冊碼,并將注冊碼和公鑰提交給合作方軟件服務(wù)端。

        圖1 角色交互圖

        1.2模型框架設(shè)計

        為了實現(xiàn)彈性的保護軟件機制。模型的操作步驟設(shè)計如下:

        (1) 客戶端從服務(wù)端下載軟件,有兩種標(biāo)識的軟件可供下載,下載標(biāo)識為0的軟件可直接打開;下載標(biāo)識為1的軟件,則需要向軟件服務(wù)端提交MAC地址;

        (2) 服務(wù)端收到客戶端發(fā)來的MAC地址,判斷該客戶端是否是合法用戶;如果是合法用戶,將其MAC存放于數(shù)據(jù)庫中,并用RSA加密算法對MAC地址加密,然后通過點對點通信方式將密文發(fā)送給安全機模塊;

        (3) 安全機模塊收到服務(wù)端發(fā)來的密文后,對密文進行解密,還原MAC信息,然后用數(shù)字簽名算法實現(xiàn)對該MAC簽名并生成相應(yīng)的安全碼,再通過訪問Web頁面,將安全碼提交到軟件服務(wù)端,存放于數(shù)據(jù)庫中;

        (4) 用戶到相應(yīng)的Web頁面,提交MAC,便可查詢到相應(yīng)的安全碼和公鑰信息;

        (5) 安全碼在客戶端驗證是否與MAC匹配,若匹配成功,客戶將擁有軟件的使用權(quán)。

        圖 2 框架設(shè)計流程

        模型的框架設(shè)計流程如圖2所示。

        2 基于彈性保護機制的軟件保護模型的實現(xiàn)

        2.1客戶端的實現(xiàn)

        客戶從服務(wù)端下載標(biāo)識值為1(受保護)的軟件,先下載客戶端軟件,獲取客戶端的MAC地址,主要通過C語言調(diào)用windows系統(tǒng)下system () 函數(shù),獲取本地的MAC地址,然后對其進行文件讀寫操作,存放于文件中。

        圖3 客戶端功能

        客戶獲取服務(wù)端發(fā)來的注冊碼I和公鑰(Pk2,N2),打開下載的受保護軟件,自動執(zhí)行客戶端軟件程序,重新獲取客戶計算機的MAC輸入注冊碼和公鑰后,將自動生成注冊碼和公鑰文件,并對注冊碼進行RSA驗證,即M’=I^Pk2modN2如果驗證結(jié)果與重新獲取的MAC地址相匹配,將順利打開軟件??蛻舳说墓δ苋鐖D3所示,圖中M’表示驗證結(jié)果信息,M表示MAC地址信息。

        在代碼中,調(diào)用windows系統(tǒng)下system () 函數(shù)實現(xiàn)對MAC地址的獲取,用CreateMAC()函數(shù)生成存儲MAC地址的文件。當(dāng)客戶獲取到軟件服務(wù)端發(fā)來注冊碼和公鑰后,重新獲取MAC地址,并生成注冊碼和公鑰文件。通過readregister()函數(shù)讀取注冊碼信息并進行驗證,如果驗證成功,返回1,如果驗證失敗或無文件返回0。

        2.2服務(wù)端的實現(xiàn)

        服務(wù)端在實現(xiàn)對軟件的管理方面,通過設(shè)置標(biāo)簽的方式將軟件分為兩種類型:受保護類型軟件與非保護類型軟件。對于受保護的軟件將標(biāo)簽的標(biāo)識值設(shè)為1,反之設(shè)置為0。當(dāng)客戶需要受保護軟件時,需要先登錄到軟件服務(wù)端的官網(wǎng)。若該用戶之前沒有在該網(wǎng)站進行注冊,則需要先注冊。服務(wù)端對于注冊的客戶信息采用MD5加密的方法實現(xiàn)信息保護。

        當(dāng)客戶端需要下載標(biāo)識值為1的軟件,首先獲取客戶端MAC地址并發(fā)送給軟件服務(wù)端,服務(wù)端將獲取的MAC地址存放在數(shù)據(jù)庫中??紤]到服務(wù)端如果將MAC地址直接發(fā)給安全機模塊,可能會受到攻擊者的攻擊,所以安全機模塊為服務(wù)端設(shè)計了加密軟件。該加密軟件主要采用RSA加密算法[7-8],根據(jù)加密算法,用公鑰(Pk1,N1)對MAC地址進行加密,在加密過程中,首先將字符型的MAC地址轉(zhuǎn)為整型數(shù)據(jù)存放在數(shù)組中,再對數(shù)組采用RSA算法加密生成密文C,然后將生成的密文C通過點對點通信發(fā)給安全機模塊。

        當(dāng)安全機模塊向服務(wù)端提交注冊碼和公鑰時,將獲取到的注冊碼和公鑰存放在數(shù)據(jù)庫中。當(dāng)客戶的計算機中遺失了注冊碼和公鑰時,將通過登錄服務(wù)端,通過輸入用戶名和MAC地址查詢到注冊碼和公鑰信息。服務(wù)端的功能如圖4所示。

        圖4 服務(wù)端功能圖

        2.3安全機模塊的實現(xiàn)

        安全機模塊收到服務(wù)端發(fā)來的密文C后,將使用解密軟件對其進行解密,解密的過程是加密的逆過程,安全機模塊用私鑰(Sk1,N1)對密文C解密獲取MAC地址,然后用私鑰(Sk2,N2)對MAC地址對其進行簽名生成注冊碼。

        圖5 安全機模塊功能

        生成注冊碼之前,需要生成密鑰對,即公鑰及私鑰。在代碼中密鑰對的生成有兩種方式,一種是默認的公鑰(Pk2,N2),私鑰(Sk2,N2),另一種通過隨機數(shù)發(fā)生器的初始化函數(shù)srand()函數(shù),隨機生成大數(shù)p,q,然后對p,q進行運算,計算出N2=p*q和t=(p-1)*(q-1),通過輸入與t互質(zhì)的數(shù)Pk2,計算出Sk2,從而得出公鑰(Pk2,N2)和私鑰(Sk2,N2)。對于t與Pk2互質(zhì)的判斷,通過碾轉(zhuǎn)相除法判讀t與Pk2,將。兩種方式都將對公鑰執(zhí)行文件寫操作,保存在文件中。在得出公鑰和私鑰后,我們需要對獲取的MAC地址進行數(shù)字簽名,由于我們獲取的MAC地址是字符型的,需要通過對字符型的MAC地址進行轉(zhuǎn)換,通過ASCII碼表將所有的字符轉(zhuǎn)為數(shù)字,并將其保存在pass[]數(shù)組中,對數(shù)字用私鑰對其進行RSA數(shù)字簽名生成注冊碼,根據(jù)RSA數(shù)字簽名的算法的思想,I=M^Sk2(modN2),《》對數(shù)字用私鑰對其進行RSA數(shù)字簽名生成注冊碼,即I= password[i]Sk2(modN2),再對生成的注冊碼和公鑰發(fā)給服務(wù)端。服務(wù)端主要功能圖如圖5所示。

        2.4數(shù)據(jù)庫的實現(xiàn)

        論文數(shù)據(jù)庫主要設(shè)計有兩張表:Userinformation表和Sign表。前者的主要功能是實現(xiàn)客戶認證。后者主要功能是為客戶提供安全機模塊生成的注冊碼和公鑰。具體設(shè)計如下。

        普通客戶首先需要登錄,在判斷為合法用戶后才能提交自己的MAC地址。這里我們需要設(shè)置一張Userinformation表。里面存放三個字段,分別為用戶名、密碼和MAC地址。當(dāng)用戶驗證通過后,向該表填入MAC地址。此時,服務(wù)端的管理員可訪問該表得到注冊客戶的MAC地址,并將MAC地址發(fā)送給安全機模塊。安全機模塊對MAC地址簽名得到注冊碼和公鑰,并將MAC注冊碼、公鑰上傳到注冊表中。而客戶則可通過輸入自己的MAC地址查詢注冊表得到注冊碼和公鑰。除此,安全機模塊可對注冊表進行修改、刪除和查找的功能??蛻舳伺c服務(wù)端的數(shù)據(jù)交互如圖6所示,客戶端與安全機模塊的數(shù)據(jù)交互如圖7所示。

        圖6 客戶端與服務(wù)端數(shù)據(jù)交互圖

        圖7 客戶端與安全機模塊的數(shù)據(jù)交互圖

        3 實驗結(jié)果分析

        論文的實驗測試環(huán)境為Win7版本以上的系統(tǒng),測試中我們?nèi)_計算機分別代表了客戶端、服務(wù)端、安全機模塊。由于篇幅問題,這里顯示部分實驗結(jié)果。

        (1)客戶端下載軟件,非合法用戶在軟件服務(wù)端的官網(wǎng)上提交MAC失敗。如圖8所示。

        (2)若用戶填寫了錯誤的注冊碼,或者直接利用別人的注冊碼存放到自己的計算機中,會提示用戶驗證失敗。如圖9、10、11所示。

        圖8 沒有驗證無法打開軟件圖9 與自己的MAC匹配的注冊碼圖10 與自己的MAC不匹配的注冊碼

        (3)客戶端下載軟件,合法用戶提交MAC成功。如圖12所示。

        圖11客戶打開軟件失敗

        圖12合法用戶提交MAC成功

        (4)軟件服務(wù)端獲取MAC地址,存放數(shù)據(jù)庫,并對其進行RSA加密,發(fā)送給安全注冊機。如圖13、14所示。

        安全性分析:

        (1)服務(wù)端與安全機模塊之間的通信使用公鑰密碼機制,使得攻擊者在不知道私鑰的情況下,無法對密文進行解密,也無法偽造簽名。從而滿足了信息傳輸?shù)谋C苄?、不可偽造性?/p>

        (2)當(dāng)用戶通過身份驗證的流程后,使用用戶信息及其所使用的主機的硬件機器碼產(chǎn)生安全碼。當(dāng)用戶試圖在其它機器上使用該安全碼運行軟件,則驗證程序顯示硬件機器碼有誤。從而保證了軟件在授權(quán)用戶機器上安裝后具有不可移植性。

        圖13 MAC地址加密

        圖14 軟件服務(wù)端發(fā)送加密信息給安全注冊機

        4 結(jié)束語

        論文通過用戶身份認證、主機硬件驗證、軟件設(shè)置權(quán)限三種機制實現(xiàn)了對軟件的彈性保護。模型實現(xiàn)了合法用戶、軟件服務(wù)商和安全機模塊之間的安全通信,在不改變軟件服務(wù)端任何結(jié)構(gòu)情況下,采用標(biāo)簽方式增加了對軟件的狀態(tài)設(shè)置,從而為軟件實現(xiàn)彈性保護機制提供可能。通信過程中通過密碼技術(shù)及權(quán)限管理思想實現(xiàn)了軟件服務(wù)商及用戶雙方的利益保護,同時解決了軟件保護與權(quán)限管理兩大問題。

        [1] 張玉剛. 一種加密軟件注冊碼的研究及實現(xiàn)[D].北京:北京郵電大學(xué)研究生院, 2009.

        [2] 孫永清, 顧雨捷, 趙戈. 基于動態(tài)安全碼的軟件加密保護[J]. 計算機工程, 2007, 33(12):183-184.

        [3] 莊春興, 劉淵. 利用DES算法實現(xiàn)軟件加密的方法[J]. 計算機與現(xiàn)代化, 2002(6):21-23.

        [4] 周書鋒, 孫玉真. 基于RSA數(shù)字簽名的軟件保護方案[J]. 計算機應(yīng)用與軟件, 2008, 25(3):35-37.

        [5] 王紅珍, 張根耀, 李竹林. 公鑰密碼體制RSA算法[J]. 信息技術(shù), 2011(8):34-36.

        [6] 莫翾晟, 林和, 蔡萬景,等. 基于RSA算法與自修改機制的軟件保護[C].中國可信計算與信息安全學(xué)術(shù)會議,2006.

        [7] 何定華. 基于CPU序列號和加密技術(shù)的軟件注冊機[J]. 科技導(dǎo)報, 2012, 30(2):36-38.

        [8] 季曉玉. 基于Rijndael對稱加密的軟件加密方法研究[J]. 計算機安全, 2011(2):53-55.

        ASoftwareProtectionModelBasedonElasticProtectionMechanism

        WANG Cai-mei1, LIU Wen-jie2

        (1. Department of Computer Science and Technology, Hefei University, Hefei 230601;2. Sinovate Software Co., Ltd,University of Science and Technology of China ,Hefei 230088,China)

        From the benefit of software service providers and users, a software protection model based on elastic protection mechanism is presented. On the one hand, the model enables the software service providers to protect the software, through a security module to provide the registration code for legitimate users. On the other hand, legitimate users can through digital signature technology to improve their interest.The model realizes the flexible protection of the software by three mechanisms: user identity authentication, verification of the host hardware, mechanism of permission setting for software. The elastic model is divided into four modules: the client software module, server module, security module, database module. The experimental results show that the model can solve the problem of software protection and authority management between service providers and users simultaneously.

        flexible protection;security module;identity authentication;permission setting

        2017-06-14

        2017-09-10

        安徽高校自然科學(xué)研究重點項目 (KJ2015A257),安徽省教育廳高校優(yōu)青人才支持計劃項目 (gxyq2017066),安徽省重點研究與開發(fā)計劃面上科技攻關(guān)項目 (1704a0902034),安徽高校自然科學(xué)研究重點項目 (KJ2015A229) 資助。

        汪彩梅(1978— ),女,安徽桐城人,合肥學(xué)院計算機科學(xué)與技術(shù)系講師;研究方向:信息安全、可信計算、形式化驗證。

        TP309

        A

        2096-2371(2017)05-0084-05

        [責(zé)任編輯:張永軍]

        猜你喜歡
        服務(wù)端公鑰客戶端
        一種基于混沌的公鑰加密方案
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        在Windows Server 2008上創(chuàng)建應(yīng)用
        HES:一種更小公鑰的同態(tài)加密算法
        SM2橢圓曲線公鑰密碼算法綜述
        基于格的公鑰加密與證書基加密
        国产一区二区资源在线观看| 免费国产h视频在线观看86| 国产不卡一区在线视频| 天堂免费av在线播放| 少妇愉情理伦片丰满丰满| 摸进她的内裤里疯狂揉她动视频 | 精品亚洲aⅴ在线观看| 黄色录像成人播放免费99网| 亚洲三级香港三级久久| 日日噜噜夜夜狠狠va视频v| 人妻少妇被猛烈进入中文字幕| 久久天堂av色综合| 亚洲一区在线二区三区| 欧美性生交活xxxxxdddd | 女同国产日韩精品在线| 亚洲精品一品区二品区三区| 国产午夜精品一区二区三区| 久久综合色鬼| 亚洲国产都市一区二区| 午夜视频在线观看视频在线播放| 天天燥日日燥| 国产免费网站看v片元遮挡| 久久国产女同一区二区| 久久久久久人妻无码| 国产专区国产av| 尤物蜜芽福利国产污在线观看| 免费在线国产不卡视频| 亚洲精品www久久久久久| 日本一区不卡在线| 国产一区二区三区蜜桃av| 日本久久伊人特级黄色| 品色永久免费| 亚洲精品成人网线在线播放va| 中文字幕一区二三区麻豆| 亚洲国产精品无码专区| 一区二区三区日韩亚洲中文视频| 亚洲av毛片一区二区久久| 久久久亚洲欧洲日产国码二区| 无码国产精品一区二区vr老人| 蜜桃av无码免费看永久| 国产av精品麻豆网址|