专利名称:一种智能密钥设备的工作方法和系统的制作方法
技术领域:
本发明涉及信息安全领域,特别涉及一种智能密钥设备的工作方法和系统。
背景技术:
近几年来,随着互联网技术的快速发展,电子商务和电子政务正在代替传统的商 务、政务模式,成为一种主流模式。为了保证电子商务、电子政务的正常运行,核心因素之一 就是保证参与其中的人员身份可靠。 智能密钥设备能够很好地满足网络上个人身份认证的需要。它是一种带有处理器 和存储器的小型硬件装置,可通过计算机的数据通讯接口与计算机相连接。智能密钥设备 采用PIN (personal identification n咖ber,个人标识号)码验证用户身份的合法性,在 进行身份认证时,将智能密钥设备与计算机进行连接,用户在计算机上输入PIN码,智能密 钥设备会自动校验该PIN码的正确性,只有当用户输入的PIN码正确时,才允许用户操作智 能密钥设备。智能密钥设备还具有密钥生成功能,并可以安全存储密钥和预置加密算法。 智能密钥设备与密钥相关的运算完全在装置内部运行,且智能密钥设备具有物理抗攻击的 特性,安全性极高。具体地说,该智能密钥设备内置主控芯片,其中固化了智能密钥设备的 COS(Chip Operating System安全操作系统),智能密钥设备的主控芯片内含RSA算法处理 器和对称算法处理器,能够在智能密钥设备内部加密数据,也能够在智能密钥设备内部产 生RSA密钥对,并利用RSA密钥对对数据进行签名和解签名,已确认信息发送双方的身份, 并利用对称加密算法处理对接收和发送的数据进行加、解密。在进行身份认证时,需要智能 密钥设备的持有人输入与此智能密钥设备相匹配的PIN码以获取智能密钥设备的使用权。
在实现本发明的过程中,发明人发现现有技术至少存在如下缺点
智能密钥设备仍然是很多破解者的攻击目标,所以智能密钥设备的安全性有待提 高。
发明内容
为了提高智能密钥设备的安全性,本发明提供了一种智能密钥设备的工作方法和 系统。技术方案如下 —种智能密钥设备的工作方法,所述方法包括 智能密钥设备接收主机发送的指令,所述主机发送的指令中携带所述主机的标识 信息或标识; 判断所述指令的类型; 当所述指令为特殊指令时,从所述特殊指令中获得所述主机的标识作为第一标 识,存入所述智能密钥设备的内存中,并返回状态信息给所述主机; 当所述指令为一般指令时,从所述一般指令中获得所述主机的标识作为第二标 识; 判断所述第二标识是否与所述第一标识相一致;
如果一致,则根据所述一般指令,进行相应的操作,并返回操作结果给所述主机, 并返回执行接收主机发送的指令的步骤; 如果不一致,则返回错误数据给所述主机,并返回执行接收主机发送的指令的步 骤。 所述主机的标识信息至少包括以下信息中的一种或几种所述主机网卡的MAC地 址、所述主机CPU的序列号、所述主机的IP地址及所述主机的名称。 所述主机的标识为将所述主机的部分或全部标识信息拼接组成数据串,对所述 数据串做MD5运算得到的16字节的结果。 所述从所述特殊指令中获得所述主机的标识作为第一标识,具体包括 当所述特殊指令携带主机的标识时,从所述特殊指令中获得所述主机的标识,作
为第一标识; 当所述特殊指令携带主机的标识信息时,从所述特殊指令中获得所述主机的标识 信息,将所述主机的标识信息拼接组成数据串,对所述数据串做MD5运算,得到16字节的结 果,作为第一标识。 所述从所述一般指令中获得所述主机的标识作为第二标识,具体包括 当所述一般指令携带主机的标识时,从所述一般指令中获得所述主机的标识,作
为第二标识; 当所述一般指令携带主机的标识信息时,从所述一般指令中获得所述主机的标识 信息,将所述主机的标识信息拼接组成数据串,对所述数据串做MD5运算,得到16字节的结 果,作为第二标识。 所述错误数据为随机产生的随机数或预先指定的固定数值。
—种智能密钥设备的工作系统,所述系统包括智能密钥设备和主机; 所述主机包括 发送模块,用于向所述智能密钥设备发送指令; 接收模块,用于接收所述智能密钥设备发送的信息,所述信息为状态信息、操作结 果或错误数据; 所述智能密钥设备包括 接收模块,用于接收所述主机发送的指令,并将所述指令传递给第一判断模块,所 述主机发送的指令中携带所述主机的标识信息或标识; 第一判断模块,用于判断所述接收模块传递的所述指令的类型,并根据判断得到 的指令的类型,将判断结果传递给存储模块201C或获得模块201D ; 存储模块,用于当所述第一判断模块传递的判断结果为所述指令为特殊指令时, 从所述特殊指令中获得所述主机的标识作为第一标识,存入所述智能密钥设备的内存中, 并通过发送模块向所述主机返回状态信息; 获得模块,用于当所述第一判断模块传递的判断结果为所述指令为一般指令时, 从所述一般指令中获得所述主机的标识作为第二标识,并将所述第二标识传递给第二判断 模块; 第二判断模块,用于将所述第二标识与所述存储模块中存储的所述第一标识相比 较,判断所述第二标识是否与所述第一标识相一致,并将判断结果传递给操作模块或发送
6模块; 操作模块,用于当所述第二判断模块传递的判断结果为一致时,根据所述一般指 令,进行相应的操作,并将操作结果传递给发送模块; 发送模块,用于将所述操作模块传递的所述操作结果,返回给所述主机;还用于当
所述第二判断模块传递的判断结果为不一致时,则返回错误数据给所述主机。 所述主机的标识信息至少包括以下信息中的部分或全部所述主机网卡的MAC地
址、所述主机CPU的序列号、所述主机的IP地址及所述主机的名称。
所述主机的标识为将所述主机的部分或全部标识信息拼接组成数据串,对所述 数据串做MD5运算得到的16字节的结果。
所述存储模块,具体包括 获得单元,用于当所述接收模块接收到的所述特殊指令携带主机的标识时,从所 述特殊指令中获得所述主机的标识,作为第一标识; 存储单元,用于将所述获得单元获得的所述第一标识存入所述智能密钥设备的内 存中。 所述存储模块,具体包括 计算单元,用于当所述接收模块接收到的所述特殊指令携带主机的标识信息时, 从所述特殊指令中获得所述主机的标识信息,将所述主机的标识信息拼接组成数据串,对 所述数据串做MD5运算,得到16字节的结果,作为第一标识; 存储单元,用于将所述计算单元获得的所述第一标识存入所述智能密钥设备的内 存中。
所述获得模块具体包括 获得单元,用于当所述接收模块接收到的所述一般指令携带主机的标识时,从所 述一般指令中获得所述主机的标识,作为第二标识;
或 计算单元,用于当所述接收模块接收到的所述一般指令携带主机标识信息时,从
所述一般指令中获得所述主机的标识信息,将所述主机的标识信息拼接组成数据串,对所
述数据串做MD5运算,得到16字节的结果,作为第二标识。 所述错误数据为随机产生的随机数或预先指定的固定数值。 本发明提供的技术方案带来的有益效果是 通过上电读取主机标识并存入内存,在后续主机调用过程中,校验获得的主机标 识是否与内存中存储的主机标识相同,并根据校验结果进行相应的处理,提高了智能密钥 设备的安全性,并保证同一台主机上的多种应用程序或软件互不干扰正常运行,各自独立, 又有效防止多台计算机同时使用智能密钥设备。
图1是本发明实施例1中提供的智能密钥设备的工作方法流程图;
图2是本发明实施例2中提供的智能密钥设备的工作系统结构示意图;
图3是本发明实施例2中提供的智能密钥设备的结构示意图;
图4是本发明实施例2中提供的智能密钥设备的工作系统的信令交互图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方
式作进一步地详细描述。 实施例1 本发明实施例1提供了一种智能密钥设备的工作方法,参见图l,该方法包括
步骤101 :智能密码设备与主机建立连接; 步骤102 :智能密钥设备接收到主机发送的指令,判断该指令的类型;
当指令为特殊指令时,执行步骤103 ;
当指令为一般指令时,执行步骤104。 其中,特殊指令具体指的是,智能密钥设备第一次上电与主机交互,主机确认时发 送的指令。 一般指令具体指的是,由主机每一次调用智能密钥设备的功能函数接口时所产 生的指令,其中,功能函数接口是API函数接口的统称,其中,API函数可以为PY3—Find、 PY3_0pen、PY3_Close等。 主机下发的所有指令(包括特殊指令和一般指令等)中,均包含主机的标识信 息、或主机的标识。其中主机的标识信息至少包括以下信息的部分或全部主机的网卡的 MAC(Media Access Control,介质访问控制)地址、CPU的序列号、IP地址及名称。主机标 识具体为将主机的标识信息所包含的信息拼接组成数据串,并对该拼接组成的数据串做 MD5运算后,产生的16字节的结果。 特殊指令、一般指令的具体实现可以但不限于采用如下方式中的一种 1、主机发送特殊指令之前,通过调用其操作系统函数获取主机的标识信息,该标
识信息至少包括主机的CPU的序列号,网卡MAC地址,IP地址,名称等信息的部分或全部,
然后将获得的标识信息与特殊指令结合,在主机发送特殊指令时, 一起发送给智能密钥设
备; 或者,在主机发送特殊指令之前,通过调用其操作系统函数获取主机的标识信息, 该标识信息至少包括主机的CPU的序列号,网卡MAC地址,IP地址,名称等信息的部分或全 部,然后将该标识信息所包含的信息拼接组成数据串,并对该拼接组成的数据串做MD5运 算后,产生16字节的结果得到主机的标识,将该标识与特殊指令结合,在主机发送特殊指 令时, 一起发送给智能密钥设备。 主机在调用其他功能函数接口向智能密钥设备发送一般指令时,过程基本同上, 故此不再赘述。 2、主机后台配有服务模块,该服务模块用于调用主机的操作系统函数获取主机的 标识信息,该标识信息至少包括主机的CPU的序列号,网卡MAC地址,IP地址,名称等信息的 部分或全部,或者再将该标识信息所包含的信息拼接组成数据串,并对该拼接组成的数据 串做MD5运算后,产生16字节的结果得到主机的标识;将该主机的标识信息或主机的标识 提供给主机上的使用智能密钥设备的各种应用程序。即,应用程序在调用功能函数向智能 密钥设备发送特殊指令、一般指令时,先从主机的服务模块获取主机的标识信息或主机的 标识,再将获取到的主机的标识信息或主机的标识与指令结合在一起,下发智能密钥设备。
如此,同一台主机上运行的不同应用程序或软件都可以通过上述服务模块正常运行,各自独立。而其他主机上的应用程序或软件由于其他主机上的主机标识信息或主机标 识不同,不能使用智能密钥设备,由此通过上述方式可以保证同一台主机上的应用程序或 软件可以互不干扰正常运行,多台主机则不能同时使用智能密钥设备。 步骤103 :智能密钥设备解析接收到的特殊指令,从中获取主机的标识作为第一 标识,将获取的第一标识写入智能密钥设备内存中,并返回已写入内存的状态信息给主机 后返回步骤102 ; 从特殊指令中获取主机的标识过程可以包括 当特殊指令中携带主机的标识时,智能密钥设备从接收到的特殊指令中直接获取 该主机的标识; 当特殊指令中携带主机的标识信息时,智能密钥设备解析接收到的特殊指令,从 中获取该主机的标识信息,并将获取到的计算机网卡的MAC地址、CPU序列号、IP地址和名 称中的一种或几种拼接组成数据串,并对该数据串做MD5运算,产生16字节的结果,得到主 机的标识。 步骤104 :智能密钥设备解析接收到的一般指令,从中获取主机的标识作为第二 标识,其中, 一般指令的实现同上述特殊指令、一般指令的具体实现,不再赘述;
从一般指令中获取主机的标识过程可以包括 当一般指令中携带主机的标识时,智能密钥设备从接收到的一般指令中直接获取 该主机的标识; 当一般指令中携带主机的标识信息时,智能密钥设备解析接收到的一般指令,从 中获取该主机的标识信息,并将获取到的计算机网卡的MAC地址、CPU序列号、IP地址和名 称拼接组成数据串,并对该数据串做MD5运算,产生16字节的结果,得到主机的标识。
步骤105 :智能密钥设备从其内存中提取第一标识;
步骤106 :比较第二标识与第一标识是否一致;
如果一致,则执行步骤107 ;
如果不一致,则执行步骤108。 步骤107 :智能密钥设备根据其接收到的一般指令,进行相应的操作,并将操作结 果发送给主机,并返回步骤102 ; 步骤108 :智能密钥设备直接发送错误数据给主机,并返回步骤102。 其中,发送的错误数据可以但不限于采用随机生成的随机数、预先指定的数据。 在本实施例提供的智能密钥设备的工作方法中,仅在收到主机发送的特殊指令
时,将获得的主机标识写入内存,其他指令,均不需要将获得的主机标识写入内存。 本发明实施例提供了一种智能密钥设备的工作方法,通过上电读取主机标识并存
入内存,在后续主机调用过程中,校验获得的主机标识是否与内存中存储的主机标识相同,
并根据校验结果进行相应的处理,提高了智能密钥设备的安全性,并保证同一台主机上的
多种应用程序或软件互不干扰正常运行,各自独立,又有效防止多台计算机同时使用智能
密钥设备。 实施例2 参见图2,本发明实施例提供了一种智能密钥设备的工作系统,系统包括智能密 钥设备201和主机202 ;
参见图3,其中,主机202包括 发送模块202A,用于向智能密钥设备201发送指令; 接收模块202B,用于接收智能密钥设备201发送的信息,该信息为第一标识已存
入内存的信息、操作结果或错误数据;
该智能密钥设备201包括 接收模块201A,用于接收主机202发送的指令,并将指令传递给第一判断模块 201B,主机202发送的指令中携带主机的标识信息或标识; 第一判断模块201B,用于判断接收模块201A传递的指令的类型,并根据判断得到 的指令的类型,将判断结果传递给存储模块201C或获得模块201D ; 存储模块201C,用于当第一判断模块201B传递的判断结果为指令为特殊指令时, 从特殊指令中获得主机的标识作为第一标识,并存入智能密钥设备201的内存中,并将第 一标识已存入内存的信息通过发送模块201G发送给主机接收模块202B ;
获得模块201D,用于当第一判断模块201B传递的判断结果为指令为一般指令时, 从一般指令中获得主机的标识作为第二标识,并将第二标识传递给第二判断模块201E ;
第二判断模块201E,用于将该第二标识与存储模块201C中存储的第一标识相比 较,判断第二标识是否与第一标识相一致,并将判断结果传递给操作模块201F或发送模块
201G ; 操作模块201F,用于当第二判断模块201E传递的判断结果为一致时,根据一般指 令,进行相应的操作,并将操作结果传递给发送模块201G ; 发送模块201G,用于将操作模块201F传递的操作结果,返回给主机202 ;还用于当 第二判断模块201E传递的判断结果为不一致时,返回错误数据给主机202。
其中,主机的标识信息至少包括以下信息中的一种或几种主机网卡的MAC地址、 主机CPU的序列号、主机的IP地址及主机的名称。 主机的标识为将主机的部分或全部标识信息拼接组成数据串,对数据串做MD5 运算得到的16字节的结果。 —种实施方式下,智能密钥设备的存储模块201C,具体包括 获得单元,用于当接收模块201A接收到的特殊指令携带主机标识时,从特殊指令 中获得主机的标识,作为第一标识; 存储单元,用于将获得单元获得的第一标识存入智能密钥设备201的内存中。
另一种实施方式下,智能密钥设备的存储模块201C,具体包括
计算单元,用于当接收模块201A接收到的特殊指令携带主机标识信息时,从特殊 指令中获得主机的标识信息,将主机的标识信息拼接组成数据串,对数据串做MD5运算,得 到16字节的结果,作为第一标识; 存储单元,用于将计算单元获得的第一标识存入智能密钥设备201的内存中。
其中,一种实施方式下,智能密钥设备的获得模块201D具体包括
获得单元,用于当接收模块201A接收到的一般指令携带主机标识时,从一般指令 中获得主机的标识,作为第二标识; 另一种实施方式下,智能密钥设备的获得模块201D具体包括 计算单元,用于当接收模块201A接收 的一般指令携带主机标识信息时,从一般指令中获得主机的标识信息,将主机的标识信息拼接组成数据串,对数据串做MD5运算,得 到16字节的结果,作为第二标识。 其中,错误数据为随机产生的随机数或预先指定的固定数值。 需要说明的是,上述智能密钥设备的工作系统的信令交互图可以如图4所示,由
于实施例1中给出了详细的描述,故此不做赘述。 本发明实施例提供了一种智能密钥设备的工作系统,通过上电读取主机标识并存 入内存,在后续主机调用过程中,校验获得的主机标识是否与内存中存储的主机标识相同, 并根据校验结果进行相应的处理,提高了智能密钥设备的安全性,并保证同一台主机上的 多种应用程序或软件互不干扰正常运行,各自独立,又有效防止多台计算机同时使用智能 密钥设备。 以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则 之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种智能密钥设备的工作方法,其特征在于,所述方法包括智能密钥设备接收主机发送的指令,所述主机发送的指令中携带所述主机的标识信息或标识;判断所述指令的类型;当所述指令为特殊指令时,从所述特殊指令中获得所述主机的标识作为第一标识,存入所述智能密钥设备的内存中,并返回状态信息给所述主机;当所述指令为一般指令时,从所述一般指令中获得所述主机的标识作为第二标识;判断所述第二标识是否与所述第一标识相一致;如果一致,则根据所述一般指令,进行相应的操作,并返回操作结果给所述主机;如果不一致,则返回错误数据给所述主机。
2. 如权利要求1所述的智能密钥设备的工作方法,其特征在于,所述主机的标识信息 至少包括以下信息中的一种或几种所述主机网卡的MAC地址、所述主机CPU的序列号、所 述主机的IP地址及所述主机的名称。
3. 如权利要求1或2所述的智能密钥设备的工作方法,其特征在于,所述主机的标识 为将所述主机的部分或全部标识信息拼接组成数据串,对所述数据串做MD5运算得到的 16字节的结果。
4. 如权利要求1所述的智能密钥设备的工作方法,其特征在于,所述从所述特殊指令 中获得所述主机的标识作为第一标识,具体包括当所述特殊指令携带主机的标识时,从所述特殊指令中获得所述主机的标识,作为第 一标识;当所述特殊指令携带主机的标识信息时,从所述特殊指令中获得所述主机的标识信 息,将所述主机的标识信息拼接组成数据串,对所述数据串做MD5运算,得到16字节的结 果,作为第一标识。
5. 如权利要求1所述的智能密钥设备的工作方法,其特征在于,所述从所述一般指令 中获得所述主机的标识作为第二标识,具体包括当所述一般指令携带主机的标识时,从所述一般指令中获得所述主机的标识,作为第 二标识;当所述一般指令携带主机的标识信息时,从所述一般指令中获得所述主机的标识信 息,将所述主机的标识信息拼接组成数据串,对所述数据串做MD5运算,得到16字节的结 果,作为第二标识。
6. 如权利要求1所述的智能密钥设备的工作方法,其特征在于,所述错误数据为随机 产生的随机数或预先指定的固定数值。
7. —种智能密钥设备的工作系统,其特征在于,所述系统包括智能密钥设备和主机; 所述主机包括发送模块,用于向所述智能密钥设备发送指令;接收模块,用于接收所述智能密钥设备发送的信息,所述信息为状态信息、操作结果或 错误数据;所述智能密钥设备包括接收模块,用于接收所述主机发送的指令,并将所述指令传递给第一判断模块,所述主机发送的指令中携带所述主机的标识信息或标识;第一判断模块,用于判断所述接收模块传递的所述指令的类型,并根据判断得到的指 令的类型,将判断结果传递给存储模块或获得模块;存储模块,用于当所述第一判断模块传递的判断结果为所述指令为特殊指令时,从所 述特殊指令中获得所述主机的标识作为第一标识,存入所述智能密钥设备的内存中,并通 过发送模块向所述主机返回状态信息;获得模块,用于当所述第一判断模块传递的判断结果为所述指令为一般指令时,从所 述一般指令中获得所述主机的标识作为第二标识,并将所述第二标识传递给第二判断模 块;第二判断模块,用于将所述第二标识与所述存储模块中存储的所述第一标识相比较, 判断所述第二标识是否与所述第一标识相一致,并将判断结果传递给操作模块或发送模 块;操作模块,用于当所述第二判断模块传递的判断结果为一致时,根据所述一般指令,进 行相应的操作,并将操作结果传递给发送模块;发送模块,用于将所述操作模块传递的所述操作结果,返回给所述主机;还用于当所述 第二判断模块传递的判断结果为不一致时,则返回错误数据给所述主机。
8. 如权利要求7所述的智能密钥设备的工作系统,其特征在于,所述主机的标识信息 至少包括以下信息中的部分或全部所述主机网卡的MAC地址、所述主机CPU的序列号、所 述主机的IP地址及所述主机的名称。
9. 如权利要求7或8所述的智能密钥设备的工作系统,其特征在于,所述主机的标识 为将所述主机的部分或全部标识信息拼接组成数据串,对所述数据串做MD5运算得到的 16字节的结果。
10. 如权利要求7所述的智能密钥设备的工作系统,其特征在于,所述存储模块,具体 包括获得单元,用于当所述接收模块接收到的所述特殊指令携带主机的标识时,从所述特 殊指令中获得所述主机的标识,作为第一标识;存储单元,用于将所述获得单元获得的所述第一标识存入所述智能密钥设备的内存中。
11. 如权利要求7所述的智能密钥设备的工作系统,其特征在于,所述存储模块,具体 包括计算单元,用于当所述接收模块接收到的所述特殊指令携带主机的标识信息时,从所 述特殊指令中获得所述主机的标识信息,将所述主机的标识信息拼接组成数据串,对所述 数据串做MD5运算,得到16字节的结果,作为第一标识;存储单元,用于将所述计算单元获得的所述第一标识存入所述智能密钥设备的内存中。
12. 如权利要求7所述的智能密钥设备的工作系统,其特征在于,所述获得模块具体包括获得单元,用于当所述接收模块接收到的所述一般指令携带主机的标识时,从所述一 般指令中获得所述主机的标识,作为第二标识;或计算单元,用于当所述接收模块接收到的所述一般指令携带主机标识信息时,从所述 一般指令中获得所述主机的标识信息,将所述主机的标识信息拼接组成数据串,对所述数 据串做MD5运算,得到16字节的结果,作为第二标识。
13.如权利要求7所述的智能密钥设备的工作系统,其特征在于,所述错误数据为随机 产生的随机数或预先指定的固定数值。
全文摘要
本发明公开了一种智能密钥设备的工作方法和系统,属于信息安全领域。方法包括智能密钥设备接收主机发送的指令,所述主机发送的指令中携带所述主机的标识信息或标识;判断所述指令的类型;当所述指令为特殊指令时,从所述特殊指令中获得所述主机的标识作为第一标识,并存入所述智能密钥设备的内存中,并返回状态信息给所述主机;当所述指令为一般指令时,从所述一般指令中获得所述主机的标识作为第二标识;判断所述第二标识是否与所述第一标识相一致;如果一致,则根据所述一般指令,进行相应的操作,并返回操作结果给所述主机;如果不一致,则返回错误数据给所述主机。
文档编号H04L9/32GK101777979SQ20091024406
公开日2010年7月14日 申请日期2009年12月28日 优先权日2009年12月28日
发明者于华章, 陆舟 申请人:北京飞天诚信科技有限公司