CN102024117A - 对运行窗口操作系统的计算机的验证方法 - Google Patents
对运行窗口操作系统的计算机的验证方法 Download PDFInfo
- Publication number
- CN102024117A CN102024117A CN2009101691148A CN200910169114A CN102024117A CN 102024117 A CN102024117 A CN 102024117A CN 2009101691148 A CN2009101691148 A CN 2009101691148A CN 200910169114 A CN200910169114 A CN 200910169114A CN 102024117 A CN102024117 A CN 102024117A
- Authority
- CN
- China
- Prior art keywords
- check code
- computing machine
- windows
- operating system
- program
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种对运行窗口操作系统的计算机的验证方法,用以验证窗口操作系统所运行的计算机是否为原厂的机型。验证方法包括:于窗口操作系统的启动期间,运行检查程序;由检查程序从基本输入/输出系统的桌面管理界面区段中取得第一检查码;由窗口操作系统从基本输入/输出系统中的软件授权保护区段取得第二检查码;当第一检查码与第二检查码不一致时,代表此一计算机为非法的计算机,因此会将窗口操作系统的软件授权保护程序禁能,并对内存运行随机数写入程序,再以随机数方式随机写入内存的不同地址。
Description
技术领域
本发明是有关于一种计算机的验证方法,特别有关于一种对运行窗口操作系统的计算机的验证方法。
背景技术
目前微软公司对于旗下所推出的各式窗口型操作系统(例如为WindowsXP、Windows Vista)均设置有一产品启动功能(Product Activation)。若使用者是自行购买及安装微软公司的窗口型操作系统,则于操作系统安装完成后,使用者透过因特网来对安装完成的操作系统进行一产品启动程序,以借此来启动该操作系统于计算机平台上正常运作。若使用者未进行此产品启动程序、或同一份的操作系统已预先安装至另一台计算机上,则该操作系统即被禁能而无法正常运作。
目前计算机制造厂商于制造计算机时,通常是将操作系统预先安装至各个计算机,并采用微软公司所发展的软件授权保护程序(Software licensing andProtection,SLP)来让此计算机于实际应用时,可不必由使用者透过因特网来进行产品启动程序。请参考图1所示,其为现有的储存软件授权保护程序的示意图。此软件授权保护程序是将各个计算机平台所专属的一组硬件组态数据预先转换一组软件授权保护检查码,并将此软件授权保护检查码预先以内嵌方式烧录于基本输入/输出系统110(Basic Input/Output System,BIOS)中的一特定的储存区,令窗口操作系统120于开机之后可从此一特定储存区中读取到所需的软件授权保护检查码111,并将此软件授权保护检查码111与窗口操作系统120的认证码121作一比对。若比对结果为符合,则窗口操作系统120即可被启动来正常运作。
为能使非法的计算机可以运行正版的窗口操作系统120,可以透过硬件或软件的方式来达成。以硬件的方式来说,可以透过修改基本输入/输出系统110自身的数据,让窗口操作系统120将非法计算机视为合法计算机。
而软件的方式,是将合法计算机的基本输入/输出系统110复制到非法的计算机上并修改软件授权保护检查码111来欺骗窗口操作系统120,借以让窗口操作系统120是被安装在合法的计算机上。特别是对原始配备生产商(Original Equipment Manufacturing,OEM)而言,其所使用的窗口操作系统120可以轻易的被改用在非特定机型的计算机中。如此一来,原始配备生产商所投入的开发成本将被剽窃一空。
发明内容
鉴于以上的问题,本发明提供一种对运行窗口操作系统的计算机的验证方法,用以对运行窗口操作系统的计算机进行验证,以判断是否为原厂的计算机。
为达上述目的,本发明所揭露的一种对运行窗口操作系统的计算机的验证方法,用以验证一窗口操作系统所运行的一计算机是否为原厂的该计算机,该验证方法包括下列步骤:
于该窗口操作系统的启动期间,运行一检查程序;
由该检查程序从一基本输入/输出系统中取得一第一检查码;
由该窗口操作系统从该基本输入/输出系统中取得一第二检查码;
该检查程序比对该第一检查码与该第二检查码是否一致;
当该第一检查码与该第二检查码不一致时,则禁止运行该窗口操作系统的一软件授权保护程序。
该第一检查码储存于该基本输入/输出系统的一桌面管理界面区段中。
该第一检查码是根据该计算机的多个预设周边装置所产生。
该第二检查码储存于该基本输入/输出系统的一软件授权保护区段中。
该第二检查码是根据该计算机的多个当前周边装置所产生。
当该第一检查码与该第二检查码不一致时,则另运行一随机数写入程序,其是以随机数方式从内存区段中选取一内存地址,并以随机数写入该内存地址。
当该第一检查码与该第二检查码一致时,则另执行下述步骤:
将该第二检查码与该窗口操作系统的一认证码进行比对;
当该认证码与该第二检查码不一致时,则将软件授权保护程序禁能,并对内存运行一随机数写入程序,以随机数方式随机写入内存的不同地址。
本发明所提供的利用窗口操作系统的检查码验证计算机的验证方法可以避免有心人士利用修改基本输入/输出系统中的第二检查码的方式,使得窗口操作系统将非法计算机误认为合法计算机,进而在非法计算机上运行。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为现有的储存SLP的示意图;
图2为本发明的硬件架构示意图;
图3为本发明的运作流程示意图;
图4为本发明的另一实施例流程示意图。
其中,附图标记
110 基本输入/输出系统
111 软件授权保护检查码
120 窗口操作系统
121 认证码
200 计算机
210 储存单元
211 检查程序
212 窗口操作系统
213 随机数写入程序
220 基本输入/输出系统
221 软件授权保护区段
222 桌面管理界面区段
230 处理单元
240 内存
具体实施方式
本发明应用于微软(Microsoft)公司所推出的窗口操作系统中,用以对运行窗口操作系统的计算机进行验证是否为合法的计算机。在本发明中的窗口操作系统可以是但不限定为:Windows XP系列、Windows 2003、Windows Vista或Windows 7等操作系统。请参考图2所示,其为本发明的计算机架构示意图。在本发明的计算机200中包括有:储存单元210、基本输入/输出系统220、处理单元230和内存240。
在储存单元210中储存有检查程序211、窗口操作系统212、与随机数写入程序213。基本输入/输出系统220可以储存在可程序化内存中(ErasableProgrammable Read Only Memory,EPROM)。在本发明中是在基本输入/输出系统220中分别设置有软件授权保护区段221与桌面管理界面(DesktopManagement Interface,DMI)区段222。当然除了桌面管理界面区段222外,也可以利用不同区段储存第一检查码(未绘示)。而窗口操作系统212中则是储存有一相应于第一检查码的认证码(未绘示)。
就合法的计算机200而言,在桌面管理界面区段222与软件授权保护区段221中均储存第一检查码。举例来说,PSLM6C与PSLV6C为可开启SLP的字符串,然其余字符串为不可开启SLP的字符串。在此为清楚说明,所以本发明中对于待测的计算机200的软件授权保护区段221所储存的检查码将其定义为第二检查码。
第一检查码的生成方式是根据软件授权保护规范所产生的密钥。第一检查码的生成是厂商根据计算机200所搭载的预设周边装置利用杂凑函数的方式所产生的。硬件杂凑是八个字节的值,它是透过单向的数学转换过程从计算机硬件元件执行多种不同的信息部分所建立的。这意谓所得的杂凑结果无法逆向计算原始的数值。此外,只有一部份的杂凑结果数值会用于硬件杂凑,以确保完全的匿名。
对于不同型号的计算机200而言所搭载的周边硬件也有所差异。因此,生产厂商可以根据不同硬件周边来产生不同版本的第一检查码,并将第一检查码写入软件授权保护区段221与桌面管理界面区段222中。使得窗口操作系统212在运行时,可以透过本身的认证码来检查所运行的计算机200是否是相应的机型。
同理,对于非法的计算机200来说,为了能驱动窗口操作系统212正常运行。因此会根据非法计算机200的周边硬件来产生相应的第二检查码,并将其储存在软件授权保护区段221。并且修改窗口操作系统212中的认证码,借以将认证码符合第二检查码。
为能解决现有技术中透过硬件修改方式将正版窗口操作系统212可以在非法计算机200上运行的此一缺失。本发明提供了以下的验证方法,为清楚说明本发明的运作过程,还请配合图3所示,其为本发明的运作流程示意图。
步骤S310:于窗口操作系统的启动期间,运行检查程序;
步骤S320:由检查程序从基本输入/输出系统中取得第一检查码;
步骤S330:由窗口操作系统从基本输入/输出系统中取得第二检查码;
步骤S340:检查程序比对第一检查码与第二检查码是否一致;以及
步骤S350:当第一检查码与第二检查码不一致时,则将窗口操作系统的软件授权保护程序禁能,并对内存运行随机数写入程序,以随机数方式随机写入内存的不同地址。
在步骤S310中,窗口操作系统212在计算机200完成过电自检(Power TestOn Self,POST)后,随即会开始加载各种硬件与软件相关的驱动程序(driver)。于此同时,窗口操作系统212亦加载检查程序211。并由处理单元230运行该检查程序211。接着,检查程序211由基本输入/输出系统220的软件授权保护区段221与桌面管理界面区段222中撷取出第一检查码与第二检查码(对应步骤S320与步骤S330)。
由检查程序211比对第一检查码与第二检查码是否一致(对应步骤S340)。若两者一致时,则窗口操作系统212继续运行其它程序。若第一检查码与第二检查码不一致时,则将窗口操作系统212的软件授权保护程序禁能。由于软件授权保护程序禁能后,窗口操作系统212会无法确认其身份,因此将被视为非法的计算机200。因此处理单元230会对内存区段任一选取出一内存地址并运行一随机数写入程序213。检查程序211会以随机数方式随机修改内存240的不同地址的值,使得非法计算机200无法正常使用该版的窗口操作系统212(对应步骤S350)。
本发明除了针对硬件方式外,在本发明的另一实施例中可以针对软件修改的缺失进行验证。请参考图4所示,其为本发明的另一实施例流程示意图。
步骤S410:于窗口操作系统的启动期间,运行检查程序;
步骤S420:由检查程序从基本输入/输出系统中取得第一检查码;
步骤S430:由窗口操作系统从基本输入/输出系统中取得第二检查码;
步骤S440:检查程序比对第一检查码与第二检查码是否一致;
步骤S450:当第一检查码与第二检查码不一致时,则将窗口操作系统的软件授权保护程序禁能,并对内存运行随机数写入程序,以随机数方式随机写入内存的不同地址;以及
步骤S460:当第一检查码与第二检查码一致时,则比对第二检查码与该窗口操作系统的认证码(ID)是否一致,当认证码与第二检查码不一致时,则执行步骤450。
本实施例中的步骤S410~S450与前一实施例相同,在此就不赘述。本实施例除了需要判别第二检查码外,还需要对窗口操作系统212的认证码进行判别。由于计算机200运行窗口操作系统212需要第二检查码与认证码一致,才能正常运行。为更加的确保窗口操作系统212是在合法的计算机200上运行,因此除了比对第一检查码与第二检查码外,本实施例更进一步的对窗口操作系统212进行验证(对应步骤S460)。
本发明所提供的利用窗口操作系统212的检查码验证计算机200的验证方法可以避免有心人士修改第二检查码的方式,使得窗口操作系统212将非法计算机200误认为合法计算机200,进而在非法计算机200上运行。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (7)
1.一种对运行窗口操作系统的计算机的验证方法,用以验证一窗口操作系统所运行的一计算机是否为原厂的该计算机,其特征在于,该验证方法包括下列步骤:
于该窗口操作系统的启动期间,运行一检查程序;
由该检查程序从一基本输入/输出系统中取得一第一检查码;
由该窗口操作系统从该基本输入/输出系统中取得一第二检查码;
该检查程序比对该第一检查码与该第二检查码是否一致;
当该第一检查码与该第二检查码不一致时,则禁止运行该窗口操作系统的一软件授权保护程序。
2.根据权利要求1所述的对运行窗口操作系统的计算机的验证方法,其特征在于,该第一检查码储存于该基本输入/输出系统的一桌面管理界面区段中。
3.根据权利要求1所述的对运行窗口操作系统的计算机的验证方法,其特征在于,该第一检查码是根据该计算机的多个预设周边装置所产生。
4.根据权利要求1所述的对运行窗口操作系统的计算机的验证方法,其特征在于,该第二检查码储存于该基本输入/输出系统的一软件授权保护区段中。
5.根据权利要求1所述的对运行窗口操作系统的计算机的验证方法,其特征在于,该第二检查码是根据该计算机的多个当前周边装置所产生。
6.根据权利要求1所述的对运行窗口操作系统的计算机的验证方法,其特征在于,当该第一检查码与该第二检查码不一致时,则另运行一随机数写入程序,其是以随机数方式从内存区段中选取一内存地址,并以随机数写入该内存地址。
7.根据权利要求1所述的对运行窗口操作系统的计算机的验证方法,其特征在于,当该第一检查码与该第二检查码一致时,则另执行下述步骤:
将该第二检查码与该窗口操作系统的一认证码进行比对;
当该认证码与该第二检查码不一致时,则将软件授权保护程序禁能,并对内存运行一随机数写入程序,以随机数方式随机写入内存的不同地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101691148A CN102024117A (zh) | 2009-09-09 | 2009-09-09 | 对运行窗口操作系统的计算机的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101691148A CN102024117A (zh) | 2009-09-09 | 2009-09-09 | 对运行窗口操作系统的计算机的验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102024117A true CN102024117A (zh) | 2011-04-20 |
Family
ID=43865403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101691148A Pending CN102024117A (zh) | 2009-09-09 | 2009-09-09 | 对运行窗口操作系统的计算机的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102024117A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761557A (zh) * | 2012-07-31 | 2012-10-31 | 飞天诚信科技股份有限公司 | 一种终端设备认证方法及装置 |
WO2020210983A1 (zh) * | 2019-04-16 | 2020-10-22 | 华为技术有限公司 | 一种软件程序运行检查方法、电子设备及存储介质 |
-
2009
- 2009-09-09 CN CN2009101691148A patent/CN102024117A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761557A (zh) * | 2012-07-31 | 2012-10-31 | 飞天诚信科技股份有限公司 | 一种终端设备认证方法及装置 |
CN102761557B (zh) * | 2012-07-31 | 2016-02-24 | 飞天诚信科技股份有限公司 | 一种终端设备认证方法及装置 |
WO2020210983A1 (zh) * | 2019-04-16 | 2020-10-22 | 华为技术有限公司 | 一种软件程序运行检查方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100547549C (zh) | 从口令保护硬盘进行安全操作系统引导的系统和方法 | |
CN103729597B (zh) | 系统启动校验方法、系统启动校验装置和终端 | |
CN100530096C (zh) | 用于安全更新和启动代码镜像的方法和装置 | |
JPH03503220A (ja) | メッセージの完全性をチェックする方法及び携帯装置 | |
US20200089915A1 (en) | Method and apparatus for tamper-proof storage of information in respect of object-related measures | |
CN103744745B (zh) | 一种数据存储的检测方法、设备及分布式存储系统 | |
US20070220228A1 (en) | Computer memory configuration inspection method and system | |
US20060195833A1 (en) | Data-burning method and system thereof based on auto-detection of computer platform | |
JP6260005B2 (ja) | 機能設定方法 | |
CN106919859A (zh) | 基本输入输出系统保护方法和装置 | |
CN112560110A (zh) | 授权协议的签署方法、装置、电子设备及存储介质 | |
CN104954131A (zh) | 验证码的验证方法和系统 | |
CN105677409B (zh) | 一种系统升级方法及装置 | |
US10095512B2 (en) | Program development support device, non-transitory storage medium storing thereon computer-readable program development support program, and program development support method | |
CN107679423A (zh) | 分区完整性检查方法及装置 | |
CN102024117A (zh) | 对运行窗口操作系统的计算机的验证方法 | |
JP4678217B2 (ja) | 数値制御装置の管理方法及びその装置 | |
US5751595A (en) | Method for building and verifying authenticity of a rule system | |
CN105159810A (zh) | 对计算机系统的bios进行测试的方法及装置 | |
CN107315962A (zh) | 一种嵌入式平台的可信处理模块 | |
JP2008065605A (ja) | 生体認証装置及び方法 | |
CN101131716A (zh) | 具轨迹识别功能的开机系统及其处理方法 | |
JP2007188138A (ja) | マイクロコンピュータおよびそのセキュリティ制御方法 | |
CN115525933B (zh) | 数据防篡改方法、装置、电子设备及存储介质 | |
CN112597450A (zh) | 可编程芯片程序检测、存储方法和可编程芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110420 |