CN1413320B - 鉴别匿名用户同时减少潜在“中间人”舞弊的方法 - Google Patents

鉴别匿名用户同时减少潜在“中间人”舞弊的方法 Download PDF

Info

Publication number
CN1413320B
CN1413320B CN008175438A CN00817543A CN1413320B CN 1413320 B CN1413320 B CN 1413320B CN 008175438 A CN008175438 A CN 008175438A CN 00817543 A CN00817543 A CN 00817543A CN 1413320 B CN1413320 B CN 1413320B
Authority
CN
China
Prior art keywords
user
difficult problem
information
component
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN008175438A
Other languages
English (en)
Other versions
CN1413320A (zh
Inventor
G·G·罗斯
P·霍克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23860287&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1413320(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1413320A publication Critical patent/CN1413320A/zh
Application granted granted Critical
Publication of CN1413320B publication Critical patent/CN1413320B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Storage Device Security (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Saccharide Compounds (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Pinball Game Machines (AREA)

Abstract

一种鉴别匿名用户同时减少潜在“中间人”舞弊的方法,包括响应从软件用户收到的信息建立难题的步骤,该难题包含接收的信息。软件提供者将该难题发给用户。该用户解答难题,并将答案送回提供者。该难题包含从加密“饼干”导出的部分值和该导出值的幂。饼干包含有关用户的信息。

Description

鉴别匿名用户同时减少潜在“中间人”舞弊的方法
发明背景
I、发明领域
本发明一般涉及加密领域,具体涉及减少潜在“中间人”舞弊的匿名用户鉴别方法。
II、背景
计算机软件一般通过分配代理商或“中间人”在因特网上分配给终端用户(即消费者)。因此,存在涉及交易的三方。第一方是软件和内容的提供者(即作者),该方从提供给终端用户的内容获得收入,并支付少量佣金给分配代理商,以推销并分发软件。第二方是若干分配代理商中的一方,该方给用户提供软件(该方提供查看内容的机构和一些与内容无关的好处,诸如电子邮件功能)。中间人从接收内容的用户获得收入,因而广泛分发软件对其有利。第三方是用户,该方以观看内容为回报免费获得软件。用户无其他酬报,主要是因为用户匿名。由于一般不保留跟踪细节并且不逐个识别用户,因此这些用户为匿名。用户请求内容时,可以自愿提供信息,但该信息一般用完就丢弃,不加以存储或跟踪。后文将这三方统称为提供者,中间人和用户。
用户连接因特网并访问适当网站时,中间人可用称为因特网“饼干(cookie)”的装置获取有关用户的人口统计信息。例如,用户连接某些因特网网址时,其计算机通过因特网连接到中间人操作的主计算机。该主机发送由用户计算机保存的小数据文件(饼干)。用户与主机通信时,在饼干中存储一些数据。用户断线时,该饼干仍留在其计算机中。饼干内存储有有关用户使用因特网的并发数据。下次用户连接主机时,主机读取饼干,获得有关用户的信息。主机操作者可收集用户信息,卖给因特网市场经营者。
由于用户匿名,中间人只要简单地通过传递较多的内容就能对提供者进行无法察觉的舞弊。又可通过代表实际用户请求较多内容或创建“假冒”用户加以实现。有许多能跟踪给特定用户的内容传送率又同时保持细节匿名的公知统计方法。这些统计方法通过代表实际用户请求较多内容,解决中间人作弊的问题。然而,这些方法没有针对中间人通过创建大量假冒用户作弊的情况。因此,需要一种方法防止软件分配代理商假冒大量不存在的用户进行作弊的方法。
发明内容
本发明针对一种防止软件分配代理商假冒大量不存在的用户进行作弊的方法。据此,本发明的一个方面为软件提供者提供一种鉴别软件用户的方法。该方法最好包含以下步骤:响应从用户收到的信息建立难题,该难题包含所述信息;将难题发送给用户;并将难题的答案送回提供者。
本发明的另一方面中,提供一种使软件提供者能鉴别软件用户的设备。该设备最好包含:响应从用户收到的信息建立难题的装置,该难题包含所述信息;对用户发送难题的装置;对提供者送回难题答案的装置。
本发明的另一方面中,提供一种使软件提供者能鉴别软件用户的设备.该设备最好包含:处理器;处理器可读存储媒体,该媒体可由所述处理器访问,并且包含该处理器可执行的指令集,以响应从用户收到的信息建立难题,并将该难题送给用户,该难题包含所述信息.
本发明的另一方面中,提供一种防人假冒多个软件用户的方法。该方法最好包含以下步骤:建立多个难题,每一难题具有包含有关多个用户中各个用户的信息的答案,每一难题要求消耗资源进行解答;将每一难题发给多个用户中的各个用户进行解答。
附图说明
图1是提供者与用户之间交换信息的系统的框图。
图2是说明加密“饼干”的位配合转为“难题”幂运算的框图。
较佳实施例详述
以下所述实施例中,以耗费珍贵资源的方式登记新的系统用户,使个人用户会登记而不用注意代价,但任何方,尤其是中间人,试图滥用此系统,代价会很大。一实施例中,重要资源是计算时间。可用其他珍贵资源,诸如存储空间、网络带宽或用户注意广度(即要求用户互动一段时间)。计算时间之所以较佳,因为对用户来说基本上没有限制。用户的个人计算机多数时间闲置,能以非强迫插入的方式计算,并且计算一完成也无进行中的开销。可根据诸如当时典型计算机的费用和计算能力等参数调整确切的计算量。
图1中,根据本发明一实施例,说明用户102通过与提供者104通信请求登记的系统100。应理解,用户102和提供者104指用户和提供者用的设备,如用户102的个人计算机,或个人数字助理机之类的手持计算装置或无线电话机,甚至提供者104的大型Web服务器。消息106中,用户102对提供者104发送人口统计数据。其他实施例中,用户102可在消息106发送其他数据,例如用户标识,代替或随同人口统计数据发送。给提供商的消息106可加密,以保护用户102的敏感性信息,但也可不加密。用户102的软件包含中间人的某标识符,因而消息106中也含该标识符。用户102还可接着提供信息,以取得较佳目标内容的资料。提供者104将对用户102提供的数据106加密成难题110的答案,当用户102请求内容时,由用户将答案(即解密的难题110)传回到提供者104。
一实施例中,如下建立难题108的答案110。将提供的信息106和长度足以呈现唯一性的随机标识符(未示出)放入缓存器(也未示出)。计算缓存器内容的密码安全散列函数。示例的安全散列函数是美国国家技术标准协会编制的联邦信息处理标准(FIPS)180-1中规定的“安全散列标准”。FIPS180-1文件中说明的算法后文称为安全散列算法(SHA)。此散列函数的结果在长度上为160位。一具体实施例中,仅用该散列函数的前64位。另一实施例中则用该散列函数的前80位。在缓存器始端将该散列函数插入缓存器。然后,用提供者104处的密钥(未示出),以诸如数据加密标准(DES)算法(FIPS46-2)之类的对称块密码将全部缓存内容加密,一具体实施例中,采用FIPS46-3草案件中规定的3重DES(3DES)算法。
对除提供者104外的各方而言,加密的结果最好与随机数据区分不开.具体地说,即使有些数据公开,也没有一方能重构未暴露的部分.随后,提供者104接收加密项时,提供者104通过对该项解密,并检验其中插入的散列函数与新计算的结果是否一致,来确保这是提供者104先前建立的确切数据.加密的数据缓存,本领域的技术人员常称之为“饼干”.
应理解,饼干比单一密码块长,因而要按FIPS所述的密码块链接模式进行该加密。密码块链接模式通常需要随机初始化矢量。然而,由于要加密的第1块包含足以成功抵抗预期攻击的散列值,因而,可将初矢量设为常数零值。
难题108是从饼干中建立,而不是发送饼干本身。难题108最好建立使得解答难题108并恢复饼干需要某一计算量(即预期计算量)。因为提供者104必须对许多用户执行该函数,提供者104必须对建立难题108在计算上有效,而对解答难题108有意无效。通过应用新公知的公共密钥加密法,能完成计算上建立有效和解答无效的这种组合。
为了后面的讨论,可将饼干标为C,并在软件中插入附加参数P和g,从而全部参与者都知道该参数。参数P最好是大素数。P的位数下限受所需难题108的计算复杂度约束。一具体实施例中,P的位数是1024。参数P最好具有附加性质,使满足等式Q=(p-1)/2的参数Q也是素数。参数g最好为Q阶整数乘法群中子群模P的生成元。参数P、g和Q是公知Diffie-Hellman密钥一致性协议用的典型参数。如果饼干C大于Q,就单纯给用户102提供一些饼干,并且用较少的部分建立难题。这里一般假设|C|<|Q|。
通过计算Z=gk模P,首先建立难题108。当前,已知Z计算K(即解离散对数问题)的最著名方法在计算上昂贵,对1024位长度的P而言,可认为该计算大致等效于以128位未知密钥用块密码对消息解密。该计算范围太广,对用户102执行范围太大,由于料想用户102能恢复C,提供者104为用户102提供答案110的大部分。因此,难题108包含Z和难题提示。难题提示包含有关C的大部分信息(但不是全部)。发送的值中可变性的位数决定难题108的难度。用户102解答难题108的最有效方法是试猜未知信息,直到用户102猜到正确答案110。校验每一猜测需要对候选对象K计算模求幂函数。
可假设计算该模求幂需要1/100秒(实际时间取决于处理器(未示出)的速度和P的大小)。如果需要该计算用平均12小时的基本处理时间,就必须用约400万(或222)个试验候选对象。通过设定各种可能性,平均约在半途会找到答案,因而难题提示包含答案110中除23位的全部数据。
为了确保以避开求幂的某一方式不能解答难题108,还可用单向散列函数。如安全散列标准时那样,假设散列函数H()的输出在长度上为160位。重要的是确保|C|的有些大于|H|/2,因而能将|C|分成两部分。如果需要,加密前可填补C,以确保|C|足够大。散列函数的结果部分用于使C模糊,部分用于改变求幂运算的输入。
按以下方式从C建立中间结果K。将饼于C分成L和R两个部分,使|R|长度为80位。在0、...、N的范围内选择随机数r,其中N决定难题108的难度。一实施例中,N=223。然后,由以下公式决定K:
Figure G008175438D00051
其中,||表示级联运算,表示按位“异或”(XOR)运算,080表示80个零位。
应注意,所说明的具体实施例中,单一散列函数的结果最好分成两部分并用于独立的目的。本领域的技术人员不难明白,可将两个独立的散列函数用于这些目的。
于是,难题108由取幂结果Z和K中除后80位外的全部K数据组成,为了恢复C并解答难题108,用户102开始尝试r的值,计算H(L||R),对K的给定部分添加80位结果,并校验结果gk是否等于答案Z。求出正确的r时,散列函数输出的左侧80位与部分K取“异或”,以恢复C。
因此,上述技术满足所提出的要求。离散对数问题的解按160位变化,数量太多,不能用于任何形式的预计算。C的80位模糊,直到试求幂能证实K。K的80位在从r导出前未揭示。由于K取决于L,无法预先计算有用散列值的有限集。随机数r的范围决定了用试凑法解难题108的平均时间,同时上述特性确保不会有其他捷径解题。
本领域的技术人员不难明白,也可通过将尝试值送到提供者并等待确认,解难题108。附加的协议确保此方法不比执行模数求幂(该方法实际上已令人满意)有效。
一旦用户102解出难题108,用户102就具有有效的饼干,其中包含足以随后使提供者104确信用户102已登记的信息。饼干还载送提供者104确定内容所需的所有辅助数据。
应理解,初始登记请求106的有些信息有潜在的隐私敏感性。同样,为后续请求内容时将饼干送回提供者104,窃听者会根据饼干跟踪该请求。因此,希望对从用户102到提供者104的通信106加密,采用基于离散对数的公共密钥加密算法,诸如Diffie-Hellman算法,比较容易完成该加密。提供者104的公共密钥可包括在应用中,并且可用公共的P和g参数。然而,本领域的技术人员会理解,从用户102传到提供者104的消息不需要加密,并且如果通信106加密,可用任何公共密钥加密算法。
一实施例中,产生加密的饼干后,对其解密,从加密的饼干产生难题,并加以解答,如下参照图2所说明。根据该具体实施例,外部环境如下。假设在调用环境中提供某数据和功能。具体而言,从提供者要求的功能多于从用户要求的。
难题系统的主要公共参数是长度1024位且为素数的P和值为2的生成元g。由21024-2960-1+264*{[2894π]+129093给出素数P。P的16进制值如下:
FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 29024E08
8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD EF9519B3 CD3A431B
302B0A6D F25F1437 4FE1356D 6D51C245 E485B576 625E7EC6 F44C42E9
A637ED6B 0BFF5CB6 F406B7ED EE386BFB 5A899FA5 AE9F2411
7C4B1FE6 49286651 ECE65381 FFFFFFFF FFFFFFFF.
最好采用以下公共函数。用户和提供者都要求访问SHA-1散列算法和长整数模求幂函数。标为H(.)的SHA-1散列算法最好是从任何输入产生160位结果,不论输入长度如何。长整数模求幂函数隐含上述参考量g和P,并对给定的值x能有效计算模P的gx。可用其他长整数模算术函数,诸如加法、乘法等,代替实现模求幂功能。
最好采用以下提供者方才有的参数和函数。除上述公共函数要求外,提供者还需要以加密安全方式产生并检验饼干的能力。为此,提供者需要以下项:(1)3DES加密算法;(2)鉴别密钥Ka;(3)加密饼干用的密钥;(4)高质量保密伪随机数的源。一实施例中,鉴别密钥Ka长度为128位。应理解,可用不同于3DES加密算法的一些加密算法。用3DES加密算法的实施例中,对饼干加密的密钥Kp长度最好为112位。
根据此具体实施例,可产生加密饼干如下.所述特定实施例中,饼干是字节缓存数据.假设由1024位长度的素数P加上最后补充的80位限定输入饼干的最大长度.该饼干用一个或多个8位组(二进制)填补,成为8个的8位组倍数,并且具有预先考虑的8个8位组鉴别信息.添加80个附加位后,饼干的长度必须保持少于1023位.因此,此具体实施例中,输入饼干长度必须最多为101个8位组成808位.本领域的技术人员会明白,如果需要,通过少许修改就能处理较长的饼干.饼干最好应具有8个8位组的最小长度.根据此实施例,可施加以下伪码参数对饼干加密:
void encryptCookie(
      const unsigned char*cookie,
      int.cookieLength,
      unsigned char*encryptedCookie
);
以上的伪码参数中,参数cookie(饼干)指向具有cookieLength(最多101)8位组信息的缓存器。参数encryptedCookie(加密饼干)指向具有至少(cookieLength+16)0xF8)8位组可用空间的缓存器,该空间可用运算结果覆写,所用全局信息包括参数ka和kp。
根据此特定实施例,可用以下方法步骤对饼干加密。第1,计算SHA散列H(Ka,Cookie)后,截断为8个8位组。然后,将截断的散列复制到称为encryptedCookie的文件中。第2,将称为cookie的文件添入encryptedCookie文件。第3,计算填补所需的8位组数,1<=n<=8后,添加含值n的8位组数。可以明确地保留第3步骤。第4,用密码块链接(CBC)模式中的密钥Kp和零初始化矢量通过3DES加密算法对encryptedCookie文件加密。
根据此具体实施例,可用以下伪码参数对加密饼干进行解密:
int decryptCookie(
       const unsigned char*encryptedCookie,
       int cookieLength,
       unsigned char*cookie
);
以上的伪码参数中,文件encryptedCookie指向具有cookieLength(最多112)8位组信息的缓存器。文件cookie指向具有至少(CookieLength-8)8位组可用空间的缓存器,该空间用计算结果覆写。如果鉴别成功,送回的值是解密饼干的长度。否则,送回的值是零。所用全局信息包含参数Ka和Kp。
根据此特定实施例,可用以下方法步骤对饼干进行加密和解密。第一,将称为encryptedCookie的文件复制到临时缓存器后,用CBC模式的密钥Kp和零初始化矢量通过3DES加密算法加以解密。第2,去除填补后,计算SHA散列H(Ka,缓存+8)。然后,将SHA散列裁断为8个8位组。第3,将该8个8位组输出与缓存器的前8个8位组比较。若这两个比较的8个8位组不相等,则返回值为0。若比较相等,则将临时缓存加8个8位组复制到Cookie文件,并送回未填补的cookie文件长度。
根据此具体实施例,可以从加密饼干中建立难题,如图2所示.将加密饼干200在概念上分成左(L)分量和右(R)分量.右分量长度为80位.随机数发生器202在0至223的范围伪随机选择一个数,将该加密饼干200复制到1024位的缓存器204,并且在左侧填补零206,在右侧填补10个零8位组(80个零位).对加密饼干200的左分量与随机数发生器202选择的随机数的级联执行160位的SHA散列函数208.对散列函数208的结果(长20个8位组)逐位取“异或”为缓存器204的最右端20个8位组,修改加密饼干200最右端的10个8位组和10个零8位组.对缓存器204的数据取幂,以产生取幂结果Z.该取幂结果Z在难题210中传送给用户或客户机,难题210包含结果Z和缓存器204中除丢弃的最右端80位外的全部数据.
根据一实施例,可用以下伪码结构从加密饼干产生难题:
struct puzzle{
       int              difficulty;
       int              cookieLength;
       unsigned char    answer[128];
       unsigned char    encryptedCookie[cookieLength];
}
void makePuzzle(
      unsigned char*encryptedCookie,
      int cookieLength,
      int difficulty,
      struct puzzle*p
);
输入difficulty(难度)决定所用随机数的大小,该大小又影响解答难题的预期试求幂数。例如,若difficulty为20,则用户破解难题需进行平均219次散列计算和试求幂。输入的加密饼干具有cookieLength的长度。在结构中填入p的指向后,函数返回。结构中的encryptedCookie不同于输入的加密饼干,因而鉴别不会成功。
加密的饼干概念上分成L和R两部分,使R为10个8位组(80位)长。在0..2difficulty-1的范围产生随机数r。然后,将加密饼干复制到1024位的临时缓存器K中,左侧填补零,右侧填补10个零8位组。执行L、r的散列函数,产生长20个8位组的值h。将值h取“异或”为缓存器的后20个8位组,修改原加密饼干的后10个8位组和其他10个零8位组。将临时缓存器K的数据当作1024位整数处理,根据下式求幂以产生Z;Z=gK模P。根据以下伪码步骤,通过指向适当的字段,填充伪码结构:
P→difficulty=difficulty;
P→cookieLength=cookieLength;
P→答案=Z;
P→encryptedCookie=k的中间部分
根据一实施例,可调用标为solvePuzzle的软件程序解题。必须反复调用解题功能以实际解答难题。每次调用执行一次试求幂。最好是对调用程序提供各种功能响应,诸如创建背景线程,定期保存中间状态等,本领域的技术人员会理解这点。以下的伪码结构完整规定搜寻处理的状态,并且是需要保存供继续使用的信息:
struct puzzlestate{
       struct puzzlep;
       int              upto;
       unsigned char    intermediate[128];
};
int solvePuzzle(struct puzzlestate*s);
solvePuzzle程序求出难题的解时,该程序送回值1,这时puzzlestate结构的encryptedcookie字段包含有效加密饼干。还在进行搜寻时,solvePuzzle程序送回值0。在该程序搜寻全部范围前未求出有效加密饼干的“不可能”情况下,该程序送回值-1。这种结果仅出现在难题发送受损或者用户端或提供者端程序有错时。
应指出,在首次调用solvePuzzle前,用户要把从提供者收到的难题复制到以上所示的puzzlestate结构中。首次调用solvePuzzle前,用户还要将upto字段置0。
应注意,本领域的技术人员会理解,可选用各种方法解题并检验饼干的正确性。该方法的一种是采用键控消息鉴别码。
重要的是解题用的方法有效。即使目标是使用计算时间,但所用时间是不可避免且不能进行简单优化的这点也重要。因此,首次调用solvePuzzle必须计算中间结果并保存该结果,以避免后续计算(要破解本系统的某些人肯定会这样做)。因为g(x+y)=gxgy。所以可将难题的猜测分解成固定部分和可变部分,并仅对较小的可变部分求幂。实际上,通过用固定部分除答案(乘以该部分的倒数),仅需对160位可变部分求幂,并进行比较,校验是否解决问题。
根据此具体实施例,通过执行以下各步骤可解难题:第1,若upto字段为零,则使intermediate字段初始化。通过将encryptedCookie字段分成左和右两部分(L和R),使R为10个8位组长,并计算(L*2160)的乘法逆元素,并乘以answer字段,以取得intermediate字段的结果值,进行初始化过程。第2,对L和upto字段执行散列函数,并从R和散列的最右端10个8位组形成160位结果。第3,对160位结果求幂,产生取幂的结果。第4,将取幂结果与intermediate字段的值比较。如果比较值不同,upto字段递增,并送回值0。(或者,若upto字段的值大于或等于2diffculty(即出现某种差错),则送回值-1。)第5,否则(即第4步骤中的比较值相同),L散列的最左端80位与upto取“异或”为encryptedCookie字段的最右端位(当前为正确),并送回值1,表示成功。
这样,已说明鉴别匿名用户同时减小潜在“中间人”舞弊的新颖改进方法。本领域技术人员会理解,结合这里所揭示实施例说明的各种说明性逻辑块、模块、电路和算法步骤可为电子硬件。软件或者软、硬件的组合来实现。各种说明性元件、部件、模块、电路和步骤一般按其功能阐述。这些功能是作为硬件实现还是作为软件实现,取决于具体应用和整个系统受到的设计约束。熟练的技术人员懂得这些环境下硬件和软件的互换性,并如何为各具体应用最佳实现所述功能。作为例子,结合这里所揭示实施例阐述的各种说明性逻辑块,模块,电路和算法步骤,其实现和执行可借助数字信号处理器(DSP)、专用集成电路(ASIC),离散门电路或晶体管逻辑电路,离散硬部件(诸如寄存器和FIFO)、执行固件指令集的处理器,任何常规可编程软件模块和处理器,以及上述诸项的任何组合。处理器最好为微处理器,但也可选用任意常规处理器,控制器,微控制器或状态机代替。软件模块可驻留于RAM存储器,快速擦写存储器,ROM存储器,寄存器,硬盘,可移动盘,CD-ROM或本领域公知的任何其他形式的存储媒体。这些技术人员还会理解,以上说明中各处可能提到的数据、指令、命令、信息、信号、位、码元和码片最好由电压、电流、电磁波、电磁场或粒子、光场或粒子或者以上各项的组合代表。
这样,示出并说明了本发明的实施例.然而,本领域技术人员明白这里揭示的实施例可作许多改变而不偏离本发明的精神或范围.因此,本发明除符合以下的权利要求书外,不受限制.

Claims (12)

1.一种软件提供者鉴别软件用户的方法,其特征在于,所述方法包含以下步骤:
响应从用户收到的信息建立难题,该难题包含所述信息;
将难题发送给用户;以及
将难题的答案送回提供者;
其中,所述难题要求消耗资源以进行解答,并且这种资源消耗对于个人用户影响很小,但对于试图通过创建大量假冒用户进行作弊的用户来说将承受高昂代价。
2.如权利要求1所述的方法,其特征在于,所述信息包含有关用户的人口统计信息。
3.如权利要求1所述的方法,其特征在于,所述信息包含用户标识。
4.如权利要求1所述的方法,其特征在于,所述建立步骤包含以下步骤:从该信息导出一值以产生导出值,对该导出值取幂以产生幂值,将该幂值与导出值的一部分组合。
5.如权利要求4所述的方法,其特征在于,还包含以下步骤:存储该信息和一随机数,对该信息和随机数执行散列函数以产生第1散列结果,并且对第1散列结果加密,其中导出步骤包含以下步骤:将加密散列结果分成第1分量和第2分量,对第1分量和随机数的级联执行散列函数以产生第2散列结果,对第2分量附加多个零值以产生加长的第2分量,在加长的第2分量与第2散列结果之间执行“异或”运算以产生“异或”结果,级联第1分量与“异或”结果以产生该值。
6.一种使软件提供者能鉴别软件用户的设备,其特征在于包含:
响应从用户收到的信息建立难题的装置,该难题包含所述信息;
对用户发送难题的装置;
对提供者送回难题答案的装置;
其中,所述难题要求消耗资源以进行解答,并且这种资源消耗对于个人用户影响很小,但对于试图通过创建大量假冒用户进行作弊的用户来说将承受高昂代价。
7.如权利要求6所述的设备,其特征在于,所述信息包含有关用户的人口统计信息。
8.如权利要求6所述的设备,其特征在于,所述信息包含用户标识。
9.如权利要求6所述的设备,其特征在于,建立难题的装置包含从该信息导出一值以产生导出值的装置;对导出值取幂以产生幂值的装置,以及将幂值与导出值的一部分组合的装置。
10.如权利要求9所述的设备,其特征在于,还包含存储该信息和一随机数的装置、对该信息和随机数执行散列函数以产生第1散列结果的装置和对第1散列结果加密装置,其中导出装置将加密的散列结果分成第1分量和第2分量,对第1分量和随机数的级联执行散列函数以产生第2散列结果,对第2分量添加多个零值以产生加长的第2分量,在加长的第2分量与第2散列结果之间执行“异或”运算以产生“异或”结果,并且级联第1分量与“异或”结果以产生该值。
11.一种防人假冒多个软件用户的方法,其特征在于包含以下步骤:
建立多个难题,每一难题具有包含有关多个用户中各个用户的信息的答案,每一难题要求消耗资源进行解答,并且这种资源消耗对于个人用户影响很小,但对于试图通过创建大量假冒用户进行作弊的用户来说将承受高昂代价;以及
将每一难题发给多个用户中的各个用户进行解答。
12.如权利要求11所述的方法,其特征在于,所述资源是计算机处理时间。
CN008175438A 1999-12-21 2000-12-21 鉴别匿名用户同时减少潜在“中间人”舞弊的方法 Expired - Lifetime CN1413320B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/468,557 1999-12-21
US09/468,557 US6944765B1 (en) 1999-12-21 1999-12-21 Method of authentication anonymous users while reducing potential for “middleman” fraud
PCT/US2000/034981 WO2001046787A2 (en) 1999-12-21 2000-12-21 Method of authenticating users of software

Publications (2)

Publication Number Publication Date
CN1413320A CN1413320A (zh) 2003-04-23
CN1413320B true CN1413320B (zh) 2010-05-12

Family

ID=23860287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN008175438A Expired - Lifetime CN1413320B (zh) 1999-12-21 2000-12-21 鉴别匿名用户同时减少潜在“中间人”舞弊的方法

Country Status (12)

Country Link
US (1) US6944765B1 (zh)
EP (1) EP1261903B2 (zh)
JP (1) JP4782343B2 (zh)
KR (1) KR100833828B1 (zh)
CN (1) CN1413320B (zh)
AT (1) ATE342539T1 (zh)
AU (1) AU2592201A (zh)
BR (1) BRPI0016507B1 (zh)
DE (1) DE60031304T3 (zh)
HK (1) HK1052570A1 (zh)
TW (1) TW498233B (zh)
WO (1) WO2001046787A2 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143163B1 (en) * 2000-07-26 2006-11-28 Lucent Technologies Inc. System and method for exacting a system resource access cost
US7356696B1 (en) * 2000-08-01 2008-04-08 Lucent Technologies Inc. Proofs of work and bread pudding protocols
GB2375970B (en) * 2001-05-31 2005-11-23 Nokia Corp Electronic gaming
JP3668175B2 (ja) * 2001-10-24 2005-07-06 株式会社東芝 個人認証方法、個人認証装置および個人認証システム
US7603452B1 (en) 2002-03-26 2009-10-13 Symantec Corporation Networked computer environment assurance system and method
US20030233584A1 (en) * 2002-06-14 2003-12-18 Microsoft Corporation Method and system using combinable computational puzzles as challenges to network entities for identity check
WO2004051964A2 (en) * 2002-12-03 2004-06-17 Funk Software, Inc. Tunneled authentication protocol for preventing man-in-the-middle attacks
US7606915B1 (en) * 2003-02-25 2009-10-20 Microsoft Corporation Prevention of unauthorized scripts
US8112483B1 (en) * 2003-08-08 2012-02-07 Emigh Aaron T Enhanced challenge-response
US7694335B1 (en) * 2004-03-09 2010-04-06 Cisco Technology, Inc. Server preventing attacks by generating a challenge having a computational request and a secure cookie for processing by a client
US7549718B2 (en) * 2004-05-27 2009-06-23 Silverbrook Research Pty Ltd Printhead module having operation controllable on basis of thermal sensors
US7757086B2 (en) * 2004-05-27 2010-07-13 Silverbrook Research Pty Ltd Key transportation
US7427117B2 (en) * 2004-05-27 2008-09-23 Silverbrook Research Pty Ltd Method of expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7848501B2 (en) * 2005-01-25 2010-12-07 Microsoft Corporation Storage abuse prevention
KR100786796B1 (ko) * 2005-03-25 2007-12-18 주식회사 다음커뮤니케이션 인터넷 광고 과금 방법 및 시스템
US7730532B1 (en) * 2005-06-13 2010-06-01 Symantec Corporation Automatic tracking cookie detection
KR20060028463A (ko) * 2006-03-09 2006-03-29 정성욱 온라인 광고 시스템에서의 이용자 부정 클릭 추적과 방지시스템 및 그 방법
KR20080026856A (ko) * 2006-09-21 2008-03-26 삼성전자주식회사 휴대 단말기의 메시지 송수신 방법
US8683549B2 (en) * 2007-03-23 2014-03-25 Microsoft Corporation Secure data storage and retrieval incorporating human participation
US8793497B2 (en) * 2008-05-09 2014-07-29 Qualcomm Incorporated Puzzle-based authentication between a token and verifiers
CA2754268C (en) * 2009-03-03 2018-04-03 Kenneth J. Giuliani Split key secure access system
US9306905B2 (en) * 2011-12-20 2016-04-05 Tata Consultancy Services Ltd. Secure access to application servers using out-of-band communication
EP2736213B1 (en) * 2012-11-21 2015-10-21 Mitsubishi Electric R&D Centre Europe B.V. Method and system for authenticating at least one terminal requesting access to at least one resource
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
CN107835077B (zh) * 2017-09-22 2020-10-02 中国人民解放军国防科技大学 一种面向车载网匿名认证的互信簇协同验证方法
EP3716570B1 (en) * 2019-03-29 2022-07-27 Mitsubishi Electric R&D Centre Europe B.V. Computational puzzles against dos attacks
RU2722925C1 (ru) * 2019-10-09 2020-06-04 Общество с ограниченной ответственностью "Доверенные Решения" (ООО "Доверенные Решения") Способ защищенного информационного обмена данными

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964163A (en) * 1988-04-04 1990-10-16 Motorola, Inc. Method and apparatus for controlling access to a communication system
US5241599A (en) * 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
US5311596A (en) * 1992-08-31 1994-05-10 At&T Bell Laboratories Continuous authentication using an in-band or out-of-band side channel
TW237588B (zh) * 1993-06-07 1995-01-01 Microsoft Corp
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5757907A (en) * 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
JP3497936B2 (ja) * 1995-01-20 2004-02-16 松下電器産業株式会社 個人認証方法
US5790667A (en) * 1995-01-20 1998-08-04 Matsushita Electric Industrial Co., Ltd. Personal authentication method
US5970143A (en) * 1995-11-22 1999-10-19 Walker Asset Management Lp Remote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocols
US5768382A (en) * 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
US6073236A (en) * 1996-06-28 2000-06-06 Sony Corporation Authentication method, communication method, and information processing apparatus
US6148083A (en) * 1996-08-23 2000-11-14 Hewlett-Packard Company Application certification for an international cryptography framework
US5841870A (en) * 1996-11-12 1998-11-24 Cheyenne Property Trust Dynamic classes of service for an international cryptography framework
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
DE69724947T2 (de) * 1997-07-31 2004-05-19 Siemens Ag Rechnersystem und Verfahren zur Sicherung einer Datei
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
JP4651212B2 (ja) * 2001-03-22 2011-03-16 大日本印刷株式会社 携帯可能情報記憶媒体およびその認証方法
WO2005008385A2 (en) * 2003-07-07 2005-01-27 Cryptography Research, Inc. Reprogrammable security for controlling piracy and enabling interactive content

Also Published As

Publication number Publication date
ATE342539T1 (de) 2006-11-15
BR0016507A (pt) 2002-12-24
BRPI0016507B1 (pt) 2016-02-10
DE60031304T2 (de) 2007-05-24
HK1052570A1 (zh) 2003-09-19
EP1261903A2 (en) 2002-12-04
EP1261903B1 (en) 2006-10-11
KR20020091059A (ko) 2002-12-05
AU2592201A (en) 2001-07-03
KR100833828B1 (ko) 2008-06-02
DE60031304T3 (de) 2010-07-01
CN1413320A (zh) 2003-04-23
EP1261903B2 (en) 2009-10-07
WO2001046787A2 (en) 2001-06-28
WO2001046787A3 (en) 2002-09-26
TW498233B (en) 2002-08-11
US6944765B1 (en) 2005-09-13
DE60031304D1 (de) 2006-11-23
JP2003520467A (ja) 2003-07-02
JP4782343B2 (ja) 2011-09-28

Similar Documents

Publication Publication Date Title
CN1413320B (zh) 鉴别匿名用户同时减少潜在“中间人”舞弊的方法
Wu et al. A novel and provably secure authentication and key agreement scheme with user anonymity for global mobility networks
Juels Targeted advertising... and privacy too
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN114175028B (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
JP5405658B2 (ja) リセット可能な耐タンパー性ハードウェアトークンを使用する、効率的な秘匿関数計算の方法
Chattopadhyay et al. An efficient verifiable (t, n)-threshold secret image sharing scheme with ultralight shares
Wu et al. A new authenticated key agreement scheme based on smart cards providing user anonymity with formal proof
CN117134906A (zh) 多方隐私求交方法及相关装置
CN114144783A (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
Yi et al. A secure conference scheme for mobile communications
Lee et al. Provably secure extended chaotic map-based three-party key agreement protocols using password authentication
Zhang et al. Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services
Pereira et al. On the perfect encryption assumption
JP3784055B2 (ja) リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
Ogundoyin A privacy-preserving certificateless two-party authenticated key exchange protocol without bilinear pairing for mobile-commerce applications
JP4598269B2 (ja) 楕円曲線上の高速有限体演算
Wang et al. Adaptive RSA encryption algorithm for smart grid
CN108632033A (zh) 一种外包计算中基于随机加权酉矩阵的同态加密方法
Chen et al. An E-lottery system with a fair purchasing environment and an arbitration mechanism
Kalaichelvi et al. Design of digital image encryption based on elliptic curve cryptography (ECC) algorithm and Radix-64 conversion
Diffie et al. 6. New Directions in
CN106447473B (zh) 基于匹配度的在线安全多正相关属性逆向拍卖方法
CN106447474B (zh) 基于匹配度的在线安全多属性逆向拍卖方法
Gray Iii et al. Provable security for cryptographic protocols–exact analysis and engineering applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1052570

Country of ref document: HK

CX01 Expiry of patent term

Granted publication date: 20100512

CX01 Expiry of patent term