專利名稱:基于網(wǎng)碼的商品防偽系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種商品防偽系統(tǒng),涉及密碼學(xué),cti(電信與計(jì)算機(jī)集成),中間件,數(shù)據(jù)庫(kù)系統(tǒng)等領(lǐng)域,具體地說(shuō)是一種基于網(wǎng)碼的商品防偽系統(tǒng)。
背景技術(shù):
目前已有的防偽技術(shù)有激光標(biāo)貼,熒光油墨,溫變油墨,隱形標(biāo)志等。這些技術(shù)都屬于第一代防偽技術(shù),具有以下缺點(diǎn)1 利用某種特定技術(shù)或材料將防偽信息制作到防偽標(biāo)識(shí)物上,每類標(biāo)識(shí)物的防偽信息均相同,防偽標(biāo)識(shí)物與商品沒(méi)有一一對(duì)應(yīng)關(guān)系。
2 只要采集到的防偽標(biāo)識(shí)樣本,或者獲得制造設(shè)備、工藝及材料即可批量仿制。
3 要準(zhǔn)確鑒別出防偽標(biāo)識(shí)的真?zhèn)?,需要專業(yè)人員的儀器,普通消費(fèi)者很難鑒別。
第二代防偽技術(shù)采用以計(jì)算機(jī)結(jié)合網(wǎng)絡(luò)技術(shù)(身份碼識(shí)別技術(shù)(及常見(jiàn)的電碼防偽))的手段,如中國(guó)專利98112924.2《計(jì)算機(jī)網(wǎng)絡(luò)商品防偽系統(tǒng)》、中國(guó)專利99125163.6《商品防偽方法和商品防偽系統(tǒng)》等,其技術(shù)手段大都是利用計(jì)算機(jī)為生產(chǎn)企業(yè)的產(chǎn)品提供商品根碼(身份碼),通過(guò)加密處理得到商品子碼,并通過(guò)載體附于商品上,由消費(fèi)者根據(jù)所購(gòu)買的商品通過(guò)信息傳媒與生產(chǎn)企業(yè)溝通(電話查詢身份碼),辨別所購(gòu)買商品的真?zhèn)?。由于各企業(yè)所生產(chǎn)的商品不同,提供商品的碼也不同,使消費(fèi)者很難分清,同時(shí),這些不規(guī)則的編碼的防偽效果差,也不安全。這種防偽存在著以下缺點(diǎn)防偽查詢手段單一,查詢電話費(fèi)用高昂,給消費(fèi)者帶來(lái)大量不方便。
發(fā)明內(nèi)容
根據(jù)上述現(xiàn)有技術(shù)部分存在的缺陷,本發(fā)明的目的是提供一種安全性高、便于查詢、使用可靠、技術(shù)先進(jìn)的基于網(wǎng)碼的商品防偽系統(tǒng)。
本發(fā)明采用的技術(shù)方案是該系統(tǒng)采用模塊化結(jié)構(gòu),部件之間接口互聯(lián),包括一個(gè)web查詢服務(wù)器1,web查詢服務(wù)器1設(shè)置有防火墻2,通過(guò)防火墻2與INTERNET連通;一個(gè)電話查詢服務(wù)器3,電話查詢服務(wù)器3通過(guò)電話線4與通訊網(wǎng)連通;一個(gè)交換機(jī)5;
一個(gè)數(shù)據(jù)服務(wù)器6;其特點(diǎn)是web查詢服務(wù)器1、電話查詢服務(wù)器3、數(shù)據(jù)服務(wù)器6與交換機(jī)5互連,作為查詢支持硬件平臺(tái)。
網(wǎng)碼長(zhǎng)度為20位;采用中間件作為加密、解密核心件;采用ISAPIQuery Components作為支持WEB防偽查詢的核心軟件;采用運(yùn)行在統(tǒng)一消息平臺(tái)上的程序作為支持電話防偽查詢的核心軟件。
中間件,是在計(jì)算機(jī)硬件和操作系統(tǒng)之上,支持應(yīng)用開(kāi)發(fā)和運(yùn)行的軟件,它能夠使應(yīng)用系統(tǒng)相對(duì)獨(dú)立于計(jì)算機(jī)硬件和操作系統(tǒng)平臺(tái),具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可以實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作,是一個(gè)用API定義的分布式軟件管理框架,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。
中間件封裝了以下功能函數(shù)(1)驗(yàn)證網(wǎng)碼真假的庫(kù)函數(shù);(2)支持cti平臺(tái)的網(wǎng)碼真假驗(yàn)證庫(kù)函數(shù);(3)批加密庫(kù)函數(shù);(4)有效原文加密庫(kù)函數(shù);(5)密文解密庫(kù)函數(shù)。
本發(fā)明的其他特點(diǎn)是加密是將14位純數(shù)字組成的產(chǎn)品碼編碼進(jìn)行加密為20位純數(shù)字串構(gòu)成的防偽碼,所述解密是將20位純數(shù)字串構(gòu)成的防偽碼解密為14位純數(shù)字串。
驗(yàn)證網(wǎng)碼真假的庫(kù)函數(shù)形式為接口描述函數(shù)形式char*query參數(shù)為char strPswordID,char sServerName,char sDBName,char*sUserID,char*sPasswwrd,char*sFilePaths驗(yàn)證、查詢結(jié)束后,將查詢結(jié)果返回若查詢成功,則返回結(jié)果為26位有效字符串,構(gòu)成形式如下前4位是查詢結(jié)果,格式為XXXX,其中XXXX的值域?yàn)?000--9999,0000中的第4個(gè)0表示輸入的防偽碼不存在,即次數(shù)為0,0004表示查詢過(guò)4次,依次類推,最多查詢次數(shù)為9999次;從第5位到第12位為查詢時(shí)間,若時(shí)間的格式為“年、月、日”如20000713;后14位為網(wǎng)碼所對(duì)應(yīng)的明文;否則返回如下信息字符串
“-3”表示找不到文件的路徑,此時(shí),SinOutParam的值為FileNoFound12345678900987654321;“-2”表示輸入的防偽號(hào)碼不足20位,sInOutParam為原傳入的值;“-1”表示輸入的防偽號(hào)碼長(zhǎng)度超過(guò)了20位,sInOutParam為原傳入的值;“0”表示數(shù)庫(kù)異常信息,如數(shù)據(jù)庫(kù)信息設(shè)置錯(cuò)誤;支持cti平臺(tái)的網(wǎng)碼真假驗(yàn)證庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”UINTPASCAL EXPORT ScePUERY參數(shù)為L(zhǎng)PVOIDpNoUse,char*sInOutParam;執(zhí)行查詢完后,若查詢成功將把查詢的結(jié)果又填入sInOutParam;查詢返回結(jié)果和sInOutParam值類型信息如下-3表示找不到密文件的路徑,此時(shí),sInOutParam的值為FileNoFound12345678900987654321;-2表示輸入的防偽號(hào)碼不足20位,sInOutParam為原傳入的的值;-1表示輸入的防偽號(hào)碼長(zhǎng)度超過(guò)了20位,sInOutParam為原傳入的值;0表示數(shù)據(jù)庫(kù)異常信息、,如數(shù)據(jù)庫(kù)信息設(shè)置錯(cuò)誤;1表示查詢結(jié)果合法;批加密庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”char*_stdcall BatchEncryption參數(shù)為char*sBatchID,char*sStartID,char*sEndID,intnBatchcount,char*sFileLocationnBatchCount對(duì)應(yīng)開(kāi)該商品編號(hào)和批號(hào)的加密批次,有效值范圍1,----9999,即同類商品最多可加密9999次;sFileLocation批加密文件的路徑。
SStartID,sStartID,sEndID均為定長(zhǎng)字符串,不足特定的位數(shù)均按異常處理并給出異常信息。
函數(shù)返回完成加密后返回18位長(zhǎng)的數(shù)字字符串,其中18位字符串的構(gòu)成為4位廠商編號(hào),2位產(chǎn)品種類位日期,4位批次。當(dāng)批次不足4位時(shí),在批次前補(bǔ)零直至夠4位。
有效原文加密庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”CHAR*_stdcall Encryptidon
參數(shù)為char*strOrigText原文長(zhǎng)度超過(guò)20位返回字符指針“-2”;原文長(zhǎng)度不足20位返回字符指針“-1”;合法原文返回結(jié)果為20位數(shù)字字符串,即密文;密文解密庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”char*_stdcallDecryption參數(shù)為char*strPswdText密文長(zhǎng)度超過(guò)20位返回字符串指針“-2”;密文長(zhǎng)度不足20位返回字符串指針“-1”;合法密文函數(shù)返回結(jié)果為14位有效字符串,即明文。
ISAPI Query Components是一種與操作系統(tǒng)http服務(wù)無(wú)縫集成的軟件,支持多線程執(zhí)行查詢效率高;內(nèi)置數(shù)據(jù)包過(guò)濾,3DS身份認(rèn)證,安全方便;支持遠(yuǎn)程過(guò)程調(diào)用(RPC),在異構(gòu)系統(tǒng)中,升級(jí),移植方便;ISAPI Query Components包含以下功能對(duì)組件所有者的進(jìn)行身份驗(yàn)證,首先確認(rèn)數(shù)據(jù)包的發(fā)送者可以信任;再對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,刪除惡意用戶或黑客的攻擊;從數(shù)據(jù)包中分離出網(wǎng)碼,分析該網(wǎng)碼符合查詢規(guī)則與否;調(diào)用中間件的“驗(yàn)證web查詢的網(wǎng)碼真假“庫(kù)函數(shù),根據(jù)函數(shù)返回值,將查詢結(jié)果通過(guò)web返回給客戶端瀏覽器;顯示給用戶;記錄查詢?nèi)罩尽?br>
統(tǒng)一消息平臺(tái)上的程序是將語(yǔ)音與數(shù)據(jù)集成在一個(gè)綜合系統(tǒng)中,通過(guò)系統(tǒng)軟件的支持,在該平臺(tái)上可以實(shí)現(xiàn)電話,手機(jī),短消息,郵件等設(shè)備的防偽查詢。使用戶防偽查詢更靈活,更方便。
該軟件包含以下功能ACD(自動(dòng)資源分配),IVR(自動(dòng)語(yǔ)音應(yīng)答),人工座席服務(wù),轉(zhuǎn)撥打假熱線,自動(dòng)查詢功能,SCE(業(yè)務(wù)定制環(huán)境)。利用定制的業(yè)務(wù)流程可以實(shí)現(xiàn)防偽查詢,記錄日志,語(yǔ)音應(yīng)答,資源分配等功能。
加密的規(guī)則是(1)給定一個(gè)長(zhǎng)位20位的位置,將14位的數(shù)字經(jīng)過(guò)加密后使其成為20位的數(shù)字;(2)將定的14位數(shù)字分成前6位的批號(hào)位和后8位的編號(hào)位,然后分別獨(dú)立加密,使14位原文經(jīng)加密后存放于給定的20位長(zhǎng)餓位置中;(3)加密時(shí),先指定編號(hào)隨機(jī)位、批號(hào)隨機(jī)位和校驗(yàn)為;(4)批號(hào)隨機(jī)位和編號(hào)隨機(jī)位上存放隨機(jī)生成的0-9之間的一個(gè)數(shù)字,校驗(yàn)位存放前19位數(shù)字之和的個(gè)位數(shù)字;(5)由批號(hào)隨機(jī)位和編號(hào)隨機(jī)位決定加密的起始位置、批號(hào)和編號(hào)的字段長(zhǎng)位置;(6)移位規(guī)則遵循數(shù)字位置分配方法,分別分配批號(hào)和分配編號(hào);(7)當(dāng)14位數(shù)字已排好后,預(yù)留第4、8、15位,用隨機(jī)數(shù)填充最后剩余的3個(gè)空余位置;(8)通過(guò)建立0-9之間的一一映射表,將排好序的20位有效數(shù)字進(jìn)行函數(shù)映射,由此得到的20位數(shù)字即為最后的密文。
解密的規(guī)則是(1)依密碼將密文還原成加密排序結(jié)束狀態(tài);(2)讀取還原后的第4位和第15位即獲得密鑰;(3)根據(jù)有序數(shù)對(duì)第4位和第15位翻譯;(4)按照邏輯次序?qū)⒚芪倪€原成明文。
本發(fā)明采用的網(wǎng)碼設(shè)計(jì)長(zhǎng)度為20位,每個(gè)入網(wǎng)企業(yè)的可用網(wǎng)碼量為1億億,利用數(shù)據(jù)庫(kù)管理。網(wǎng)碼生成采用自主開(kāi)發(fā)的加密方法,可靠,穩(wěn)定,采用統(tǒng)一消息平臺(tái)作為查詢支持平臺(tái),以中間件技術(shù)作為加解密核心,有效的解決了安全,負(fù)載均衡,跨操作平臺(tái)的問(wèn)題,整個(gè)系統(tǒng)采用模塊化結(jié)構(gòu),各功能部件之間接口明晰,系統(tǒng)易于升級(jí)。
四
圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)圖。
五具體實(shí)施例方式
參見(jiàn)圖1,本發(fā)明的基于網(wǎng)碼的商品防偽系統(tǒng)采用模塊化結(jié)構(gòu),部件之間接口互聯(lián),包括一個(gè)web查詢服務(wù)器1,web查詢服務(wù)器1設(shè)置有防火墻2,通過(guò)防火墻2與INTERNET連通;一個(gè)電話查詢服務(wù)器3,電話查詢服務(wù)器3通過(guò)電話線4與通訊網(wǎng)連通;一個(gè)交換機(jī)5;一個(gè)數(shù)據(jù)服務(wù)器6;web查詢服務(wù)器1、電話查詢服務(wù)器3、數(shù)據(jù)服務(wù)器6與交換機(jī)5互連,作為查詢支持平臺(tái)。
網(wǎng)碼長(zhǎng)度為20位。
采用中間件作為加密、解密核心件。
采用ISAPIQueryComponents作為支持WEB防偽查詢的核心軟件。
采用運(yùn)行在統(tǒng)一消息平臺(tái)上的程序作為支持電話防偽查詢的核心軟件。
中間件,是在計(jì)算機(jī)硬件和操作系統(tǒng)之上,支持應(yīng)用開(kāi)發(fā)和運(yùn)行的系統(tǒng)軟件,它能夠使應(yīng)用系統(tǒng)相對(duì)獨(dú)立于計(jì)算機(jī)硬件和操作系統(tǒng)平臺(tái),具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可以實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作,是一個(gè)用API定義的分布式軟件管理框架,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。
中間件封裝了以下功能函數(shù)(1)驗(yàn)證網(wǎng)碼真假的庫(kù)函數(shù);(2)支持cti平臺(tái)的網(wǎng)碼真假驗(yàn)證庫(kù)函數(shù);(3)批加密庫(kù)函數(shù);(4)有效原文加密庫(kù)函數(shù);(5)密文解密庫(kù)函數(shù)。
ISAPI Query Components是一種與操作系統(tǒng)http服務(wù)無(wú)縫集成的軟件,支持多線程,執(zhí)行查詢效率高;內(nèi)置數(shù)據(jù)包過(guò)濾,3DS身份認(rèn)證,安全方便;支持遠(yuǎn)程過(guò)程調(diào)用(RPC),在異構(gòu)系統(tǒng)中,升級(jí),移植方便;統(tǒng)一消息平臺(tái)上的程序是將語(yǔ)音與數(shù)據(jù)集成在一個(gè)綜合系統(tǒng)中,通過(guò)系統(tǒng)軟件的支持,在該平臺(tái)上可以實(shí)現(xiàn)電話,手機(jī),短消息,郵件等設(shè)備的防偽查詢。使用戶防偽查詢更靈活,更方便。
本系統(tǒng)實(shí)現(xiàn)的防偽流程采用現(xiàn)代信息編碼發(fā)式有計(jì)算機(jī)生成防偽身份碼,然后分二個(gè)渠道一個(gè)進(jìn)入專用數(shù)據(jù)庫(kù)保存,另一個(gè)進(jìn)入特種印刷廠印成標(biāo)簽后粘貼在產(chǎn)品的包裝物上。產(chǎn)品進(jìn)入市場(chǎng)后消費(fèi)者通過(guò)上網(wǎng)電話進(jìn)行查詢,由系統(tǒng)進(jìn)行識(shí)別校對(duì),并用文字或語(yǔ)音提示,幫助消費(fèi)者確認(rèn)產(chǎn)品真假。
防偽身份碼記錄了被保護(hù)產(chǎn)品的相關(guān)信息,具有唯一性,一次使用性和綜合防偽的功能。任何人在任何地方,只要撥通指定查詢電話(8008409315)或通過(guò)互聯(lián)網(wǎng)(http//www.e-fence.com.cn),按電話語(yǔ)音提示(或互聯(lián)網(wǎng)網(wǎng)頁(yè)上的提示)輸入防偽標(biāo)識(shí)上的防偽身份碼,中心數(shù)據(jù)庫(kù)的計(jì)算機(jī)驗(yàn)證系統(tǒng)將所輸入的防偽查詢碼經(jīng)過(guò)解密處理后,再與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比較,就可得到以下三種結(jié)果A.如果您輸入的防偽身份碼,在一方的中心數(shù)據(jù)庫(kù)存在,并且是首次查詢?cè)诨ミB網(wǎng)上查詢時(shí)查詢結(jié)果顯示您查詢的是正牌產(chǎn)品,單擊結(jié)果頁(yè)的“查詢?cè)敿?xì)信息”按鈕可查詢?cè)摲纻尉幋a對(duì)應(yīng)的廠商和產(chǎn)品的詳細(xì)信息。在電話上查詢時(shí)查詢結(jié)果語(yǔ)音顯示您查詢的是**公司**產(chǎn)品的正牌產(chǎn)品,歡迎再次查詢。
B.如果您輸入的防偽身份碼,在一方的中心數(shù)據(jù)庫(kù)存在,但不是首次查詢?cè)诨ミB網(wǎng)上查詢時(shí)查詢結(jié)果顯示您輸入的號(hào)碼已被查詢過(guò)*次,首次查詢的時(shí)間是*年*月*日,請(qǐng)注意防偽。單擊該頁(yè)的“詳細(xì)信息”按鈕可查詢?cè)摲纻尉幋a對(duì)應(yīng)的廠商和產(chǎn)品的詳細(xì)信息。
在電話上查詢時(shí)查詢結(jié)果語(yǔ)音顯示您輸入的號(hào)碼已于*年*月*日被首次查詢,請(qǐng)注意防偽!C.如果您輸入的防偽身份碼,在一方的中心數(shù)據(jù)庫(kù)不存在,那該防偽碼對(duì)應(yīng)的產(chǎn)品可能是冒牌產(chǎn)品在互連網(wǎng)上查詢時(shí)查詢結(jié)果顯示您輸入的號(hào)碼不存在,請(qǐng)注意防偽!在電話上查詢時(shí)查詢結(jié)果語(yǔ)音顯示您輸入的號(hào)碼不存在,請(qǐng)注意防偽!技術(shù)方案的實(shí)施(一)、網(wǎng)碼防偽中間件Anti-counterfeitMiddleware(1)所謂中間件,是在計(jì)算機(jī)硬件和操作系統(tǒng)之上,支持應(yīng)用開(kāi)發(fā)和運(yùn)行的系統(tǒng)軟件,它能夠使應(yīng)用系統(tǒng)相對(duì)獨(dú)立于計(jì)算機(jī)硬件和操作系統(tǒng)平臺(tái),為當(dāng)今的大型分布式應(yīng)用搭起了一個(gè)標(biāo)準(zhǔn)的平臺(tái),實(shí)現(xiàn)大型應(yīng)用系統(tǒng)的集成。
中間件具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可以實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作。在具體實(shí)現(xiàn)上,中間件是一個(gè)用API定義的分布式軟件管理框架,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。
將中間件技術(shù)應(yīng)用于防偽是本系統(tǒng)的獨(dú)創(chuàng),同時(shí)也標(biāo)志著本系統(tǒng)的技術(shù)先進(jìn)性(2)網(wǎng)碼防偽中間件的功能詳述該中間件封裝了以下功能函數(shù)1)驗(yàn)證網(wǎng)碼真假的庫(kù)函數(shù)接口描述char *query參數(shù)為char strPswordID,char sServerName,char sDBName,char*sUserID,char*sPasswwrd,char*sFilePaths參數(shù)說(shuō)明strPswordID為20位有效字符串(用戶輸入的防偽號(hào));sServerName數(shù)據(jù)庫(kù)所在的服務(wù)器名稱;sDBName數(shù)據(jù)庫(kù)名稱;
sUserID數(shù)據(jù)庫(kù)用戶名稱;spassword數(shù)據(jù)庫(kù)密碼;sFilepaths文件路徑。
驗(yàn)證、查詢結(jié)束后,將查詢結(jié)果返回若查詢成功,則返回結(jié)果為26位有效字符串,構(gòu)成形式如下前4位是查詢結(jié)果,格式為XXXX,其中XXXX的值域?yàn)?000--9999,00中的第4個(gè)0表示輸入的防偽碼不存在,即次數(shù)為0,0004表示查詢過(guò)4次,依次類推,最多查詢次數(shù)為9999次;從第5位到第12位為查詢時(shí)間,若時(shí)間的格式為“年、月、日”如20000713;后14位為網(wǎng)碼所對(duì)應(yīng)的明文。否則返回如下信息字符串“-3”表示找不到文件的路徑,此時(shí),SinOutParam的值為FileNoFound12345678900987654321。
“-2”表示輸入的防偽號(hào)碼不足20位,sInOutParam為原傳入的值;“-1”表示輸入的防偽號(hào)碼長(zhǎng)度超過(guò)了20位,sInOutParam為原傳入的值;“0”表示數(shù)庫(kù)異常信息,如數(shù)據(jù)庫(kù)信息設(shè)置錯(cuò)誤。
2)支持cti平臺(tái)的網(wǎng)碼真假驗(yàn)證庫(kù)函數(shù)接口描述函數(shù)形式extern“C”UINTPASCALEXPORT ScePUERY參數(shù)為L(zhǎng)PVOID pNoUse,char*sInOutParam參數(shù)說(shuō)明pNoUse為無(wú)類型的長(zhǎng)指釗LPVOID類型的參數(shù),在查詢時(shí)指定值為NULL(不允許其他值);sInOutParam為字符指釗sInOutParam,傳遞防偽碼、數(shù)據(jù)庫(kù)和文件路徑的參數(shù)。該參數(shù)將被分別分解為防偽碼(20位),服務(wù)器名稱,數(shù)據(jù)庫(kù)名稱,數(shù)據(jù)庫(kù)用戶名稱,數(shù)據(jù)庫(kù)用戶密碼,密碼文件路徑6個(gè)參數(shù)。
SInOutParam是已“,”作為分隔符的字符串,參數(shù)為空時(shí),“,”后不填任何值,僅用“,”隔開(kāi),最后一個(gè)參數(shù)不能加“,”。例如執(zhí)行查詢完后,若查詢成功將把查詢的結(jié)果又填入sInOutParam(實(shí)際上sInOutParam既具有傳遞入口參數(shù),又具有把查詢結(jié)果傳遞出來(lái)的雙重作用)。
查詢返回結(jié)果和sInOutParam值類型信息如下-3表示找不到密文件的路徑,此時(shí),sInOutParam的值為FileNoFound12345678900987654321。
-2表示輸入的防偽號(hào)碼不足20位,sInOutParam為原傳入的的值;-1表示輸入的防偽號(hào)碼長(zhǎng)度超過(guò)了20位,sInOuParam為原傳入的值;0表示數(shù)據(jù)庫(kù)異常信息,如數(shù)據(jù)庫(kù)信息設(shè)置錯(cuò)誤;1表示查詢結(jié)果合法。
3)、批加密庫(kù)函數(shù)A.功能描述批加密的功能是通過(guò)產(chǎn)品開(kāi)始編號(hào)和產(chǎn)品結(jié)束編號(hào)對(duì)一批產(chǎn)品號(hào)進(jìn)行加密,并把加密后的密文存放到一文本文件中,最后返回存放密文的文件名。
B.函數(shù)形式extern“C”char*_stdcall BatchEncryption參數(shù)為char*sBatchID,char*sStartID,char*sEndID,inmBatchcount,char*sFileLocation參數(shù)說(shuō)明sBatchID產(chǎn)品廠商編號(hào),有效值6位有效字符串;sStartID產(chǎn)品開(kāi)始編號(hào),有效值8位有效字符串;sEndID產(chǎn)品末尾編號(hào),有效值8位有效字符串;nBatchCount對(duì)應(yīng)開(kāi)該商品編號(hào)和批號(hào)的加密批次,有效值范圍(1,9999),即同類商品最多可加密9999次;sFileLocation批加密文件的路徑。
SStartID,sStartID,sEndID均為定長(zhǎng)字符串,不足特定的位數(shù)均按異常處理并給出異常信息。
函數(shù)返回完成加密后返回18位長(zhǎng)的數(shù)字字符串,其中18位字符串的構(gòu)成為4位廠商編號(hào),2位產(chǎn)品種類位日期,4位批次。當(dāng)批次不足4位時(shí),在批次前補(bǔ)零直至夠4位。
4).有效原文加密庫(kù)函數(shù)接口描述函數(shù)形式extern“C”CHAR*_stdcallEncryption參數(shù)為char*strOrigText參數(shù)說(shuō)明strOrigText為待加密的原文,有效長(zhǎng)度為14位。不足或超過(guò)14位均按異常對(duì)待。處理字符串時(shí)不忽略字符間的空格,即若字符串間若有空格,則該字符為非法字符串,不執(zhí)行加密過(guò)程。
函數(shù)返回原文長(zhǎng)度超過(guò)20位返回字符串(字符指針)“-2”;
原文長(zhǎng)度不足20位返回字符指針“-1”;合法原文返回結(jié)果為20位數(shù)字字符串,即密文。
5).密文解密庫(kù)函數(shù)接口描述函數(shù)形式extern“C”char*_stdcallDecryption參數(shù)為char*strPswdText參數(shù)說(shuō)明strPswdText為待解密的密文,有效長(zhǎng)度為20位。
函數(shù)返回密文長(zhǎng)度超過(guò)20位返回字符串(字符指針)“-2”密文長(zhǎng)度不足20位返回字符串“-1”;合法密文函數(shù)返回結(jié)果為14位有效字符串,即明文。
(3)采用中間件的優(yōu)點(diǎn)中間件是通用的,基于某一標(biāo)準(zhǔn)接口的,具有良好的重用性。完全克服了傳統(tǒng)的客戶/服務(wù)器模型的缺點(diǎn),具有可重用性、靈活性、可管理性、易維護(hù)性等一系列優(yōu)良的特性。
(二)、防偽查詢系統(tǒng)是根據(jù)用戶輸入的產(chǎn)品號(hào)判斷產(chǎn)品的真?zhèn)?,為系統(tǒng)的實(shí)用性和有效性,系統(tǒng)必須提供專用加(解)密算法對(duì)服務(wù)范圍內(nèi)的業(yè)務(wù)能夠提供準(zhǔn)確可靠的服務(wù)。具體來(lái)講,在性能上,加(解)密算法應(yīng)具備良好的可靠性,具有完備的加解密功能,在設(shè)計(jì)上算法必須科學(xué)合理。相關(guān)要求歸納如下(1)、功能要求a.加密功能加密過(guò)程是將14位純數(shù)字組成的產(chǎn)品碼編碼進(jìn)行加密,加密成20位純數(shù)字串構(gòu)成的網(wǎng)碼。
b.解密過(guò)程解密過(guò)程是將20位網(wǎng)碼解密成14位的純數(shù)字串(產(chǎn)品號(hào))。
(2)、可靠性要求1).算法必須能夠提供有效的加(解)密功能。
2).加密和解密應(yīng)是相互獨(dú)立的(從實(shí)際的應(yīng)用來(lái)看)。對(duì)于系統(tǒng)要求的特定輸入,通過(guò)加密算法,應(yīng)能夠完成加密過(guò)程,實(shí)現(xiàn)從原文到密文的轉(zhuǎn)換;同時(shí),對(duì)于解密算法涉及的任意合法密文,通過(guò)解密算法能夠完成解密過(guò)程,實(shí)現(xiàn)從密文到明文的轉(zhuǎn)換。
3).算法的有效性驗(yàn)證標(biāo)準(zhǔn)是對(duì)于算法范圍內(nèi)的加密和解密,通過(guò)解密解出的明文必須和原文完全一致,不能產(chǎn)生二義性(即使是小概率事件)。
4).算法應(yīng)具備良好的安全性、可靠性和可承受攻擊性。
(3)、實(shí)現(xiàn)形式a、加密規(guī)則1、給定一個(gè)長(zhǎng)位20位的位置,將14位的數(shù)字經(jīng)過(guò)加密后使其成為20位的數(shù)字;2、將定的14位數(shù)字分成前6位的批號(hào)位和后8位的編號(hào)位,然后分別獨(dú)立加密,使14位原文經(jīng)加密后存放于給定的20位長(zhǎng)的位置中;3、加密時(shí),先指定編號(hào)隨機(jī)位、批號(hào)隨機(jī)位和校驗(yàn)位;4、批號(hào)隨機(jī)位和編號(hào)隨機(jī)位上存放隨機(jī)生成的0-9之間的一個(gè)數(shù)字,校驗(yàn)位存放前19位數(shù)字之和的個(gè)位數(shù)字;5、由批號(hào)隨機(jī)位和編號(hào)隨機(jī)位決定加密的起始位置、批號(hào)和編號(hào)的字段長(zhǎng)位置;6、移位規(guī)則遵循數(shù)字位置分配方法,分別分配批號(hào)和分配編號(hào);7、當(dāng)14位數(shù)字已排好后,預(yù)留第4、8、15位,用隨機(jī)數(shù)填充最后剩余的3個(gè)空余位置;8、通過(guò)建立0-9之間的一一映射表,將排好序的20位有效數(shù)字進(jìn)行函數(shù)映射,由此得到的20位數(shù)字即為最后的密文。
b、解密規(guī)則1、將20位的密文經(jīng)過(guò)解密變換后使其成為14位的明文;2、根據(jù)密碼映射表將密文還原成加密排序結(jié)束狀態(tài);3、讀取還原后的第4位和第15位即獲得密鑰;4、根據(jù)有序數(shù)對(duì)第4位和第15位翻譯;5、按照邏輯次序?qū)⒚芪倪€原成明文。
(4).加密算法設(shè)計(jì)(1)設(shè)計(jì)思想依據(jù)加密規(guī)則,可以看出加密的最終任務(wù)是將14位的數(shù)字按照該規(guī)則轉(zhuǎn)換成20位的數(shù)字。
加密的方法是在具有固定長(zhǎng)度的位置上排列數(shù)字,排列數(shù)字遵循排序規(guī)則,包括固定位置的數(shù)字填法和由之而決定的起始位置及待排數(shù)字的相對(duì)位移量等,處理定長(zhǎng)位置上排序的途徑有許多,如通過(guò)連表法,數(shù)組法,甚至是雙鏈表法等。排序時(shí)采用的是hash算法中最為常用也最方便的“除留余數(shù)法”(相對(duì)直接定址法,數(shù)字分析法,平方取中法,折疊法),這也是該算法的難點(diǎn)所在。不管采用哪中方法在排序的過(guò)程中都可能遇到?jīng)_突。
如果把要排序的對(duì)象(不管它是數(shù)字還是其他字符)看成是關(guān)鍵字的話,hash(哈希)算法的關(guān)鍵是哈希函數(shù)的構(gòu)造。哈希函數(shù)是一個(gè)映象表,它使得任何關(guān)鍵字通過(guò)該映象所得的哈希函數(shù)值都落在表長(zhǎng)允許的范圍之內(nèi)即可。
對(duì)于不同的關(guān)鍵字可能得到同一哈希地址,也就是沖突。即如果key1!=key2,而f(key1)=f(key2)。這就是沖突(collision)。具有相同函數(shù)值的關(guān)鍵字對(duì)該哈希函數(shù)來(lái)說(shuō)叫做同義詞(synonym)。在一般情況下,我們希望沖突盡可能地少而不能完全避免(除非關(guān)鍵字非常少而表長(zhǎng)又非常長(zhǎng))。因?yàn)楣:瘮?shù)是從關(guān)鍵字集合到地址集合的映象。通常,關(guān)鍵字的集合較大,它的元素包括所有可能的關(guān)鍵字,而地址集合的元素僅為哈希表中的地址值。所以哈希函數(shù)是一個(gè)壓縮映象,這就不可避免產(chǎn)生沖突。因此,在排序時(shí)要著重處理沖突。
加密算法是在地址集為1-20的一個(gè)有序集上的排序過(guò)程。沖突是指由關(guān)鍵字(在本算法中關(guān)鍵字為0-9之間的數(shù)字)得到的哈希地址為j(1≤j≤20)的位置上已存有記錄,則“處理沖突”就是為關(guān)鍵字的記錄查找到另一個(gè)“空”的哈希地址。在處理沖突的過(guò)程中可能得到一個(gè)地址序列Hi(I-1,2,…k,),而Hi∈[1,20]。即在處理沖突時(shí)若得到的另一個(gè)哈希地址H1仍然發(fā)生沖突,則再求下一個(gè)地址H2,若H2仍然沖突,則再求H3H3依次類推,直至Hk不發(fā)生沖突為上(不必?fù)?dān)心,一定存在不沖突的地址,道理很簡(jiǎn)單,關(guān)鍵字只有14個(gè)而可供存放關(guān)鍵字的位置有20個(gè),即關(guān)鍵字長(zhǎng)度小于地址集時(shí),恒存在不沖突的地址),則Hk記為在表中的地址,這就是處理沖突的原理。
通常處理沖突的方法有開(kāi)放定址法、再哈希法、鏈地址法和公共溢出區(qū)法,其中開(kāi)放定址法的形式為Hi=(H(key)+di)Modmi=1,2,…,k(k≤m-1)其中H(key)為哈希函數(shù);m為哈希表長(zhǎng);di為增量序列,可有下列三種取法(1)di=1,2,3,…m-1,稱線性探測(cè)再散列;(2)di=12,-12,22,-22,…,±k2(k≤m/2)稱為二次探測(cè)再散列;(3)di=偽隨機(jī)數(shù)序列,稱偽隨機(jī)探測(cè)再散列。
不難發(fā)現(xiàn)這里的哈希函數(shù)實(shí)際上是0-9構(gòu)成的隨機(jī)數(shù)到1-20間的整數(shù)的一個(gè)映射,從映射的角度來(lái)看,對(duì)于批號(hào)或編號(hào)來(lái)講,映射是一一對(duì)應(yīng),但同時(shí)考慮批號(hào)和編號(hào)則可以發(fā)現(xiàn)既不是一一映射,也不是滿射(因?yàn)楫?dāng)編號(hào)隨機(jī)數(shù)為0時(shí),編號(hào)字段長(zhǎng)位置為5,而當(dāng)批號(hào)隨機(jī)數(shù)為4時(shí)批號(hào)字段長(zhǎng)位置也為5,即在這種情況下地址次沖突)。這個(gè)函數(shù)是一個(gè)離散函數(shù),可以這樣定義該哈希函數(shù)I=H(key)其中key的值為0-9,H(key)的值為1-20之間的自然數(shù)。Key即該哈希函數(shù)的自變量,I為因變量。如批號(hào)隨機(jī)數(shù)為3時(shí),key=3,H(key)=7。
很顯然,本發(fā)明的防偽算法是線性探測(cè)再散列。下面舉例來(lái)說(shuō)明算法的設(shè)計(jì)思想根據(jù)加密要求,第4位和第8位的值是隨機(jī)產(chǎn)生的,假設(shè)批號(hào)隨機(jī)位上的值分別為0,則批號(hào)字段長(zhǎng)位置應(yīng)為20(即起始地址為第20個(gè)位置),并設(shè)批號(hào)為abcdef(a、b、c、d、e、f是0-9之間的任意數(shù))。
對(duì)應(yīng)于該六位數(shù)(確切地將是6為數(shù)字字符串,因?yàn)?01234當(dāng)然不是數(shù)值,用個(gè)位、十位的稱呼僅是為了排序的需要而已),則按照排序規(guī)則的要求,如先從位高位開(kāi)始排序(先高位還是低位都可以因?yàn)榕?hào)或編號(hào)都是數(shù)字字符串)則a的絕對(duì)地址應(yīng)為(20+3)mod20=3,b的絕對(duì)地址應(yīng)為(20+6)mod20=6.
依次類推,c,d,e,f的地址應(yīng)分別為10,1,8,16。這時(shí),數(shù)字e在第8個(gè)位置上,由于第8位以被批號(hào)機(jī)數(shù)占用,即沖突,這時(shí)e的絕對(duì)地址應(yīng)重新來(lái)計(jì)算,(8+1)mod20=9,這里的8為上一次求得的絕對(duì)地址,發(fā)現(xiàn)第9個(gè)位置上不沖突,這樣abodefg的絕對(duì)地址應(yīng)為3,6,10,1,9,16。從上述線性探測(cè)再散列的過(guò)程可以看出只要哈希表未填滿,總能找到一個(gè)不發(fā)生沖突的地址Hk.這也是加密算法得以進(jìn)行的依據(jù)所在。
概括來(lái)講,防偽算法在本質(zhì)上是基于批號(hào)和編號(hào)隨機(jī)位而決定的離散hash函數(shù)之上的,采用線性探測(cè)再散列法處理沖突的一種排列,批號(hào)和編號(hào)位的隨機(jī)性決定了算法的保密性和可靠性,這是由于防偽碼樣本空間的高度復(fù)雜性決定的。
(2)設(shè)計(jì)實(shí)現(xiàn)1)加解密步驟從上面的設(shè)計(jì)思想來(lái)看,加密是將特定長(zhǎng)度的數(shù)字串按照加密規(guī)則排列在定長(zhǎng)位置上,雖然事先并不知道沖突位置,但是不難發(fā)現(xiàn),每填入一個(gè)數(shù)據(jù)將占用一個(gè)“位置”,這個(gè)位置可以很容易地做好標(biāo)記,若每填一個(gè)數(shù)據(jù),該輸入所在的位置即成為“忙態(tài)”(不可再填入數(shù)據(jù)),這樣當(dāng)下一次遇到理應(yīng)填入該位置的數(shù)據(jù)時(shí),由于該位置為“忙態(tài)“,即發(fā)生沖突,則待填數(shù)據(jù)尋找下一個(gè)可能的“閑態(tài)”位置,若下一位置真正為閑態(tài),則填入,否則,繼續(xù)尋找處于“閑態(tài)”的位置。對(duì)于不管是批號(hào)還是編號(hào),排列的思想均是一樣的,只不過(guò)先排批號(hào)還是編號(hào)應(yīng)與解密過(guò)程相一致。
從以上分析不難歸納出加密的步驟,下面對(duì)加密步驟做以詳細(xì)說(shuō)明①.設(shè)置最終要排序的地址空間,如數(shù)組或鏈表(也可以是雙鏈表),有效長(zhǎng)度為20(算法的具體實(shí)現(xiàn)時(shí)用數(shù)組來(lái)表示,長(zhǎng)度為21,這樣做是由于數(shù)組的下標(biāo)從0開(kāi)始,而最終的有效地址標(biāo)號(hào)是從1開(kāi)始到20結(jié)束)。加密的本質(zhì)是將14位有效數(shù)字排列在長(zhǎng)度為20的數(shù)組中去,由于要處理沖突,所以首先需要標(biāo)志沖突的位置,為此設(shè)置用來(lái)標(biāo)志沖突的位置的數(shù)組,數(shù)組的長(zhǎng)度為也為21。為后面的敘述方便,稱要插入14位產(chǎn)品號(hào)的數(shù)組為目標(biāo)數(shù)組,標(biāo)記沖突位置的數(shù)組為標(biāo)志數(shù)組。且目標(biāo)數(shù)組的數(shù)據(jù)類型為字符型,標(biāo)志數(shù)組的數(shù)據(jù)類型為整型。
②.數(shù)組變量。要加密的原文為雖然為數(shù)字但一般是不可比較大小的數(shù)字(如0012和0231是不可區(qū)別大小的數(shù)字,當(dāng)然在字符意義上是可以比較大小的),所以對(duì)要加密的原文當(dāng)字符串來(lái)看待(即數(shù)字字符串)。由于加密規(guī)則的要求,很自然先要對(duì)目標(biāo)數(shù)組的第5、16個(gè)元素以一位隨機(jī)數(shù)進(jìn)行賦值,這時(shí)自然要把標(biāo)志數(shù)組的第1,5,9,16個(gè)元素置為“忙態(tài)”(原因是第一個(gè)位置始終沒(méi)有用到只是起到了調(diào)節(jié)位置的作用。其他目標(biāo)元素初始化為‘a(chǎn)’(當(dāng)然可以是別的非數(shù)字字符),剩余標(biāo)志數(shù)組置為“閑態(tài)”。
③.選擇批號(hào)和編號(hào)的加密先后順序。不論是先對(duì)批號(hào)還是對(duì)編號(hào)加密,都能達(dá)到加密規(guī)則規(guī)定的要求,只不過(guò)在解密時(shí)要注意與加密過(guò)程形成對(duì)應(yīng)。
④按加密規(guī)則對(duì)批號(hào)和編號(hào)進(jìn)行單獨(dú)加密。加密的具體過(guò)程是對(duì)于一個(gè)有效的產(chǎn)品號(hào),先將其按批號(hào)和編號(hào)分成兩部分6位批號(hào)和8位編號(hào)。一旦確定了批號(hào)和編號(hào)的加密次序,則排序應(yīng)遵循產(chǎn)品號(hào)自左向右的方向進(jìn)行。即對(duì)批號(hào)和編號(hào)來(lái)說(shuō),排序應(yīng)按從高位到低位的順序進(jìn)行。遵循(Pos+Abs)mod20的原則確定待排元素的最終絕對(duì)位置。處理沖突時(shí)按(ColPos+1)mod20確定下一個(gè)可能不沖突位置,若不沖突,則由此所得的位置即為待排元素的最終絕對(duì)位置。每排一元素,立即置該元素所在的標(biāo)志位置為“忙態(tài)”,道理很顯然,該位置不可能再排列別的任何元素。依.此規(guī)則排列完14位產(chǎn)品號(hào)。
⑤填充剩余位置。按加密規(guī)則要求用隨機(jī)數(shù)填充剩余位置,由于目標(biāo)位置是字符數(shù)組,所以要先將隨機(jī)數(shù)轉(zhuǎn)換成字符在填充。
⑥填充隨機(jī)位。由于第8位(在數(shù)組中是第9個(gè)元素)是隨機(jī)位,而且在初始化時(shí)被置為“忙態(tài)”,所以現(xiàn)需要將該位置重置為閑態(tài),并前19位數(shù)字之和的各位數(shù)字轉(zhuǎn)換成字符填入,由于前面有5位數(shù)字是隨機(jī)填入的,所以這個(gè)位置的值也是隨機(jī)的,所以稱為隨機(jī)位是合當(dāng)?shù)摹?br>
⑦密碼轉(zhuǎn)換。將排列好的20位數(shù)字字符通過(guò)密碼對(duì)照表進(jìn)行一次轉(zhuǎn)換,至此加密完成。
(2).查詢的實(shí)現(xiàn)通過(guò)用戶的防偽id,先查詢已查詢id日志表,有,告訴用戶你輸入的號(hào)碼已經(jīng)被查詢,沒(méi)有,用廠商編號(hào)查詢廠商信息表,沒(méi)有,告訴用戶提示1,有,用產(chǎn)品編號(hào)查詢T2(廠商的產(chǎn)品編號(hào)表),沒(méi)有,告訴用戶提示1,有,用8位商品編號(hào)查詢T3(產(chǎn)品編號(hào)范圍表),沒(méi)有,告訴用戶提示1,有告訴用戶提示2,并將得到的語(yǔ)音文件名組合成信息臺(tái)可識(shí)別的格式,作為返回結(jié)果返回。Web的返回為相應(yīng)的文字信息。
其中用戶提示1為“你查詢的號(hào)碼不存在”;用戶提示2為“你查詢的料公司料產(chǎn)品的正派產(chǎn)品”。
(3).統(tǒng)一消息平臺(tái)的防偽查詢實(shí)現(xiàn)本系統(tǒng)的電話機(jī)互聯(lián)網(wǎng)查詢是在基于統(tǒng)一消息的平臺(tái)上實(shí)現(xiàn),程序的偽代碼如下∥開(kāi)始查詢,播放語(yǔ)音提示“您好,這里是一方防偽查詢熱線,請(qǐng)輸入20位商品標(biāo)簽防偽編碼,按#字鍵結(jié)束。
STR 1,29,=,0,1SEARCHSET 01,OPT 0,@34,PleaseinputId.vox,,21,3ACP 01JPC@36=,1|exitSET 02,@36∥判斷是否為20位的idcheckidSTR 0,01,@36JPC @01=20,0|idno20,1|startsearch∥提示用戶輸入的id號(hào)不足20位或超過(guò)20位idno20SET 01,OPT 0,@34,reinputid.vox,,21,3ACP 01JPC @36=,1|exitSET 02,@36JMP checkid∥調(diào)用中間件,開(kāi)始進(jìn)行查詢
startsearchSET36,@02SET10,@36,xayfsqlserver,yifang,sa,,g\pswfile\PLG ArithDll.dll,SceQuery,@10,05,06TRC<REL> @05JPC@05,1|idyes,-3|errorid,-2|idno20,-1|idno20idyesSTR1,11,@06,0,4STR1,12,@06,12,4STR1,13,@06,16,2STR1,02,@06,4,8STR1,24,@06,12,14SET04,@12SET05,0JPC@11=1,1|to5is1,0|nexttodbto5is1SET05,1nexttodbJPC@11=0,1|erroridSET01,@12STR1,12,select ManufacturerVox from ManufacturerInfo whereManufacturerID@29'@01',0,-1STR 1,03,select ProductNameVox from ProductClass whereManufacturerID@29'@01'and ProductClass@29'@13',0,-1DBR dsn=y(tǒng)ifang;uid=sa;pwd=;database=y(tǒng)ifang,@12,14,15,1,|DBR dsn=y(tǒng)ifang;uid=sa;pwd=;database=y(tǒng)ifang,@03,16,17,1,F(xiàn)UC0,28STR1,19,@30,0,4DBR odbc;dsn=y(tǒng)ifang;uid=sa;pwd=;database=y(tǒng)ifang,select Netherlandsfrom TelephoneArea where HostArea=@19,20,21SET22,'@24','@37','@30',@18',@28','@05','@2'SET23,MarqueId,Hostphone,CallNumber,StartTime,EndTime,Sign,IncidentAddressDBW dsn=y(tǒng)ifang;uid=sa;pwd=;database=y(tǒng)ifang,insert into AccessLog(@23)values(@22),01JPC@11=0,1|errorid,0|ifnot0
ifnot0JPC@11<0,1|exit,0|if1if1JPC@11=1,1|okid,0|Overid∥查詢結(jié)果提示所查詢的號(hào)碼已于xx年xx月xx日查詢過(guò)OveridSET01,OPT0,@34,ResearchId.vox|<@02>|Researchtime.vox,,0,1ACP01JMP exit∥查詢結(jié)果提示所查詢的號(hào)碼不存在erroridSET01,OPT0,@34,errorid.vox,,0,1ACP01JMP exit∥查詢結(jié)果您所查詢的是某廠的某正牌產(chǎn)品okidSET01,OPT0,@34,Thisis.vox|@15|@17|Produce.vox,,0,1ACP01DBW dsn=y(tǒng)ifang;uid=sa;pwd=;database=y(tǒng)ifang,update ProductClassSET searchcount=searchcount+1 where ManufacturerID@29'@04′andProductClass@29'@13'∥結(jié)束查詢,停止動(dòng)作exitOPT0,@34,over.vox,,0,1ACP01OPT6,@34本偽代碼可以在電話查詢服務(wù)器上運(yùn)行,按照程序流程完成防偽查詢。
(4).WEB網(wǎng)站上的防偽查詢實(shí)現(xiàn)ISAPI ComponentsWEB查詢的核心是一個(gè)ISAPI組件,考慮到安全性,此軟件采用3ds加密算法。中間件對(duì)組件所有者的進(jìn)行身份驗(yàn)證,只有確認(rèn)數(shù)據(jù)包的發(fā)送者可以信任,才允許組件調(diào)用中間件的“驗(yàn)證網(wǎng)碼真假“庫(kù)函數(shù),根據(jù)函數(shù)返回值,將查詢結(jié)果通過(guò)web返回給查詢用戶。
ISAPI Components的優(yōu)點(diǎn)是與web服務(wù)融為一體,支持多線程,執(zhí)行效率高;自帶數(shù)據(jù)包過(guò)濾,多重身份認(rèn)證,安全方便移植。
ISAPI Query Components是一種與操作系統(tǒng)http服務(wù)無(wú)縫集成的軟件,包含以下功能對(duì)組件所有者的進(jìn)行身份驗(yàn)證,首先確認(rèn)數(shù)據(jù)包的發(fā)送者可以信任;再對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,刪除惡意用戶或黑客的攻擊;從數(shù)據(jù)包中分離出網(wǎng)碼,分析該網(wǎng)碼符合查詢規(guī)則與否;調(diào)用中間件的“驗(yàn)證web查詢的網(wǎng)碼真假”庫(kù)函數(shù),根據(jù)函數(shù)返回值,將查詢結(jié)果通過(guò)web返回給客戶端瀏覽器;顯示給用戶;記錄查詢?nèi)罩尽?br>
統(tǒng)一消息平臺(tái)上的程序是將語(yǔ)音與數(shù)據(jù)集成在一個(gè)綜合系統(tǒng)中,該軟件包含以下功能ACD(自動(dòng)資源分配),IVR(自動(dòng)語(yǔ)音應(yīng)答),人工座席服務(wù),轉(zhuǎn)撥打假熱線,自動(dòng)查詢功能,SCE(業(yè)務(wù)定制環(huán)境)。利用定制的業(yè)務(wù)流程可以實(shí)現(xiàn)防偽查詢,記錄日志,語(yǔ)音應(yīng)答,資源分配等功能。
本發(fā)明與已有技術(shù)相比,具有以下優(yōu)點(diǎn)無(wú)法偽造以往的防偽技術(shù)從理論上講均屬于一元防偽技術(shù),實(shí)際上總是可以偽造的,只不過(guò)偽造的難易程度不同而已。本系統(tǒng)采用的是在每件產(chǎn)品防偽標(biāo)識(shí)物中所設(shè)置的防偽碼都是通過(guò)特殊加密算法生成的,并且防偽碼信息均存儲(chǔ)在中心數(shù)據(jù)庫(kù)。即便是偽造者能夠偽造預(yù)防偽標(biāo)識(shí)物外觀一樣的產(chǎn)品,但也無(wú)法偽造出符合產(chǎn)品之間無(wú)規(guī)律可循的防偽碼,更無(wú)法將偽造的防偽碼信息送存到一方數(shù)據(jù)庫(kù)中。
編碼嚴(yán)格每枚防偽標(biāo)識(shí)物中所含有的編碼都是唯一的,通過(guò)精密的數(shù)學(xué)算法隨機(jī)生成,決不重復(fù),而且沒(méi)有規(guī)則和規(guī)律,是一種純粹的無(wú)序隨機(jī)碼,造假者無(wú)法仿制。編碼容量達(dá)到1020,從而滿足大規(guī)模的需要。
查詢簡(jiǎn)便驗(yàn)證真假的使用過(guò)程簡(jiǎn)單、宜于操作、方便靈活。傳統(tǒng)的防偽技術(shù)實(shí)際上是采用特殊材料、特殊方法制造的一些復(fù)雜標(biāo)識(shí)物。要想鑒別真?zhèn)危枰厥饧寄芑蛸?gòu)買昂貴的專用儀器,廣大消費(fèi)者基本上無(wú)法直接使用防偽標(biāo)識(shí)物來(lái)鑒別產(chǎn)品的真?zhèn)巍2捎镁W(wǎng)碼防偽技術(shù)的產(chǎn)品,任何購(gòu)買者,撥通查詢電話或進(jìn)入互聯(lián)網(wǎng)系統(tǒng),進(jìn)行查詢便知產(chǎn)品真?zhèn)?,從而將一種技術(shù)性非常強(qiáng)的復(fù)雜過(guò)程,簡(jiǎn)化成了一個(gè)撥打電話和互聯(lián)網(wǎng)查詢的簡(jiǎn)單過(guò)程,更無(wú)須專門技術(shù),設(shè)備,培訓(xùn),從而使查詢過(guò)程更加力便靈活、安全可靠。
技術(shù)先進(jìn)廣泛應(yīng)用了當(dāng)今軟件業(yè),互聯(lián)網(wǎng)業(yè)的先進(jìn)技術(shù),如MIDDLEWARE,CONPONMENTS,3DS,從而保證了這個(gè)系統(tǒng)的安全性,可靠性,響應(yīng)實(shí)時(shí)性以及技術(shù)的先進(jìn)性。網(wǎng)碼防偽在寶雞卷煙廠的使用情況
由一方防偽科技有限公司所開(kāi)發(fā)的網(wǎng)碼防偽系統(tǒng),經(jīng)寶雞卷煙廠反復(fù)論證,已經(jīng)在寶雞煙廠生產(chǎn)的磨砂猴王香煙和翻蓋紅猴王香煙上得以應(yīng)用。它通過(guò)將20位的防偽碼及相應(yīng)的說(shuō)明全部印制到香煙包裝條盒上,予以實(shí)施。
和市場(chǎng)同類防偽相比,具有如下優(yōu)勢(shì)1.網(wǎng)碼防偽系統(tǒng)本身的科學(xué)性、先進(jìn)性、嚴(yán)謹(jǐn)性,以及對(duì)消費(fèi)者而言鑒別的簡(jiǎn)易性和方便性,比激光防偽時(shí)代諸如激光標(biāo)識(shí)、定位燙金等技術(shù)要優(yōu)越的多。
2.就數(shù)碼防偽而言,通過(guò)印制在包裝盒上的辦法,有效地解決了貼標(biāo)等辦法所帶來(lái)管理的難度、生產(chǎn)工序增加、相應(yīng)的生產(chǎn)成本增加等問(wèn)題。
該兩個(gè)品牌帶有此種防偽的新產(chǎn)品上市以后,消費(fèi)者查詢電話不斷,每天都有上千查詢電話打入查詢。實(shí)踐證明采用網(wǎng)碼防偽,效果十分明顯。
權(quán)利要求
1.一種基于網(wǎng)碼的商品防偽系統(tǒng),系統(tǒng)采用模塊化結(jié)構(gòu),部件之間接口互聯(lián),包括一個(gè)web查詢服務(wù)器[1],web查詢服務(wù)器[1]設(shè)置有防火墻[2],通過(guò)防火墻[2]與INTERNET連通;一個(gè)電話查詢服務(wù)器[3],電話查詢服務(wù)器[3]通過(guò)電話線[4]與通訊網(wǎng)連通;一個(gè)交換機(jī)[5];一個(gè)數(shù)據(jù)庫(kù)服務(wù)器[6];其特征在于web查詢服務(wù)器[1]、電話查詢服務(wù)器[3]、數(shù)據(jù)庫(kù)服務(wù)器[6]與交換機(jī)[5]互連,作為查詢支持硬件平臺(tái);網(wǎng)碼長(zhǎng)度為20位;采用Anti-counterfeit Middleware中間件作為加密、解密核心軟件;采用ISAPI Query Components作為支持WEB防偽查詢的核心軟件;采用運(yùn)行在統(tǒng)一消息平臺(tái)上的程序作為支持電話防偽查詢的核心軟件;所述中間件,是在計(jì)算機(jī)硬件和操作系統(tǒng)之上,支持應(yīng)用開(kāi)發(fā)和運(yùn)行的軟件,它能夠使應(yīng)用系統(tǒng)相對(duì)獨(dú)立于計(jì)算機(jī)硬件和操作系統(tǒng)平臺(tái),具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可以實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作,是一個(gè)用API定義的分布式軟件管理框架,具有通信能力和可擴(kuò)展性;中間件封裝了以下功能函數(shù)(1)驗(yàn)證web查詢的網(wǎng)碼真假的庫(kù)函數(shù)(2)支持cti平臺(tái)的網(wǎng)碼真假驗(yàn)證庫(kù)函數(shù)(3)批加密庫(kù)函數(shù)(4)有效原文加密庫(kù)函數(shù)(5)密文解密庫(kù)函數(shù)。
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述加密是將14位純數(shù)字組成的產(chǎn)品編碼(明文)進(jìn)行加密為20位純數(shù)字串構(gòu)成的防偽碼(密文),所述解密是將20位純數(shù)字串構(gòu)成的防偽碼解密為14位純數(shù)字串。
3.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述驗(yàn)證web查詢的網(wǎng)碼真假的庫(kù)函數(shù)形式為接口描述函數(shù)形式char*query參數(shù)為char strPswordID,char sServerName,char sDBName,char*sUserID,char*sPasswwrd,char*sFilePaths驗(yàn)證、查詢結(jié)束后,將查詢結(jié)果返回若查詢成功,則返回結(jié)果為26位有效字符串,構(gòu)成形式如下前4位是查詢結(jié)果,格式為XXXX,其中XXXX的值域?yàn)?000--9999,0000中的第4個(gè)0表示輸入的防偽碼不存在,即次數(shù)為0,0004表示查詢過(guò)4次,依次類推,最多查詢次數(shù)為9999次;從第5位到第12位為查詢時(shí)間,若時(shí)間的格式為“年、月、日”如20000713;后14位為網(wǎng)碼所對(duì)應(yīng)的明文;否則返回如下信息字符串“-3”表示找不到文件的路徑,此時(shí),SinOutParam的值為FileNoFound12345678900987654321;“-2”表示輸入的防偽號(hào)碼不足20位,sInOutParam為原傳入的值;“-1”表示輸入的防偽號(hào)碼長(zhǎng)度超過(guò)了20位,sInOutParam為原傳入的值;“0”表示數(shù)庫(kù)異常信息,如數(shù)據(jù)庫(kù)信息設(shè)置錯(cuò)誤;
4.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述支持cti平臺(tái)的網(wǎng)碼真假驗(yàn)證庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”UINTPASCAL EXPORT ScePUERY參數(shù)為L(zhǎng)PVOIDpNoUse,char*sInOutParam;執(zhí)行查詢完后,若查詢成功將把查詢的結(jié)果又填入sInOutParam;查詢返回結(jié)果和sInOutParam值類型信息如下-3表示找不到密文件的路徑,此時(shí),sInOutParam的值為FileNoFound12345678900987654321;-2表示輸入的防偽號(hào)碼不足20位,sInOutParam為原傳入的的值;-1表示輸入的防偽號(hào)碼長(zhǎng)度超過(guò)了20位,sInOutParam為原傳入的值;0表示數(shù)據(jù)庫(kù)異常信息,如數(shù)據(jù)庫(kù)信息設(shè)置錯(cuò)誤;1表示查詢結(jié)果合法;
5.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述批加密庫(kù)函數(shù)形式為接口描述函數(shù)形式extern “C”char*stdcall BatchEncryption參數(shù)為char*sBatchID,char*sStartID,char*sEndID,intnBatchcount,char*sFileLocationnBatchCount對(duì)應(yīng)開(kāi)該商品編號(hào)和批號(hào)的加密批次,有效值范圍1,----9999,即同類商品最多可加密9999次;sFileLocation批加密文件的路徑。SStartID,sStartID,sEndID均為定長(zhǎng)字符串,不足特定的位數(shù)均按異常處理并給出異常信息。函數(shù)返回完成加密后返回18位長(zhǎng)的數(shù)字字符串,其中18位字符串的構(gòu)成為4位廠商編號(hào),2位產(chǎn)品種類位日期,4位批次。當(dāng)批次不足4位時(shí),在批次前補(bǔ)零直至夠4位。
6.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述有效原文加密庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”CHAR*_stdcallEncryption參數(shù)為char*strOrigTexf原文長(zhǎng)度超過(guò)20位返回字符指針“-2”;原文長(zhǎng)度不足20位返回字符指針“-1”;合法原文返回結(jié)果為20位數(shù)字字符串,即密文;
7.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述密文解密庫(kù)函數(shù)形式為接口描述函數(shù)形式extern“C”char*_stdcallDecryption參數(shù)為char*strPswdText密文長(zhǎng)度超過(guò)20位返回字符串指針“-2”;密文長(zhǎng)度不足20位返回字符串指針“-1”;合法密文函數(shù)返回結(jié)果為14位有效字符串,即明文。
8.根據(jù)權(quán)利要求1所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述ISAPI Query Components是一種與操作系統(tǒng)http服務(wù)無(wú)縫集成的軟件,支持多線程;內(nèi)置數(shù)據(jù)包過(guò)濾,3DS身份認(rèn)證;支持遠(yuǎn)程過(guò)程調(diào)用(RPC),在異構(gòu)系統(tǒng)中,升級(jí),移植方便;所述統(tǒng)一消息平臺(tái)上的程序是將語(yǔ)音與數(shù)據(jù)集成在一個(gè)綜合系統(tǒng)中,通過(guò)系統(tǒng)軟件的支持,在該平臺(tái)上可以實(shí)現(xiàn)電話,手機(jī),短消息,郵件等設(shè)備的防偽查詢。
9.根據(jù)權(quán)利要求2所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述加密的規(guī)則是(1)給定一個(gè)長(zhǎng)為20位的位置,將14位的數(shù)字經(jīng)過(guò)加密變換后使其成為20位的數(shù)字;(2)將定的14位數(shù)字分成前6位的批號(hào)位和后8位的編號(hào)位;(3)加密時(shí),先指定編號(hào)隨機(jī)位、批號(hào)隨機(jī)位和校驗(yàn)位的位置;(4)批號(hào)隨機(jī)位和編號(hào)隨機(jī)位上存放隨機(jī)生成的0-9之間的一個(gè)數(shù)字;(5)校驗(yàn)位存放前19位數(shù)字之和的個(gè)位數(shù)字;(6)由批號(hào)隨機(jī)位和編號(hào)隨機(jī)位決定加密的起始位置、批號(hào)和編號(hào)的字段長(zhǎng)位置;(7)移位規(guī)則遵循數(shù)字位置分配方法,分別分配批號(hào)和分配編號(hào);(8)當(dāng)14位數(shù)字已排好后,預(yù)留第4、8、15位,用隨機(jī)數(shù)填充最后剩余的3個(gè)空余位置;通過(guò)建立0-9之間的一一映射表,將排好序的20位有效數(shù)字進(jìn)行函數(shù)映射,由此得到的20位數(shù)字即為最后的密文(網(wǎng)碼)。
10.根據(jù)權(quán)利要求2所述的基于網(wǎng)碼的商品防偽系統(tǒng),其特征在于所述解密的規(guī)則是(1)將20位的密文經(jīng)過(guò)解密變換后使其成為14位的明文;(2)根據(jù)密碼映射表將密文還原成加密排序結(jié)束狀態(tài);(3)讀取還原后的第4位和第15位即獲得密鑰;(4)根據(jù)有序數(shù)對(duì)第4位和第15位翻譯;按照邏輯次序?qū)⒚芪倪€原成明文。
全文摘要
本發(fā)明公開(kāi)了一種基于網(wǎng)碼的商品防偽系統(tǒng),由web查詢服務(wù)器、電話查詢服務(wù)器、數(shù)據(jù)服務(wù)器與交換機(jī)互連,作為查詢支持硬件平臺(tái),該系統(tǒng)采用模塊化結(jié)構(gòu),部件之間接口互聯(lián),可通過(guò)防火墻與INTERNET連通;還可通過(guò)電話線與通訊網(wǎng)連通;網(wǎng)碼長(zhǎng)度為20位,每個(gè)入網(wǎng)企業(yè)的可用網(wǎng)碼量為1億億,利用數(shù)據(jù)庫(kù)管理。網(wǎng)碼生成采用加密方法,可靠、穩(wěn)定,采用中間件作為加密、解密核心件;能夠使應(yīng)用系統(tǒng)相對(duì)獨(dú)立于計(jì)算機(jī)硬件和操作系統(tǒng)平臺(tái),具有標(biāo)準(zhǔn)的程序接口和協(xié)議,可以實(shí)現(xiàn)不同硬件和操作系統(tǒng)平臺(tái)上的數(shù)據(jù)共享和應(yīng)用互操作,是一個(gè)用API定義的分布式軟件管理框架,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。
文檔編號(hào)G06F17/00GK1333625SQ0112876
公開(kāi)日2002年1月30日 申請(qǐng)日期2001年8月27日 優(yōu)先權(quán)日2001年8月27日
發(fā)明者王小鋼 申請(qǐng)人:王小鋼