一種基于u盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法
【專利摘要】本發(fā)明提供一種基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法,包括:權(quán)限管理模塊根據(jù)Windows接口函數(shù)提取與所述權(quán)限管理模塊連接的U盤的物理序列號(hào);所述權(quán)限管理模塊解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,并核對(duì)所述加密授權(quán)文件中的驗(yàn)證物理序列號(hào)是否與所述U盤的物理序列號(hào)一致;若是,則授權(quán)管理數(shù)控系統(tǒng),若否,則不授權(quán)管理所述數(shù)控系統(tǒng),所述加密授權(quán)文件包括:驗(yàn)證物理序列號(hào)、用戶標(biāo)識(shí)、單位標(biāo)識(shí)、授權(quán)期限以及授權(quán)級(jí)別。本發(fā)明使用通用U盤,不增加額外的硬件成本,可以有效改進(jìn)現(xiàn)有數(shù)控系統(tǒng)權(quán)限管理方法的不足。
【專利說明】
一種基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及數(shù)控系統(tǒng)權(quán)限管理領(lǐng)域,尤其涉及一種基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法。
【背景技術(shù)】
[0002]數(shù)控系統(tǒng)在控制機(jī)床進(jìn)行運(yùn)動(dòng)的過程中需要用到許多由數(shù)控系統(tǒng)進(jìn)行管理的程序、數(shù)據(jù)或參數(shù),如加工程序、內(nèi)部循環(huán)變量、坐標(biāo)系數(shù)據(jù)、刀具參數(shù)、機(jī)床參數(shù)等,這些數(shù)據(jù)需要允許機(jī)床調(diào)試人員或者操作者根據(jù)實(shí)際情況和需要進(jìn)行修改。由于這些程序、數(shù)據(jù)或參數(shù)對(duì)機(jī)床運(yùn)行有著重要的影響,一旦修改不當(dāng)就可能造成如加工零件或刀具報(bào)廢、機(jī)床撞機(jī)、人身傷害等重大事故,同時(shí)由于某些程序或數(shù)據(jù)還可能涉及到某些商業(yè)秘密,所以數(shù)控系統(tǒng)對(duì)這些程序、數(shù)據(jù)或參數(shù)的查看和修改權(quán)限的保護(hù)一直是數(shù)控系統(tǒng)安全管理的重點(diǎn)問題,普通操作者應(yīng)只具備一些基本的操作權(quán)限,數(shù)控系統(tǒng)需要可靠地保證某些數(shù)據(jù)只允許具有特定權(quán)限的人員查看或修改。
[0003]對(duì)于這一問題目前普遍采用的解決辦法是為數(shù)控系統(tǒng)的調(diào)試人員和操作者分別發(fā)布具有不同的權(quán)限密碼,或者基于此種方法的改進(jìn)方案,如允許創(chuàng)建多個(gè)操作賬號(hào)和密碼并且允許修改密碼,但是這類方案目前都有如下弊端:密碼輸入不便。簡(jiǎn)單的密碼容易泄露、而復(fù)雜的密碼輸入繁瑣,容易泄露。密碼如果發(fā)生泄露也不易被發(fā)現(xiàn)或察覺,有可能持續(xù)的泄露某些秘密或留有安全隱患。如果因?yàn)槊艽a泄露等原因需要修改密碼,由于機(jī)床工作的車間一般不具備聯(lián)網(wǎng)條件,所以即便是同一廠商的同種型號(hào)數(shù)控系統(tǒng),如果需要修改密碼也需要逐臺(tái)進(jìn)行手工修改。對(duì)于調(diào)試人員一人需要維護(hù)多臺(tái)設(shè)備則顯得非常麻煩。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法,以克服上述技術(shù)問題。
[0005]本發(fā)明基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法,包括:
[0006]權(quán)限管理模塊根據(jù)Windows接口函數(shù)提取與所述權(quán)限管理模塊連接的U盤的物理序列號(hào);
[0007]所述權(quán)限管理模塊解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,并核對(duì)所述加密授權(quán)文件中的驗(yàn)證物理序列號(hào)是否與所述U盤的物理序列號(hào)一致;若是,則授權(quán)管理數(shù)控系統(tǒng),若否,則不授權(quán)管理所述數(shù)控系統(tǒng),所述加密授權(quán)文件包括:驗(yàn)證物理序列號(hào)、用戶標(biāo)識(shí)、單位標(biāo)識(shí)、授權(quán)期限以及授權(quán)級(jí)別。
[0008]進(jìn)一步地,所述權(quán)限管理模塊根據(jù)Windows接口函數(shù)提取與所述權(quán)限管理模塊連接的U盤的物理序列號(hào)之前,還包括:
[0009]授權(quán)模塊將加密授權(quán)文件寫入所述U盤。
[0010]進(jìn)一步地,所述授權(quán)模塊將加密授權(quán)文件寫入所述U盤,包括:
[0011 ]授權(quán)模塊初始化緩沖區(qū)所有字節(jié)為隨機(jī)數(shù);
[0012]所述授權(quán)模塊將加密授權(quán)文件從任意偏移位置寫入所述緩沖區(qū);
[0013]所述授權(quán)模塊將所述緩沖區(qū)每個(gè)字節(jié)按位取反;
[0014]所述授權(quán)模塊將所述緩沖區(qū)寫入U(xiǎn)盤。
[0015]進(jìn)一步地,所述提取所述U盤的物理序列號(hào),包括:
[0016]權(quán)限管理模塊根據(jù)Windows接口函數(shù)枚舉本地盤符;
[0017]所述權(quán)限管理模塊根據(jù)所述本地盤符對(duì)應(yīng)的磁盤類型確定U盤名稱;
[0018]所述權(quán)限管理模塊根據(jù)注冊(cè)表查找所述U盤名稱對(duì)應(yīng)的注冊(cè)表鍵值;
[0019]所述權(quán)限管理模塊根據(jù)所述注冊(cè)表鍵值獲取所述U盤的物理序列號(hào)。
[0020]進(jìn)一步地,所述解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,包括:
[0021 ]權(quán)限管理模塊讀取所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件;
[0022]所述權(quán)限管理模塊將加密授權(quán)文件每個(gè)字節(jié)按位取反。
[0023]本發(fā)明采用U盤物理序列號(hào)作為key,然后用U盤物理序列號(hào)與授權(quán)信息包括驗(yàn)證物理序列號(hào)、用戶標(biāo)識(shí)、單位標(biāo)識(shí)、授權(quán)期限以及權(quán)限級(jí)別,生成授權(quán)文件存儲(chǔ)于U盤內(nèi)部,為了確保授權(quán)信息不被破解,授權(quán)文件需要進(jìn)行加密存儲(chǔ)。由于每個(gè)U盤物理序列號(hào)是互不相同且不能夠被修改的,并且授權(quán)文件中存儲(chǔ)了 U盤物理序列號(hào),所以保證了授權(quán)的唯一性和驗(yàn)證的可靠性。
【附圖說明】
[0024]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0025]圖1為本發(fā)明基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法流程圖;
[0026]圖2為本發(fā)明提取U盤物理序列號(hào)流程圖;
[0027]圖3為本發(fā)明加密授權(quán)文件寫入U(xiǎn)盤流程圖。
【具體實(shí)施方式】
[0028]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0029]圖1為本發(fā)明基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法流程圖,本實(shí)施例方法,包括:
[0030]步驟101、權(quán)限管理模塊根據(jù)Windows接口函數(shù)提取與所述權(quán)限管理模塊連接的U盤的物理序列號(hào);
[0031]步驟102、所述權(quán)限管理模塊解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,并核對(duì)所述加密授權(quán)文件中的驗(yàn)證物理序列號(hào)是否與所述U盤的物理序列號(hào)一致;若是,則授權(quán)管理數(shù)控系統(tǒng),若否,則不授權(quán)管理所述數(shù)控系統(tǒng),所述加密授權(quán)文件包括:驗(yàn)證物理序列號(hào)、用戶標(biāo)識(shí)、單位標(biāo)識(shí)、授權(quán)期限以及授權(quán)級(jí)別。
[0032]具體來說,權(quán)限管理模塊監(jiān)視U盤插拔。監(jiān)視U盤插拔的模塊需要集成在數(shù)控系統(tǒng)軟件的權(quán)限驗(yàn)證部分,需要首先創(chuàng)建一個(gè)隱藏的窗口用于接收Windows消息,每當(dāng)有U盤插入或者拔出時(shí)該窗口將接收到WM_DEVICECHANGE消息。數(shù)控系統(tǒng)軟件操作權(quán)限檢查。數(shù)控系統(tǒng)軟件中執(zhí)行涉及安全或保密的操作之前需要先調(diào)用權(quán)限驗(yàn)證模塊的接口檢查當(dāng)前的授權(quán)權(quán)限是否滿足。使用的授權(quán)U盤為普通U盤,可以用作數(shù)控拷貝程序或者備份數(shù)據(jù)的多種用途。
[0033]進(jìn)一步地,所述提取所述U盤的物理序列號(hào),包括:
[0034]權(quán)限管理模塊根據(jù)Windows接口函數(shù)枚舉本地盤符;
[0035]所述權(quán)限管理模塊根據(jù)所述本地盤符對(duì)應(yīng)的磁盤類型確定U盤名稱;
[0036]所述權(quán)限管理模塊根據(jù)注冊(cè)表查找所述U盤名稱對(duì)應(yīng)的注冊(cè)表鍵值;
[0037]所述權(quán)限管理模塊根據(jù)所述注冊(cè)表鍵值獲取所述U盤的物理序列號(hào)。
[0038]具體來說,如圖2所示,權(quán)限管理模塊讀取U盤物理序列號(hào)首先需要通過GetLogicalDriveStrings函數(shù)枚舉出所有本地盤符,然后通過GetDriveType判斷每個(gè)盤符的磁盤類型,只有類型為DRIVE_REMOVABLE才是U盤的盤符(需要先排除軟盤的盤符A:和B:),然后在使用注冊(cè)表查找 API 在 “HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices” 路徑下查找\D0sDevices\a符對(duì)應(yīng)的注冊(cè)表鍵值,然后過濾無用信息得到U盤的物理序列號(hào)。
[0039]本實(shí)施例中授權(quán)模塊對(duì)于加密授權(quán)文件的加密過程為:
[0040]授權(quán)模塊初始化緩沖區(qū)所有字節(jié)為隨機(jī)數(shù);
[0041 ]所述授權(quán)模塊將加密授權(quán)文件從任意偏移位置寫入所述緩沖區(qū);
[0042]所述授權(quán)模塊將所述緩沖區(qū)每個(gè)字節(jié)按位取反;
[0043 ]所述授權(quán)模塊將所述緩沖區(qū)寫入U(xiǎn)盤。
[0044]授權(quán)模塊解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,包括:
[0045]權(quán)限管理模塊讀取所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件;
[0046]所述權(quán)限管理模塊將加密授權(quán)文件每個(gè)字節(jié)按位取反。
[0047]具體來說,存儲(chǔ)授權(quán)文件的加密解密方法。授權(quán)文件需要定義為固定大小的緩沖區(qū)(比如4096字節(jié)),然后首先將緩沖區(qū)所有字節(jié)都初始化為隨機(jī)數(shù),然后將授權(quán)信息的明文從某個(gè)偏移位置(比如1024)寫入緩沖區(qū),然后將整個(gè)緩沖區(qū)每字節(jié)按位取反,最后將緩沖區(qū)寫入U(xiǎn)盤。此加密方法實(shí)現(xiàn)簡(jiǎn)單且能夠保證不會(huì)被輕易破解,此過程的逆向過程即為解密方法。如圖3所示。
[0048]本發(fā)明的技術(shù)方案:發(fā)布授權(quán)時(shí)使用WindowsAPI查詢U盤的物理序列號(hào),然后結(jié)合授權(quán)信息生成授權(quán)文件并加密存儲(chǔ)于對(duì)應(yīng)U盤;權(quán)限驗(yàn)證時(shí)檢查授權(quán)信息文件和U盤物理序列號(hào)是否匹配以及授權(quán)有效期限和權(quán)限等級(jí)問題。
[0049]本發(fā)明具有如下優(yōu)點(diǎn):
[0050]1、使用方便。插入U(xiǎn)盤即可自動(dòng)識(shí)別授權(quán),拔出U盤授權(quán)即刻失效,直觀簡(jiǎn)便,不存在泄漏問題。
[0051]2、無額外硬件成本。采用的U盤和USB接口都是通用硬件,沒有額外的硬件成本。
[0052]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【主權(quán)項(xiàng)】
1.一種基于U盤物理序列號(hào)的數(shù)控系統(tǒng)權(quán)限管理方法,其特征在于,包括:權(quán)限管理模塊根據(jù)Windows接口函數(shù)提取與所述權(quán)限管理模塊連接的U盤的物理序列號(hào); 所述權(quán)限管理模塊解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,并核對(duì)所述加密授權(quán)文件中的驗(yàn)證物理序列號(hào)是否與所述U盤的物理序列號(hào)一致;若是,則授權(quán)管理數(shù)控系統(tǒng),若否,則不授權(quán)管理所述數(shù)控系統(tǒng),所述加密授權(quán)文件包括:驗(yàn)證物理序列號(hào)、用戶標(biāo)識(shí)、單位標(biāo)識(shí)、授權(quán)期限以及授權(quán)級(jí)別。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述權(quán)限管理模塊根據(jù)Windows接口函數(shù)提取與所述權(quán)限管理模塊連接的U盤的物理序列號(hào)之前,還包括: 授權(quán)模塊將加密授權(quán)文件寫入所述U盤。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述授權(quán)模塊將加密授權(quán)文件寫入所述U盤,包括: 授權(quán)模塊初始化緩沖區(qū)所有字節(jié)為隨機(jī)數(shù); 所述授權(quán)模塊將加密授權(quán)文件從任意偏移位置寫入所述緩沖區(qū); 所述授權(quán)模塊將所述緩沖區(qū)每個(gè)字節(jié)按位取反; 所述授權(quán)模塊將所述緩沖區(qū)寫入U(xiǎn)盤。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述提取所述U盤的物理序列號(hào),包括: 權(quán)限管理模塊根據(jù)Windows接口函數(shù)枚舉本地盤符; 所述權(quán)限管理模塊根據(jù)所述本地盤符對(duì)應(yīng)的磁盤類型確定U盤名稱; 所述權(quán)限管理模塊根據(jù)注冊(cè)表查找所述U盤名稱對(duì)應(yīng)的注冊(cè)表鍵值; 所述權(quán)限管理模塊根據(jù)所述注冊(cè)表鍵值獲取所述U盤的物理序列號(hào)。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述解密所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件,包括: 權(quán)限管理模塊讀取所述U盤內(nèi)存儲(chǔ)的加密授權(quán)文件; 所述權(quán)限管理模塊將加密授權(quán)文件每個(gè)字節(jié)按位取反。
【文檔編號(hào)】G06F21/34GK105871558SQ201610369422
【公開日】2016年8月17日
【申請(qǐng)日】2016年5月30日
【發(fā)明人】林猛, 董大鵬, 劉沛, 程浩, 蔣文彬
【申請(qǐng)人】科德數(shù)控股份有限公司