计算机系统识别的制作方法

文档序号:7591684阅读:423来源:国知局
专利名称:计算机系统识别的制作方法
背景本发明与计算机系统的识别有关。
服务器(如因特网服务器)可能布置在提供特定服务的网站上。在这种方式下,网站上的用户可以通过用户计算机系统与网站间进行通信。有时,服务器可以控制对网站的访问,以便仅选取的一组用户可以访问网站提供的服务。
电子邮件的广泛应用以及团体和基于聊天的网站的迅速壮大,允许因特网用户接触和与他们以前从不相识的人相互配合。遗憾的是,并非所有加入这种论坛的人都是善意的。尽管事实是多数的聊天室使用如用户名和通行字的访问控制进行进入团体的访问控制,但是少数的用户由于不当行为被拒绝访问后仍可以绕过这些访问控制。例如,一个被封禁的用户可以采用一个新的用户名而重新获取对聊天区的访问,继续破坏行为。这种逃避现象让一个人破坏了一组人的努力,减少了他们在线经历中的快乐。
嵌入式标识符,如处理器序列号(下面称为处理器号),通过识别访问网站的计算机系统,可以提供一种阻止上述行为的有效方法。对于一个责任要求严格的特定聊天室,例如未成年人的聊天室,网站可以创建可靠的聊天环境,其中要求个人提供处理器号(另外有他们的姓名和通行字)以便获取对聊天室的访问,因而处理代码是强行的、可靠的。如果聊天区中的各个成员自愿提供他或她的处理器号,结果就会有更为安全的社区,它可以更为有效地对付潜在地威胁行为。总之,如果有问题的用户自愿加入到通过使用处理器号不仅促进而且增强责任行为的房间中,即使有问题的用户改变他们的用户名,那么仍可以阻止他们要再次获得对聊天室的曾被否认过的访问的能力。
遗憾的是,用于识别用户计算机系统的嵌入式标识符的使用会提出一些难题。例如,该号码可以被用于建立一个连接在用户和在因特网上保存着的不同数据库之间的信息路径。而这些数据库又关系到要建立一个用户私人信息的巨大数据库。尽管如此,由于事实上用户可能具有使处理器号识别失败的能力,因而建立这样的数据库是不可能的,仍需要继续加强用户的私人保护。
概述在本发明的一种实施例中,方法包括接收来自第一个计算机系统的对第二个计算机系统识别的请求,并检索出识别第二个计算机系统的标识符。借助于与第一个计算机系统相关的密钥,标识符被加密,生成一个散列值。散列值被提供给第一个计算机系统以响应接收的请求。
在另一种实施例中,计算机系统包括接口和处理器。接口用于接收来自另一台计算机系统的对第一个计算机系统进行识别的请求。接口能够将识别第一个计算机系统的散列值提供给其它的计算机系统。处理器被连接到接口上。处理器能够借助于与其它计算机系统相关的密钥对识别第一个计算机系统的标识符进行加密,生成散列值。
在另一种实施例中,一个产品包括可被基于处理器的第一系统读取的存储介质。存储介质存储着指令,能让处理器从另一个系统上接收密钥以识别第一个系统,并确定密钥是否合法。基于这种识别,指令引导处理器有选择性地认可标识符加密,这些标识符借助密钥来识别第一个计算机系统,生成散列值。
也是在此另一种实施例中,微处理器包括指令单元、执行单元和总线接口单元。指令单元用于指示当指令单元接收时对识别微处理器的标识符进行请求的指令。执行单元被连接到指令单元上,用于响应来自指令单元的指示,利用识别微处理器的标识符对密钥进行加密,生成散列值。总线接口单元被连接到执行单元上,用于将散列值的指示提供给微处理器的外部引线。
图2是按本发明实施例的由

图1的计算机系统执行的软件的图解。
图3是按本发明实施例的图1计算机系统的详尽示意图。
图4是按本发明实施例的逻辑算法执行过程的图解,它能控制由图3的计算机系统的微处理器提出的识别请求。
图5是按本发明实施例的图3处理器的示意图。
详细说明参看图1,按本发明的计算机系统的实施例10包括加密单元31,它可以从网站36(如网站36a,36b和36c)上接收对计算机系统10识别的识别请求。为响应这些请求,加密单元31要将不同的散列值32(如散列值32a,32b和32c)提供给不同的网站36。在一些实施例中,各个散列值32是不同的,结果,尽管各个散列值32是由单一个处理器号30生成的,各个网站36要通过不同的散列值32去识别计算机系统10,说明如下。因为各个网站36将计算机系统10与不同的散列值32联系起来,关于计算机系统10用户的信息在被不同网站36保存的数据库之间可能是不相关的。例如,特定网站36可以通过散列值“1bdf23”识别计算机系统10,另一个网站36可通过散列值“53gh44”识别计算机系统10。另外,正如下面要说明的,加密单元31生成散列值32的方式使得不良网站36难于获取其它网站36识别计算机系统10的散列值32。因此,鉴于加密单元31中使用的技术之故,难于从被不同网站36保存的数据库中关联得到用户信息。在此文中,术语“网站(web site)”一般指一种配置方案,其中计算机系统(如服务器)执行软件以向其它的计算机系统如计算机系统10提供服务。
在本申请中,词组“计算机系统(computer system)”一般是指基于处理器的系统,可能包括(但不限于)如下几个例子图形系统,台式计算机,便携式计算机(如膝上电脑),或是置顶盒。术语“处理器(processor)”指至少一个如中央处理单元(CPU)、微控制器、X86微处理器、高级RISC机(ARM)微处理器或是奔腾微处理器的设备。实际上并不限于上述列举的例子,其它类型的计算机系统和处理器也可以被包括在本发明的某些实施例中。
为了获得识别计算机系统10的散列值,特定网站36可以将保密密钥34(例如保密密钥34a、34b、34c)传送给计算机系统10。作为响应,加密单元31利用密钥34将被嵌入的标识符如处理器号30进行加密,生成散列值32,计算机系统10将散列值提供给正在请求的网站36。在这种方式下,如果各个网站36将不同的保密密钥34传递给计算机系统10,那么各个网站36将接收不同的散列值32,各个散列值都将计算机系统10指定到一个特定的网站36上。正如下面将要进一步说明的,加密单元31可能包括处理器200(如图3),以便借助处理器号30辅助保密密钥34的加密。
保密密钥34可能是也可能不是保密密钥,这依赖于特定的实施例。例如,在某些实施例中,保密密钥34是从网站36的地址或通用资源定位器(URL)中导出的。因此,例如,保密密钥34可以指字符串,如www.example.com。如下所述,对于保密密钥34从URL中导出的这类实施例,计算机系统10可能要执行合法检验以确定特定网站36提供的保密密钥34是否是基于网站36的URL。
在某些实施例中,加密单元31可能使用散列函数称之F(PN,PRIVACYKEY)实现加密。F(PN,PRIVACYKEY)函数具有的性质可能使其更难于追踪被存储在不同网站36上的用户信息(有关计算机系统10的)。F(PN,PRIVACYKEY)散列函数中,符号“PN”代表处理器号30,符号“PRIVACYKEY”代表保密密钥34。
F(PN,PRIVACYKEY)散列函数的一个性质是F(PN,PRIVACYKEY)函数是单向散列函数,意味着是给定散列值32和保密密钥34的一个符号,如果不是不可能的话,那么也难于反过来去确定处理器号30。因此,对于特定的网站36难于利用从网站36上获得的散列值32导出处理器号30。
在某些实施例中,F(PN,PRIVACYKEY)函数的另一个特性是F(PN,PRIVACYKEY)函数是无碰撞的,这意味着F(PN,PRIVACYKEY)是散列函数非常不可能给不同的保密密钥34返回相同的散列值的一个项目。因此,特定的网站36也非常不可能使用F(PN,PRIVACYKEY)函数(以及相关的保密密钥34)给两个不同的处理器号30获取相同的散列值32。因此,这一特点确保了特定网站36很可能使用不同的、唯一的处理器号30去识别各个计算机系统。
F(PN,PRIVACYKEY)函数(在某些实施例中)的另一个性质是F(PN,PRIVACYKEY)函数是不可通信联络的,如下所述F(F(PN,PRIVACYKEY),PRIVACYKEY’))≠F(F(PN,PRIVACYKEY’),PRIVACYKEY)),其中“PRIVACYKEY’”表示的保密密钥34不同于由“PRIVACYKEY”表示的保密密钥34。不可交换这一性质的结果导致在使用不同保密密钥34时难于将不同数据库中(不同网站36上)与计算机系统10(以及用户)相关的信息互联起来。
在不同的实施例中,多种不同的散列函数可能得以应用,它们可能满足一个,多个或者以下解释过的所有的性质。例如,在某些实施例中使用了安全散列逻辑(SHA),该逻辑算法满足以上所有描述过的性质。
在某些实施例中,当特定网站36正在请求系统识别时,计算机系统10可能会通知系统10的用户。例如,这种通知以在计算机系统10的显示器14(如图3)上形成提示窗口的形式给出。以这种方式用户可以允许网站36获得标识符(由散列值32提供)或是拒绝该请求。在某些实施例中,用户可以选择关闭该提示。
除了向用户提示这一识别请求外,计算机系统10还采取措施防止恶意网站36由提交不正确的保密密钥34以达到获取与另一网站36相联系的散列值32的目的。例如,在某些实施例中,识别请求可能包括两部分识别程序。首先,网站36通过执行(如下所述如果能得到认可)处理器200(如图2)上的指令(称为SETKEY(PRIVACYKEY))设置保密密钥34。参见图2,如下所述,SETKEY(PRIVACYKEY)函数可能是与操作系统28的零级环(ring zero)(即最高层)相关的。结果,在计算机系统10通过执行软件程序—称之驱动程序19使提供的保密密钥34合法之前,计算机系统10不可能允许处理器指令的执行。当保密密钥经过驱动程序19执行而被合法化后,网站36可以得到认可去执行处理器指令称为HWID()(即HWID()指令可能没有输入参数),该指令与操作系统28的三级环(即低级优先层)相关,用于获取散列值32。
更为特殊的是,在某些实施例中,上述说明过的识别程序可包括操作系统28、因特网浏览器27(如Internet Explorer或NetscapeNavigator)和驱动程序19之间的交互作用。例如, 因为SETKEY(PRIVACYKEY)指令与零级环相关,网站36本身不可能引导指令的执行以获得散列值32,网站36仅可以访问操作系统28的三级环(低级优先层)和更高级的环(即更为低级的优先层)。然而,驱动程序19可能具有零级环优先权,因而可以构成网站36和操作系统28的零级环优先权之间的桥梁。以这种方式,当网站36想要执行SETKEY(PRIVACYKEY)指令时,驱动程序19可以被操作系统28调用以便在提供散列值32之前让处理器200对保密密钥34进行合法化。在驱动程序19的执行中,处理器200可以利用从浏览器27获得的执行结果将保密密钥34合法化,如下所述。
参看图4,当驱动程序19被处理器200执行时,该程序引导处理器200执行下列功能。尤其是,当识别请求被接收到后,驱动程序19要引导处理器200去确定(菱形块50)是否用户激活了用户提示选项。如果是,处理器200提示(方块52)(如通过显示器14(如图2))用户网站36已经提交了识别请求并等待用户指示(如通过键盘24或鼠标26(如图2))是否用户想要拒绝请求。如果拒绝,处理器200通知网站36(块56)拒绝请求。
然而,如果用户并未拒绝请求,处理器200可以确定(菱形块58)是否浏览器现在正在被执行。如果是,程序19引导处理器200将保密密钥34传送给(块60)浏览器27。因此,当处理器200执行浏览器27(如在另外的线程中)时,处理器200要将保密密钥34与网站36上的URL进行比较。接下来,处理器200传送比较结果,以便由驱动程序19使用。用这种方式,当处理器200接下来执行了驱动程序19时,处理器要确定(菱形块62)是否保密密钥34与网站36上的URL匹配。如果不匹配,处理器200拒绝请求并通知(块56)网站36拒绝识别请求。否则,处理器200执行(块64)SETKEY(PRIVACYKEY)指令,设置保密密钥以用于处理器号30的加密。以这种方式,提交了保密密钥34的网站36引导处理器200执行HWID()指令,使处理器200生成散列值32的指示。然而,如果保密密钥34未被设定,处理器200将返回错误的指示,而不是散列值32的指示。
回头参看图3,在某些实施例中,计算机系统10可能包括桥接器或存储器插机16。处理器200和存储器插机(hub)16可被连接到主机总线23上。存储器插机16可以提供接口,将主机总线23,存储器总线29和加速图形端口(AGP)总线11连接到一起。在1996年7月31日由Santa Clara,California的因特公司发行的加速图形端口接口说明书版本1.0中有AGP的详细说明。系统存储器18可被连接到存储器总线29上,并存储驱动程序19、浏览器27和操作系统28的各部分(图3中为给出)。图形加速器13(控制显示器14)可被连接到AGP总线11上。插机通信链15可将存储器插机16连接到另一个桥接器电路上,或是输入/输出(I/O)插机20上。
在某些实施例中,I/O集线器20包括到I/O扩展总线25和外围部件互联(PCI)总线21上的接口。PCI详细说明可以从PCI SpecialInterest Group,Portland,Oregon97214上获得。网络接口12(如调制解调器或局域网卡(LAN))可被连接到PCI总线21上,给计算机系统10提供与网站36进行通信的通信路径。以这种方式,处理器200可以与网络接口12进行交互作用,以便与网站36进行通信。I/O插机20也包括到如硬盘驱动器37和CD-ROM光驱33上的接口。I/O控制器17可被连接到I/O扩展总线25上,接收来自如键盘24和鼠标26的输入数据。I/O控制器17也控制软盘驱动器22的操作。驱动程序19的复本被存储在如下列举的几种设备上硬盘驱动器32、磁盘或光盘。
参看图5,作为一个例子,处理器200可包括总线接口单元(BIU)208,它被连接到主机总线23的地址、控制和数据线上,在其它的操作中收回来自系统存储器18的指令和数据。对于指令而言,处理器19可包括指令单元203,它被连接到总线单元208上,对指令进行译码。这种方式下,指令单元203可具有缓冲区和高速缓存以存储指令。(处理器200的)控制单元208可接收指令单元203的对译码后的指令进行指示的信号。例如,信号可能指出该指令要执行SETKEY(PRIVACYKEY)函数还是指令要执行HWID()函数。
为了响应被指令单元203指示的指令,在某些实施例中,控制单元208接收来自处理器200的微码只读存储器(ROM)210中的相应的初等指令—称为微码,然后执行微码。例如,会引导处理器200执行SETKEY(PRIVACYKEY)和HWID()指令的微码211可能被存储在微码只读存储器(ROM)210上。在执行指令完成时,控制单元208可以控制数学逻辑单元(ALU)212、寄存器214和地址单元206。
其它的实施例也是在下列权利要求的范围内。例如,在其它的实施例中,执行SETKEY(PRIVACYKEY)和HWID()指令的电路系统是硬接线的,而不是在微码中实现的。处理器号30可被其它识别计算机系统10的标识符所代替。使用的是保密密钥而非指示URL的字符串。应用程序而非正被网站执行的应用程序可以请求计算机系统10的标识符。例如,通过局域网(LAN)被连接的其它计算机系统可能请求来自计算机系统10上的标识符。
鉴于本发明仅表述了有限的几个实施例,受益于这些阐述的本领域中的技术人员会意识到在此基础上的更多改进和变化。因而要在附加的权利说明中囊括所有这些本发明的精神和范围内的变换。
权利要求
1.一种方法包括从第一个计算机系统接收对第二个计算机系统进行识别的请求;接收识别第二个计算机系统的标识符;用与第一个计算机系统相关的密钥对标识符进行加密,生成散列值;和将散列值提供给第一个计算机系统以响应请求。
2.权利要求1的方法,其中,接收标识符的操作包括接收识别第二个计算机系统处理器的处理器号。
3.权利要求2的方法还包括执行处理器指令;和接收该号码以响应指令的执行。
4.权利要求1的方法还包括从第一个计算机系统上接收密钥。
5.权利要求1的方法,其中密钥指出网站的地址。
6.计算机系统包括一个接口适用于从另一个计算机系统上接收对第一个计算机系统进行识别的请求,和将识别第一个计算机系统的散列值提供给所述的另一个计算机系统;和被连接到接口上的处理器并适用于借助于与所述的另一个计算机系统相关的密钥对识别第一个计算机系统的标识符进行加密,生成散列值。
7.权利要求6的计算机系统,其中标识符包括识别处理器的处理器号。
8.权利要求6的计算机系统统,其中处理器包括存储器适用于存储执行加密操作的微码;和被连接在存储器上的控制单元适用于执行微码以实现加密。
9.权利要求6的系统,其中处理器还适用于与接口之间进行交互以接收来自所述另一个计算机系统的密钥。
10.一个产品包括可由基于处理器的第一个系统读取的存储介质,存储介质中存储的指令让处理器从另一个基于处理器的系统中接收密钥以识别第一个系统;确定是否密钥合法;在识别的基础上,利用密钥有选择地认可对识别第一个系统的标识符进行加密,生成散列值。
11.权利要求10的产品存储介质存储的指令要处理器利用所述其它系统的地址确定是否密钥合法。
12.权利要求11的产品,其中密钥指出URL地址。
13.权利要求10的产品,存储介质存储的指令要处理器执行指令,以便接下来处理器能够利用密钥生成散列值。
14.权利要求10的产品,其中标识符包括了处理器号码。
15.微处理器包括指令单元适用于指出何时指令单元接收到了指令,该指令请求识别微处理器的标识符;被连接到指令单元上的执行单元适用于响应来自指令单元的指示,利用标识符对密钥进行加密,生成散列值;和被连接到执行单元上的总线接口单元适用于将对散列值的指示提供给微处理器的外部引线。
16.权利要求15的微处理器,其中执行单元包括被连接到算法单元和寄存器上的控制单元;和被接到控制单元上存储微码的存储器,让控制单元使用密钥和标识符生成散列值。
17.权利要求15的微处理器,其中标识符包括处理器号。
18.权利要求15的微处理器,其中执行单元适用于使用单向散列函数生成散列值。
19.权利要求15的微处理器,其中执行单元适用于使用不可通信联络的散列函数生成散列值。
20.权利要求15的微处理器,其中执行单元用适于使用非碰撞的散列函数生成散列值。
全文摘要
计算机系统(10)包括接口(31)和处理器(200)。接口(31)用于接收来自另一个计算机系统对第一个计算机系统进行识别的请求。转接器(31)也将识别第一个计算机系统的散列值提供给其它的计算机系统。处理器(200)被连接到接口(31)上,并用于借助于与其它计算机系统相关的密钥(34)对识别第一个计算机系统的标识符进行加密,以提供散列值(32)。
文档编号H04L9/32GK1341318SQ00804313
公开日2002年3月20日 申请日期2000年1月12日 优先权日1999年2月26日
发明者J·Q·米, V·帕里克, A·Y·滕 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1