欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

鑒別匿名用戶同時減少潛在“中間人”舞弊的方法

文檔序號:6626073閱讀:150來源:國知局
專利名稱:鑒別匿名用戶同時減少潛在“中間人”舞弊的方法
背景技術(shù)
I、發(fā)明領(lǐng)域本發(fā)明一般涉及加密領(lǐng)域,具體涉及減少潛在“中間人” 舞弊的匿名用戶鑒別方法。
II、背景計算機軟件一般通過分配代理商或“中間人”在因特網(wǎng)上分配給終端用戶(即消費者)。因此,存在涉及交易的三方。第一方是軟件和內(nèi)容的提供者(即作者),該方從提供給終端用戶的內(nèi)容獲得收入,并支付少量傭金給分配代理商,以推銷并分發(fā)軟件。第二方是若干分配代理商中的一方,該方給用戶提供軟件(該方提供查看內(nèi)容的機構(gòu)和一些與內(nèi)容無關(guān)的好處,諸如電子郵件功能)。中間人從接收內(nèi)容的用戶獲得收入,因而廣泛分發(fā)軟件對其有利。第三方是用戶,該方以觀看內(nèi)容為回報免費獲得軟件。用戶無其他酬報,主要是因為用戶匿名。由于一般不保留跟蹤細(xì)節(jié)并且不逐個識別用戶,因此這些用戶為匿名。用戶請求內(nèi)容時,可以自愿提供信息,但該信息一般用完就丟棄,不加以存儲或跟蹤。后文將這三方統(tǒng)稱為提供者,中間人和用戶。
用戶連接因特網(wǎng)并訪問適當(dāng)網(wǎng)站時,中間人可用稱為因特網(wǎng)“餅干(cookie)”的裝置獲取有關(guān)用戶的人口統(tǒng)計信息。例如,用戶連接某些因特網(wǎng)網(wǎng)址時,其計算機通過因特網(wǎng)連接到中間人操作的主計算機。該主機發(fā)送由用戶計算機保存的小數(shù)據(jù)文件(餅干)。用戶與主機通信時,在餅干中存儲一些數(shù)據(jù)。用戶斷線時,該餅干仍留在其計算機中。餅干內(nèi)存儲有有關(guān)用戶使用因特網(wǎng)的并發(fā)數(shù)據(jù)。下次用戶連接主機時,主機讀取餅干,獲得有關(guān)用戶的信息。主機操作者可收集用戶信息,賣給因特網(wǎng)市場經(jīng)營者。
由于用戶匿名,中間人只要簡單地通過傳遞較多的內(nèi)容就能對提供者進行無法察覺的舞弊。又可通過代表實際用戶請求較多內(nèi)容或創(chuàng)建“假冒”用戶加以實現(xiàn)。有許多能跟蹤給特定用戶的內(nèi)容傳送率又同時保持細(xì)節(jié)匿名的公知統(tǒng)計方法。這些統(tǒng)計方法通過代表實際用戶請求較多內(nèi)容,解決中間人作弊的問題。然而,這些方法沒有針對中間人通過創(chuàng)建大量假冒用戶作弊的情況。因此,需要一種方法防止軟件分配代理商假冒大量不存在的用戶進行作弊的方法。

發(fā)明內(nèi)容
本發(fā)明針對一種防止軟件分配代理商假冒大量不存在的用戶進行作弊的方法。據(jù)此,本發(fā)明的一個方面為軟件提供者提供一種鑒別軟件用戶的方法。該方法最好包含以下步驟響應(yīng)從用戶收到的信息建立難題,該難題包含所述信息;將難題發(fā)送給用戶;并將難題的答案送回提供者。
本發(fā)明的另一方面中,提供一種使軟件提供者能鑒別軟件用戶的設(shè)備。該設(shè)備最好包含響應(yīng)從用戶收到的信息建立難題的裝置,該難題包含所述信息;對用戶發(fā)送難題的裝置;對提供者送回難題答案的裝置。
本發(fā)明的另一方面中,提供一種使軟件提供者能鑒別軟件用戶的設(shè)備。該設(shè)備最好包含處理器;處理器可讀存儲媒體,該媒體可由所述處理器訪問,并且包含該處理器可執(zhí)行的指令集,以響應(yīng)從用戶收到的信息建立難題,并將該難題送給用戶,該難題包含所述信息。
本發(fā)明的另一方面中,提供一種防人假冒多個軟件用戶的方法。該方法最好包含以下步驟建立多個難題,每一難題具有包含有關(guān)多個用戶中各個用戶的信息的答案,每一難題要求消耗資源進行解答;將每一難題發(fā)給多個用戶中的各個用戶進行解答。


圖1是提供者與用戶之間交換信息的系統(tǒng)的框圖。
圖2是說明加密“餅干”的位配合轉(zhuǎn)為“難題”冪運算的框圖。
較佳實施例詳述以下所述實施例中,以耗費珍貴資源的方式登記新的系統(tǒng)用戶,使個人用戶會登記而不用注意代價,但任何方,尤其是中間人,試圖濫用此系統(tǒng),代價會很大。一實施例中,重要資源是計算時間??捎闷渌滟F資源,諸如存儲空間、網(wǎng)絡(luò)帶寬或用戶注意廣度(即要求用戶互動一段時間)。計算時間之所以較佳,因為對用戶來說基本上沒有限制。用戶的個人計算機多數(shù)時間閑置,能以非強迫插入的方式計算,并且計算一完成也無進行中的開銷??筛鶕?jù)諸如當(dāng)時典型計算機的費用和計算能力等參數(shù)調(diào)整確切的計算量。
圖1中,根據(jù)本發(fā)明一實施例,說明用戶102通過與提供者104通信請求登記的系統(tǒng)100。應(yīng)理解,用戶102和提供者104指用戶和提供者用的設(shè)備,如用戶102的個人計算機,或個人數(shù)字助理機之類的手持計算裝置或無線電話機,甚至提供者104的大型Web服務(wù)器。消息106中,用戶102對提供者104發(fā)送人口統(tǒng)計數(shù)據(jù)。其他實施例中,用戶102可在消息106發(fā)送其他數(shù)據(jù),例如用戶標(biāo)識,代替或隨同人口統(tǒng)計數(shù)據(jù)發(fā)送。給提供商的消息106可加密,以保護用戶102的敏感性信息,但也可不加密。用戶102的軟件包含中間人的某標(biāo)識符,因而消息106中也含該標(biāo)識符。用戶102還可接著提供信息,以取得較佳目標(biāo)內(nèi)容的資料。提供者104將對用戶102提供的數(shù)據(jù)106加密成難題110的答案,當(dāng)用戶102請求內(nèi)容時,由用戶將答案(即解密的難題110)傳回到提供者104。
一實施例中,如下建立難題108的答案110。將提供的信息106和長度足以呈現(xiàn)唯一性的隨機標(biāo)識符(未示出)放入緩存器(也未示出)。計算緩存器內(nèi)容的密碼安全散列函數(shù)。示例的安全散列函數(shù)是美國國家技術(shù)標(biāo)準(zhǔn)協(xié)會編制的聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS)180-1中規(guī)定的“安全散列標(biāo)準(zhǔn)”。FIPS180-1文件中說明的算法后文稱為安全散列算法(SHA)。此散列函數(shù)的結(jié)果在長度上為160位。一具體實施例中,僅用該散列函數(shù)的前64位。另一實施例中則用該散列函數(shù)的前80位。在緩存器始端將該散列函數(shù)插入緩存器。然后,用提供者104處的密鑰(未示出),以諸如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法(FIPS46-2)之類的對稱塊密碼將全部緩存內(nèi)容加密,一具體實施例中,采用FIPS46-3草案件中規(guī)定的3重DES(3DES)算法。
對除提供者104外的各方而言,加密的結(jié)果最好與隨機數(shù)據(jù)區(qū)分不開。具體地說,即使有些數(shù)據(jù)公開,也沒有一方能重構(gòu)未暴露的部分。隨后,提供者104接收加密項時,提供者104通過對該項解密,并檢驗其中插入的散列函數(shù)與新計算的結(jié)果是否一致,來確保這是提供者104先前建立的確切數(shù)據(jù)。加密的數(shù)據(jù)緩存,本領(lǐng)域的技術(shù)人員常稱之為“餅干”。
應(yīng)理解,餅干比單一密碼塊長,因而要按FIPS所述的密碼塊鏈接模式進行該加密。密碼塊鏈接模式通常需要隨機初始化矢量。然而,由于要加密的第1塊包含足以成功抵抗預(yù)期攻擊的散列值,因而,可將初矢量設(shè)為常數(shù)零值。
難題108是從餅干中建立,而不是發(fā)送餅干本身。難題108最好建立使得解答難題108并恢復(fù)餅干需要某一計算量(即預(yù)期計算量)。因為提供者104必須對許多用戶執(zhí)行該函數(shù),提供者104必須對建立難題108在計算上有效,而對解答難題108有意無效。通過應(yīng)用新公知的公共密鑰加密法,能完成計算上建立有效和解答無效的這種組合。
為了后面的討論,可將餅干標(biāo)為C,并在軟件中插入附加參數(shù)P和g,從而全部參與者都知道該參數(shù)。參數(shù)P最好是大素數(shù)。P的位數(shù)下限受所需難題108的計算復(fù)雜度約束。一具體實施例中,P的位數(shù)是1024。參數(shù)P最好具有附加性質(zhì),使?jié)M足等式Q=(p-1)/2的參數(shù)Q也是素數(shù)。參數(shù)g最好為Q階整數(shù)乘法群中子群模P的生成元。參數(shù)P、g和Q是公知Diffie-Hellman密鑰一致性協(xié)議用的典型參數(shù)。如果餅干C大于Q,就單純給用戶102提供一些餅干,并且用較少的部分建立難題。這里一般假設(shè)|C|<|Q|。
通過計算Z=gk模P,首先建立難題108。當(dāng)前,已知Z計算K(即解離散對數(shù)問題)的最著名方法在計算上昂貴,對1024位長度的P而言,可認(rèn)為該計算大致等效于以128位未知密鑰用塊密碼對消息解密。該計算范圍太廣,對用戶102執(zhí)行范圍太大,由于料想用戶102能恢復(fù)C,提供者104為用戶102提供答案110的大部分。因此,難題108包含Z和難題提示。難題提示包含有關(guān)C的大部分信息(但不是全部)。發(fā)送的值中可變性的位數(shù)決定難題108的難度。用戶102解答難題108的最有效方法是試猜未知信息,直到用戶102猜到正確答案110。校驗每一猜測需要對候選對象K計算模求冪函數(shù)。
可假設(shè)計算該模求冪需要1/100秒(實際時間取決于處理器(未示出)的速度和P的大小)。如果需要該計算用平均12小時的基本處理時間,就必須用約400萬(或222)個試驗候選對象。通過設(shè)定各種可能性,平均約在半途會找到答案,因而難題提示包含答案110中除23位的全部數(shù)據(jù)。
為了確保以避開求冪的某一方式不能解答難題108,還可用單向散列函數(shù)。如安全散列標(biāo)準(zhǔn)時那樣,假設(shè)散列函數(shù)H()的輸出在長度上為160位。重要的是確保|C|的有些大于|H|/2,因而能將|C|分成兩部分。如果需要,加密前可填補C,以確保|C|足夠大。散列函數(shù)的結(jié)果部分用于使C模糊,部分用于改變求冪運算的輸入。
按以下方式從C建立中間結(jié)果K。將餅于C分成L和R兩個部分,使|R|長度為80位。在0、...、N的范圍內(nèi)選擇隨機數(shù)r,其中N決定難題108的難度。一實施例中,N=223。然后,由以下公式?jīng)Q定KK=L‖((R‖O80)H(L‖r)),其中,‖表示級聯(lián)運算,表示按位“異或”(XOR)運算,O80表示80個零位。
應(yīng)注意,所說明的具體實施例中,單一散列函數(shù)的結(jié)果最好分成兩部分并用于獨立的目的。本領(lǐng)域的技術(shù)人員不難明白,可將兩個獨立的散列函數(shù)用于這些目的。
于是,難題108由取冪結(jié)果Z和K中除后80位外的全部K數(shù)據(jù)組成,為了恢復(fù)C并解答難題108,用戶102開始嘗試r的值,計算H(L‖R),對K的給定部分添加80位結(jié)果,并校驗結(jié)果gk是否等于答案Z。求出正確的r時,散列函數(shù)輸出的左側(cè)80位與部分K取“異或”,以恢復(fù)C。
因此,上述技術(shù)滿足所提出的要求。離散對數(shù)問題的解按160位變化,數(shù)量太多,不能用于任何形式的預(yù)計算。C的80位模糊,直到試求冪能證實K。K的80位在從r導(dǎo)出前未揭示。由于K取決于L,無法預(yù)先計算有用散列值的有限集。隨機數(shù)r的范圍決定了用試湊法解難題108的平均時間,同時上述特性確保不會有其他捷徑解題。
本領(lǐng)域的技術(shù)人員不難明白,也可通過將嘗試值送到提供者并等待確認(rèn),解難題108。附加的協(xié)議確保此方法不比執(zhí)行模數(shù)求冪(該方法實際上已令人滿意)有效。
一旦用戶102解出難題108,用戶102就具有有效的餅干,其中包含足以隨后使提供者104確信用戶102已登記的信息。餅干還載送提供者104確定內(nèi)容所需的所有輔助數(shù)據(jù)。
應(yīng)理解,初始登記請求106的有些信息有潛在的隱私敏感性。同樣,為后續(xù)請求內(nèi)容時將餅干送回提供者104,竊聽者會根據(jù)餅干跟蹤該請求。因此,希望對從用戶102到提供者104的通信106加密,采用基于離散對數(shù)的公共密鑰加密算法,諸如Diffie-Hellman算法,比較容易完成該加密。提供者104的公共密鑰可包括在應(yīng)用中,并且可用公共的P和g參數(shù)。然而,本領(lǐng)域的技術(shù)人員會理解,從用戶102傳到提供者104的消息不需要加密,并且如果通信106加密,可用任何公共密鑰加密算法。
一實施例中,產(chǎn)生加密的餅干后,對其解密,從加密的餅干產(chǎn)生難題,并加以解答,如下參照圖2所說明。根據(jù)該具體實施例,外部環(huán)境如下。假設(shè)在調(diào)用環(huán)境中提供某數(shù)據(jù)和功能。具體而言,從提供者要求的功能多于從用戶要求的。
難題系統(tǒng)的主要公共參數(shù)是長度1024位且為素數(shù)的P和值為2的生成元g。由21024-2960-1+264*{[2894π]+129093給出素數(shù)P。P的16進制值如下FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 29024E088A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD EF9519B3 CD3A431B302B0A6D F25F1437 4FE1356D 6D51C245 E485B576 625E7EC6 F44C42E9A637ED6B 0BFF5CB6 F406B7ED EE386BFB 5A899FA5 AE9F24117C4B1FE6 49286651 ECE65381 FFFFFFFF FFFFFFF.
最好采用以下公共函數(shù)。用戶和提供者都要求訪問SHA-1散列算法和長整數(shù)模求冪函數(shù)。標(biāo)為H(.)的SHA-1散列算法最好是從任何輸入產(chǎn)生160位結(jié)果,不論輸入長度如何。長整數(shù)模求冪函數(shù)隱含上述參考量g和P,并對給定的值x能有效計算模P的gx??捎闷渌L整數(shù)模算術(shù)函數(shù),諸如加法、乘法等,代替實現(xiàn)模求冪功能。
最好采用以下提供者方才有的參數(shù)和函數(shù)。除上述公共函數(shù)要求外,提供者還需要以加密安全方式產(chǎn)生并檢驗餅干的能力。為此,提供者需要以下項(1)3DES加密算法;(2)鑒別密鑰Ka;(3)加密餅干用的密鑰;(4)高質(zhì)量保密偽隨機數(shù)的源。一實施例中,鑒別密鑰Ka長度為128位。應(yīng)理解,可用不同于3DES加密算法的一些加密算法。用3DES加密算法的實施例中,對餅干加密的密鑰Kp長度最好為112位。
根據(jù)此具體實施例,可產(chǎn)生加密餅干如下。所述特定實施例中,餅干是字節(jié)緩存數(shù)據(jù)。假設(shè)由1024位長度的素數(shù)P加上最后補充的80位限定輸入餅干的最大長度。該餅干用一個或多個8位組(二進制)填補,成為8個的8位組倍數(shù),并且具有預(yù)先考慮的8個8位組鑒別信息。添加80個附加位后,餅干的長度必須保持少于1023位。因此,此具體實施例中,輸入餅干長度必須最多為101個8位組成808位。本領(lǐng)域的技術(shù)人員會明白,如果需要,通過少許修改就能處理較長的餅干。餅干最好應(yīng)具有8個8位組的最小長度。根據(jù)此實施例,可施加以下偽碼參數(shù)對餅干加密
void encryptCookie(const unsigned char*cookie,int cookieLength,unsigned char*encryptedCookie);以上的偽碼參數(shù)中,參數(shù)cookie(餅干)指向具有cookieLength(最多101)8位組信息的緩存器。參數(shù)encryptedCookie(加密餅干)指向具有至少(cookieLength+16) OxF8)8位組可用空間的緩存器,該空間可用運算結(jié)果覆寫,所用全局信息包括參數(shù)ka和kp。
根據(jù)此特定實施例,可用以下方法步驟對餅干加密。第1,計算SHA散列H(Ka,Cookie)后,截斷為8個8位組。然后,將截斷的散列復(fù)制到稱為encryptedCookie的文件中。第2,將稱為cookie的文件添入encryptedCookie文件。第3,計算填補所需的8位組數(shù),1<=n<=8后,添加含值n的8位組數(shù)??梢悦鞔_地保留第3步驟。第4,用密碼塊鏈接(CBC)模式中的密鑰Kp和零初始化矢量通過3DES加密算法對encryptedCookie文件加密。
根據(jù)此具體實施例,可用以下偽碼參數(shù)對加密餅干進行解密int decryptCookie(const unsigned char*encryptedCookie,int cookieLength,unsigned char*cookie);以上的偽碼參數(shù)中,文件encryptedCookie指向具有cookieLength(最多112)8位組信息的緩存器。文件cookie指向具有至少(CookieLength-8)8位組可用空間的緩存器,該空間用計算結(jié)果覆寫。如果鑒別成功,送回的值是解密餅干的長度。否則,送回的值是零。所用全局信息包含參數(shù)Ka和Kp。
根據(jù)此特定實施例,可用以下方法步驟對餅干進行加密和解密。第一,將稱為encryptedCookie的文件復(fù)制到臨時緩存器后,用CBC模式的密鑰Kp和零初始化矢量通過3DES加密算法加以解密。第2,去除填補后,計算SHA散列H(Ka,緩存+8)。然后,將SHA散列裁斷為8個8位組。第3,將該8個8位組輸出與緩存器的前8個8位組比較。若這兩個比較的8個8位組不相等,則返回值為0。若比較相等,則將臨時緩存加8個8位組復(fù)制到Cookie文件,并送回未填補的cookie文件長度。
根據(jù)此具體實施例,可以從加密餅干中建立難題,如圖2所示。將加密餅干200在概念上分成左(L)分量和右(R)分量。右分量長度為80位。隨機數(shù)發(fā)生器202在0至223的范圍偽隨機選擇一個數(shù),將該加密餅干200復(fù)制到1024位的緩存器204,并且在左側(cè)填補零206,在右側(cè)填補10個零8位組(80個零位)。對加密餅干200的左分量與隨機數(shù)發(fā)生器202選擇的隨機數(shù)的級聯(lián)執(zhí)行160位的SHA散列函數(shù)208。對散列函數(shù)208的結(jié)果(長20個8位組)逐位取“異或”為緩存器204的最右端20個8位組,修改加密餅干200最右端的10個8位組和10個零8位組。對緩存器204的數(shù)據(jù)取冪,以產(chǎn)生取冪結(jié)果Z。該取冪結(jié)果Z在難題210中傳送給用戶或客戶機,難題210包含結(jié)果Z和緩存器204中除丟棄的最右端80位外的全部數(shù)據(jù)。
根據(jù)一實施例,可用以下偽碼結(jié)構(gòu)從加密餅干產(chǎn)生難題<pre listing-type="program-listing">  struct puzzle{   intdifficulty;   intcookieLength;   unsigned char answer[128];   unsigned char encryptedCookie[cookieLength];  }   void makePuzzle(   unsigned char*encryptedCookie,   int cookieLength,   int difficulty,   struct puzzle*p  );</pre>輸入difficulty(難度)決定所用隨機數(shù)的大小,該大小又影響解答難題的預(yù)期試求冪數(shù)。例如,若difficulty為20,則用戶破解難題需進行平均219次散列計算和試求冪。輸入的加密餅干具有cookieLength的長度。在結(jié)構(gòu)中填入p的指向后,函數(shù)返回。結(jié)構(gòu)中的encryptedCookie不同于輸入的加密餅干,因而鑒別不會成功。
加密的餅干概念上分成L和R兩部分,使R為10個8位組(80位)長。在0..2difficulty-1的范圍產(chǎn)生隨機數(shù)r。然后,將加密餅干復(fù)制到1024位的臨時緩存器K中,左側(cè)填補零,右側(cè)填補10個零8位組。執(zhí)行L、r的散列函數(shù),產(chǎn)生長20個8位組的值h。將值h取“異或”為緩存器的后20個8位組,修改原加密餅干的后10個8位組和其他10個零8位組。將臨時緩存器K的數(shù)據(jù)當(dāng)作1024位整數(shù)處理,根據(jù)下式求冪以產(chǎn)生Z;Z=gK模P。根據(jù)以下偽碼步驟,通過指向適當(dāng)?shù)淖侄?,填充偽碼結(jié)構(gòu)P→difficulty=difficulty;P→cookieLength=cookieLength;P→答案=Z;P→encryptedCookie=k的中間部分根據(jù)一實施例,可調(diào)用標(biāo)為solvePuzzle的軟件程序解題。必須反復(fù)調(diào)用解題功能以實際解答難題。每次調(diào)用執(zhí)行一次試求冪。最好是對調(diào)用程序提供各種功能響應(yīng),諸如創(chuàng)建背景線程,定期保存中間狀態(tài)等,本領(lǐng)域的技術(shù)人員會理解這點。以下的偽碼結(jié)構(gòu)完整規(guī)定搜尋處理的狀態(tài),并且是需要保存供繼續(xù)使用的信息struct puzzlestate{struct puzzlep;int upto;unsigned charintermediate[128];};int solvePuzzle(struct puzzlestate*s);solvePuzzle程序求出難題的解時,該程序送回值1,這時puzzlestate結(jié)構(gòu)的encryptedcookie字段包含有效加密餅干。還在進行搜尋時,solvePuzzle程序送回值0。在該程序搜尋全部范圍前未求出有效加密餅干的“不可能”情況下,該程序送回值-1。這種結(jié)果僅出現(xiàn)在難題發(fā)送受損或者用戶端或提供者端程序有錯時。
應(yīng)指出,在首次調(diào)用solvePuzzle前,用戶要把從提供者收到的難題復(fù)制到以上所示的puzzlestate結(jié)構(gòu)中。首次調(diào)用solvePuzzle前,用戶還要將upto字段置0。
應(yīng)注意,本領(lǐng)域的技術(shù)人員會理解,可選用各種方法解題并檢驗餅干的正確性。該方法的一種是采用鍵控消息鑒別碼。
重要的是解題用的方法有效。即使目標(biāo)是使用計算時間,但所用時間是不可避免且不能進行簡單優(yōu)化的這點也重要。因此,首次調(diào)用solvePuzzle必須計算中間結(jié)果并保存該結(jié)果,以避免后續(xù)計算(要破解本系統(tǒng)的某些人肯定會這樣做)。因為g(x+y)=gxgy。所以可將難題的猜測分解成固定部分和可變部分,并僅對較小的可變部分求冪。實際上,通過用固定部分除答案(乘以該部分的倒數(shù)),僅需對160位可變部分求冪,并進行比較,校驗是否解決問題。
根據(jù)此具體實施例,通過執(zhí)行以下各步驟可解難題第1,若upto字段為零,則使intermediate字段初始化。通過將encryptedCookie字段分成左和右兩部分(L和R),使R為10個8位組長,并計算(L*2160)的乘法逆元素,并乘以answer字段,以取得intermediate字段的結(jié)果值,進行初始化過程。第2,對L和upto字段執(zhí)行散列函數(shù),并從R和散列的最右端10個8位組形成160位結(jié)果。第3,對160位結(jié)果求冪,產(chǎn)生取冪的結(jié)果。第4,將取冪結(jié)果與intermediate字段的值比較。如果比較值不同,upto字段遞增,并送回值0。(或者,若upto字段的值大于或等于2diffculty(即出現(xiàn)某種差錯),則送回值-1。)第5,否則(即第4步驟中的比較值相同),L散列的最左端80位與upto取“異或”為encryptedCookie字段的最右端位(當(dāng)前為正確),并送回值1,表示成功。
這樣,已說明鑒別匿名用戶同時減小潛在“中間人”舞弊的新穎改進方法。本領(lǐng)域技術(shù)人員會理解,結(jié)合這里所揭示實施例說明的各種說明性邏輯塊、模塊、電路和算法步驟可為電子硬件。軟件或者軟、硬件的組合來實現(xiàn)。各種說明性元件、部件、模塊、電路和步驟一般按其功能闡述。這些功能是作為硬件實現(xiàn)還是作為軟件實現(xiàn),取決于具體應(yīng)用和整個系統(tǒng)受到的設(shè)計約束。熟練的技術(shù)人員懂得這些環(huán)境下硬件和軟件的互換性,并如何為各具體應(yīng)用最佳實現(xiàn)所述功能。作為例子,結(jié)合這里所揭示實施例闡述的各種說明性邏輯塊,模塊,電路和算法步驟,其實現(xiàn)和執(zhí)行可借助數(shù)字信號處理器(DSP)、專用集成電路(ASIC),離散門電路或晶體管邏輯電路,離散硬部件(諸如寄存器和FIFO)、執(zhí)行固件指令集的處理器,任何常規(guī)可編程軟件模塊和處理器,以及上述諸項的任何組合。處理器最好為微處理器,但也可選用任意常規(guī)處理器,控制器,微控制器或狀態(tài)機代替。軟件模塊可駐留于RAM存儲器,快速擦寫存儲器,ROM存儲器,寄存器,硬盤,可移動盤,CD-ROM或本領(lǐng)域公知的任何其他形式的存儲媒體。這些技術(shù)人員還會理解,以上說明中各處可能提到的數(shù)據(jù)、指令、命令、信息、信號、位、碼元和碼片最好由電壓、電流、電磁波、電磁場或粒子、光場或粒子或者以上各項的組合代表。
這樣,示出并說明了本發(fā)明的實施例。然而,本領(lǐng)域技術(shù)人員明白這里揭示的實施例可作許多改變而不偏離本發(fā)明的精神或范圍。因此,本發(fā)明除符合以下的權(quán)利要求書外,不受限制。
權(quán)利要求
1.一種軟件提供者鑒別軟件用戶的方法,其特征在于,所述方法包含以下步驟響應(yīng)從用戶收到的信息建立難題,該難題包含所述信息;將難題發(fā)送給用戶;以及將難題的答案送回提供者。
2.如權(quán)利要求1所述的方法,其特征在于,所述信息包含有關(guān)用戶的人口統(tǒng)計信息。
3.如權(quán)利要求1所述的方法,其特征在于,所述信息包含用戶標(biāo)識。
4.如權(quán)利要求1所述的方法,其特征在于,所述建立步驟包含以下步驟從該信息導(dǎo)出一值以產(chǎn)生導(dǎo)出值,對該導(dǎo)出值取冪以產(chǎn)生冪值,將該冪值與導(dǎo)出值的一部分組合。
5.如權(quán)利要求4所述的方法,其特征在于,還包含以下步驟存儲該信息和一隨機數(shù),對該信息和隨機數(shù)執(zhí)行散列函數(shù)以產(chǎn)生第1散列結(jié)果,并且對第1散列結(jié)果加密,其中導(dǎo)出步驟包含以下步驟將加密散列結(jié)果分成第1分量和第2分量,對第1分量和隨機數(shù)的級聯(lián)執(zhí)行散列函數(shù)以產(chǎn)生第2散列結(jié)果,對第2分量附加多個零值以產(chǎn)生加長的第2分量,在加長的第2分量與第2散列結(jié)果之間執(zhí)行“異或”運算以產(chǎn)生“異或”結(jié)果,級聯(lián)第1分量與“異或”結(jié)果以產(chǎn)生該值。
6.如權(quán)利要求4所述的方法,其特征在于,取冪的步驟包含以下的步驟使生成元升冪,該冪等于導(dǎo)出值;用一素數(shù)除升到導(dǎo)出值冪的生成元,并取得該除運算的余數(shù)。
7.一種使軟件提供者能鑒別軟件用戶的設(shè)備,其特征在于包含響應(yīng)從用戶收到的信息建立難題的裝置,該難題包含所述信息;對用戶發(fā)送難題的裝置;對提供者送回難題答案的裝置。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述信息包含有關(guān)用戶的人口統(tǒng)計信息。
9.如權(quán)利要求7所述的設(shè)備,其特征在于,所述信息包含用戶標(biāo)識。
10.如權(quán)利要求7所述的設(shè)備,其特征在于,建立難題的裝置包含從該信息導(dǎo)出一值以產(chǎn)生導(dǎo)出值的裝置;對導(dǎo)出值取冪以產(chǎn)生冪值的裝置,以及將冪值與導(dǎo)出值的一部分組合的裝置。
11.如權(quán)利要求10所述的設(shè)備,其特征在于,還包含存儲該信息和一隨機數(shù)的裝置、對該信息和隨機數(shù)執(zhí)行散列函數(shù)以產(chǎn)生第1散列結(jié)果的裝置和對第1散列結(jié)果加密裝置,其中導(dǎo)出裝置將加密的散列結(jié)果分成第1分量和第2分量,對第1分量和隨機數(shù)的級聯(lián)執(zhí)行散列函數(shù)以產(chǎn)生第2散列結(jié)果,對第2分量添加多個零值以產(chǎn)生加長的第2分量,在加長的第2分量與第2散列結(jié)果之間執(zhí)行“異或”運算以產(chǎn)生“異或”結(jié)果,并且級聯(lián)第1分量與“異或”結(jié)果以產(chǎn)生該值。
12.如權(quán)利要求10所述的設(shè)備,其特征在于,取冪的裝置包含使生成元升冪的裝置,該冪等于導(dǎo)出值;用素數(shù)除升到導(dǎo)出值冪的生成元的裝置;以及取得該除運算余數(shù)的裝置。
13.一種使軟件提供者能鑒別軟件用戶的設(shè)備,其特征在于,所述設(shè)備包含處理器;處理器可讀存儲媒體,該媒體可由所述處理器訪問,并且包含該處理器可執(zhí)行的指令集,以響應(yīng)從用戶收到的信息建立難題,并將該難題送給用戶,該難題包含所述信息。
14.如利要求13所述的設(shè)備,其特征在于,所述信息包含有關(guān)用戶的人口統(tǒng)計信息。
15.如權(quán)利要求13所述的設(shè)備,其特征在于,所述信息包含用戶標(biāo)識。
16.如權(quán)利要求13所述的設(shè)備,其特征在于,通過從該信息導(dǎo)出一值以產(chǎn)生導(dǎo)出值,對該導(dǎo)出值取冪以產(chǎn)生冪值,將該冪值與導(dǎo)出值的一部分組合,從而構(gòu)建難題。
17.如權(quán)利要求16所述的設(shè)備,其特征在于,該處理器還可執(zhí)行下述指令集以存儲該信息和一隨機數(shù),對該信息和隨機數(shù)執(zhí)行散列函數(shù)以產(chǎn)生第1散列結(jié)果,并且對第1散列結(jié)果加密,其中通過將加密散列結(jié)果分成第1分量和第2分量,對第1分量和隨機數(shù)的級聯(lián)執(zhí)行散列函數(shù)以產(chǎn)生第2散列結(jié)果,對第2分量附加多個零值以產(chǎn)生加長的第2分量,在加長的第2分量與第2散列結(jié)果之間執(zhí)行“異或”運算以產(chǎn)生“異或”結(jié)果,并級聯(lián)第1分量與“異或”結(jié)果以產(chǎn)生該值,從而導(dǎo)出所述導(dǎo)出值。
18.如權(quán)利要求16所述的設(shè)備,其特征在于,通過使生成元升冪,該冪等于導(dǎo)出值,用一素數(shù)除升到導(dǎo)出值冪的生成元,并取得該除運算的余數(shù),對取冪值進行取冪。
19.一種防人假冒多個軟件用戶的方法,其特征在于包含以下步驟建立多個難題,每一難題具有包含有關(guān)多個用戶中各個用戶的信息的答案,每一難題要求消耗資源進行解答;以及將每一難題發(fā)給多個用戶中的各個用戶進行解答。
20.如權(quán)利要求19所述的方法,其特征在于,所述資源是計算機處理時間。
全文摘要
一種鑒別匿名用戶同時減少潛在“中間人”舞弊的方法,包括響應(yīng)從軟件用戶收到的信息建立難題的步驟,該難題包含接收的信息。軟件提供者將該難題發(fā)給用戶。該用戶解答難題,并將答案送回提供者。該難題包含從加密“餅干”導(dǎo)出的部分值和該導(dǎo)出值的冪。餅干包含有關(guān)用戶的信息。
文檔編號G06F21/00GK1413320SQ00817543
公開日2003年4月23日 申請日期2000年12月21日 優(yōu)先權(quán)日1999年12月21日
發(fā)明者G·G·羅斯, P·霍克斯 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
江门市| 改则县| 白沙| 托克逊县| 和田市| 山阴县| 阜南县| 平陆县| 涟水县| 眉山市| 仲巴县| 通化县| 淮安市| 葵青区| 霍邱县| 清原| 子长县| 舒兰市| 新昌县| 洪江市| 新闻| 小金县| 石嘴山市| 石屏县| 泰和县| 德江县| 唐海县| 五大连池市| 宜丰县| 武宣县| 北票市| 武平县| 辽阳市| 阳泉市| 阳山县| 翁牛特旗| 高雄市| 松滋市| 金川县| 玛纳斯县| 上林县|