计算机外设接口的双层金钥保护方法及架构的制作方法

文档序号:6651124阅读:187来源:国知局
专利名称:计算机外设接口的双层金钥保护方法及架构的制作方法
技术领域
本发明涉及一种计算机外设接口的双层金钥保护方法及架构,特别涉及一种以第一层金钥保护计算机外设的硬件,而以第二层金钥保护相关客户程序软件的双层金钥保护架构及其保护的方法。
背景技术
金钥密码的安全机制是目前计算机或网络上最常使用的保护方式,计算机外设制造商也常使用金钥密码来保护自行开发的软、硬件,如计算机视频适配卡及其应用程序或驱动程序等。
如图1所示,其为传统计算机适配卡使用单一金钥的保护架构,一般在计算机适配卡10上会设有微处理器11及储存有控制程序的存储单元12,而在使用该计算机适配卡10时,会在计算机20上配合执行至少一客户程序21,并通过接口程序22,如驱动程序,使接口单元23(如PCI接口)控制该计算机适配卡10。
而传统计算机适配卡10的制造者为了保护该计算机适配卡10与相关的该客户程序21和该接口程序22,通常会在该计算机适配卡10上设计金钥验证机制,即,该计算机20的接口程序21会送出一个金钥数值100给计算机适配卡10上的微处理器11,该微处理器11经过算法的运算后,即可对比该存储单元12内的金钥数值100是否正确,若正确则通过该接口程序22向该客户程序21发出响应,表示为正版,若不正确或无响应,则表示该计算机适配卡10或者该接口程序22其中有一个非正版,而拒绝使用。
上述的保护机制的好处是接口程序撰写简易,且制造成本低廉,然而缺点是必须针对每一计算机适配卡10客制化定制固定的金钥数值,若数量大时,库存管理相当复杂,反而增加许多制造商的库存成本,因大部分的制造商都会将客户程序及金钥数值烧录或压制成光盘,其仅对应一片计算机适配卡。
但若是计算机适配卡10的制造商与客户程序21或接口程序22的开发商并非同一厂商时,则计算机适配卡10的制造商会将其保护的金钥数值提供给制造客户程序的软件开发商,而非法盗拷者仅需购买原版的计算机适配卡10,而盗拷他人的软件即可以较低的价格与原版软件厂商竞争,如此即形成保护漏洞,对于软件厂商并不公平。
因此,本发明的发明人为解决上述现有计算机适配卡使用单一金钥所具有的不便与缺陷,提出一种双层金钥的保护机制,可让客户自行通过烧录器设定第二层金钥,以保护软件厂商的产品,且又不会增加硬件厂商的库存成本。

发明内容
本发明主要目的在提供一种计算机适配卡的双层金钥保护方法及架构,可让计算机外设装置的软件开发业者可自行设定金钥,而不需针对每一适配卡订制不同的金钥,可方便硬件制造商管理库存品,以及可完善地保护软件业者所开发的软件,并具成本低廉的功效。
为达成上述目的,本发明主要提供一种计算机外设接口的双层金钥保护方法,在计算机外设装置上设有微处理器及非易失性存储单元,并于计算机上执行配合的客户程序,该方法首先指定第一金钥数值(Key 1)预存于该非易失性存储单元中,再指定第二金钥数值(Key 2),经该微处理器与该第一数值(Key 1)运算后,产生第一检核码(CRC 1),接者将该第二金钥数值(Key 2)及该第一检核码(CRC 1)撰写于该客户程序中,当执行该客户程序时,传送该第二金钥数值(Key 2)至该微处理器,并读取预存的该第一金钥数值(Key 1)经运算后,产生第二检核码(CRC 2),最后回传该第二检核码(CRC 2)至该客户程序以对比是否与该第一检核码(CRC 1)相符,即可判断软件是否为正版。
本发明所述的计算机外设接口的双层金钥保护方法,其中该指定第一金钥数值的步骤前,还包括提供硬件金钥数值,储存于该非易失性存储单元中;使用该计算机外设装置时,该客户程序要求该回传该硬件金钥数值;及检核该硬件金钥数值,以确认该计算机外设装置是否为正版。
本发明所述的计算机外设接口的双层金钥保护方法,其中该硬件金钥数值为该计算机外设装置厂商所提供,为固定数值。
本发明所述的计算机外设接口的双层金钥保护方法,其中指定该第一金钥数值的步骡前,还包括连接特定烧录器于该计算机外设装置。
本发明所述的计算机外设接口的双层金钥保护方法,其中该第一金钥数值由特定烧录器烧录于该非易失性存储单元中。
本发明所述的计算机外设接口的双层金钥保护方法,其中该非挥性存储单元为电可擦除可编程只读存储器或闪存。
本发明还提供一种计算机外设接口的双层金钥保护架构,包括计算机外设装置及烧录器,其中该计算机外设装置上设置有微处理器及非易失性存储单元及接口单元;该烧录器可连接于该计算机外设装置,用以烧录第一金钥数值(Key 1)于该非易失性内存中;该接口单元可用以连接该计算机,通过客户程序可输入第二数值(Key 2)至该微处理器,并读取预存的该第一数值(Key1),进行运算后产生第二检核码(CRC 2),并与储存于客户程序中的该第一检核码(CRC 1)对比是否相符,即可确认是否为正版。
本发明所述的计算机外设接口的双层金钥保护架构,其中该非挥性存储单元为电可擦除可编程只读存储器或闪存。
本发明所述的计算机外设接口的双层金钥保护架构,其中该接口单元为输入/输出接口。
本发明所述的计算机外设接口的双层金钥保护架构,其中该输入/输出接口为PCI接口、AGP接口或USB连接接口。
本发明所述的计算机外设接口的双层金钥保护架构,其中该计算机外设装置为插置于计算机中的适配卡装置,或为外接式外围装置。


图1为传统使用的单一金钥的保护架构图;图2为本发明的双层金钥保护架构示意图;图3为本发明第一层金钥的检核流程图;图4为本发明第二层金钥的设定流程图;图5为本发明设定第二层金钥的状态示意图;图6为本发明的第二层金钥检核流程图;及图7为本发明检核第二层金钥的状态示意图。
其中,附图标记说明如下10 计算机适配卡 11 微处理器12 存储单元20 计算机 21 客户程序22 接口程序30 计算机适配卡 31 微处理器32 非易失性存储单元33 接口单元 34 烧录器连接端口 40 计算机41 客户程序 50 烧录器具体实施方式
为了进一步了解本发明为实现预定目的所采用的技术、手段及达到的功效,请参阅以下有关本发明的详细说明与附图,可以深入且具体地了解本发明的目的、特征与特点,然而附图仅用于参考与说明,并非用来对本发明加以限制。
首先请参阅图2所示,其为本发明的双层金钥保护架构示意图。本发明的计算机外设接口的双层金钥保护架构主要是在原始单一金钥的保护机制下,再设计第二层的金钥验证机制用以保护配合计算机外设装置的相关客户程序,而原始单一金钥可使用固定的金钥数值,如此即可减少硬件制造商的库存成本,当然也可使用非固定的金钥数值。
而本发明中所提及的计算机外设装置可以是插置于计算机中的适配卡装置,如电视视频卡,也可为外接式外围装置,如外接式电视盒,并通过输入/输出接口连接于计算机上,若为计算机适配卡时,该输入/输出接口可以为PCI接口或AGP接口,若为外接外围装置时,该输入/输出接口可以为USB连接接口。
本发明以计算机适配卡30为实施例加以说明,该计算机适配卡30包括有至少一微处理器31、非易失性存储单元32、接口单元33及烧录器连接端口34,其中该微处理器31可处理特定的程序,而该非易失性存储单元32可以是电可擦除可编程只读存储器(EEPROM)或为闪存(Flash Memory)。
而该接口单元33可连接于该计算机40中的输入/输出接口,如该计算机适配卡30可插置于计算机40中的PCI总线上,在该计算机40中需配合执行客户程序41,如可用于驱动该计算机适配卡30的驱动程序或应用程序,以便计算机40可控制该计算机适配卡30执行特定程序。
其中该烧录器连接端口34可连接特定的烧录器50,利用该特定的烧录器50,软件开发者可自行将一组金钥数值烧录于该非易失性存储单元32中。
请参阅图3所示,其为本发明第一层金钥的检核流程示意图。本发明首先在该计算机适配卡30出厂前由该计算机适配卡厂商提供一组第一层的硬件金钥数值,该硬件金钥数值可以为固定数值,并已储存于该非易失性存储单元32(S100),主要是用于保护计算机适配卡30的硬件本身,因而在使用该计算机适配卡时,该接口程序41会要求该计算机适配卡30回传储存于该非易失性存储单元31中的该硬件金钥数值(S102),并检核该硬件金钥数值是否正确(S104),若正确则表示该计算机适配卡30为正版,并进行第二层金钥的检核(S106),否则即为伪造,停止使用该计算机适配卡30(S108)。
而本发明的第二层金钥主要是为了保护配合该计算机适配卡的客户程序或者应用软件,如图4所示,其为本发明第二层金钥的设定流程图,但为了达到防止破解的保护目的,在第二层金钥中设计了利用至少两个或两个以上的金钥数值进行运算的保护机制,以增加破解的困难度,且可由软件开发商自行利用该特定烧录器50设定金钥数值储存于该计算机适配卡30的非易失性存储单元32中。
而本发明在该计算机适配卡30中可由该微处理器31执行金钥运算程序,而该金钥运算程序需要至少第一金钥数值及第二金钥数值进行运算,产生第一检核数值。
因此在金钥设定时,软件开发者可将该特定烧录器50连接至该计算机适配卡30的烧录器连接端口34(S200),如图5为本发明设定第二层金钥的状态示意图,并利用该烧录器50输入该第一金钥数值及该第二金钥数值(S202),此时该烧录器会将该第一金钥数值储存于该非易失性存储单元32中(S204),并通过该微处理器31执行该金钥运算程序,以产生该第一检核码(S206),并显示于该烧录器50上(S208)。
之后,软件开发者可将该烧录器50移走,并将该第二金钥数值及该第一检核码写在该客户程序41中(S300),而该客户程序41即可用以检核是否为正版软件。
如图6所示,为本发明的第二层金钥检核流程图,而图7为本发明检核第二层金钥的状态示意图。当软件开发者在开发该计算机适配卡30时,该客户程序41会呼叫接口程序以读取写于客户程序中41中的该第二金钥数值(S302),并由该接口程序将该第二金钥数值传至该计算机适配卡30的该微处理器31。
此时该微处理器31接收该第二金钥数值,并读取预先储存于该非易失性存储单元32中的该第一金钥数值(S304),接着经由该金钥运算程序将该第一金钥数值及该第二金钥数值加以运算,产生第二检核码(S306)。
最后,该微处理器31将该第二检核码回传至该接口程序(S308),并由该接口程序对比该第二检核码是否等于该客户程序41中的第一检核码(S310),若相同即表示该客户程序41为正版软件(S312),若不相同即表示该客户程序41为盗版软件(S314),而停止使用该计算机适配卡30,或告知客户进行必要的处置。
由于该第一金钥数值及第二金钥数值是由软件开发商自行设定,因此即使盗版者破解读取计算机适配卡30上的第一金钥数值仍无法得知该第二金钥数值,也就是说无法使用非正版的客户程序软件,而达到以双层金钥保护硬件以及软件的保护机制。
但是上述所公开的附图、说明,仅为本发明的实施例而已,凡本领域的技术人员当可依据上述的说明作其它种种的改进,而这些改变仍属于本发明的发明精神及所附权利要求书所界定的保护范围。
权利要求
1.一种计算机外设接口的双层金钥保护方法,在计算机外设装置中设置有至少一微处理器及非易失性存储单元,且于计算机上执行配合该计算机外设装置的客户程序,其特征在于,该方法包括下列步骤指定第一金钥数值,预存于该非易失性存储单元中;指定第二金钥数值,并与该第一金钥数值经该微处理器运算后,产生第一检核码;将该第二金钥数值及该第一检核码写于该客户程序中;执行该客户程序,以传送该第二金钥数值至该微处理器;该微处理器读取该第一金钥数值,并与该第二金钥数值经运算后,产生第二检核码;及回传该第二检核码至该客户程序,以对比是否与该第一检核码相同。
2.如权利要求1所述的计算机外设接口的双层金钥保护方法,其特征在于,其中该指定第一金钥数值的步骤前,还包括提供硬件金钥数值,储存于该非易失性存储单元中;使用该计算机外设装置时,该客户程序要求该回传该硬件金钥数值;及检核该硬件金钥数值,以确认该计算机外设装置是否为正版。
3.如权利要求2所述的计算机外设接口的双层金钥保护方法,其特征在于,其中该硬件金钥数值为该计算机外设装置厂商所提供并且为固定数值。
4.如权利要求1所述的计算机外设接口的双层金钥保护方法,其特征在于,其中指定该第一金钥数值的步骤前,还包括连接特定烧录器于该计算机外设装置。
5.如权利要求1所述的计算机外设接口的双层金钥保护方法,其特征在于,其中该第一金钥数值由特定烧录器烧录于该非易失性存储单元中。
6.如权利要求1所述的计算机外设接口的双层金钥保护方法,其特征在于,其中该非挥性存储单元为电可擦除可编程只读存储器或闪存。
7.一种计算机外设接口的双层金钥保护架构,使用于计算机外设装置,且配合执行于计算机上的客户程序,其特征在于,该架构包括微处理器,设置于该计算机外设装置内,将第一金钥数值与第二金钥数值运算产生第一检核码;非易失性存储单元,设置于该计算机外设装置内,用以储存该第一金钥数值;烧录器,连接于该计算机外设装置,用以将该第一金钥数值烧录于该非易失性存储单元中;及接口单元,设于该计算机外设装置内,用以连接该计算机,通过该客户程序可输入该第二金钥数值至微处理器,经该微处理器将该第一金钥数值与该第二金钥数值进行运算后,产生该第二检核码,回传至该客户程序,以对比是否与该第一检核码相符。
8.如权利要求7所述的计算机外设接口的双层金钥保护架构,其特征在于,其中该非挥性存储单元为电可擦除可编程只读存储器或闪存。
9.如权利要求7所述的计算机外设接口的双层金钥保护架构,其特征在于,其中该接口单元为输入/输出接口。
10.如权利要求9所述的计算机外设接口的双层金钥保护架构,其特征在于,其中该输入/输出接口为PCI接口、AGP接口或USB连接接口。
11.如权利要求7所述的计算机外设接口的双层金钥保护架构,其特征在于,其中该计算机外设装置为插置于计算机中的适配卡装置,或为外接式外围装置。
全文摘要
一种计算机外设接口的双层金钥保护方法及架构,在计算机外设装置上至少设有微处理器及存储单元,并可于计算机上执行相关的客户程序,第一层金钥用以检核该计算机外设装置是否为正版硬件,而第二层金钥用以检核该客户程序是否为正版软件,在第二层金钥部份,需由软件开发者自行指定第一金钥数值,并预存于该存储单元中,再指定第二金钥数值,经该微处理器作金钥运算后,产生第一检核码,并将该第二金钥数值及该第一检核码撰写于该客户程序中,当执行该客户程序时,检核该第一检核码,即可判断该客户程序是否为正版软件。
文档编号G06F1/00GK1975623SQ20051012719
公开日2007年6月6日 申请日期2005年11月28日 优先权日2005年11月28日
发明者袁承智 申请人:研华股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1