CN1797266A - 软硬件之间的安全通讯方法及装置 - Google Patents
软硬件之间的安全通讯方法及装置 Download PDFInfo
- Publication number
- CN1797266A CN1797266A CN 200410101531 CN200410101531A CN1797266A CN 1797266 A CN1797266 A CN 1797266A CN 200410101531 CN200410101531 CN 200410101531 CN 200410101531 A CN200410101531 A CN 200410101531A CN 1797266 A CN1797266 A CN 1797266A
- Authority
- CN
- China
- Prior art keywords
- software
- communication
- data
- encryption
- module
- 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
技术领域
本发明涉及一种软硬件之间的安全通讯技术,尤其涉及一种有效增强软件保护的方法。
背景技术
软件保护是保护客户软件被盗版的技术。目前的软件保护产品很多,其中应用比较广泛、效果较好的是使用专用的不可复制的小型并口或USB口硬件进行软件保护的产品,俗称“加密狗”或“加密锁”。这种方法是在专用硬件内实现某些功能(如EEPROM数据存储、基于硬件芯片的加密算法等),并在软件运行过程中进行调用。如果调用结果与预期结果不符,则被认为软件遭到了盗版。但是被保护的软件依然有可能被破解,一个主要的破解手段就是使用破解者自己开发的软件或硬件来模拟原有硬件的存在而使被保护软件正常运行。此外,由于软件对硬件功能的调用实际是一个比较复杂的过程,调用命令和通讯数据一般要经过动态连接库(DLL)、驱动程序(Driver)以及计算机硬件接口(如并口、串口、USB口及无线传输端口等),破解者在上述任何一处都可以监听和分析传递的数据,并可能对其进行伪造、窜改,从而让软件对返回结果进行误判,并进而脱离硬件运行,达到破解的目的。图1显示了软件对硬件功能的调用过程及可能的破解点。
对于软件保护技术涉及到的安全层面,目前使用的技术并不完善,还不能真正避免通讯数据被监听或破解的问题。现有技术之一是以明文或部分明文传递软硬件通讯数据,这很容易被破解者监听或伪造,因此基本不具有安全性;还有一些通讯方法虽然对通讯数据进行了加密,但算法过于简单(如使用异或算法、自定义的数据变换算法等),这些算法可以轻易地被破解;还有一些通讯方法未在通讯中加入或未加入足够的随机数,这使得破解者能够通过记录并伪造的方法实现对硬件的模拟;还有一些通讯方法虽然使用了加密算法或随机数,但算法密钥或随机数种子本身是通过明文或简单算法加密传递的,这同样达不到安全通讯的目的。
发明内容
本发明的目的是提供一种软硬件之间的安全通讯方法和装置,以更好地防止破解者获取、伪造、监听、窜改通讯数据。
为了实现上述目的,本发明提供一种软硬件之间的安全通讯方法,用于被保护软件和专用硬件装置之间的通讯,在被保护软件和专用硬件装置内部实现相同的加密算法,且分别在二者中预置用于加密算法的密钥,被保护软件和专用硬件装置二者之一产生随机数,通过将被保护软件和专用硬件装置之间的待传送数据与随机数结合在一起并利用密钥使其被密文地传送,使得被保护软件和专用硬件装置之间的通讯数据在整个通讯过程中安全传送。
一方面,根据本发明的上述方法,在被保护软件和专用硬件装置间的待传送数据中添加随机数据,然后用预置密钥直接加密并进行传送。
根据本发明的上述方法,进一步包括如下步骤:
步骤一,在被保护软件和专用硬件装置内同时实现相同的数据加密算法F;
步骤二,将用于加密算法F的密钥Key1、Key2分别预置到被保护软件和专用硬件装置中;
步骤三,每次被保护软件和专用硬件装置通讯时,由通讯发起方产生随机数Rand,将随机数Rand与待发送数据DataIn结合在一起,然后用预置密钥加密,发送给接收方;接收方收到后,用自己的预置密钥解密数据得到DataIn。
根据本发明的上述方法,还可以包括步骤四,通讯接收方对接收的数据进行处理后产生返回数据DataOut,将收到的随机数Rand与返回数据DataOut结合在一起,用接收方预置密钥加密发送给发起方;发起方收到后,用自己的预置密钥解密得到返回数据DataOut,从而完成应答验证。其中,通讯接收方还可以产生另一随机数Rand′而不使用通讯发起方传送来的随机数Rand,然后将随机数Rand′与返回数据DataOut结合在一起,用接收方预置密钥加密发送给发起方进行应答验证;
根据本发明的上述方法,在所述步骤三,所述随机数Rand和待传数据DataIn可以以不同的顺序排列或用不同的方法叠加而结合在一起,且在任何一个加密算法F的加密块长度内,都要包含随机部分,以保障每两次通讯不会有任何一个加密块长度内的数据是相同的,而且,在每次传递的数据中还包含校验信息,以验证所收到的数据的完整性。
根据本发明的上述方法,当所述的数据加密算法F可以是对称加密算法时,所述加密密钥Key1、Key2相同;当所述的数据加密算法F可以是非对称加密算法时,所述的加密密钥Key1和Key2为同一密钥对中的公钥与私钥。
另一方面,根据本发明的上述方法,被保护软件运行时产生随机的会话密钥,被保护软件用其内置密钥加密该会话密钥,并将其传递给专用硬件装置;然后,用该随机产生的会话密钥将被保护软件和专用硬件装置间的待传送数据加密后进行传送。
根据本发明的上述方法,进一步包括如下步骤:
步骤一,在被保护软件和专用硬件装置内同时分别实现两种相同的加密算法,一种是认证算法FA,一种是数据加密算法FE,其中数据加密算法FE是对称算法;将用于FA算法的认证密钥Key1、Key2分别预置于被保护软件和专用硬件装置中;
步骤二,在软件运行时,被保护软件随机产生会话密钥Key3;在被保护软件中,用认证密钥Key1对会话密钥Key3加密,然后将它传递给专用硬件装置;专用硬件装置在收到数据后,用密钥Key2进行解密,得到会话密钥Key3,之后向被保护软件返回应答信息;
步骤三,传送数据时,通讯发送方将待传送数据用所述会话密钥Key3加密,然后传送给通讯接收方,通讯接收方解密后使用。
根据本发明的上述方法,还可包括步骤四,通讯接收方对接收的数据进行处理后产生返回数据DataOut,通讯接收方用密钥Key3加密发送给通讯发起方;通讯发起方收到后,用密钥Key3解密得到返回数据DataOut,从而完成应答验证。
根据本发明的上述方法,还可包括一步骤,在被保护软件运行过程中,被保护软件清除会话密钥Key3;然后通过所述步骤二,产生新的随机会话密钥Key3并加密传送给专门硬件装置。
根据本发明的上述方法,在被保护软件和专用硬件装置内的认证算法FA是非对称算法,所述认证密钥Key1和Key2分别是同一密钥对中的公钥与私钥。
根据本发明的上述方法,在所述步骤一,被保护软件和专用硬件装置内的认证算法FA是对称加密算法,所述认证密钥Key1、Key2相同,且认证算法FA与数据加密算法FE相同。
根据本发明的上述方法,所述密钥Key1在软件开发时写入;密钥Key2在硬件生产或初始化时由特定的硬件初始化指令写入。
根据本发明的上述方法,所述的在被保护软件内实现加密算法,是通过软件保护方案或产品提供者以源码、OBJ或DLL方式将实现后的算法提供给软件开发者,并由软件开发者将其加入被保护软件来完成的。
根据本发明的上述方法,所述被保护软件和专用硬件装置,通过并口、串口、USB口、1394口、PCI或PCIE总线来进行通讯,或是基于局域网或广域网在内的有线或无线网络通讯。
为了实现本发明目的,本发明还提供一种软硬件之间的安全通讯装置,用于被保护软件与专门硬件装置之间,其包括:包含在被保护软件或专门硬件装置二者之一中的随机数生成模块,其用于生成随机数,以及分别包含于被保护软件与专门硬件装置中的加解密模块和通讯模块;其中被保护软件与专门硬件装置中的加解密模块中载有相同的加密算法并且分别预置有用于加密算法的密钥;通过将被保护软件和专用硬件装置之间的待传送数据与随机数结合在一起并利用密钥被密文地传送,使得被保护软件和专用硬件装置之间的通讯数据在整个通讯过程中安全传送。
一方面,根据本发明的上述装置,还包括分别包含于被保护软件或专门硬件装置中的随机化编解码模块,用于将待传送数据与随机数结合在一起;通讯发起方通过其加解密模块将结合在一起的待传送数据和随机数直接用其预置密钥加密,然后经通讯模块传送至通讯接收方的通讯模块;在通讯接收方中,将接收到的数据经加解密模块解密、随机化编解码模块解码,得到传送数据。
根据本发明的上述装置,所述随机数生成模块包含于所述被保护软件中,在被保护软件的加解密模块中预置的密钥为Key1,在专门硬件装置的加解密模块中预置的密钥为Key2;在被保护软件中所述随机数生成模块生成随机数Rand,随机化编解码模块将欲传送的数据DataIn与所生成的随机数Rand结合在一起,然后经加解密模块用预置密钥Key1加密,通过通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置中,所接收的数据经加解密模块用预置密钥Key2解密、经随机化编解码模块解码后得到传送数据DataIn。
根据本发明的上述装置,所述专门硬件装置得到传送数据DataIn后产生返回数据DataOut,返回数据DataOut与随机数Rand经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被保护软件侧的通讯模块,在被保护软件内经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
根据本发明的上述装置,在所述专门硬件装置中,还包括一随机数产生模块,专门硬件装置得到传送数据DataIn后产生返回数据DataOut,所述的随机数产生模块产生随机数Rand′,返回数据DataOut与随机数Rand′经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被保护软件的通讯模块;在被保护软件中,所接收到的数据经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
根据本发明的上述装置,所述随机数生成模块包含于所述专门硬件装置中,在被保护软件的加解密模块中预置的密钥为Key1,在专门硬件装置的加解密模块中预置的密钥为Key2;在专门硬件装置中,所述随机数生成模块生成随机数Rand,随机化编解码模块将欲传送的数据DataIn与所生成的随机数Rand结合在一起,然后经加解密模块用预置密钥Key2加密,通过通讯模块传送至被保护软件中的通讯模块;在被保护软件中,所接收到的数据经加解密模块用预置密钥Key1解密、经随机化编解码模块解码后得到传送数据DataIn。
根据本发明的上述装置,被保护软件得到传送数据DataIn后生成返回数据DataOut,所述返回数据DataOut与随机数Rand经其中的随机化编解码模块结合在一起,再经其中的加解密模块加密,然后经通讯模块传送至被专门硬件装置的通讯模块;在被专门硬件装置中,所接收到的数据经其中的加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
根据本发明的上述装置,在所述被保护软件中还包括一随机数产生模块,被保护软件得到传送数据DataIn后生成返回数据DataOut且其中的随机数产生模块产生随机数Rand′,返回数据DataOut与随机数Rand′在被保护软件中经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被专门硬件装置的通讯模块;在被专门硬件装置中,所接收到的数据经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
根据本发明的上述装置,所述的随机化编解码模块能够将随机数Rand和待传送数据DataIn以不同的顺序排列或用不同的方法叠加而结合在一起,且在任何一个加密算法的加密块长度内,都要包含随机部分,以保障每两次通讯不会有任何一个加密块长度内的数据是相同的,而且,在每次传递的数据中还包含校验信息,以验证所收到的数据的完整性。
根据本发明的上述装置,当所述的加密算法采用对称加密算法时,所述预置密钥Key1、Key2相同;当所述的加密算法采用非对称加密算法时,所述预置密钥Key1、Key2为同一密钥对中的公钥与私钥。
另一方面,根据本发明的上述装置,还包括分别包含于所述被保护软件和专门硬件装置中的第二加解密模块,该两个第二加解密模块中载有相同的加密算法,且该加密算法是对称算法,其中所述随机数生成模块包含于被保护软件中,在被保护软件的加解密模块中预置的密钥为Key1,在专门硬件装置的加解密模块中预置的密钥为Key2;所述随机数生成模块生成的随机数作为会话密钥Key3,该会话密钥Key3保存于所述第二加解密模块中,用于今后加密待传送数据;在被保护软件中加解密模块将会话密钥Key3用预置密钥Key1加密,经通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置中,对接收到的数据在加解密模块中用预置密钥Key2解密得到会话密钥Key3,将其保存于第二加解密模块中,并向被保护软件返回应答信息;当传送数据时,通讯发起方在其第二加解密模块中用会话密钥Key3加密待传送数据DataIn,然后经通讯模块传送至通讯接收方,通讯接收方将接收到的数据经其第二加解密模块用会话密钥Key3解密获得传送数据DataIn,然后通讯接收方产生返回数据DataOut,并用会话密钥Key3加密,经通讯模块传送至通讯发起方,通讯发起方收到后经加解密模块用会话密钥Key3解密得到返回数据DataOut,从而完成通讯。另外,所述被保护软件还可包括一控制模块,用于控制会话密钥Key3的清除以及被保护软件中所述随机数生成模块产生新的会话密钥Key3。
根据本发明的上述装置,当被保护软件和专门硬件装置的加解密模块中所用的加密算法是非对称算法时,所述密钥Key1和Key2分别是同一密钥对中的公钥与私钥;当被保护软件和专门硬件装置的加解密模块中所用的加密算法是对称算法时,所述密钥Key1和Key2相同。
根据本发明的上述装置,所述随机数生成模块包含于被保护软件中,其中在被保护软件和专门硬件装置的加解密模块中实现的加密算法是对称加密算法,且二者中分别预置的密钥Key1和Key2相同;所述随机数生成模块生成的随机数作为会话密钥Key3,该会话密钥Key3用于今后加密待传送数据;在被保护软件中,加解密模块保存会话密钥Key3并将会话密钥Key3用预置密钥Key1加密,经通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置中,在加解密模块中对接收到的数据用预置密钥Key2解密得到会话密钥Key3,并向被保护软件返回应答信息;当传送数据时,通讯发起方在其加解密模块中用会话密钥Key3加密待传送数据DataIn,然后经通讯模块传送至通讯接收方;通讯接收方将接收到的数据经其加解密模块用会话密钥Key3解密获得传送数据DataIn;然后通讯接收方产生返回数据DataOut,并用会话密钥Key3加密,经通讯模块传送至通讯发起方,通讯发起方收到后经加解密模块用会话密钥Key3解密得到返回数据DataOut,从而完成通讯。另外,所述被保护软件还可包括一控制模块,用于控制会话密钥Key3的清除以及被保护软件中所述随机数生成模块产生新的会话密钥Key3。
根据本发明的上述装置,所述密钥Key1在软件开发时写入;密钥Key2在硬件生产或初始化时由特定硬件初始化指令写入。
根据本发明的上述装置,被保护软件的加解密模块中的加密算法,是通过软件保护方案或产品提供者以源码、OBJ或DLL方式将实现后的算法提供给软件开发者,并由软件开发者将其加入加解密模块中的。
根据本发明的上述装置,所述被保护软件和专用硬件装置的通讯模块,是通过并口、串口、USB口、1394口、PCI或PCIE总线来进行通讯的,或是基于局域网或广域网在内的有线或无线网络进行通讯的。
在本发明中,由于所有的传送数据都是经过加密的,因此在任何时刻破解者不可能从截获的通讯数据中得到原始通讯内容,从而防止破解者通过监听获得软硬件通讯的数据,保证了数据的安全性;由于本发明对传输数据添加了随机数等随机因素,即使软硬件间传递的原始数据相同,在经过编码或加密后实际传递数据也变得完全不同。破解者即使记录了监听时间内软硬件之间的所有通讯数据,也无法使用这些数据在今后仿冒硬件的存在而使软件独立运行,从而能够有效地防止破解者通过记录并仿冒的方式实现软件脱离硬件运行。
另外,采用本发明所提供的针对软硬件内置密钥直接加密通讯数据时对数据的随机化编码方法,由于随机数与传递数据的分散排列及数据校验部分而保障了数据传递安全的最大化。而且,本发明还可以通过会话密钥来保护实际的通讯数据,其中会话密钥通过内置的认证密钥保证其安全地产生和交换,从而保证了数据传输的安全性。
综上所述,本发明在目前专用硬件设备的软件保护技术基础上,通过在应用软件及硬件保护装置内部实现加密算法及特定的通讯协议,对受保护应用软件及其硬件保护装置之间的待传送数据加密和添加随机数等方式,防止了破解者对通讯链路的监听、伪造或窜改,在软硬件之间建立起一条安全可靠的数据交换通道,防止了在不修改软件本身的情况下使其脱离硬件运行的可能性。此外,为了最大化地保障通讯效率和安全性,软硬件之间也可以首先产生并交换随机会话密钥,并用此会话密钥来加密今后传递的其它通讯数据。而且,本发明所提供的上述软硬件安全通讯方法,无论软硬件之间通过何种物理方式进行联系及存在多远的物理距离都可以使用,具有通用性。
附图说明
图1显示了现有技术软/硬件调用过程及破解点;
图2是根据本发明方法的第一实施例的通过内置密钥直接加密通讯的示意图;
图3是本发明提供的一种随机化编码示意图;
图4是根据本发明方法的第二实施例的通过随机会话密钥进行通讯的示意图;
图5是根据本发明方法的第二实施例的简化模型;
图6是根据本发明由被保护软件作为通讯发起方时通过内置密钥直接加密通讯的装置的示意图;
图7是根据本发明由专门硬件装置作为通讯发起方时通过内置密钥直接加密通讯的装置的示意图;
图8是根据本发明通过随机会话密钥进行通讯的装置的示意图;
图9是图8所示装置的简化装置的示意图。
具体实施方式
下面结合附图对本发明的具体实施方案进一步详细说明。
图2是根据本发明的第一实施例的通过内置密钥直接加密通讯的示意图。其以软件发起通讯为例,在软硬件中分别内置密钥,并使用它们直接加密软硬件间的待传送数据,但为了保障其随机性,需要在每次通讯中包含随机数据。示意了如下的通讯过程:
步骤一,在被保护软件和专用硬件装置的芯片内同时实现相同的数据加密算法F,F可以是对称加密算法也可以是非对称加密算法。但相对来说,对称算法更易在软、硬件中实现,并可以保证更好的效率;非对称算法则有助于提高整个软件保护系统的安全性。
步骤二,在软件开发时,将用于加密算法F的密钥Key1、Key2分别预置到软件和硬件装置中。对于对称加密算法来说,Key1与Key2相同;对于非对称加密算法,Key1和Key2分别是同一密钥对中的公钥与私钥。
步骤三,每次软硬件通讯时,由通讯发起方(一般是软件部分)产生随机数Rand,将Rand与待发送数据DataIn结合在一起,然后通过加密算法F用预置的密钥加密,发送给接收方;接收方收到后,用自己的预置密钥解密数据得到DataIn。假设通讯由软件部分发起,则上述过程可表示为:从软件发出加密数据:FKey1(Rand,DataIn),硬件收到后执行:FKey2(FKey1(Rand,DataIn))并还原得到DataIn。
步骤四,通讯接收方对输入数据进行处理后生成返回数据DataOut,将随机数Rand与返回数据DataOut结合在一起,通过加密算法F用接收方预置密钥加密,发送给发起方;发起方收到数据后,用自己的预置密钥解密得到DataOut。上述过程可表示为:硬件发出返回数据:FKey2(Rand,DataOut),软件收到后执行:FKey1(FKey2(Rand,DataOut))并还原得到DataOut,完成接收方应答验证。其中,通讯接收方也可以产生新的随机数Rand′,随机数Rand′与DataOut结合在一起,经编码、加密后传送加通讯发起方,由通讯发起方解密、解码得出DataOut,以完成接收方应答验证。
上述过程中,通讯可以是单向的,即接收方不返回数据。但单向通讯由于缺乏接收方的应答验证,有可能被破解者从通讯中截获并重复伪造使用,因此最好不要使用或只在一组复杂通讯过程中做为特殊目的使用。
上述过程中,软硬件在加密待发送数据DataIn前要将随机数Rand与待发送数据DataIn结合起来,这个过程可称为对发送数据的随机化编码。随机化编码方的式可以是各种各样的,但为保障通讯过程的安全性,本发明给出了一种随机化编码方法。如图3所示,其示意了一个典型的通讯数据结构。随机数Rand和待传数据Data可以以不同的顺序排列或不同的方法叠加,而在任何一个算法F的加密块长度内,都要包含随机部分,以保障每两次通讯不会有任何一个加密块长度内的数据是相同的。在每次传递的数据中还应包含校验信息,以验证所收到的数据的完整性。
图4给出了根据本发明的第二实施例的通过随机会话密钥进行通讯的示意图。在本实施例中,使用随机产生的会话密钥加密传输数据,即传递数据的随机性由随机会话密钥来保证。相对本发明的第一实施例来说,无需考虑随机化编码的问题,但增加了会话密钥的创建和交换。其具体过程如下:
在被保护软件和专用硬件装置的芯片内同时实现相同的认证算法FA和数据加密算法FE。实际上,认证算法和数据加密算法可以相同也可以不同。但一般来说,使用一种非对称算法实现FA并使用一种对称算法实现FE具有最佳的安全性和实现效率。当然,认证算法FA和数据加密算法FE都可以采用非对称算法,但是实现效率会差得多。
在软件开发时,将用于FA算法的认证密钥Key1、Key2分别包含到软件和专门硬件装置中。对于对称认证算法来说,Key1与Key2相同;对于非对称认证算法,Key1和Key2分别是同一密钥对中的公钥与私钥。
在软件运行时,被保护软件产生随机会话密钥Key3,用认证密钥Key1对它加密,即进行FAKey1(Key3)操作,然后将它传递给硬件供今后使用。硬件在收到数据后,使用密钥Key2进行解密,即进行FAKey2(FAKey1(Key3)),得到密钥Key3。成功后向软件返回应答信息。当软件停止运行后,上一次通讯中产生的Key3将被清除,因此当软件重新开始运行时,被保护软件将随机产生一个新的会话密钥Key3,并如上述方式传送。
今后当软件向硬件传递数据时,软件用密钥Key3加密待传送数据然后再发给硬件,硬件收到数据后先解密然后再使用;硬件向软件传递数据时,硬件先用Key3加密数据然后再发出,软件收到数据后先解密然后再使用。从而在软硬件之间构筑起了一条安全的数据传输通道。另外,为了使通讯更为安全,通讯接收方对接收的数据进行处理后产生返回数据DataOut,通讯接收方用密钥Key3加密发送给通讯发起方;通讯发起方收到后,用密钥Key3解密得到返回数据DataOut,从而完成应答验证。
在必要时,在软件运行过程中,软件可以主动清除数据加密密钥Key3,并重新开始以上过程,产生新的随机会话密钥Key3,以增加安全性。
在上述过程中,如果认证算法使用对称加密算法,则认证算法可以与数据加密算法相同以简化设计,且此时Key1与Key2相同。在这种情况下上述过程可以得到简化,如图5所示。
上述过程中,一旦安全通道被建立,因为每次传递的数据都经过了Key3的加密,而Key3本身是随机生成的,它由软硬件内预置的Key1、Key2完成交换,在整个过程中都不会明文暴露在软、硬件传输通道上,因此任何人都无法在这个过程中得到加密密钥Key3。此外,由于密钥Key3的随机性,破解者也无法重复利用监听和记录而获取软硬件通讯数据。
总得来说,为了实现在软硬件之间构筑安全通道的目的,需要在软件内部实现随机数发生机制和加密算法F(如第一实施例)或认证算法FA及数据加密算法FE(如第二实施例);在硬件芯片中实现同样的加密算法F(如第一实施例)或认证算法FA及数据加密算法FE(如第二实施例)。对于第二实施例来说,FA和FE可以相同也可以不同。FE最好是一种对称算法,以实现高效简便的数据加解密;当FA与FE不同时,FA选择使用非对称算法,可以更好地保证系统的安全性。为了在软件内实现上述算法,软件保护方案或产品提供者可以以源码、OBJ或DLL等方式将实现后的算法提供给软件开发者,并由软件开发者将其加入被保护软件。
为了实现软硬件之间构筑安全通道的目的,还需要在软件和硬件内部预置用于直接加密待传送数据或交换会话密钥时所使用的密钥对Key1和Key2。Key1可以在软件开发时写入;Key2则可以在硬件生产或初始化时由特定指令写入。
在上述实施例中,构建安全通道的软硬件,既可以通过基本的并口、串口、USB口、1394口、PCI或PCIE总线来进行通讯,也可以是基于局域网或广域网在内的有线或无线网络通讯。因此其应用范围非常广泛,应用形式也非常灵活。
图6给出了根据本发明由被保护软件作为通讯发起方时通过内置密钥直接加密通讯的装置的示意图。如图6所示,根据本发明的软硬件之间的安全通讯装置包括:分别包含于被保护软件1与专门硬件装置2中的加解密模块、随机化编解码模块和通讯模块,以及包含于被保护软件1中的随机数生成模块。所述随机数生成模块用于生成随机数Rand,其中被保护软件1与专门硬件装置2的加解密模块中载有相同的加密算法并且分别预置有用于加密算法的密钥Key1和Key2;图6中包含在被保护软件中的软件功能模块是实现软件本身固有的功能的模块,包含在专门硬件装置中的硬件功能模块是实现专门硬件本身固有的功能的模块。在被保护软件1中,随机化编解码模块将来自软件功能模块的待传送数据DataIn与随机数Rand结合在一起,然后经加解密模块用预置密钥Key1加密,通过通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置2中,对接收到的数据经加解密模块用预置密钥Key2解密、经随机化编解码模块解码后得到传送数据DataIn;而且,在专门硬件装置2中,硬件功能模块生成返回数据DataOut,返回数据DataOut与随机数Rand经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被保护软件的通讯模块,在被保护软件1内经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方的应答验证。
图7给出了根据本发明由专门硬件装置作为通讯发起方时通过内置密钥直接加密通讯的装置的示意图,其操作与图6类似,只是专门硬件装置2作为通讯发起方,随机数生成模块包含于专门硬件装置2中。
在图6和图7所示的装置中,所述的随机化编解码模块能够将随机数Rand和待传送数据DataIn以不同的顺序排列或用不同的方法叠加而结合在一起,且在任何一个加密算法的加密块长度内,都要包含随机部分,以保障每两次通讯不会有任何一个加密块长度内的数据是相同的,而且,在每次传递的数据中还包含校验信息,以验证所收到的数据的完整性。
在图6和图7所示的装置中,当加解密模块中的加密算法采用对称加密算法时,所述预置密钥Key1、Key2相同;当所述的加密算法采用非对称加密算法时,所述预置密钥Key1、Key2为同一密钥对中的公钥与私钥。
此外,在图6和图7所示的装置中,为了更好地协调各个模块之间的操作,可以采用一控制模块,该控制模块与随机数产生模块置于同一侧,用于控制,如随机数产生模块产生随机数,并在随机数产生后,将待传送数据与随机数一同传送给随机化编解码模块、加解密模块,以及在返回应答验证完成等操作。
图8给出了是根据本发明通过随机会话密钥进行通讯的装置的示意图;如图8所示,根据本发明的软硬件之间的安全通讯装置包括:分别包含于被保护软件1与专门硬件装置2中的加解密模块、第二加解密模块和通讯模块,包含于被保护软件1中的随机数生成模块,被保护软件1与专门硬件装置2的加解密模块中载有相同的认证算法FA并分别预置有密钥Key1和Key2,被保护软件1与专门硬件装置2的第二加解密模块中载有相同的数据加密算法FE,且该数据加密算法FE是对称加密算法;所述随机数生成模块用于生成随机数,其生成的随机数作为会话密钥Key3,该会话密钥Key3保存于被保护软件1中的第二加解密模块中,用于今后加密待传送数据;图8中被保护软件的软件功能模块是实现软件本身固有功能的模块,专门硬件装置中的硬件功能模块是实现硬件本身固有功能的模块。在被保护软件1中,加解密模块将会话密钥Key3用预置密钥Key1加密,经通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置2中,对接收到的数据在加解密模块中用预置密钥Key2解密得到会话密钥Key3,将其保存于第二加解密模块中,并向被保护软件1返回应答信息;当传送数据时,通讯发起方在其第二加解密模块中用会话密钥Key3加密来自相应的功能模块的待传送数据DataIn,经通讯模块传送至通讯接收方;通讯接收方将接收到的数据经其第二加解密模块用会话密钥Key3解密获得传送数据DataIn;然后通讯接收方的软件功能模块或硬件功能模块产生返回数据DataOut,并用会话密钥Key3加密,经通讯模块传送至通讯发起方;通讯发起方收到后经加解密模块用会话密钥Key3解密得到返回数据DataOut,从而完成应答验证。
另外,在图8所示的装置中,当被保护软件和专门硬件装置的加解密模块中所用的加密算法是非对称算法时,所述密钥Key1和Key2分别是同一密钥对中的公钥与私钥;当被保护软件和专门硬件装置的加解密模块中所用的加密算法是对称算法时,所述密钥Key1和Key2相同。
当然,图8所示的装置中,所述被保护软件和专门硬件装置的第二加解密模块中的数据加密算法可以为非对称算法,这时通讯的安全性会更高,但实现效率会相应地降低。
图9给出了图8所示装置的简化装置的示意图。如图9所示,根据本发明的软硬件之间的安全通讯装置包括:分别包含于被保护软件1与专门硬件装置2中的加解密模块和通讯模块,包含于被保护软件1中的随机数生成模块,其中在被保护软件1和专门硬件装置2的加解密模块中实现的相同加密算法是对称加密算法且分别预置二者中的密钥Key1和Key2相同;所述随机数生成模块生成的随机数作为会话密钥Key3,该会话密钥Key3用于今后加密待传送数据。在被保护软件1中,加解密模块保存会话密钥Key3并将会话密钥Key3用预置密钥Key1加密,经通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置2中,在加解密模块中对接收到的数据用预置密钥Key2解密得到会话密钥Key3,并向被保护软件返回应答信息;当传送数据时,通讯发起方在其加解密模块中用会话密钥Key3加密待传送数据DataIn,然后经通讯模块传送至通讯接收方;通讯接收方将接收到的数据经其加解密模块用会话密钥Key3解密获得传送数据DataIn;然后通讯接收方产生返回数据DataOut,并用会话密钥Key3加密,经通讯模块传送至通讯发起方,通讯发起方收到后经加解密模块用会话密钥Key3解密得到返回数据DataOut,从而完成验证。
另外,在图8、9所示的装置中,为了进一步保证通讯的安全性,在被保护软件可加入一控制模块,用于控制从第二加解密模块中清除会话密钥Key3,以及使所述随机数生成模块产生新的会话密钥Key3保存于被保护软件的第二加解密模块中并传送给专门硬件装置中的第二加解密模块。
在图6、7、8和9所示的装置中,所述密钥Key1在软件开发时写入;密钥Key2在硬件生产或初始化时由特定硬件初始化指令写入。被保护软件的加解密模块中的加密算法,是通过软件保护方案或产品提供者以源码、OBJ或DLL方式将实现后的算法提供给软件开发者,并由软件开发者将其加入加解密模块中的。所述被保护软件和专用硬件装置的通讯模块,是通过并口、串口、USB口、1394口、PCI或PCIE总线来进行通讯的,或是基于局域网或广域网在内的有线或无线网络进行通讯的。
当本发明用于软件保护时,上面描述中的专用硬件装置,可以为加密狗,加密锁,加密卡等软件保护用的专门硬件装置。
本发明的上述描述均主要是以保护软件为目的而进行的描述,但本发明并不局限于此目的,它可以广泛地应用于软硬件之间的通讯保护、甚至对两硬件之间的通讯进行保护。
上述内容并非用来限制本发明的具体实施方式,凡根据本方法的主要发明构思而进行的修改和变动或组合,均应属于本发明所要求的保护范围。
Claims (34)
1.一种软硬件之间的安全通讯方法,其特征在于,在被保护软件和专用硬件装置内部实现相同的加密算法,且分别在二者中预置用于加密算法的密钥,被保护软件和专用硬件装置二者之一产生随机数,通过将被保护软件和专用硬件装置之间的待传送数据与该所产生的随机数结合在一起并利用密钥使其被密文地传送,使得被保护软件和专用硬件装置之间的通讯数据在整个通讯过程中安全传送。
2.根据权利要求1所述的软硬件之间的安全通讯方法,其特征在于,在被保护软件和专用硬件装置间的待传送数据中添加随机数据,然后用预置密钥直接加密并进行传送。
3.根据权利要求2所述的软硬件之间的安全通讯方法,进一步包括如下步骤:
步骤一,在被保护软件和专用硬件装置内同时实现相同的数据加密算法F;
步骤二,将用于加密算法F的密钥Key1、Key2分别预置到被保护软件和专用硬件装置中;
步骤三,每次被保护软件和专用硬件装置通讯时,由通讯发起方产生随机数Rand,将随机数Rand与待发送数据DataIn结合在一起,然后用预置密钥加密,发送给接收方;接收方收到后,用自己的预置密钥解密数据得到DataIn。
4.根据权利要求3所述的软硬件之间的安全通讯方法,其特征在于,还包括步骤四,通讯接收方对接收的数据进行处理后产生返回数据DataOut,将收到的随机数Rand与返回数据DataOut结合在一起,用接收方预置密钥加密发送给发起方;发起方收到后,用自己的预置密钥解密得到返回数据DataOut,从而完成应答验证。
5.根据权利要求3所述的软硬件之间的安全通讯方法,其特征在于,还包括步骤四,通讯接收方对接收的数据进行处理后产生返回数据DataOut及一随机数Rand′,将随机数Rand′与返回数据DataOut结合在一起,用接收方预置密钥加密发送给发起方;发起方收到后,用自己的预置密钥解密得到返回数据DataOut,从而完成应答验证。
6.根据权利要求3或4或5所述的软硬件之间的安全通讯方法,其特征在于,在所述步骤三,所述随机数Rand和待传数据DataIn以不同的顺序排列或用不同的方法叠加而结合在一起,且在任何一个加密算法F的加密块长度内,都要包含随机部分,以保障每两次通讯不会有任何一个加密块长度内的数据是相同的,而且,在每次传递的数据中还包含校验信息,以验证所收到的数据的完整性。
7.根据权利要求3或4或5所述的软硬件之间的安全通讯方法,其特征在于,当所述的数据加密算法F是对称加密算法时,所述加密密钥Key1、Key2相同;当所述的数据加密算法F是非对称加密算法时,所述的加密密钥Key1和Key2为同一密钥对中的公钥与私钥。
8.根据权利要求1所述的软硬件之间的安全通讯方法,其特征在于,被保护软件运行时产生随机的会话密钥,被保护软件用其内置密钥加密该会话密钥,并将其传递给专用硬件装置;然后,用该随机产生的会话密钥将被保护软件和专用硬件装置间的待传送数据加密后进行传送。
9.根据权利要求8所述的软硬件之间的安全通讯方法,其特征在于,进一步包括如下步骤:
步骤一,在被保护软件和专用硬件装置内同时分别实现两种相同的加密算法,一种是认证算法FA,一种是数据加密算法FE,其中数据加密算法FE是对称算法;将用于FA算法的认证密钥Key1、Key2分别预置于被保护软件和专用硬件装置中;
步骤二,在软件运行时,被保护软件随机产生会话密钥Key3;在被保护软件中,用认证密钥Key1对会话密钥Key3加密,然后将它传递给专用硬件装置;专用硬件装置在收到数据后,用密钥Key2进行解密,得到会话密钥Key3,之后向被保护软件返回应答信息;
步骤三,传送数据时,通讯发送方将待传送数据用所述会话密钥Key3加密,然后传送给通讯接收方,通讯接收方解密后使用。
10.根据权利要求9的软硬件之间的安全通讯方法,其特征在于,还包括步骤四,通讯接收方对接收的数据进行处理后产生返回数据DataOut,通讯接收方用密钥Key3加密发送给通讯发起方;通讯发起方收到后,用密钥Key3解密得到返回数据DataOut,从而完成应答验证。
11.根据权利要求9或10的软硬件之间的安全通讯方法,其特征在于,还包括一步骤,在被保护软件运行过程中,被保护软件清除会话密钥Key3;然后通过所述步骤二,产生新的随机会话密钥Key3并加密传送给专门硬件装置。
12.根据权利要求9或10的软硬件之间的安全通讯方法,其特征在于,在所述步骤一,在被保护软件和专用硬件装置内的认证算法FA是非对称算法,所述认证密钥Key1和Key2分别是同一密钥对中的公钥与私钥。
13.根据权利要求9或10的软硬件之间的安全通讯方法,其特征在于,在所述步骤一,被保护软件和专用硬件装置内的认证算法FA是对称加密算法,所述认证密钥Key1、Key2相同,且认证算法FA与数据加密算法FE相同。
14.根据权利要求3或9所述的软硬件之间的安全通讯方法,是其特征在于,所述密钥Key1在软件开发时写入;密钥Key2在硬件生产或初始化时由特定初始化指令写入。
15.根据权利要求1-5和8-10中之一所述的软硬件之间的安全通讯方法,其特征在于,所述的在被保护软件内实现加密算法,是通过软件保护方案或产品提供者以源码、OBJ或DLL方式将实现后的算法提供给软件开发者,并由软件开发者将其加入被保护软件来完成的。
16.根据权利要求1-5和8-10中之一所述的软硬件之间的安全通讯方法,其特征在于,所述被保护软件和专用硬件装置,通过并口、串口、USB口、1394口、PCI或PCIE总线来进行通讯,或是基于局域网或广域网在内的有线或无线网络通讯。
17.一种软硬件之间的安全通讯装置,用于被保护软件与专门硬件装置之间,其特征在于,包括:包含在被保护软件或专门硬件装置二者之一中的随机数生成模块,其用于生成随机数,分别包含于被保护软件与专门硬件装置中的加解密模块和通讯模块;其中被保护软件与专门硬件装置中的加解密模块中载有相同的加密算法并且分别预置有用于加密算法的密钥;通过将被保护软件和专用硬件装置之间的待传送数据与随机数结合在一起并利用密钥被密文地传送,使得被保护软件和专用硬件装置之间的通讯数据在整个通讯过程中安全传送。
18.根据权利要求17所述的软硬件之间的安全通讯装置,其特征在于,还包括分别包含于被保护软件或专门硬件装置中的随机化编解码模块,用于将待传送数据与随机数结合在一起;通讯发起方通过其加解密模块将结合在一起的待传送数据和随机数直接用其预置密钥加密,然后经通讯模块传送至通讯接收方的通讯模块;在通讯接收方中,将接收到的数据经加解密模块解密、随机化编解码模块解码,得到传送数据。
19.根据权利要求18所述的软硬件之间的安全通讯装置,其特征在于,所述随机数生成模块包含于所述被保护软件中,在被保护软件的加解密模块中预置的密钥为Key1,在专门硬件装置的加解密模块中预置的密钥为Key2;在被保护软件中所述随机数生成模块生成随机数Rand,随机化编解码模块将欲传送的数据DataIn与所生成的随机数Rand结合在一起,然后经加解密模块用预置密钥Key1加密,通过通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置中,所接收的数据经加解密模块用预置密钥Key2解密、经随机化编解码模块解码后得到传送数据DataIn。
20.根据权利要求19所述的软硬件之间的安全通讯装置,其特征在于,所述专门硬件装置得到传送数据DataIn后产生返回数据DataOut,返回数据DataOut与随机数Rand经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被保护软件侧的通讯模块,在被保护软件内经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
21.根据权利要求19所述的软硬件之间的安全通讯装置,其特征在于,在所述专门硬件装置中,还包括一随机数产生模块,专门硬件装置得到传送数据DataIn后产生返回数据DataOut,所述的随机数产生模块产生随机数Rand′,返回数据DataOut与随机数Rand′经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被保护软件的通讯模块;在被保护软件中,所接收到的数据经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
22.根据权利要求18的软硬件之间的安全通讯装置,其特征在于,所述随机数生成模块包含于所述专门硬件装置中,在被保护软件的加解密模块中预置的密钥为Key1,在专门硬件装置的加解密模块中预置的密钥为Key2;在专门硬件装置中,所述随机数生成模块生成随机数Rand,随机化编解码模块将欲传送的数据DataIn与所生成的随机数Rand结合在一起,然后经加解密模块用预置密钥Key2加密,通过通讯模块传送至被保护软件中的通讯模块;在被保护软件中,所接收到的数据经加解密模块用预置密钥Key1解密、经随机化编解码模块解码后得到传送数据DataIn。
23.根据权利要求22的软硬件之间的安全通讯装置,其特征在于,被保护软件得到传送数据DataIn后生成返回数据DataOut,所述返回数据DataOut与随机数Rand经其中的随机化编解码模块结合在一起,再经其中的加解密模块加密,然后经通讯模块传送至被专门硬件装置的通讯模块;在被专门硬件装置中,所接收到的数据经其中的加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
24.根据权利要求22的软硬件之间的安全通讯装置,其特征在于,在所述被保护软件中还包括一随机数产生模块,被保护软件得到传送数据DataIn后生成返回数据DataOut且其中的随机数产生模块产生随机数Rand′,返回数据DataOut与随机数Rand′在被保护软件中经随机化编解码模块结合在一起,再经加解密模块加密,然后经通讯模块传送至被专门硬件装置的通讯模块;在被专门硬件装置中,所接收到的数据经加解密模块解密、随机化编解码模块解码得到DataOut,完成接收方应答验证。
25.根据权利要求19至24中之一所述的软硬件之间的安全通讯装置,其特征在于,所述的随机化编解码模块能够将随机数Rand和待传送数据DataIn以不同的顺序排列或用不同的方法叠加而结合在一起,且在任何一个加密算法的加密块长度内,都要包含随机部分,以保障每两次通讯不会有任何一个加密块长度内的数据是相同的,而且,在每次传递的数据中还包含校验信息,以验证所收到的数据的完整性。
26.根据权利要求19至24中之一所述的软硬件之间的安全通讯装置,其特征在于,当所述的加密算法采用对称加密算法时,所述预置密钥Key1、Key2相同;当所述的加密算法采用非对称加密算法时,所述预置密钥Key1、Key2为同一密钥对中的公钥与私钥。
27.根据权利要求17所述的软硬件之间的安全通讯装置,其特征在于,还包括分别包含于所述被保护软件和专门硬件装置中的第二加解密模块,该两个第二加解密模块中载有相同的加密算法,且该加密算法是对称算法,其中所述随机数生成模块包含于被保护软件中,在被保护软件的加解密模块中预置的密钥为Key1,在专门硬件装置的加解密模块中预置的密钥为Key2;所述随机数生成模块生成的随机数作为会话密钥Key3,该会话密钥Key3保存于所述第二加解密模块中,用于今后加密待传送数据;在被保护软件中加解密模块将会话密钥Key3用预置密钥Key1加密,经通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置中,对接收到的数据在加解密模块中用预置密钥Key2解密得到会话密钥Key3,将其保存于第二加解密模块中,并向被保护软件返回应答信息;当传送数据时,通讯发起方在其第二加解密模块中用会话密钥Key3加密待传送数据DataIn,然后经通讯模块传送至通讯接收方,通讯接收方将接收到的数据经其第二加解密模块用会话密钥Key3解密获得传送数据DataIn,然后通讯接收方产生返回数据DataOut,并用会话密钥Key3加密,经通讯模块传送至通讯发起方,通讯发起方收到后经加解密模块用会话密钥Key3解密得到返回数据DataOut,从而完成接收方应答验证。
28.根据权利要求27所述的软硬件之间的安全通讯装置,其特征在于,在所述被保护软件还包括一控制模块,用于控制会话密钥Key3的清除以及被保护软件中所述随机数生成模块产生新的会话密钥Key3。
29.根据权利要求27所述的软硬件之间的安全通讯装置,其特征在于,当被保护软件和专门硬件装置的加解密模块中所用的加密算法是非对称算法时,所述密钥Key1和Key2分别是同一密钥对中的公钥与私钥;当被保护软件和专门硬件装置的加解密模块中所用的加密算法是对称算法时,所述密钥Key1和Key2相同。
30.根据权利要求17所述的软硬件之间的安全通讯装置,其特征在于,所述随机数生成模块包含于被保护软件中,其中在被保护软件和专门硬件装置的加解密模块中实现的加密算法是对称加密算法,且二者中分别预置的密钥Key1和Key2相同;所述随机数生成模块生成的随机数作为会话密钥Key3,该会话密钥Key3用于今后加密待传送数据;在被保护软件中,加解密模块保存会话密钥Key3并将会话密钥Key3用预置密钥Key1加密,经通讯模块传送至专门硬件装置中的通讯模块;在专门硬件装置中,在加解密模块中对接收到的数据用预置密钥Key2解密得到会话密钥Key3,并向被保护软件返回应答信息;当传送数据时,通讯发起方在其加解密模块中用会话密钥Key3加密待传送数据DataIn,然后经通讯模块传送至通讯接收方;通讯接收方将接收到的数据经其加解密模块用会话密钥Key3解密获得传送数据DataIn;然后通讯接收方产生返回数据DataOut,并用会话密钥Key3加密,经通讯模块传送至通讯发起方,通讯发起方收到后经加解密模块用会话密钥Key3解密得到返回数据DataOut,从而完成接收方应答验证。
31.根据权利要求30所述的软硬件之间的安全通讯装置,其特征在于,在所述被保护软件还包括一控制模块,用于控制会话密钥Key3的清除以及被保护软件中所述随机数生成模块产生新的会话密钥Key3。
32.根据权利要求19-24和27-31中之一所述的软件安全通讯装置,是其特征在于,所述密钥Key1在软件开发时写入;密钥Key2在硬件生产或初始化时由特定初始化指令写入。
33.根据权利要求19-24和27-31中之一所述的软硬件之间的安全通讯装置,其特征在于,被保护软件的加解密模块中的加密算法,是通过软件保护方案或产品提供者以源码、OBJ或DLL方式将实现后的算法提供给软件开发者,并由软件开发者将其加入加解密模块中的。
34.根据权利要求17-24和27-31中之一所述的软硬件之间的安全通讯装置,其特征在于,所述被保护软件和专用硬件装置的通讯模块,是通过并口、串口、USB口、1394口、PCI或PCIE总线来进行通讯的,或是基于局域网或广域网在内的有线或无线网络进行通讯的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410101531 CN1797266A (zh) | 2004-12-21 | 2004-12-21 | 软硬件之间的安全通讯方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410101531 CN1797266A (zh) | 2004-12-21 | 2004-12-21 | 软硬件之间的安全通讯方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1797266A true CN1797266A (zh) | 2006-07-05 |
Family
ID=36818337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410101531 Pending CN1797266A (zh) | 2004-12-21 | 2004-12-21 | 软硬件之间的安全通讯方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1797266A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932139A (zh) * | 2012-11-19 | 2013-02-13 | 丁希春 | 具有“无限”密码的数据传输系统 |
TWI467409B (zh) * | 2011-12-09 | 2015-01-01 | Delta Electronics Inc | 加密狗裝置及其軟體保護方法 |
CN105933118A (zh) * | 2016-06-13 | 2016-09-07 | 北京三未信安科技发展有限公司 | 通讯方法、系统、pci密码卡和远程管理介质 |
CN106789051A (zh) * | 2017-03-24 | 2017-05-31 | 北京奇虎科技有限公司 | 一种保护文件的方法、装置和计算设备 |
CN110800248A (zh) * | 2017-06-14 | 2020-02-14 | 泰雷兹数字安全法国股份有限公司 | 用于第一应用和第二应用之间的互相对称认证的方法 |
-
2004
- 2004-12-21 CN CN 200410101531 patent/CN1797266A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI467409B (zh) * | 2011-12-09 | 2015-01-01 | Delta Electronics Inc | 加密狗裝置及其軟體保護方法 |
CN102932139A (zh) * | 2012-11-19 | 2013-02-13 | 丁希春 | 具有“无限”密码的数据传输系统 |
CN105933118A (zh) * | 2016-06-13 | 2016-09-07 | 北京三未信安科技发展有限公司 | 通讯方法、系统、pci密码卡和远程管理介质 |
CN106789051A (zh) * | 2017-03-24 | 2017-05-31 | 北京奇虎科技有限公司 | 一种保护文件的方法、装置和计算设备 |
CN106789051B (zh) * | 2017-03-24 | 2020-01-31 | 北京奇虎科技有限公司 | 一种保护文件的方法、装置和计算设备 |
CN110800248A (zh) * | 2017-06-14 | 2020-02-14 | 泰雷兹数字安全法国股份有限公司 | 用于第一应用和第二应用之间的互相对称认证的方法 |
CN110800248B (zh) * | 2017-06-14 | 2022-11-22 | 泰雷兹数字安全法国股份有限公司 | 用于第一应用和第二应用之间的互相对称认证的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101064595A (zh) | 一种计算机网络安全输入认证系统和方法 | |
CN1801693A (zh) | 分组加密算法中对短分组的处理方法 | |
CN101056171A (zh) | 一种加密通信方法和装置 | |
CN1702999A (zh) | 一种对加密密钥进行备份与恢复的方法 | |
CN1281607A (zh) | 能快速解密的密码系统与方法 | |
CN101056166A (zh) | 一种提高数据传输安全性的方法 | |
CN104253694A (zh) | 一种用于网络数据传输的保密方法 | |
CN100350816C (zh) | 基于gsm网络实现无线身份认证和数据安全传输的方法 | |
CA2639649A1 (en) | Cryptography method and system | |
CN1423451A (zh) | 基于时间的加密密钥 | |
CN1855809A (zh) | 安全地使用显示器交换信息 | |
CN1820448A (zh) | 用于使用三阶段加密来加密和验证消息的系统和方法 | |
CN103117851A (zh) | 一种公钥机制实现防篡改防抵赖的加密控制方法及装置 | |
CN104901803A (zh) | 一种基于cpk标识认证技术的数据交互安全保护方法 | |
CN101539977B (zh) | 一种计算机软件保护方法 | |
CN204180095U (zh) | 一种用于网络数据加密传输的加解密装置 | |
CN107534558A (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
CN101706854A (zh) | Usb信息安全设备与主机通信的方法及usb信息安全设备 | |
CN112040485A (zh) | 局域网密钥协商方法、系统和计算机可读存储介质 | |
CN211296744U (zh) | 一种电力物联网安全终端复合加密模块 | |
US20230239144A1 (en) | Deterministic chaos-based quantum computer resistant data encryption for large scale wide area network solutions | |
CN100337442C (zh) | 一种在无线局域网中进行数据完整性保护的方法 | |
CN116132025A (zh) | 一种基于预置密钥组的密钥协商方法、装置和通信系统 | |
CN1649295A (zh) | 集群系统中端对端加解密的装置及其方法 | |
CN1638333A (zh) | 在网络打印机中使用鉴别协议的数据安全打印方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |