CN111368264A - 应用程序的验证方法、电脑装置及其主机板 - Google Patents
应用程序的验证方法、电脑装置及其主机板 Download PDFInfo
- Publication number
- CN111368264A CN111368264A CN201811598812.5A CN201811598812A CN111368264A CN 111368264 A CN111368264 A CN 111368264A CN 201811598812 A CN201811598812 A CN 201811598812A CN 111368264 A CN111368264 A CN 111368264A
- Authority
- CN
- China
- Prior art keywords
- application program
- verification code
- verification
- time parameter
- computer device
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000007246 mechanism Effects 0.000 claims abstract description 20
- 230000001960 triggered effect Effects 0.000 claims description 2
- 241001391944 Commicarpus scandens Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种应用程序的验证方法、电脑装置及其主机板,应用程序安装于具有一基本输入输出***及一计时器的一电脑装置,验证方法包括:应用程序传送一询问值至基本输入输出***。基本输入输出***从计时器取得第一时间参数,并通过运算机制将第一时间参数及询问值转换成第一验证码,及将第一验证码传送至应用程序,应用程序从计时器取得第二时间参数,并通过运算机制将第二时间参数及询问值转换成第二验证码。应用程序于接收到该第一验证码后比对第一验证码及第二验证码,若两者相等或相差小于一临界值则通过验证,否则不通过验证。
Description
技术领域
本发明涉及一种验证方法,特别涉及一种应用程序、电脑装置及其主机板的验证方法。
背景技术
现有的应用程序基于使用安全或智慧财产权保护,通常会限定可合法使用它的电脑装置,避免应用程序被破解或被复制到其它不合法(未经合法授权)的电脑装置上使用。为达到这个目的,目前已有绑定硬件信息的保护机制,在此机制中,应用程序一被启动就会先读取并验证安装它的电脑装置中的硬件信息,例如中央处理器编码、硬盘序号等等,并只在验证通过时才允许该电脑装置正常执行它。这种机制虽可将应用程序与可正常执行它的合法电脑装置绑定在一起,但因硬件信息缺乏动态变化,故容易遭到破解,使得有心人士可恣意地将应用程序安装到任意的电脑装置上使用。
发明内容
为解决过去验证硬件信息的应用程序保护机制易被破解的问题,本发明提供一种新的应用程序验证方法,该验证方法采取动态沟通机制而不易破解,可提高验证上的安全性,有效避免应用程序被复制到其它不合法的电脑装置上使用。
应用程序安装于具有一基本输入输出***及一计时器的一电脑装置,验证方法包括:应用程序传送一询问值至基本输入输出***。基本输入输出***从计时器取得第一时间参数,并通过运算机制将第一时间参数及询问值转换成第一验证码,及将第一验证码传送至应用程序,应用程序从计时器取得第二时间参数,并通过运算机制将第二时间参数及询问值转换成第二验证码。应用程序于接收到该第一验证码后比对第一验证码及第二验证码,若两者相等或相差小于一临界值则通过验证,否则不通过验证。
在一实施例中,本发明应用程序的验证方法的询问值为一随机数、一预设固定值及电脑装置的一硬件识别码的至少其中之一。
在一实施例中,本发明应用程序的验证方法当验证不通过,应用程序停止运行或发出警示信号或进行前述组合。
在一实施例中,本发明应用程序的验证方法当验证通过,应用程序正常执行。
在一实施例中,本发明应用程序的验证方法传送询问值的步骤包括:应用程序将询问值写入电脑装置的一输入输出端,以触发一***管理中断,使得电脑装置进入一***管理模式,基本输入输出***从输入输出端读取询问值。
在一实施例中,本发明应用程序的验证方法传送第一验证码的步骤包括:基本输入输出***将第一验证码写入输入输出端后,电脑装置离开***管理模式,应用程序从输入输出端读取第一验证码。
在一实施例中,本发明应用程序的验证方法的第一时间参数及第二时间参数关于时间中的数字部分。
本发明另提供一种电脑装置,用于执行上述应用程序的验证方法。
本发明另提供一种电脑主机板,具有一基本输入输出***、一输入输出端及一计时器,基本输入输出***执行以下步骤:在一应用程序所触发的一***管理模式下,从输入输出端读取应用程序所写入的一询问值;从计时器取得一第一时间参数,并通过一运算机制将第一时间参数及询问值转换成一第一验证码;及将第一验证码写入输入输出端后,并结束***管理模式。
在一实施例中,本发明电脑主机板中的第一时间参数关于一时间中的数字部分。
承上所述,本发明应用程序的验证方法为一种双向动态的加密机制,通过转换时间参数,达到动态加密的效果,进一步达到绑定应用程序与硬件的功能,据此可广泛应用于各种电脑装置及电脑主机板中。
附图说明
图1显示本发明方法的一优选实施例的流程图。
图2显示执行本发明方法的一电脑装置的方框图。
图3显示本发明方法的应用程序传送询问值的步骤的流程图。
图4显示本发明方法的应用程序传送第一验证码至应用程序的步骤的流程图。
其中,附图标记说明如下:
1 电脑装置
11 主机板
111 基本输入输出***
112 输入输出端
113 计时器
2 应用程序
a、b、c、a1~a2、b1~b3 步骤
具体实施方式
图1显示本发明的应用程序的验证方法的一个优选实施例,验证方法由图2所示的一电脑装置1执行,电脑装置1包括一主机板11,主机板11至少具有一基本输入输出***(BIOS)111、一输入输出端(I/O port)112及一计时器113。应用程序2安装于电脑装置1,于本实施例中,计时器113可以是主机板上设置的实时时钟(Real Time Clock,RTC)。
如图1所示,验证方法包括以下步骤a~c:
步骤a:应用程序2传送一询问值至基本输入输出***111。
步骤b:基本输入输出***111从计时器113取得一第一时间参数,并通过一运算机制将第一时间参数及询问值转换成一第一验证码,及将第一验证码传送至应用程序2,应用程序2从计时器113取得一第二时间参数,并通过运算机制将第二时间参数及询问值转换成一第二验证码。需注意的是,于此处所公开取得第一时间参数以及取得第二时间参数在时间上并无差异,亦即,当基本输入输出***111从计时器113取得第一时间参数时,应用程序2亦从计时器113取得第二时间参数,并无先后取得顺序的差异。
步骤c:应用程序2于接收到该第一验证码后比对第一验证码及第二验证码,若两者相等或相差小于一临界值则通过验证,否则不通过验证。其中,若验证通过,应用程序2正常执行,亦即,应用程序2继续执行其原本应进行的功能。若不通过验证,则应用程序2停止运行或发出警示信号或进行前述组合。
上述询问值可为应用程序2产生的一随机数、一预设固定值及电脑装置1的硬件识别码(例如中央处理器编码、硬盘序号)的至少其中之一,但不以此为限。
上述第一时间参数及第二时间参数关于一时间中的数字部分,例如秒数、分秒数、时分秒数、日时分秒数、年日时分秒数、或前述的任意组合。举例来说,若基本输入输出***111取得第一时间参数(或应用程序2取得第二时间参数)的时间是:“2018年12月1日上午8点55分28秒”,则第一时间参数(或第二时间参数)可以是其中的秒数“28”,或是其中的分秒数“5528”,或是其中的时分秒数“085528”、或是其中的日时分秒数“015528”,或是其中的月日时分秒数“12015528”、或是其中的年月日时分秒数“201812015528”,此外,也可以是前述数字中的某一种组合,例如月数与秒数的组合“1228”,但不以此为限。
如图3所示,上述应用程序2传送询问值的步骤a可包括以下步骤a1~a2:
步骤a1:应用程序2将询问值写入电脑装置1的输入输出端112,例如I/O port B2,以触发一***管理中断(SMI:System Management Interrupt),使得电脑装置2的一中央处理器(CPU)110进入到一***管理模式(SMM:System Management Mode),在此模式下,电脑装置1的控制权转移至基本输入输出***111,使得基本输入输出***111得以执行随后的步骤a2及上述步骤b。
步骤a2:基本输入输出***111从输入输出端112读取询问值。
基本输入输出***111读取到询问值,即如上述步骤b,将询问值与第一时间参数转换成第一验证码,并传送第一验证码至应用程序2,如图4所示,传送的步骤包括以下步骤b1、b2及b3。
步骤b1:基本输入输出***111将第一验证码写入输入输出端112。
步骤b2:电脑装置1离开***管理模式,例如执行RSM指令,以使电脑装置1离开***管理模式,此时,控制权移回电脑装置1的一作业***,使得应用程序2得以执行随后的步骤b3及上述的步骤b与c。
步骤b3:应用程序2从输入输出端112读取第一验证码。接着,应用程序2即如上述步骤b与c所述,产生第二验证码,并进行验证。
由于上述应用程序验证方法的整个验证流程所需运算时间极短,通常是在1秒以内,因此,应用程序2从计时器113取得第二时间参数的时间点,通常会跟基本输入输出***111从计时器113取得第一时间参数的时间点相差不到1秒,而第一、二时间参数都是取到秒数,不是毫秒、微秒或更小,因此,基本输入输出***111与应用程序2两者在计时器113的最小计时单位内分别所取得的第一时间参数通常会等于第二时间参数。然而,考虑到运算时间有可能延迟,故允许第一时间参数与第二时间参数相差小于一临界值,例如相差小于1~5秒其中任一者。
此外,上述的步骤b3中,应用程序2亦可设定在一段预设时间后从输入输出端112读取第一验证码。例如,设定2秒的预设时间,其并不限定在步骤b2之后,应用程序2随即从输入输出端112读取第一验证码。
于运算上述第一、二验证码时,基本输入输出***111与应用程序2都是采取相同的运算机制,例如将询问值与第一时间参数(或第二时间参数)相加、相减、相乘或相除,但不以此为限。另外,运算机制还可进一步包含加密运算。
于实际的运用中,本发明上述验证方法可以在应用程序2启动时进行,也可选择在应用程序2执行期间进行一或多次,例如在应用程序2中任意选择数个程序点来进行上述验证方法。
以游戏的应用程序为例,游戏可以在启动时、游戏过程中,或者启动时以及游戏过程中执行上述验证方法。若游戏启动时,进行游戏的验证,在游戏通过验证时,游戏则正常执行。若游戏不通过验证,则强制游戏结束而无法启动,或者游戏仍可启动,但在游戏过程中发出警示信号,或者强制游戏结束及/或发出警示信号。
此外,本发明应用程序的验证方法可根据不同的程序指令、运算机制或者两者的结合绑定特定对应的电脑装置。进一步而言,上述步骤a1中,应用程序2将询问值写入电脑装置1的输入输出端112,其通过指令(command)连同询问值写入至电脑装置1的输入输出端112中,而不同的指令对应至不同的应用程序2,以便于绑定特定对应的电脑装置。相似地,通过不同的运算机制可绑定特定对应的电脑装置。
综上所述,本发明上述验证方法一方面要求应用程序2需额外执行上述步骤中的一些事项,一方面也要求基本输入输出***111需额外执行上述步骤中的另一些事项,两者密切搭配始能完成验证,换言之,电脑装置1与应用程序2已借此方式完成互相绑定,其它无法配合执行上述验证方法或执行但无法通验证的不合法电脑装置,緃使安装了应用程序2也无法正常执行,故本发明上述验证方法确实可有效避免应用程序2被复制到不合法电脑装置上使用。再者,由于上述第一验证码及第二验证码中都是从具有动态变化的时间参数运算得到的,故均为一种动态验证码而不容易破解,此外,第一验证码及第二验证码还转换了询问值,在询问值为随机数的情况下,其动态变化更难猜测而更不容易破解,故本发明上述验证方法,具有安全性高而不易破解的优点,还可广泛应用于各种电脑装置及电脑主机板中。
Claims (10)
1.一种应用程序的验证方法,该应用程序安装于具有一基本输入输出***及一计时器的一电脑装置,该验证方法包括:
该应用程序传送一询问值至该基本输入输出***;
该基本输入输出***从该计时器取得一第一时间参数,且通过一运算机制将该第一时间参数及该询问值转换成一第一验证码,及将该第一验证码传送至该应用程序,该应用程序从该计时器取得一第二时间参数,并通过该运算机制将该第二时间参数及该询问值转换成一第二验证码;以及
该应用程序于接收到该第一验证码后比对该第一验证码及该第二验证码,若两者相等或相差小于一临界值则通过验证,否则不通过验证。
2.如权利要求1所述的应用程序的验证方法,其中,该询问值为一随机数、一预设固定值及该电脑装置的一硬件识别码的至少其中之一。
3.如权利要求1所述的应用程序的验证方法,其中,当验证不通过,该应用程序停止运行或发出警示信号或进行前述组合。
4.如权利要求1所述的应用程序的验证方法,其中,当验证通过,该应用程序正常执行。
5.如权利要求1所述的应用程序的验证方法,其中,传送该询问值的步骤包括:该应用程序将该询问值写入该电脑装置的一输入输出端,以触发一***管理中断,使得该电脑装置进入一***管理模式,该基本输入输出***从该输入输出端读取该询问值。
6.如权利要求1所述的应用程序的验证方法,其中,传送该第一验证码的步骤包括:该基本输入输出***将该第一验证码写入该输入输出端后,该电脑装置离开该***管理模式,该应用程序从该输入输出端读取该第一验证码。
7.如权利要求1的应用程序的验证方法,其中,该第一时间参数及第二时间参数关于一时间中的数字部分。
8.一种电脑装置,执行如权利要求1至7中任一项所述应用程序的验证方法。
9.一种电脑主机板,具有一基本输入输出***、一输入输出端及一计时器,该基本输入输出***执行以下步骤:
在一应用程序所触发的一***管理模式下,从该输入输出端读取该应用程序所写入的一询问值;
从该计时器取得一第一时间参数,并通过一运算机制将该第一时间参数及该询问值转换成一第一验证码;及
将该第一验证码写入该输入输出端,并结束该***管理模式。
10.如权利要求9所述的电脑主机板,其中,该第一时间参数关于一时间中的数字部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811598812.5A CN111368264A (zh) | 2018-12-26 | 2018-12-26 | 应用程序的验证方法、电脑装置及其主机板 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811598812.5A CN111368264A (zh) | 2018-12-26 | 2018-12-26 | 应用程序的验证方法、电脑装置及其主机板 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111368264A true CN111368264A (zh) | 2020-07-03 |
Family
ID=71209824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811598812.5A Pending CN111368264A (zh) | 2018-12-26 | 2018-12-26 | 应用程序的验证方法、电脑装置及其主机板 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368264A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868606A (zh) * | 2021-10-09 | 2021-12-31 | 新大陆数字技术股份有限公司 | 一种应用软件授权方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393586A (zh) * | 2007-09-18 | 2009-03-25 | 武永军 | 验证唯一电脑的方法 |
CN102708332A (zh) * | 2012-01-12 | 2012-10-03 | 苏州百正信息科技有限公司 | 通过硬件识别码保护计算机软件版权的方法 |
CN103383736A (zh) * | 2012-05-02 | 2013-11-06 | 中频电子股份有限公司 | 对电子芯片进行验证的方法与使用者终端 |
CN104168116A (zh) * | 2014-08-19 | 2014-11-26 | 天地(常州)自动化股份有限公司 | 一种数据库身份验证方法及*** |
-
2018
- 2018-12-26 CN CN201811598812.5A patent/CN111368264A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393586A (zh) * | 2007-09-18 | 2009-03-25 | 武永军 | 验证唯一电脑的方法 |
CN102708332A (zh) * | 2012-01-12 | 2012-10-03 | 苏州百正信息科技有限公司 | 通过硬件识别码保护计算机软件版权的方法 |
CN103383736A (zh) * | 2012-05-02 | 2013-11-06 | 中频电子股份有限公司 | 对电子芯片进行验证的方法与使用者终端 |
CN104168116A (zh) * | 2014-08-19 | 2014-11-26 | 天地(常州)自动化股份有限公司 | 一种数据库身份验证方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868606A (zh) * | 2021-10-09 | 2021-12-31 | 新大陆数字技术股份有限公司 | 一种应用软件授权方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4729046B2 (ja) | コンピュータに信頼可能な実行環境を構築する方法 | |
EP1584034B1 (en) | Systems and methods for detecting a security breach in a computer system | |
CN108334753B (zh) | 盗版应用验证方法和分布式服务器节点 | |
EP2262259A1 (en) | Method for monitoring execution of data processing program instructions in a security module | |
RU2007122339A (ru) | Изолированное вычислительное окружение, привязанное к центральному процессору и материнской плате | |
US8327125B2 (en) | Content securing system | |
EP1829274A2 (en) | System and method to lock tpm always 'on' using a monitor | |
JP2008521089A (ja) | 望ましくない状態の検知時に入る特別なpcモード | |
CN112464212A (zh) | 基于成熟复杂业务***的数据权限控制改造方法 | |
EP1465038B1 (en) | Memory security device for flexible software environment | |
CN111368264A (zh) | 应用程序的验证方法、电脑装置及其主机板 | |
CN101458748B (zh) | 载入内核组件以创建安全计算环境的方法 | |
CN108881132B (zh) | 应用授权方法、客户端、服务器和计算机可读介质 | |
WO2022148149A1 (zh) | 一种许可证文件的管理方法、装置和设备 | |
CN112395587B (zh) | 计算机***及强制自行认证方法 | |
TWI691858B (zh) | 應用程式的驗證方法、電腦裝置及其主機板 | |
JP2001236132A (ja) | 耐タンパー性を与える方法及びプログラム | |
CN117494232B (zh) | 固件的执行方法和装置、***、存储介质及电子设备 | |
Nasser | Securing safety critical automotive systems | |
Stolfo et al. | Research in Attacks, Intrusions, and Defenses | |
JP5951130B2 (ja) | プログラム検証装置及びプログラム検証方法及びプログラム | |
CN118312966A (zh) | 一种可信启动***以及可信启动方法 | |
CN114282178A (zh) | 一种软件自防护方法、装置、电子设备及存储介质 | |
Hashmi et al. | A software based approach for trusted agent execution on malicious host | |
CN112269998A (zh) | 一种服务器的启动控制方法、***、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200703 |