应用硬件检测非法软件加载的系统、 方法及其使用的芯片 【技术领域】
本发明涉及一种检测非法软件加载的方法,特别是涉及一种应用硬件检测非法软件加载的集成电路组件的设计方法。
背景技术
在已知的软件版权保护方法中,一般是使用以软件序号(serial number,“S/N”)来注册的方法。在已知中最简单的注册方法,是软件制造厂商,在该软件出版时,在其中一文件或多个文件中,存储有多个软件序号,或多个注册码(register code)。对一使用者而言,其所购买的软件,均有软件制造商所附的相对应的一软件序号。该使用者在计算机上安装该软件后,即可在该计算机上,使用其所附的该软件序号注册。或是需将该序号告知该软件制造商并取得一注册码,在该软件将该序号与注册码,与出版时存储有多个软件序号及注册码的文件核对无误后,该使用者才能成为一合法使用者。此注册方法的缺点是,该软件可以藉由该序号及该注册码,在不同地计算机上安装使用,因而产生了非法使用的问题。
对上述已知技术产生的问题,有些软件制造商,会在每一套软件出版时,附上一硬件的保护锁(key-pro)。使用者在计算机上安装该软件后,还要将保护锁连结于计算机的适配卡连接端口(connecting port)上,例如打印机端口等,然后在计算机上,使用其所附上的软件序号与注册码注册,使用者才能成为一合法使用者。此方法的缺点是,保护锁提高了软件制造厂商的成本,而且对使用者而言,若每一套软件皆须在计算机上加上一保护锁,会对计算机硬件空间产生相当大的负担。更特别的是,有些非法使用者可能破解保护锁并加以复制,使得软件可以非法地,在不同的计算机上安装使用,进而产生了非法使用的问题。
在因特网发达后,已知的软件序号注册的方法,一般是该软件制造厂商,具有一网址,连接在因特网上,该网址存储有多组序号与注册码的对应关系。在使用者购买该软件并将该软件安装于计算机后,需将软件所附的序号,加上个人身份(user ID),例如使用者的电子信箱账号(e-mail address),藉由因特网上传至网址,藉以取得一对应的注册码,在网址检查序号与注册码对应相符时,便将序号与使用者身份及注册码的对应关系存储入网址内。使用者才能成为一合法使用者。此注册方法的缺点是,软件可以藉由序号、使用者身份及注册码,在不同的计算机上安装使用,而产生了非法使用的问题。
【发明内容】
因此本发明的目的是提供一种应用硬件来检测非法软件加载的系统、方法、及其使用的芯片、与具有该芯片的计算机系统及一软件注册中心,以避免因非法使用者,利用非法的技术,未经授权非法使用该软件。
本发明的再一目的是提供一种应用硬件来检测非法软件加载的系统、方法、及其使用的芯片、与具有该芯片的计算机系统及一软件注册中心,当使用者非法使用该软件时,可通知该软件制造商,以保护其知识产权。
为了实现上述目的,本发明提出一种应用硬件检测非法软件加载的系统,适用于一计算机安装与执行具有一软件序号的一软件,该系统至少包括,一身份识别电路,其用以在该计算机安装该软件时,存储该软件序号,并对应产生一检查码;以及一通讯控制接口,具有一通讯设备序号,用以连接该身份识别电路至一新产品注册中心,该新产品注册中心根据该软件序号与该通讯设备序号,更新该检查码,其中,当该计算机执行该软件的程序时,该程序会先检查该检查码,若该检查码是在一合法使用者状态时,则该程序会正常执行,若该检查码是在一非法使用状态时,则该程序不会执行而立即关闭。
在上述的实施例中,该身份识别电路即为一智能型安全身份(Smartsecurity-ID,“SID”)集成电路(IC),使用者为了取得合法的使用权,需将软件的序号,注册至智能型安全身份集成电路中。此智能型安全身份集成电路亦可以做为一序号内建模块(Built-in Module)。
更佳的是,上述新产品注册中心还包括一数据库,该数据库包含多个数据组,其中当接收到该软件序号与该通讯设备序号时,用以与该些数据组进行比对,若在该数据库中无法找到与该软件序号与该通讯设备序号相同的数据时,则新增对应于该软件序号与该通讯设备序号的一数据组,并存储在该数据库中,更新该检查码在该合法使用者状态。其中该新产品注册中心连接到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。若在该数据库中找到该软件序号而该通讯设备序号与找到的该数据组中的另一通讯设备序号不同时,则更新该检查码在该非法使用状态。
在上述的实施例中,其中该通讯控制接口包括一网络适配卡、一无线局域网络、或一全球定位系统。
在上述的实施例中,其中该新产品注册中心可以连接到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。
更佳的是,上述的身份识别电路包括,一微处理器,具有一存储器,用以在该计算机安装该软件时,可产生该检查码;一非易失性存储器,耦接到该微处理器,用以存储该检查码;以及一介质存取控制器,耦接到该非易失性存储器与该通讯控制接口,用以将该检查码传送到藉由该通讯控制接口传送到该新产品注册中心。
如上所述,其中该存储器为一可擦除可编程只读存储器、一可电擦除可编程只读存储器、一闪速存储器、一静态随机存取存储器、与一动态随机存取存储器其中之一。
如上所述,其中该非易失性存储器为一可擦除可编程只读存储器、一可电擦除可编程只读存储器、与一闪速存储器其中之一。
在另一实施例中,更佳的是,上述的身份识别电路包括,一微处理器,用以在该计算机安装该软件时,可产生该检查码;一非易失性存储器,耦接到该微处理器,用以存储该检查码;以及一介质存取控制器,耦接到该非易失性存储器与该通讯控制接口,用以将该检查码传送到藉由该通讯控制接口传送到该新产品注册中心。
为了实现本发明的另一目的,提出一种芯片,适用于一检测非法软件加载的系统,此系统适用于一计算机安装与执行具有一软件序号的一软件,该芯片包括,一微处理器,用以在该计算机安装该软件时,可产生该检查码;一非易失性存储器,耦接到该微处理器,用以存储该检查码;以及一介质存取控制器,耦接到该非易失性存储器与一通讯控制接口,用以将该检查码及其所具有的一通讯设备序号传送到藉由该通讯控制接口传送到一新产品注册中心,该新产品注册中心根据该软件序号与该通讯设备序号,更新该检查码,其中,当该计算机执行该软件的程序时,该程序会先检查该检查码,若该检查码是在一合法使用者状态时,则该程序会正常执行,若该检查码是在一非法使用状态时,则该程序不会执行而立即关闭。
如上所述,其中该通讯控制接口包括一网络适配卡、一无线局域网络、与一全球定位系统其中之一。
如上所述,其中该非易失性存储器为一可擦除可编程只读存储器、一可电擦除可编程只读存储器、与一闪速存储器其中之一。
为了实现本发明的另一目的,提出一种应用硬件检测非法软件加载的方法,适用于一计算机安装与执行具有一软件序号的一软件,该方法包括以下步骤:当该计算机安装该软件时,存储该软件序号,并对应产生一检查码;以及将该检查码与该计算机所具有的一通讯设备序号,传送到一新产品注册中心;其中,该新产品注册中心根据该软件序号与该通讯设备序号,更新该检查码,其中,当该计算机执行该软件的程序时,该程序会先检查该检查码,若该检查码是在一合法使用者状态时,则该程序会正常执行,若该检查码是在一非法使用状态时,则该程序不会执行而立即关闭。
如上所述,其中该新产品注册中心还包括一数据库,该数据库包含多个数据组,其中当接收到该软件序号与该通讯设备序号时,用以与该些数据组进行比对,若在该数据库中无法找到与该软件序号与该通讯设备序号相同的数据时,则新增对应于该软件序号与该通讯设备序号的一数据组,并存储在该数据库中,更新该检查码在该合法使用者状态。其中该新产品注册中心连接到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。若在该数据库中找到该软件序号而该通讯设备序号与找到的该数据组中的另一通讯设备序号不同时,则更新该检查码在该非法使用状态。
如上所述,其中将该检查码与该计算机所具有的通讯设备序号,传送到新产品注册中心的方法是运用一网络接口、一无线局域网络、与一全球定位系统其中之一。
如上所述,其中该新产品注册中心连接到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。
为了实现本发明的另一目的,提出一种计算机系统,适用于一检测非法软件加载的系统,此系统适用于一计算机安装与执行具有一软件序号的一软件,该计算机包括,一微处理器,用以在该计算机安装该软件时,可产生该检查码;一非易失性存储器,耦接到该微处理器,用以存储该检查码;以及一介质存取控制器,耦接到该非易失性存储器与一通讯控制接口,用以将该检查码及其所具有的一通讯设备序号传送到藉由该通讯控制接口传送到一新产品注册中心,该新产品注册中心根据该软件序号与该通讯设备序号,更新该检查码,其中,当该计算机执行该软件的程序时,该程序会先检查该检查码,若该检查码系在一合法使用者状态时,则该程序会正常执行,若该检查码是在一非法使用状态时,则该程序不会执行而立即关闭。
如上所述,其中该通讯控制接口包括一网络适配卡、一无线局域网络、与一全球定位系统其中之一。
如上所述,其中该非易失性存储器为一可擦除可编程只读存储器、一可电擦除可编程只读存储器、与一闪速存储器其中之一。
为了实现本发明的另一目的,提出一种软件注册中心,其适用于具有应用硬件检测非法软件加载的计算机安装与执行具有一软件序号的一软件,该软件注册中心包括一数据库,该数据库包含多个数据组,其中当接收到由该计算机在所传送的该软件序号与对应于该计算机的一通讯设备序号时,用以与该些数据组进行比对,并根据该软件序号与该通讯设备序号,更新存储于该计算机的一检查码,其中,当该计算机执行该软件的程序时,该程序会先检查该检查码,若该检查码是在一合法使用者状态时,则该程序会正常执行,若该检查码是在一非法使用状态时,则该程序不会执行而立即关闭。
如上所述,其中当接收到该软件序号与该通讯设备序号时,用以与该些数据组进行比对,若在该数据库中无法找到与该软件序号与该通讯设备序号相同的数据时,则新增对应于该软件序号与该通讯设备序号的一数据组,并存储在该数据库中,更新该检查码在该合法使用者状态。其中该新产品注册中心连接到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。若在该数据库中找到该软件序号而该通讯设备序号与找到的该数据组中的另一通讯设备序号不同时,则更新该检查码在该非法使用状态。
如上所述,其中将该检查码与该计算机所具有的通讯设备序号,传送到该新产品注册中心的方法是运用一网络接口、一无线局域网络、与一全球定位系统其中之一。
如上所述,其中该新产品注册中心连接到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。
本发明因采用上述发明的一种应用硬件来检测非法软件加载的系统与方法,因此可以避免因非法使用者,利用非法的技术,未经授权非法使用软件。更可保护软件制造商的知识产权。
本发明因采用上述发明的一种应用硬件来检测非法软件加载的系统与方法,因此当有非法使用者,非法使用软件时,该应用硬件可以检测到并通知该软件制造厂商。更可保护软件制造商的权益。
【附图说明】
图1是依照本发明一较佳实施例的一种具有身份识别电路的装置示意图;
图2是运用于图1中的具有身份识别电路的系统中的新产品注册中心的数据库中所存储的数据组;
图3是依照本发明一较佳实施例的一种应用身份识别电路来检测非法软件加载的方法的示意图;以及
图4是依照本发明一较佳实施例的使用者执行软件的程序的步骤。
附图标记说明:
10:计算机
100:通讯设备
102:身份识别电路
104:通讯控制接口
106:微处理器
108:存储器
110:介质存取控制器
112:非易失性存储器
114:新产品注册中心
116:数据库
118:软件制造商
【具体实施方式】
为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并结合附图详细说明如下。
首先,请参照图1,图1是本实施例中在一计算机10中具有应用硬件来检测非法软件加载功能的装置100的方块示意图。此装置100包括一身份识别电路102与一通讯控制接口104。此通讯控制接口104是让此身份识别电路102与外界沟通的媒介,而其通连的方式可为无线通信、有线通信以及其它任何可传送数据的方式。
上述的身份识别电路102至少包括了一微处理器106、一存储器108、一介质存取控制器110以及一非易失性存储器112。图标中存储器108耦接到微处理器106,然而,在另一实施例中,此存储器108可为微处理器106内部所内建的存储器。微处理器106在计算机安装一软件时,可产生一检查码。而非易失性存储器112可以在计算机安装软件时,将其软件序号(SerialNumber,下面简称“S/N”)以及微处理器106产生的检查码存储在其中。
请参照图1,其中上述的存储器108可以为一可擦除可编程只读存储器(Erasable PROM,“EPROM”)、一可电擦除可编程只读存储器(ElectricallyErasable PROM,“EEPROM”)、一闪速存储器(Flash memory)、一静态随机存取存储器(Static Random Access Memory,“SRAM”),以及一动态随机存取存储器(Dynamic Random Access Memory,“DRAM”)。其中非易失性存储器112可为一闪速存储器(Flash memory)、一可擦除可编程只读存储器、或是一可电擦除可编程只读存储器。而通讯控制接口104在一较佳实施例中可为一网络接口设备。而在其它选择的实施例中,可为一无线局域网络或一全球定位系统等等通信设备。
请参照图1,其中身份识别电路102是一种用来检测非法软件加载的硬件装置。当计算机安装与执行具有软件序号S/N的软件时,若检测到没有身份识别电路102,则停止安装。若检测到存在身份识别电路102,则可开始在此计算机上安装软件,并将软件序号S/N存储于身份识别电路102中,接着产生一检查码(在一实施例中,此检查码的初始值设为1)。请结合图4说明,图4示出了使用者执行软件SW的程序时,此程序会先连结至身份识别电路102,检查所存储的检查码cd的值。若检查码cd的值为1,则程序会正常执行,反之,若检查码cd的值为0,则程序不会执行,会立即关闭。而此检查码cd的设定,详细说明如下。
在本实施例的检测非法软件加载的系统中,除了上述的装置100外,还包括一新产品注册中心114,其具有一数据库116。此新产品注册中心114藉由通讯控制接口104与具有应用硬件来检测非法软件加载功能的装置100作通联,而此通联的方式可以是经由一网络适配卡设备。而在其它选择的实施例中,亦可为一无线局域网络适配卡或一全球定位系统等等任何具有可将通讯控制接口104与新产品注册中心114相连接传送数据的方法。在本发明一选择实施例中,此新产品注册中心114还可与软件制造商系统118相通连,可互相传送数据,例如传送目前登录的软件使用者数据,或是在有异常的情形,也就是有任何盗用的情形下,可进行数据的传送。
请参照图2,图2显示新产品注册中心114的数据库116中所存储的数据组的一例,其中数据库116具有多个数据组。每一数据组包括软件制造商代码、软件序号、通讯设备序号以及检查码。新产品注册中心114通过通讯控制接口104与计算机连结,新产品注册中心114亦与软件制造商系统118连结。
当软件SW在计算机上完成其安装程序后,通过通讯控制接口104,传输软件序号S/N、计算机的一通讯设备序号S1以及检查码cd至新产品注册中心114。此通讯设备序号S1可用以识别此计算机的序号,一般而言,若通讯控制接口104为一网络卡接口设备,则此通讯设备序号S1在一较佳实施例中为网络卡的序号。而在其它选择的实施例中,若通讯控制接口104为一无线局域网络接口,则为无线网络卡的序号。而若是通讯控制接口104为一全球定位系统,则可为此全球定位系统中识别此通讯控制接口104的序号等等。当然,此通讯设备序号S1亦可定义为计算机独特的序号。
若软件序号S/N不包括于数据库116的任一组数据组中,则开始进行新使用软件的注册流程。此注册流程包括由新产品注册中心114依据软件SW选取一软件制造商代码,将软件制造商代码,连同传输来的软件序号S/N、通讯设备序号S1以及检查码cd,存储在一新的数据组中。并定义此检查码为1,也就是在一合法使用者的状态。
若软件序号S/N已包括于数据库116的某一组数据组中,但通讯设备序号S1不同于此数据组中的通讯设备序号,则新产品注册中心114将传输来的检查码cd的值设为0,并将此值回传至检测非法软件加载功能的装置100,并将装置100中的检查码cd的值设定为0。如前所述,当使用者执行已安装的软件的程序时,程序会先连结至身份识别电路102,检查检查码cd的值。若检查码cd的值为1,则此程序会正常执行;若检查码cd的值为0,则此程序不会执行,会立即关闭。
图3示出了本发明一较佳实施例中的一种应用身份识别电路来检测非法软件加载的方法的流程图。首先,请参照图3,图3示出了本发明提出的一种应用身份识别电路来检测非法软件加载的方法,适用于图1所示的系统。此系统具有当将具有一软件序号S/N的软件SW安装于一计算机时,检测是否为非法使用的功能。而此具有检测非法软件加载功能的装置100包括一身份识别电路102与一具有通讯设备序号S1的通讯控制接口104。而此系统中还包括具有数据库116的新产品注册中心114。除此之外,在一选择实施例中,还可包括一软件制造商系统118。其中此计算机系通过装置100,与新产品注册中心114连结,新产品注册中心114亦与软件制造商系统118连结。数据库116具有多个数据组,如图2所示,每一数据组为一组数据包括一软件制造商代码、一软件序号、一通讯设备序号以及一检查码。应用身份识别电路102来检测非法软件加载的方法如下所述。
当计算机安装软件SW时,需输入其软件序号S/N。软件SW会传输软件序号S/N至通讯设备100。此时若软件SW与通讯设备100的身份识别电路102无法连结或通讯设备100不具有一身份识别电路102,则软件SW停止其安装程序。若软件SW连结上通讯设备100的身份识别电路102,则继续进行以下步骤。
软件SW将软件序号S/N存储于身份识别电路102中、完成其安装程序、产生一检查码cd(起始值设为1)并启动通讯设备100,传输软件序号S/N、通讯设备100的一通讯设备序号S1以及检查码cd至新产品注册中心114。
新产品注册中心114将软件序号S/N及通讯设备序号S1,与新产品注册中心114内的数据库116的每一数据组的软件序号及通讯设备序号比对。若软件序号S/N不包括在数据库116的任一组数据组中,则新产品注册中心114将依据软件SW选取一软件制造商代码,将软件制造商代码,连同传输来的软件序号S/N、通讯设备序号S1以及检查码cd,存储在一新的数据组中。此时还包括连结至软件制造商系统118,并对其告知该计算机为一非法使用者。
若软件序号S/N已包括在数据库116的某一组数据组中,但通讯设备序号S1不同于该某一组数据组中的该通讯设备序号,则新产品注册中心114将传输来的检查码cd的值设为0并将此值回传至通讯设备100,并将通讯设备100中的检查码cd的值设为0。此时还包括连结至软件制造商系统118,并对其告知该计算机为一合法使用者。
同样地,请参照图4,图4示出了使用者执行该软件SW的程序PR的方法。当该计算机执行程序PR时,该程序PR会先连结至该身份识别电路102,检查检查码cd的值;若检查码cd的值为1,则程序PR会正常执行;若检查码cd的值为0,则程序PR不会执行,会立即关闭。
如上所述,其中将该检查码与该计算机所具有的通讯设备序号,传送到该新产品注册中心的方法是运用一网络接口、一无线局域网络、与一全球定位系统其中之一。
如上所述,其中该新产品注册中心连按到一软件制造商系统,当该新产品注册中心根据该软件序号与该通讯设备序号更新该检查码为该合法使用者状态时,亦通知该软件制造商系统该软件已经注册在该新产品注册中心。
虽然本发明已以一较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围视后附的权利要求为准。