具有特许模式调制解调器驱动程序的计算机系统的制作方法

文档序号:7736355阅读:190来源:国知局
专利名称:具有特许模式调制解调器驱动程序的计算机系统的制作方法
技术领域
本发明涉及调制解调器通讯,特别是涉及一种具有特许模式调制解调器驱动程序的计算机系统。
背景技术
近年来蜂窝式电话(cellular telephone,以下简称为移动电话)已有更为流行的趋势。移动电话可称为所谓"移动站"或"移动终端"的一种实例。除了移动电话之外,移动站可采用各种不同的形式,包括具有移动通讯能力的计算机(例如,笔记本计算机)。
在蜂窝电讯网络和移动站之间可经由空中接口(air interface)提供电讯服务,例如,通过无线电的频率。其特色为每一位用户的移动站指定一个唯一的国际移动用户识别码(IMSI)。在任何时候,一个有效移动站可通过空中接口和一个或多个基站进行通讯。基站依序接受基站控制器的管理,亦为公知的无线电网络控制器。基站控制器和其基站含基站系统。基站控制器的基站系统经由控制节点(control node)连接至核心电信网络,例如,公用交换电话网络(PSTN)。一种类型的标准移动通讯方法为全球移动通讯系统(GSM)。GSM提供特定功能的标准以及各种服务类型的接口。GSM系统可传输声音和数据信号。
多个移动站之间可共享一个特定的基站。由于无线电频道为一种有限的资源,故利用时分多重访问和频分多重访问(TDMA/FDMA)将频宽分开。FDMA将最大频宽(例如,25MHz)区分成124个间隔200kHz的载波频率。一个特定的基站可指定一个或多个载波频率。每个载波频率再依序分成时隙(time slots)。在基站和移动站之间的有效通话期间,从移动站上传至基站时,基站指定频率、及功率强度予该移动设备。从基站向移动站下传时,基站亦以特定的频率及时隙进行通讯。
GSM中定义的时间基本单位称为突发脉冲周期(burst period),其持续15/26微秒(ms)(或约0.577ms)。合8个突发脉冲周期组成为一个TDMA帧(120/26ms,或约4.615ms),其即为定义逻辑频道(logicalchannels)的基本单位。一个物理频道(physical channel)定义为每帧一个突发脉冲周期。通过相对突发脉冲周期的数目和位置定义其单独的频道(individual channels)。
每个信息帧具有8个突发脉冲周期的GSM帧集合成一个超帧(superframes)(例如,集合51个信息帧),包括通话信息(trafficinformation)(即声音或数据信号)及控制信息(control information)。
控制信息传输于超帧构造内所定义的公用频道(commonchannels)。公用频道可被闲置模式(idle mode)和专属模式(dedicatedmode)的移动站所访问。在接收或向外通话时,移动站的闲置模式使用公用频道交换信号数据而将其改变成专属模式。已在专属模式内的移动站可监控周围的基站以进行交递和接收其它数据。
公用频道包括广播控制频道(BCCH),可连续广播包括基站识别系统(base stationidentity)、频率分配(frequency allocation)、跳频序列(frequency-hoppingsequences)的信息;频率校正频道(FCCH)和同步频道(SCH),其可通过定义突发脉冲周期的范围及时隙数(即,GSM网络内的每个蜂窝恰可广播FCCH和SCH,其在TDMA帧内传输于时隙数0)而使移动站和蜂窝的时隙构造同步;随机访问频道(RACH),移动站利用其进行网络访问的请求;寻呼频道(PCH),其于来电时做为提醒移动站之用;以及允许访问频道(AGCH),其收到RACH请求之后指定独立专用控制频道(SDCCH)予移动站以访问信号(即,获得专属频道)。
为了安全上的理由,GSM数据以加密的形式进行传输。由于任何人均可从无线传输媒体上进行访问,故移动网络上的鉴别(authentication)为一项重要课题。鉴别包括移动站和基站。每个移动站装设有一个用户识别模块(SIM)卡。每位客户指定一密钥(secret key)。密钥的复本存储于SIM卡内,而另一密钥的复本则存储于通讯网络上可被基站取得的保护数据库内。在进行鉴别时,基站产生随机数目并将其传至移动站。移动站利用一随机数目并配合密钥和加密算法(ciphering algorithm)(例如A3)而产生信号反应,并将其传回至基站。如果移动站的信号反应符合网络的计算时,即可确认该用户。基站利用密钥传输加密数据至移动站。同理,移动站利用密钥传输加密数据至基站。在移动站收到传输信号并经解密之后,移动站可决定其各种控制数据,包括指定的功率发射强度、频率和时隙。
一般根据层来说明通讯系统。携带信号通过传输媒体负责传输真正的数据的第一层称之为物理层(PHY)。此物理层集中数字数据,以及根据特定的传输体系为基础产生调制波形(modulated waveform)。在GSM中,该物理层产生传输波形以及在移动站指定的传输时隙期间进行传输。同理,物理层的接收部分在指定的接收时隙期间识别朝向移动站的资料。
处理物理层所接收的数字数据以识别其所含的数据的第二层称之为协议层(protocol layer)。例如,在GSM系统中的数据解密为一种协议层的功能。应注意,祗有在协议层解密和处理之后才能识别出物理层的操作参数的改变。虽然此特殊的相互依赖性在纯硬件中运行通常不会造成问题,但当全部或部分的协议层于软件中运行时可能造成问题。
某种计算机系统,特别是手提笔记型计算机,可能配备有无线调制解调器。调制解调器科技的趋势涉及软件调制解调器的应用,其利用软件子程序运行传统硬件调制解调器的一些实时功能。由于软件调制解调器的硬件的复杂性较其相对的硬件为低,故其价格通常较低并且更具弹性。例如,以软件运行部分或全部的协议层的解密和处理。
软件系统,例如个人计算机系统,以软件驱动程序在操作系统环境内运行接口控制软件。这些驱动程序负责和硬件设备沟通的工作,以及在操作系统内以特许层次进行操作。其它软件应用程序则不影响该驱动程序。然而,由于驱动程序并且受其它驱动程序的保护,故可能发生影响驱动程序操作的各种问题,例如,通过损坏其操作。这些影响可能导因于意外事故,或可能由于故意的入侵所造成。一个损坏(或增添)的驱动程序可能导致计算机之外的其它问题,例如造成电话线或无线电频道被使用、操作外围设备、或删除重要的数据。
由于控制移动站传输操作的物理层的操作参数为受协议层的软件所控制,故计算机程序或病毒可能控制该移动站,并且在其指定的时隙外意外或故意地进行传输。诸如蜂窝网络(cellular network)的无线通讯网络有赖于共享的网络架构。移动站必需遵循"通行规则",否则可能造成网络上的干扰。
如果移动站的某种功能为软件所控制,则程序设计师可决定GSM控制帧如何被解码以及发射机模块如何被引发。于是可写出病毒,并散布于网络以渗透该以软件为基础的移动站。然后,在一个特定的时间,该病毒可直接控制移动站及进行连续或间断的发送,且在随机频率及全功率下瘫痪这些基站及其它的移动单元。此类病毒的设计可以随机地发作或不发作以回避检测,侵占通信服务商的一部分或全部的可用频宽,并且甚至可能造成网络的完全瘫痪。该类攻击可能仅影响每个单元的极少数设备(即,可少至一个)而完全瘫痪该单元。
伴随移动站的共享网络架构而来的安全上问题依威胁程度可区分成三个层次防篡改(tamper-proof)、非防篡改(non-tamperproof)、和类别闯入(class break)。首先,在硬件/固件(例如移动电话)运行时,由于必需取得个别的设备并加以修改,故最不易受到篡改(即,防篡改)。在另一方面,由于黑客可以联接到纯软件的调试器环境,所以软件架构的解决方案容易被篡改(即,非防篡改)。最后,易受篡改的系统如果和其它所有系统相类似时,该篡改可散布到大量其它类似的系统,故最易受到"类别闯入"。
软件无线调制解调器不但易受到类别闯入,并且亦可在众设备中从因特网通讯协议(IP)相同层次或其它可携式编码访问机制取得其密码。许多软件无线调制解调器可整合入计算机而和网络或因特网相结合。上述的结合使软件更易受篡改和控制。
利用软件运行其它通讯协议的通讯设备亦可能受到上述问题的影响,但有不同程度和层次的结果。例如,利用语音频带调制解调器(V.90)、非对称数字用户线(ADSL)调制解调器、家用电话网络(HomePNA)等铜用户线的通讯设备的软件调制解调器可能受到攻击,而导致用户回响的瘫痪或不当使用。例如,一群受影响的软件调制解调器可能受到拒绝服务攻击(denial of service attack)而连续对预定的号码进行发话及淹没目的网络地址。软件调制解调器亦可被用于阻止在用户回路的向外调用或进入调用,或瓦解家用电话网络的通讯。其它在软件中运行的无线通讯设备,例如,无线网络设备,亦可被侵占而瓦解无线网络上的通讯。
本发明可直接克服一种或多种上述所说明的问题,或至少可减少其所造成的影响。

发明内容
本发明的一个方面是一种其中包含物理层硬件及处理单元的通讯系统。该物理层硬件用于根据多个控制码而经由通讯频道传送数据。该物理层硬件用于将一进来的模拟信号解调,以便产生数字接收信号,并将数字传输信号调制,以便产生模拟传输信号。该处理单元用于执行作为该物理层硬件的接口的特许式驱动程序。该特许式驱动程序包含用来实施一协议层的若干程序指令,用以将该数字接收信号解码,以及将该数字传输信号编码,并设定该物理层硬件,以便根据该多个控制码而接收该数字接收信号,并传输该数字传输信号。
本发明的另一方面是一种设定收发机的配置的方法。该方法包含下列步骤根据多个控制码将进来的模拟信号解调,以便产生数字接收信号;根据这些控制码将数字传输信号调制,以便产生模拟传输信号;以及执行一个特许式驱动程序,以便设定这些多个控制码。
本发明可作出各种修饰及替代形式,现以附图范例的方式列出本发明的一些特定实施例,且本文将详细说明这些特定实施例。然而,我们应当了解,本文中对这些特定实施例说明的用意并非将本发明限于所揭示的特定形式,相反地,本发明将涵盖在权利请求所定义的本发明精神及范围内的所有修改、等效物、及替代方式。


参照下文中的说明,并配合各附图,将可了解本发明,而在这些附图中,相同的代号标识类似的组件图1是包括用户站的通讯系统的方块简图,其中该用户站具有根据本发明一实施例的身分鉴认代理设备;图2是实施图1所示通讯系统中的用户站的一例示计算机系统的方块简图;图3示出可在图2所示计算机系统中实施的处理器的一实施例;图4是可在图1所示计算机系统中具有特许的一些例示指令的列表;以及图5示出一种用来识别图1所示计算机系统可采用的根据本发明的特许式指令的方法。
具体实施例方式
下文中将说明本发明的一些实施例。为了顾及说明的清晰,在本说明书中将不说明每一实际实施例的所有特征。当然,我们应当了解,在任何此种实际实施例的开发过程中,必须作出许多与实施例相关的决定,以便达到开发者的特定目标,这些特定的目标包括诸如包括与系统相关的及与商业相关的限制条件,而这些限制将随着各实施例而有所不同。此外,我们应当了解,虽然此种开发的工作可能是复杂且耗时的,但是对本领域普通技术人员所从事的日常工作而言,可受惠于本发明揭示的事项。
请参阅图1,图中表示通讯系统10的方块图。通讯系统10包含用户站20,该用户站20经由通讯频道40而与中心站30通讯。在所示实施例中,用户站(20是移动运算设备,该移动运算设备使用软件调制解调器50而根据诸如GSM等的无线通讯协议进行通讯。中心站30可以是可服务多个用户的共享式基站。虽然将本发明阐述为可在无线环境下实施本发明,但是本发明的应用不受此种限制。可将本文所述的揭示事项应用于使用软件实施的通讯协议的其它通讯环境(例如,V.90、ADSL、HomePNA、无线局域网络等)。
用户站20可包括各种运算设备,例如桌上型计算机、笔记本型计算机、个人数字助理(Personal Digital Assistant;简称PDA)等。为了便于解说,将用户站20举例为可利用笔记本型计算机来实施用户站20。可将软件调制解调器50配置成内建资源。本领域普通技术人员应当可了解,软件调制解调器50包含以硬件实施的一物理层(PHY)70、及以软件实施的一协议层80。为了便于解说,将软件调制解调器50的功能说明为可在一GSM通讯协议下实施该软件调制解调器50,但是亦可使用其它的通讯协议。
以软件、或算法及对计算机内存内的数据位进行的运算的符号表示法的方式呈现本发明的各部分、及对应的详细说明。这些说明及表示法是本领域普通技术人员用来在有效的方式下将其工作之内涵传递给本领域普通技术人员的其它人士的说明及表示法。在本文的用法中,且在一般性的用法中,术语"算法"("algorithm")是一系列有条理并可得到所需结果的步骤。这些步骤是需要对物理量作物理操作的步骤。虽非必然,但这些物理量的形式通常为可被存储、传送、结合、比较、及以其它方式操作的光信号、电气信号、或磁性信号。将这些信号称为位、数值、元素、符号、字符、项、数字等时,已证明经常是较便利的,主要也是为了普遍使用之故。
然而,我们应当记住,所有这些术语及其它类似的术语都与适当的物理量有关,而且只是适用于这些物理量的便利性标记而已。除非有其它特别的陈述,或在说明中为显而易见,否则诸如"处理"、"运算"、"计算"、"决定"、或"显示"等的术语都意指计算机系统或类似电子运算设备的动作及处理,且此种计算机系统将该计算机系统的寄存器及内存内表现为物理量、电子量的数据操作并变换成该计算机系统的内存寄存器、或其它此种信息存储设备、传输设备、或显示设备内同样表现为物理量的其它数据。
物理层70将数字传输信号转换为模拟传输波形,并将进来的模拟接收波形转换为数字接收信号。对于传输信号而言,协议层80的输出是在零Hz的载波(亦即无载波信号)中调制的传输"广播"信息。物理层70混合(亦可将混合称为向上变频)协议层80根据所指定的时隙而产生的无载波传输信号、频率、及中心站30传送到用户站20的功率强度指定值,以便产生将由物理层70传输的实际模拟波形。
中心站30亦将时隙及频率指定值传送到用户站20,以供进来的数据。根据所指定的时隙及频率参数,而对进来的模拟接收波形进行抽样及向下变频,以便再生一无载波(亦即在零Hz中调制的)接收波形。协议层80从物理层70接收该无载波接收波形,并执行基频带处理、解密、及解码,以便再生接收数据。
这些时隙、频率、及功率强度(只针对传输数据)指定值合称为控制码。特定的工业标准(例如GSM标准)说明了用来实施软件调制解调器50的特定算法,且这些算法是本领域普通技术人员者所公知的,因而为了顾及解说的清晰及简洁,除非根据本发明而修改了这些算法,本文将不详述这些算法。
现在请参阅图2,图中示出在计算机系统100中实施的用户站20的方块图。为了顾及清晰及易于了解,将不详细说明用来构成计算机系统100的所有组件。此种细节是本领域普通技术人员所公知的,且可依据特定的计算机制造商及微处理器类型而有所改变。计算机系统100包含处理器105、北桥(110、内存115、外设组件互连(PeripheralComponent Interconnect;简称PCI)总线125、南桥130、AT连接(ATAttachment;简称ATA)(较常见的名称为整合式驱动电子(IntegratedDrive Electronics;简称IDE)接口)接口135、工业标准架构(IndustryStandardArchitecture;简称ISA)ISA145、输入/输出控制器芯片150、键盘及鼠标控制器(keyboard and mouse controller;简称KBC)接口、软盘机控制器(Floppy Disk Controller;简称FDC)接口、X总线155、只读存储器(Read Only Memory;简称ROM)160、及整合式封包总线(Integrated Packet Bus;简称IPB)170。
北桥110及南桥130可以是一个单芯片或多个芯片的一部分。虽然并未作如此的限制,但是所示实施例中的处理器105是一个x86处理器。x86处理器的架构叙述于文件"Intel Architecture SoftwareDeveloper′s Manual,Volume3"。
视所需的实施例而定,计算机系统100可包含其它的总线、设备、及(或)子系统。例如,计算机系统100可包含高速缓存、调制解调器、并行或串行接口、SCSI接口、及网络适配卡等。
在所示实施例中,处理器105包含第一及第二寄存器162、164,用以定义用来存储超级特许式程序代码的内存的一个区域。如将于下文中更详细说明的,根据本发明的超级特许式程序代码包含一组用来控制对计算机系统100的所选择资源的使用的具有高安全等级的计算机指令。
处理器105连接到北桥110。北桥110提供了处理器105、内存115、与PCI总线125间的一个接口。南桥130提供了PCI总线125及外设设备、与连接到IDE接口135、ISA总线145、及X总线155的各设备及子系统间的一个接口。
北桥110提供了处理器105、内存115、连接到PCI总线125的各设备、与连接到南桥130的各设备及子系统间的通讯联系。通常是将抽插式外设设备插入与PCI总线125连接的各PCI"插槽"图中未示出),以便连接到计算机系统100。在替代的方式中,可将设于一主机板上的设备直接连接到PCI总线125。
南桥130提供了PCI总线125与各种设备及子系统间的接口,这些设备及子系统尤其是指诸如调制解调器、一印机、键盘、及鼠标等的传统设备,通常经由X总线155、ISA总线145、IDE接口135、及IPB总线170而连接到计算机系统100。南桥130包含将这些传统设备经由IDE接口135、ISA总线145、X总线155、及IPB总线170而连接到计算机系统100的其余部分所需的逻辑电路。
IPB总线170上安装了软件调制解调器50的硬件部分。在所示实施例中,是将软件调制解调器50安装在一扩展通讯(AdvancedCommunications Riser;简称ACR)卡175中。可自ACR Special InterestGroup(ACRSIGORG)取得ACR卡175及IPB总线170的规格。软件调制解调器50包含一物理硬件单元180及一无线电收发器185。在所示实施例中,无线电收发器185用于发射及接收GSM信号。物理硬件单元180及无线电收发器185合而形成物理层70(请参阅图1)。
处理器105执行一种特许式调制解调器驱动程序190,而实施协议层80(请参阅图1)的功能。如将于下文中较详细说明的,处理器105提供一个安全环境,以便超级特许式程序代码(Super-Privileged Code;简称SPC)可工作。特许式调制解调器驱动程序190在该SPC环境下操作,因而该特许式调制解调器驱动程序190具有比处理器105的标准操作模式更高的安全度。此种较高的安全度使特许式调制解调器驱动程序190不会被篡改。
对于软件调制解调器50所接收进来的数据而言,特许式调制解调器驱动程序190将该无载波波形解调,以便重建物理硬件180所接收的加密数据。重建加密数据的过程是本领域普通技术人员所公知的,且GSM工业标准中定义了该过程。为了顾及解说的清晰及简洁,本文中将不包含该重建过程的细节。
在重建加密数据之后,特许式调制解调器驱动程序190利用GSM标准所规定的工业标准解密技术将该加密数据解密,以便产生解密后的数据。特许式调制解调器驱动程序190将该解密后的数据解码,并提取控制码及(或)用户数据。特许式调制解调器驱动程序190将这些控制码传送到物理硬件单元180。物理硬件单元180又根据这些控制码中包含的所指定的时隙、频率、及功率强度信息,而设定无线电收发器185。
对于软件调制解调器50所传输的数据而言,特许式调制解调器驱动程序190处理其中包括编码、交插、数据段组合、加密、及基频带处理的所有数据处理功能,以便产生该无载波传输波形。特许式调制解调器驱动程序190将该传输波形传送到物理硬件单元180及无线电收发器185,以便根据所指定的时隙、频率、及这些控制码先前所规定的功率强度而进行向上变频。
诸如硬盘机等的存储设备195连接到IDE接口135。存储设备195中可能存储有一个或多个操作系统(OS)、设备驱动程序、及其它的应用程序。在x86架构中,该操作系统及其相关联的设备驱动程序通常是在特许级别0下操作,而可让该操作系统及这些设备驱动程序使用系统100的各种资源。可安装在存储设备195上的操作系统的一个例子是目前由Microsoft Corporation所支持的Windows。Windows操作系统通常配备有用来控制系统100资源的各种设备驱动程序,例如存储设备195及I/O接口150等设备的设备驱动程序。此外,Windows操作系统亦可采用独立厂商的设备驱动程序。
ROM160可存有一基本输入/输出系统(Basic Input/Output System;简称BIOS),用以管理在计算机系统100上执行的操作系统与诸如存储设备195及输入/输出控制器芯片150等连接的设备间的数据流动。在本发明的一实施例中,可将超级特许式程序代码(SPC)存储在ROM160,因而在计算机系统100开机时,在大致与该BIOS相同的时间上启动该SPC。在所示实施例中,虽然该超级特许式程序代码是存放在ROM160,但是我们应当了解,亦可将该SPC存放在其它的位置,其中包括存放在处理器105的一区域内存(图中未示出),存放在存储设备195,或存放在可执行该SPC的任何适当的存储位置。在一替代实施例中,可将该SPC实施为该操作系统的一部分,在此种情形中,该SPC最有可能被存储在存储设备195中。
现在请参阅图3,图中示出处理器105的一特定实施例。更具体而言,处理器105是一个x86处理器。处理器105的x86架构支持多种操作模式,其中包括保护模式、实地址模式、及系统管理模式。保护模式是处理器105的原始操作模式。在保护模式中,可使用处理器105的所有指令及功能。实地址模式提供了Intel8086处理器的程序设计环境,而系统管理模式将一种透明机制提供给操作系统,以便执行电源管理及OEM差异性特殊功能。
如图3所示,处理器105包含全球描述符表(Global DescriptorTable;简称GDT)210、本地描述符表(Local Descriptor Table;简称LDT)215、任务状态区段(Task-State Segment;简称TSS)220、中断描述符表(Interrupt Descriptor Table;简称IDT)225、IDT寄存器230、五个控制寄存器235a-e、及任务寄存器240。当在保护模式下操作时,大体上所有的内存访问都通过GDT210或(非必须的)LDT215。GDT210及LDT215包含被称为区段描述符的若干数据项。区段描述符提供了区段的基址、以及访问权、类型、及使用信息。每一区段描述符具有一个相关联的区段选择器,用以提供GDT210或LDT215的索引。
TSS220定义任务的运行环境的状态。TSS220包含若干一般用途寄存器(图中未示出)、这些区段寄存器、EFLAGS寄存器245、若干区段选择器、及三个堆栈区段(特许级别0、1、及2分别有一个堆栈)的堆栈指针的状态。TSS220亦包含与任务及存储页表基址相关联的LDT215的一区段选择器。
任务寄存器240存放了区段选择器、基址、区段界限、及目前任务的TSS220的描述符属性。任务寄存器240对应到GDT210中的一TSS描述符,其中该基址指定TSS220的线性地址,该区段界限指定TSS220中的字节数目。LTR及STR指令分别加载及存储任务寄存器240的区段选择器部分。当该LTR指令加载任务寄存器240中的一区段选择器时,即将该基址、界限、及该TSS描述符的各描述符属性自动加载到任务寄存器240。当发生任务切换时,即将新任务的区段选择器及TSS220的描述符自动加载到任务寄存器240。在将新的TSS信息写入寄存器240之前,会先自动存储任务寄存器240的内容。
IDT225处理外部中断、软件中断、及异常状况。IDT225存有一组门描述符,用以提供中断及异常状况控制管理(handler)的使用权。IDT225中的这些门描述符可以是中断门、陷阱门、或任务门类型的描述符。处理器105在从内部硬件、外部中断控制器、或软件接收到中断向量时,即访问一个中断或异常状况控制管理。如同GDT210,IDT225并不是一区段。IDT225的线性基址存放在IDT寄存器(IDTR)230。
控制寄存器235a-e决定处理器105的操作模式、及目前执行任务的特征。控制寄存器235a-e存放了用来控制系统级别操作的各种旗标及数据域。更具体而言,CR0寄存器235a存放了用来控制处理器105的操作模式及状态的系统控制旗标。CR1寄存器235b被保留。CR3寄存器235c存放了存储页错误的线性地址。经常也被称为存储页目录基址寄存器的CR3寄存器235d存放了存储页目录250及两个旗标的物理基址。这些两个旗标控制处理器105的内部数据高速缓存(图中未示出)中的存储页目录250的缓冲存储。CR4寄存器235e存放了用来启动数个扩展架构指令的一组旗标。
处理器105的x86架构可支持内存115(请参阅图2)的直接物理寻址、或虚拟内存(经由页转移(paging))。在使用物理寻址时,是将一线性地址视为一物理地址。在使用页转移时,可将存储页分配给几乎所有的程序代码、数据、堆栈、系统区段、以及GDT210及LDT215。
物理内存115中的各存储页位置包含了多达四种类型或级别的系统数据结构。页分配数据的物理基址存放在控制寄存器CR3235d。为了页分配,而将一线性地址分成多个部分,而提供了每一个个别的页分配表255及一存储页框260的各别偏移量。在第3图所示的实施例中,描述了一个两阶层的系统数据结构。存储页目录250中的数据项存放了页分配表255的一物理基址、访问权、及内存管理信息。页分配表255中的一数据项存放了一存储页框的物理地址、访问权、及内存管理信息。存储页目录250的物理基址系存放在控制寄存器CR3235d。在第3图所示的实施例中,为了页分配,而将一线性地址分成三个部分,而提供了存储页目录250、页分配表255、及存储页框260的个别偏移量。
根据本发明,该SPC包含一系列的"超级特许式"指令,而通过调用使用这些指令的程序,即可执行这些超级特许式指令。在本文的用法中,术语"程序"是逻辑单元的或区块的诸如程序、函数式、及例程等的程序代码的一般性术语。例如,例如,"程序"可以是一种操作系统或任何其它应用程序。由于对一些所选择的SPC指令的限制性使用,所以将现有系统所无法提供的一额外级别的安全性提供给计算机系统100。亦即,由于本发明的出现,所以在零特许级别下操作的程序(例如操作系统、相关联的设备驱动程序)无法自动取得系统100资源的使用权。相反地,如将于下文中较详细说明的,本发明的SPC可将不同的特许选择性地授予在零特许级别下操作的不同程序。例如,只授权特许式调制解调器驱动程序190可(根据控制码而)设定物理硬件单元180及收发器185的传输参数。
图4表示例示"超级特许式"指令330及授予有权调用这些指令的程序的相关联访问权325的列表。例如,数据项350示出只有操作系统有权访问CR3寄存器235d。因此,如果操作系统尝试访问CR3寄存器235d,则该SPC将容许完成该访问,但是将拒绝操作系统以外的程序对CR3寄存器235d的访问请求。下文中将参照图5而更详细地说明该SPC让所选择的程序执行超级特许式指令330的机制。
应注意,图4所示的这些访问权只是举范例说明而已。本领域普通技术人员应当了解,访问权325及所选择的特许式指令330可能是与实施例相关的,因而可能随着不同的实施例而有所不同。数据项360示出操作系统及其相关联的设备驱动程序可访问GDT210,而数据项365示出在零特许级别下操作的任何应用程序都可访问IDTR230。数据项370示出操作系统及这些设备驱动程序可访问任务寄存器240。数据项380示出只有特许式调制解调器驱动程序190可使用物理硬件单元180。
图5表示图1的计算机系统100可采用的一种方法。图5所示的方法开始于步骤410,而在计算机系统100开机时启动该SPC。在启动时,该SPC写入处理器105的第一及第二寄存器162、164,以便定义用来存放该SPC的受保护的内存区域。请注意,在替代实施例中,并非采用两个寄存器162、164,而是可利用一个寄存器定义该受保护的内存区域。亦即,可利用单一的寄存器来识别该内存区域的起始地址,而可利用预先选择的偏移值来定义用来存放该SPC的内存区域的终止地址。
一旦写入这些两个寄存器162、164之后,这些两个寄存器即定义该SPC所存放的受保护的内存区域。可在内存115、ROM160、或可执行SPC的任何其它存储区域中定义该受保护的内存区域。如果将这些寄存器设定成指向内存115中的一个内存区域,则该SPC随即将其本身复制到这些两个寄存器162、164所定义的该受保护的内存区域,因而使所有其它的程序无法接触到该SPC。在一个替代实施例中,该SPC可将这些两个寄存器162、164设定成只指向ROM160,亦即指向该SPC开始时所存放的位置。在此种情形中,随即可直接自ROM160执行该SPC,但是为了较快的效率,最好是人从内存115执行该SPC。
在步骤420中,当一程序(例如特许式调制解调器驱动程序190)尝试执行一指令时,处理器105即在步骤430中决定该指令是否为作为该SPC一部分的所选择的这些特许式指令330中的一特许式指令。如果该指令不是这些特许式指令330中的一特许式指令,则处理器105在步骤435中允许完成该指令。然而,如果该程序所执行的该指令是这些特许式指令330中的特许式指令,则处理器105在步骤440中产生异常状况。在步骤450中,该SPC捕获处理器105所产生的该异常状况。例如,该指令可能被导向改变物理硬件单元180的配置。
在步骤460中,该SPC决定尝试执行该特许式指令的程序是否有适当的访问权。例如,如图3所示,可以检查每一程序的方式将访问权授予调用的程序。在一实施例中,为了识别该调用的程序,该SPC查询基于该调用的程序的地址的堆栈。在替代实施例中,可采用诸如Soft-Ice等的可公开取得的除错程序来鉴别该调用的程序的位置。如果该调用发出自一被授权执行该特许式指令的程序,则该SPC在步骤465中执行该特许式指令。例如,如果侦测到指向物理硬件单元180的一配置设定命令,则该SPC可鉴别该配置设定命令系发出自该特许式调制解调器驱动程序190。
该SPC可根据可能在该调用的程序安装时即已安装的该程序的签名,而鉴别该调用的程序。例如,假设该调用的程序是操作系统,则可能在安装时所产生的该操作系统的签名在未来可用来鉴别该操作系统所作的调用。
如果该SPC在步骤460中决定该调用的程序不可使用该特许式指令,则在步骤470中拒绝该请求。可能因各种原因而拒绝对特许式指令的使用。第一,如果该调用的程序并没有特许式指令的访问权,则可拒绝该调用的程序对执行该特许式指令的请求。如果暗藏的程序尝试将新的控制码写入物理硬件单元180,则可拒绝该请求。第二,如果该SPC无法证实该调用的程序的可信赖性,则可拒绝对特许式指令的使用。亦即,即使该调用的程序可能具有调用该特许式指令的访问权,但是如果该SPC无法利用该堆栈鉴别正在尝试执行该特许式指令的调用的程序即是经过授权的调用的程序(不同于伪装成诸如特许式调制解调器驱动程序190等的调用的程序的有恶意的程序代码),则仍然可拒绝该程序的请求。
为了更易于了解图5所示的方法,本文提供了一个例子。为了便于解说,假设特许式调制解调器驱动程序190在步骤420中尝试修改物理硬件180的配置。此外,为了便于解说,假设该SPC包含图4所示的这些特许式指令330,并假设图4所列出的这些程序具有这些特许式指令330的访问权325。在步骤430中,处理器105决定是否访问物理硬件180是一特许式指令,且因为根据图4而知道上述情形是特许式指令,所以处理器105在步骤440中产生异常状况。在步骤450中,该SPC捕获处理器105在步骤440所产生的该异常状况。
该SPC然后在步骤460中决定特许式调制解调器驱动程序190(亦即调用的程序)是否具有修改物理硬件180的配置的访问权。在容许修改物理硬件180的配置之前,该SPC先尝试证实事实上是由特许式调制解调器驱动程序190提出修改物理硬件180的起始请求。鉴别该操作系统的请求的一种方法是查询堆栈。如果来自该堆栈的地址确认发出要修改物理硬件180配置的请求的确实是特许式调制解调器驱动程序190,则该SPC在步骤465中执行该指令,以便修改物理硬件180的配置。当该SPC执行该指令而修改物理硬件180的配置时,处理器105将在不产生异常状况的情形下完成该请求,这是因为由被授权修改物理硬件180的配置的该SPC提出该请求。
前文所揭示的这些特定实施例只是用于解说,而本领域普通技术人员在得益于本发明的揭示事项之后,将可易于修饰本发明,并可以不同的但等效的方式实施本发明。此外,除了下文的权利请求范围所述者之外,本发明并不限于本文所示出的结构或设计的细节。因此,显然可变更或修改前文所揭示的这些特定实施例,且应将所有此类变化视为在本发明的范围及精神之内。
权利要求
1.一种通讯系统(10),包含物理层硬件(180),该物理层硬件用于根据多个控制码而经由通讯频道(40)传送数据,该物理层硬件(180)用于将进来的模拟信号解调,以便产生数字接收信号,并将数字传输信号调制,以便产生模拟传输信号;以及处理单元(105),该处理单元用于执行作为该物理层硬件(180)的接口的特许式驱动程序(190),该特许式驱动程序(190)包含用来实施协议层(80)的若干程序指令,用以将该数字接收信号解码,将该数字传输信号编码,并设定该物理层硬件(180),以便根据所述多个控制码而接收该数字接收信号,并传输该数字传输信号。
2.根据权利请求1所述的系统(10),进一步包含内存(115),该内存用于存储特许式程序代码,当该处理单元(105)执行该特许式程序代码时,该特许式程序代码用于将一用来设定该物理层硬件(180)的指令定义为特许式指令,从调用的程序接收执行该特许式指令的请求,决定该调用的程序是否有权执行该特许式指令,并响应该调用的程序有权执行该特许式指令的决定,而执行该特许式指令。
3.根据权利请求2所述的系统(10),其中当执行该特许式程序代码时,该特许式程序代码用于查询计算机系统(100)的堆栈(210,215),以便鉴别该调用的程序的身份,而决定该调用的程序是否有权执行该特许式指令。
4.根据权利请求2所述的系统(10),其中当执行该特许式程序代码时,该特许式程序代码用于鉴别该调用的程序,而确定该调用的程序是否有权执行该特许式指令。
5.根据权利请求2所述的系统(10),其中当执行该特许式程序代码时,该特许式程序代码用于响应该调用的程序尝试执行该特许式指令,而接收该处理单元(105)所产生的异常状况,进而接收执行该特许式指令的该请求。
6.一种设定收发机(50)的配置的方法,其包含下列步骤根据多个控制码将进来的模拟信号解调,以便产生数字接收信号;根据所述控制码将数字传输信号调制,以便产生模拟传输信号;以及执行特许式驱动程序(190),以便设定所述多个控制码。
7.根据权利请求6所述的方法,进一步包含下列步骤将用来设定这些控制码的配置的指令定义为特许式指令;从调用的程序接收执行该特许式指令的请求;决定该调用的程序是否有权执行该特许式指令;以及响应该调用的程序有权执行该特许式指令的决定,而执行该特许式指令。
8.根据权利请求7所述的方法,其中决定该调用的程序是否有权执行该特许式指令的该步骤进一步包含查询计算机系统(100)的堆栈(210,215),以便鉴别该调用的程序的身份的步骤。
9.根据权利请求7所述的方法,其中决定该调用的程序是否有权执行该特许式指令的该步骤进一步包含鉴别该调用的程序的步骤。
10.根据权利请求7所述的方法,其中接收执行该特许式指令的请求的步骤进一步包含响应该调用的程序尝试执行该特许式指令,而接收异常状况的步骤。
全文摘要
一个通讯系统(1)包含物理层硬件(180)及处理单元(105)。该物理层硬件(180)用于根据多个控制码而经由一个通讯频道(40)传送数据。该物理层硬件用于将进来的模拟信号解调,以便产生数字接收信号,并将数字传输信号调制,以便产生模拟传输信号。该处理单元(105)用于执行作为该物理层硬件(180)的接口的特许式驱动程序。该特许式驱动程序(190)包含用来实施协议层(80)的若干程序指令,用以将该数字接收信号解码,将该数字传输信号编码,并设定该物理层硬件,以便根据这些多个控制码而接收该数字接收信号,并传输该数字传输信号。一种设定收发机(50)的配置的方法包含下列步骤根据多个控制码将进来的模拟信号解调,以便产生数字接收信号;根据这些控制码将数字传输信号调制,以便产生模拟传输信号;以及执行特许式驱动程序(190),以便设定这些多个控制码。
文档编号H04L29/06GK1526250SQ02813784
公开日2004年9月1日 申请日期2002年6月12日 优先权日2001年7月9日
发明者R·施密特, G·S·斯特劳金, D·W·史密斯, B·C·巴尼斯, T·L·考尔, M·巴克利, R 施密特, 史密斯, 巴尼斯, 斯特劳金, 死, 考尔 申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1