CN100334519C - 建立可信输入输出通道的方法 - Google Patents
建立可信输入输出通道的方法 Download PDFInfo
- Publication number
- CN100334519C CN100334519C CNB2005100561670A CN200510056167A CN100334519C CN 100334519 C CN100334519 C CN 100334519C CN B2005100561670 A CNB2005100561670 A CN B2005100561670A CN 200510056167 A CN200510056167 A CN 200510056167A CN 100334519 C CN100334519 C CN 100334519C
- Authority
- CN
- China
- Prior art keywords
- safety chip
- encryption
- decryption key
- data
- safety
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种建立可信输入通道的方法,其关键是,输入装置内的安全芯片将待输出的数据加密后再传输给主板内的安全芯片,主板内的安全芯片对其解密后再应用。本发明还提供了一种建立可信输出通道的方法,其关键是,主板内的安全芯片将待传送给输出装置的数据加密后再传送给输出装置内的安全芯片,输出装置内的安全芯片解密后再输出的相应数据。应用本发明所述的方法,避免了输入和/或输出信息被监听,确保了输入输出通道的安全,使输入输出的数据更加安全,从而确保了用户信息的安全。
Description
技术领域
本发明涉及计算机安全技术领域,特别是涉及建立可信输入输出通道的方法。
背景技术
在现实当中,信息处理设备已被广泛应用在人们的日常生活中。信息处理设备主要是指个人电脑(PC),笔记本电脑,掌上电脑,手机等设备。
1999年由Intel、IBM、HP、Microsoft、Compaq发起的可信计算机联盟(TCPA,Trusted Computing Platform Alliance)组织在推动构建一个可信赖的计算环境,这个组织定义了一个平台设备认证的架构,以及嵌入在主板上的安全芯片(TPM:Trusted Platform Module)和上层软件中间件TSS(TrustedSoftware Stack)的规范;2003年TCPA重组为可信计算机组(TCG,TrustedComputing Group),对TPM和TSS进行完善补充。
图1所示为TCG要求的安全芯片体系结构示意图。安全芯片内包括用于控制的处理器模块101,如微控制器(MCU)处理器,加解密模块102,用于存储加解密密钥的存储模块103,输入输出(I/O)接口模块104和用于检测安全芯片电源的电源检测模块105。所述所有模块通过安全芯片内部的总线相互连接,其中,所述处理器模块101,其根据从I/O接口模块104收到的指令对加解密模块102进行控制,或根据接收到指令将指令执行结果传送给I/O接口模块104;或者,直接从存储模块103中取出秘密信息,如密钥等,传送给I/O接口模块104;加解密模块102在处理器模块101的控制下,从存储模块103内获取预先存储的加解密密钥,应用加解密密钥对接收到的数据进行加解密,将加解密后的数据传输通过I/O接口模块104传输给外部设备,所述I/O接口模块104用于传输安全芯片和外部设备之间的数据和/或指令。
通常,加解密模块102由SHA/HMAC引擎模块、随机数发生器、RSA处理器模块和密钥生成模块构成,所述SHA/HMAC引擎模块,在处理器模块101的控制下,用于对接收到的数据进行SHA/HMAC运算,将计算结果传送给I/O接口模块104;所述RSA处理器模块,在处理器模块101的控制下,用于对接收到的数据进行RSA运算,将计算结果传送给I/O接口模块104;所述随机数发生器,在处理器模块101的控制下,用于生成随机数以便产生随机密钥;所述密钥生成模块,利用随机数发生器产生的随机数,生成RSA、SHA/HMAC算法所需的密钥。存储模块103由用于保存密钥数据、用户数据和程序的非易失性存储器,和用于保存临时数据和临时程序的易失性存储器构成。
安全芯片内还可以包含用于管理当前安全芯片的状态的其他可选部件。
图2所示为现有技术的安全芯片与主板之间的示意图。信息处理设备的CPU 201与主板上的北桥202相连,北桥202与南桥203和静态存储器(SRAM)204分别直接相连,南桥203分别与超级输入输出接口(SuperIO)205和安全芯片206通过LPC(Low Pin Count Bus)总线直接相连。目前TCG组织规定的安全芯片主要功能包括在计算机启动过程中对BIOS进行完整性验证,对硬件设备进行完整性验证,对操作***进行完整性验证;在操作***运行后,安全芯片还负责对受保护的应用软件的完整性监视验证;再有,安全芯片还负责生成并管理***中各种密钥;并可以提供数字签名。
上述安全芯片虽然能够保证信息处理设备具有一个安全的运行环境,但现有的输入输出过程并不在安全芯片的监控之内,这是因为,安全芯片仅对信息处理设备内已存在的数据进行验证及监视等操作,并不对输入输出的数据进行任何验证监视等操作,而当前有许多木马程序可以监听键盘输入的数据、鼠标在屏幕上的位置以及送往显卡的输出数据,从而获取用户相关的机密信息。由此可见,应用现有的输入输出通道进行数据的传输并不安全,当前急需解决可信输入输出的问题。
发明内容
有鉴于此,本发明的一个目的是提供一种建立可信输入通道的方法,本发明的另一个目的是提供一种建立可信输出通道的方法,以避免输入输出信息被监听,使输入输出的信息更加安全。
为达到上述目的,本发明的技术方案是这样实现的:
一种建立可信输入通道的方法,在信息处理设备的输入装置内预先设置用于保证输入信息安全的第一安全芯片,在信息处理设备的主板内预先设置用于保证信息安全的第三安全芯片,该方法包括以下步骤:
第三安全芯片对第一安全芯片进行可信性验证,验证成功后,第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存;
第一安全芯片采集输入装置待输出的数据,应用所述加解密密钥对采集到的数据加密后发送给第三安全芯片;
第三安全芯片获取与第一安全芯片相同的加解密密钥,应用所获取的密钥对接收到的已加密的数据进行解密,将解密后的数据传送给信息处理设备内用于接收输入装置输出信息的装置,由该装置继续进行后续处理。
较佳地,所述第三安全芯片对第一安全芯片进行可信性验证的方法包括以下步骤:第三安全芯片获取第一安全芯片的唯一标识,判断自身是否第一次获取该标识,如果是,则计算并保存该标识的哈希HASH值,以及该标识与应用该标识所计算出的HASH值的对应关系,并确认验证成功;如果第三安全芯片非第一次获取第一安全芯片的唯一标识,则计算该标识的HASH值,判断该计算出的HASH值与自身已预先保存的该标识所对应的HASH值是否一致,如一致,则验证成功,否则验证失败。
较佳地,所述第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:第三安全芯片将自身的签名公钥发送给第一安全芯片,第一安全芯片自身生成并保存加解密密钥,之后,应用第三安全芯片的签名公钥对自身生成的加解密密钥进行加密,并将加密后的加解密密钥发送给第三安全芯片,第三安全芯片应用自身的签名私钥对接收到的信息解密,获取并保存与第一安全芯片相同的加解密密钥。
较佳地,所述第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:第三安全芯片自身生成并保存加解密密钥,之后,应用第一安全芯片的签名公钥对自身生成的加解密密钥进行加密,将加密后的加解密密钥发送给第一安芯片,第一安全芯片应用自身的私钥对接收到的加密密钥进行解密,获取并保存加解密密钥。
较佳地,所述加解密密钥为对称密钥或公私钥对。
较佳地,所述第三安全芯片获取与第一安全芯片相同的加解密密钥的方法为:第三安全芯片内预先保存与第一安全芯片共享的加解密密钥,以及应用该加解密密钥时所对应接口的接口标识与该加解密密钥的对应关系;第三安全芯片接收到已加密的数据后,根据接收数据的接口,以及已保存的该接口标识与其所对应的加解密密钥的对应关系,从自身获取与第一安全芯片相同的加解密密钥。
较佳地,所述输入装置包括鼠标,或键盘。
较佳地,该方法进一步包括:第三安全芯片对第一安全芯片进行可信性验证失败后,第一安全芯片采集输入装置待输出的数据,将所采集到的数据直接发送给第三安全芯片;第三安全芯片根据预先的配置判断是否处理该接收到的数据,如果是,则将接收到的数据直接传送给用于接收输入装置输出信息的装置,由该装置继续进行后续处理,否则拒绝处理,并提示用户所使用的输入装置存在安全隐患。
较佳地,该方法进一步包括:在信息处理设备的输出装置内设置用于保证输出信息安全的第二安全芯片;第三安全芯片对第二安全芯片进行可信性验证,验证成功后,第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存;第三安全芯片采集待传输给输出装置的数据,获取并应用所述加解密密钥对采集到的数据加密后发送给第二安全芯片;第二安全芯片采用与第三安全芯片相同的加解密密钥,对接收到的已加密的数据进行解密,将解密后的数据传送给输出装置进行输出。
较佳地,该方法进一步包括:第三安全芯片对第二安全芯片进行可信性验证,验证失败后,第三安全芯片根据预先的配置判断是否将该采集到的数据传输给第二安全芯片,如果是,则将采集到的数据直接传送给第二安全芯片,由该第二安全芯片将接收到的信息传送给输出装置,否则拒绝将采集到的数据传送给第二安全芯片,并提示用户所使用的输出装置存在安全隐患。
一种建立可信输出通道的方法,在信息处理设备的输出装置内预先设置用于保证输出信息安全的第二安全芯片,在信息处理设备的主板内预先设置用于保证信息安全的第三安全芯片,该方法包括以下步骤:
第三安全芯片对第二安全芯片进行可信性验证,验证成功后,第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存;
第三安全芯片采集待传输给输出装置的数据,获取并应用所述加解密密钥对采集到的数据加密后发送给第二安全芯片;
第二安全芯片采用与第三安全芯片相同的加解密密钥,对接收到的已加密的数据进行解密,将解密后的数据传送给输出装置进行输出。
较佳地,所述第三安全芯片对第二安全芯片进行可信性验证的方法包括以下步骤:第三安全芯片获取第二安全芯片的唯一标识,判断自身是否第一次获取该标识,如果是,则计算并保存该标识的HASH值,以及该标识与应用该标识所计算出的HASH值的对应关系,并确认验证成功;如果第三安全芯片非第一次获取第二安全芯片的唯一标识,则计算该标识的HASH值,判断该计算出的HASH值与自身已保存的该标识所对应的HASH值是否一致,如一致,则验证成功,否则验证失败。
较佳地,所述第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:第三安全芯片将自身的签名公钥发送给第二安全芯片,第二安全芯片自身生成并保存加解密密钥,之后,应用第三安全芯片的签名公钥对自身生成的加解密密钥进行加密,并将加密后的加解密密钥发送给第三安全芯片,第三安全芯片应用自身的签名私钥对接收到的信息解密,获取并保存与第二安全芯片相同的加解密密钥。
较佳地,所述第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:第三安全芯片自身生成并保存加解密密钥,之后,应用第二安全芯片的签名公钥对自身生成的加解密密钥进行加密,将加密后的加解密密钥发送给第二安芯片,第二安全芯片应用自身的私钥对接收到的信息进行解密,获取并保存加解密密钥。
较佳地,所述加解密密钥为对称密钥或公私钥对。
较佳地,所述第三安全芯片获取与第二安全芯片相同的加解密密钥的方法为:第三安全芯片内预先保存与第二安全芯片共享的加解密密钥,以及应用该加解密密钥时所对应接口的接口标识与该加解密密钥的对应关系;第三安全芯片采集待传输给输出装置的数据并确定传输该数据所使用的接口后,根据已保存该接口标识与其所对应的加解密密钥的对应关系,获取所述加解密密钥。
较佳地,所述输出装置包括显卡,或声卡。
较佳地,该方法进一步包括:第三安全芯片对第二安全芯片进行可信性验证失败后,第三安全芯片根据预先的配置判断是否将该采集到的数据传输给第二安全芯片,如果是,则将采集到的数据直接传送给第二安全芯片,由该第二安全芯片将接收到的信息传送给输出装置,否则拒绝将采集到的数据传送给第二安全芯片,并提示用户所使用的输出装置存在安全隐患。
本发明提供了一种建立可信输入通道的方法,其关键是,输入装置内的安全芯片将待输出的数据加密后再传输给主板内的安全芯片,主板内的安全芯片对其解密后再应用。本发明还提供了一种建立可信输出通道的方法,其关键是,主板内的安全芯片将待传送给输出装置的数据加密后再传送给输出装置内的安全芯片,输出装置内的安全芯片解密后再输出的相应数据。应用本发明所述的方法,避免了输入和/或输出信息被监听,确保了输入输出通道的安全,使输入输出的数据更加安全,从而确保了用户信息的安全。
附图说明
图1所示为TCG要求的安全芯片体系结构示意图;
图2所示为现有技术的安全芯片与主板之间的示意图;
图3所示为应用本发明一实施例的建立输入通道的流程示意图;
图4所示为应用本发明一实施例的建立输出通道的流程示意图;
图5所示为本发明所述第一和第二安全芯片的结构示意图;
图6所示为本发明所述第三安全芯片的结构示意图;
图7所示为图6安全芯片与主板之间的示意图。
具体实施方式
下面结合附图对本发明再做进一步地详细说明。
本发明所述信息处理设备包括但不限于个人电脑(PC),笔记本电脑,掌上电脑,手机等。下面以计算机为例具体说明信息处理设备建立可信输入输出通道的方法。
图3所示为一实施例的建立可信输入通道的流程示意图。在本实施例中,计算机的鼠标内预先设置有用于保证输入信息安全的第一安全芯片,在计算机的主板内预先设置有用于保证输入输出信息安全及计算机整体运行环境安全的第三安全芯片。
步骤301,第三安全芯片对第一安全芯片进行可信性验证,如果验证成功,则执行步骤302,如果验证不成功,则执行步骤306。
第三安全芯片对第一安全芯片进行可信性验证的方法为:
第三安全芯片获取第一安全芯片的唯一标识,判断自身是否第一次获取该标识,如果是,则计算并保存该标识的哈希(HASH)值,以及该标识与应用该标识所计算出的HASH值的对应关系,并认为该第一安全芯片是可信的;
如果第三安全芯片非第一次获取第一安全芯片的唯一标识,则计算该标识的HASH值,然后判断该计算出的HASH值与自身已保存的该标识所对应的HASH值是否完全一致,如一致,则验证成功,否则验证失败。
步骤302,第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存。
第三安全芯片与第一安全芯片之间确定加解密密钥的过程有多种实现方法,以下仅以两种实现方法为例进行说明:
一种是,第三安全芯片将自身的签名公钥发送给第一安全芯片,第一安全芯片自身生成并保存加解密密钥,之后,应用第三安全芯片的签名公钥对自身生成的加解密密钥进行加密,并将加密后的加解密密钥发送给第三安全芯片,第三安全芯片应用自身的签名私钥对接收到的信息解密,获取并保存与第一安全芯片相同的加解密密钥。
另一种是,第三安全芯片自身生成并保存加解密密钥,之后,应用第一安全芯片的签名公钥对自身生成的加解密密钥进行加密,将加密后的加解密密钥发送给第一安芯片,第一安全芯片应用自身的私钥对接收到的加密密钥进行解密,获取并保存加解密密钥。
上述加解密密钥可以是对称密钥,也可以是公私钥对。
当然,第三安全芯片与第一安全芯片之间确定加解密密钥的方法并不限于以上两种,只要保证第三安全芯片与第一安全芯片之间能够获取共享的加解密密钥即可,本发明并不限制具体的获取方法。
第一安全芯片直接保存所获取的加解密密钥即可,第三安全芯片不仅需要保存该与第一安全芯片共享的加解密密钥,还要保存获取该加解密密钥时所应用接口的接口标识与该加解密密钥的对应关系,这样,只要第三安全芯片从该接口获取数据后,根据所保存的对应关系,可直接获取与第一安全芯片共享的加解密密钥。
至此,主板内的第三安全芯片完成了输入通道信任链的建立。
步骤303,第一安全芯片采集鼠标待输出的数据,应用所述加解密密钥对采集到的数据加密后发送给第三安全芯片。
步骤304,第三安全芯片根据接收数据的接口,以及已保存该接口标识与其所对应的加解密密钥的对应关系,从自身获取与第一安全芯片相同的加解密密钥,应用该加解密密钥,对接收到的已加密的数据进行解密,将解密后的数据传送给计算机内的南桥芯片,由南桥芯片进行后续处理。
步骤305,第三安全芯片判断是否接收到关机信息,如果是,则结束,否则,重复执行步骤303。
步骤306,第一安全芯片采集鼠标待输出的数据,将所采集到的数据直接发送给第三安全芯片。
步骤307,第三安全芯片根据预先的配置判断是否处理该接收到的未加密的数据,如果是,则执行步骤308,否则执行步骤309。
步骤308,将接收到的数据直接传送给计算机内的南桥芯片,由南桥芯片进行后续处理,然后执行步骤310。
步骤309,拒绝处理接收到的数据,并提示用户所使用的鼠标存在安全隐患,结束。
步骤310,第三安全芯片判断是否接收到关机信息,如果是,则结束,否则,重复执行步骤306。
以上所述仅为一实施例,在实际应用中输入装置包括但不限于鼠标、键盘等。
图4所示为一实施例的建立可信输出通道的流程示意图。在本实施例中,计算机的显卡内预先设置有用于保证输入信息安全的第二安全芯片,在计算机的主板内预先设置有用于保证输入输出信息安全及计算机整体运行环境安全的第三安全芯片。
步骤401,第三安全芯片对第二安全芯片进行可信性验证,如果验证成功,则执行步骤402,如果验证失败,则执行步骤406。
第三安全芯片对第二安全芯片进行可信性验证的方法为:
第三安全芯片获取第二安全芯片的唯一标识,判断自身是否第一次获取该标识,如果是,则计算并保存该标识的哈希(HASH)值,以及该标识与应用该标识所计算出的HASH值的对应关系,并认为该第二安全芯片是可信的;
如果第三安全芯片非第一次获取第二安全芯片的唯一标识,则计算该标识的HASH值,然后判断该计算出的HASH值与自身已保存的该标识所对应的HASH值是否完全一致,如一致,则验证成功,否则验证失败。
步骤402,第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存。
第三安全芯片与第二安全芯片之间确定加解密密钥的过程有多种实现方法,以下仅以两种实现方法为例进行说明:
一种是,第三安全芯片将自身的签名公钥发送给第二安全芯片,第二安全芯片自身生成并保存加解密密钥,之后,应用第三安全芯片的签名公钥对自身生成的加解密密钥进行加密,并将加密后的加解密密钥发送给第三安全芯片,第三安全芯片应用自身的签名私钥对接收到的信息解密,获取并保存与第二安全芯片相同的加解密密钥。
另一种是,第三安全芯片自身生成并保存加解密密钥,之后,应用第二安全芯片的签名公钥对自身生成的加解密密钥进行加密,将加密后的加解密密钥发送给第二安芯片,第二安全芯片应用自身的私钥对接收到的加密密钥进行解密,获取并保存加解密密钥。
上述加解密密钥可以是对称密钥,也可以是公私钥对。
当然,第三安全芯片与第二安全芯片之间确定加解密密钥的方法并不限于以上两种,只要保证第三安全芯片与第二安全芯片之间能够获取共享的加解密密钥即可,本发明并不限制具体的获取方法。
第二安全芯片直接保存所获取的加解密密钥即可,第三安全芯片不仅需要保存与第二安全芯片共享的加解密密钥,还要保存应用该密钥加密后的数据所传送接口的接口标识与该加解密密钥的对应关系,这样,只要第三安全芯片确定接收到的数据要传送给哪个接口,根据该接口的接口标识以及所述保存的对应关系,可直接获取与第二安全芯片共享的加解密密钥。
至此,主板内的第三安全芯片完成了输出通道信任链的建立。
步骤403,第三安全芯片采集待传输给显卡的数据并确定传输该数据所使用的接口后,根据已保存该接口标识与其所对应的加解密密钥的对应关系,获取与第二安全芯片相同的加解密密钥,应用所述加解密密钥对采集到的数据加密后发送给第二安全芯片。
步骤404,第二安全芯片采用与第三安全芯片相同的加解密密钥,对接收到的已加密的数据进行解密,将解密后的数据传送给显卡进行输出。
步骤405,第三安全芯片判断是否接收到关机信息,如果是,则结束,否则,重复执行步骤403。
步骤406,第三安全芯片采集待传输给输出装置的数据。
步骤407,第三安全芯片根据自身预先的配置判断是否将该采集到的数据传输给显卡,如果是,则执行步骤408,否则执行步骤409。
步骤408,将接收到的数据直接传送给显卡,由显卡继续后续处理,然后执行步骤410。
步骤409,拒绝将所采集到的数据传输给显卡,并提示用户所使用的显卡存在安全隐患,结束。
步骤410,第三安全芯片判断是否接收到关机信息,如果是,则结束,否则,重复执行步骤406。
以上所述仅为一实施例,在实际应用中输出装置包括但不限于显卡、声卡等。
上述建立可信输入输出通道的方法可以单独使用,也可以一起使用。如果仅使用一种,可以保证输入或输出通道的安全,如果两种方法同时使用,可以既保证输入通道的安全又保证输出通道的安全。
图5所示为本发明的第一或第二安全芯片的结构示意图。该安全芯片内包括处理器模块101、加解密模块102,存储模块103,电源检测模块105和安全输入输出模块506,且所述所有模块通过安全芯片内部的总线相互连接。其中,所述处理器模块101,如MCU,控制安全输入输出模块506将接收到的数据传送给加解密模块102,或者,控制加解密模块102进行加解密运算,并控制加解密模块102将运算结果传输给安全输入输出模块506,或者,控制存储模块103保存加解密模块102所生成的加解密密钥;所述安全输入输出模块506,用于接收外部装置的输入数据,在处理器模块101控制下,将接收到的数据传送给加解密模块102,或者,将来自加解密模块102的数据传输给外部装置;所述存储模块103,用于存储加解密密钥;所述加解密模块102,在处理器模块101的控制下,从存储模块102内获取预先存储的加解密密钥,应用加解密密钥对接收到的数据进行加解密,将加解密后的数据传输给安全输入输出模块506;所述电源检测模块105,用于检测给安全芯片供电的电源。
加解密模块102由用于进行SHA/HMAC运算的SHA/HMAC引擎模块、产生随机数的随机数发生器、用于进行RSA运算的RSA处理器模块和密钥生成模块构成。存储模块103由用于保存密钥数据、用户数据和程序的非易失性存储器,和用于保存临时数据和程序的易失性存储器构成。
上述安全芯片如果位于信息处理设备的输入装置内则为第一安全芯片,如果位于信息处理设备的输出装置内则为第二安全芯片,由于第一、二安全芯片仅用于加解密数据,不再执行其他操作指令,因而其与现有的图1所示安全芯片相比,不存在I/O接口模块,其余均与图1所示安全芯片相同。
图6所示为本发明的第三安全芯片的结构示意图。该安全芯片包括处理器模块101、加解密模块102,存储模块103,电源检测模块105和I/O接口模块104,该安全芯片还包括安全I/O模块606,所述所有模块通过安全芯片内部的总线相互连接。其中,所述I/O接口模块104,与外部设备相连,I/O接口模块104由处理器模块101控制接收外部设备的指令,并将外部要求的运算结果返回给外部设备;所述处理器模块101,如MCU,其根据从I/O接口模块104收到的指令对加解密模块进行控制,或根据接收到的指令将指令执行结果传送给I/0接口模块104;或者,直接从存储模块103中取出秘密信息,如密钥等,传送给I/O接口模块104;所述存储模块103用于存储加解密密钥,所述加解密模块102在处理器模块101控制下,从存储模块103内获取已预先存储的加解密密钥,应用加解密密钥对接收到的数据进行加解密,将加解密后的数据传输给安全I/O模块606;所述安全I/O模块606,与安全芯片内部的总线直接相连,从外部装置接收数据,在处理器模块101的控制下,将接收到的数据传送给加解密模块102;或者,将来自加解密模块102的数据传送给用于接收输入装置输出信息的装置或输出装置。
上述安全I/O模块606由安全输入模块606a、安全输出模块606b和南桥接口模块606c构成。所述安全输入模块606a,从输入装置接收已加密的数据,在处理器模块101的控制下,将接收到的已加密的数据传送给加解密模块102;所述安全输出模块606b,将来自加解密模块102的已加密后的数据传输给输出装置;所述南桥接口模块606c,从外部装置接收未加密的数据,在处理器模块101的控制下,将接收到的数据传送给加解密模块102;或者,将来自加解密模块102的已解密数据传送给用于接收输入装置输出信息的装置。
通常,加解密模块102由SHA/HMAC引擎模块、随机数发生器、RSA处理器模块和密钥生成模块构成,所述SHA/HMAC引擎模块,在处理器模块101的控制下,用于对接收到的数据进行SHA/HMAC运算,将计算结果传送给安全输出模块606b或南桥接口模块606c;所述RSA处理器模块,在处理器模块101的控制下,用于对接收到的数据进行RSA运算,将计算结果传送给安全输出模块606b或南桥接口模块606c;所述随机数发生器,在处理器模块101的控制下,用于生成随机数以便产生随机密钥;所述密钥生成模块,利用随机数发生器产生的随机数,生成RSA、SHA/HMAC算法所需的密钥。存储模块103由用于保存密钥数据、用户数据和程序的非易失性存储器,和用于保存临时数据和临时程序的易失性存储器构成。
第三安全芯片通常位于信息处理设备的主板内,不仅执行数据加解密操作,还执行其他与安全芯片相关的指令操作,因而其与现有的图1所示安全芯片相比,不仅具有图1所示安全芯片的所有功能,还增加了安全I/O模块606,即增加了安全输入模块606a、安全输出模块606b和南桥接口模块606c。
图7所示为图6安全芯片与主板之间的示意图。信息处理设备的CPU 701与主板上的北桥702相连,北桥702与南桥703和静态存储器(SRAM)704分别直接相连,南桥703与安全芯片706通过专用的南桥接口传输数据,这样能够使得传送速度加快。安全芯片706则直接与鼠标键盘等输入装置相连。另外,图7所示安全芯片还可通过LPC总线、PCI总线、USB总线、1394总线或GPIO总线与主板***相连,用于传输指令。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1、一种建立可信输入通道的方法,在信息处理设备的输入装置内预先设置用于保证输入信息安全的第一安全芯片,在信息处理设备的主板内预先设置用于保证信息安全的第三安全芯片,其特征在于,该方法包括以下步骤:
第三安全芯片对第一安全芯片进行可信性验证,验证成功后,第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存;
第一安全芯片采集输入装置待输出的数据,应用所述加解密密钥对采集到的数据加密后发送给第三安全芯片;
第三安全芯片获取与第一安全芯片相同的加解密密钥,应用所获取的密钥对接收到的已加密的数据进行解密,将解密后的数据传送给信息处理设备内用于接收输入装置输出信息的装置,由该装置继续进行后续处理。
2、根据权利要求1所述的方法,其特征在于,所述第三安全芯片对第一安全芯片进行可信性验证的方法包括以下步骤:
第三安全芯片获取第一安全芯片的唯一标识,判断自身是否第一次获取该标识,如果是,则计算并保存该标识的哈希HASH值,以及该标识与应用该标识所计算出的HASH值的对应关系,并确认验证成功;
如果第三安全芯片非第一次获取第一安全芯片的唯一标识,则计算该标识的HASH值,判断该计算出的HASH值与自身已预先保存的该标识所对应的HASH值是否一致,如一致,则验证成功,否则验证失败。
3、根据权利要求1所述的方法,其特征在于,所述第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:
第三安全芯片将自身的签名公钥发送给第一安全芯片,第一安全芯片自身生成并保存加解密密钥,之后,应用第三安全芯片的签名公钥对自身生成的加解密密钥进行加密,并将加密后的加解密密钥发送给第三安全芯片,第三安全芯片应用自身的签名私钥对接收到的信息解密,获取并保存与第一安全芯片相同的加解密密钥。
4、根据权利要求1所述的方法,其特征在于,所述第三安全芯片与第一安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:
第三安全芯片自身生成并保存加解密密钥,之后,应用第一安全芯片的签名公钥对自身生成的加解密密钥进行加密,将加密后的加解密密钥发送给第一安芯片,第一安全芯片应用自身的私钥对接收到的加密密钥进行解密,获取并保存加解密密钥。
5、根据权利要求3或4所述的方法,其特征在于,所述加解密密钥为对称密钥或公私钥对。
6、根据权利要求1所述的方法,其特征在于,所述第三安全芯片获取与第一安全芯片相同的加解密密钥的方法为:
第三安全芯片内预先保存与第一安全芯片共享的加解密密钥,以及应用该加解密密钥时所对应接口的接口标识与该加解密密钥的对应关系;
第三安全芯片接收到已加密的数据后,根据接收数据的接口,以及已保存的该接口标识与其所对应的加解密密钥的对应关系,从自身获取与第一安全芯片相同的加解密密钥。
7、根据权利要求1所述的方法,其特征在于,所述输入装置包括鼠标,或键盘。
8、根据权利要求1所述的方法,其特征在于,该方法进一步包括:第三安全芯片对第一安全芯片进行可信性验证失败后,第一安全芯片采集输入装置待输出的数据,将所采集到的数据直接发送给第三安全芯片;
第三安全芯片根据预先的配置判断是否处理该接收到的数据,如果是,则将接收到的数据直接传送给用于接收输入装置输出信息的装置,由该装置继续进行后续处理,否则拒绝处理,并提示用户所使用的输入装置存在安全隐患。
9、根据权利要求1或8所述的方法,其特征在于,该方法进一步包括:在信息处理设备的输出装置内设置用于保证输出信息安全的第二安全芯片,
第三安全芯片对第二安全芯片进行可信性验证,验证成功后,第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存;
第三安全芯片采集待传输给输出装置的数据,获取并应用所述加解密密钥对采集到的数据加密后发送给第二安全芯片;
第二安全芯片采用与第三安全芯片相同的加解密密钥,对接收到的已加密的数据进行解密,将解密后的数据传送给输出装置进行输出。
10、根据权利要求9所述的方法,其特征在于,该方法进一步包括:第三安全芯片对第二安全芯片进行可信性验证,验证失败后,第三安全芯片根据预先的配置判断是否将该采集到的数据传输给第二安全芯片,如果是,则将采集到的数据直接传送给第二安全芯片,由该第二安全芯片将接收到的信息传送给输出装置,否则拒绝将采集到的数据传送给第二安全芯片,并提示用户所使用的输出装置存在安全隐患。
11、一种建立可信输出通道的方法,在信息处理设备的输出装置内预先设置用于保证输出信息安全的第二安全芯片,在信息处理设备的主板内预先设置用于保证信息安全的第三安全芯片,其特征在于,该方法包括以下步骤:
第三安全芯片对第二安全芯片进行可信性验证,验证成功后,第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存;
第三安全芯片采集待传输给输出装置的数据,获取并应用所述加解密密钥对采集到的数据加密后发送给第二安全芯片;
第二安全芯片采用与第三安全芯片相同的加解密密钥,对接收到的已加密的数据进行解密,将解密后的数据传送给输出装置进行输出。
12、根据权利要求11所述的方法,其特征在于,所述第三安全芯片对第二安全芯片进行可信性验证的方法包括以下步骤:
第三安全芯片获取第二安全芯片的唯一标识,判断自身是否第一次获取该标识,如果是,则计算并保存该标识的HASH值,以及该标识与应用该标识所计算出的HASH值的对应关系,并确认验证成功;
如果第三安全芯片非第一次获取第二安全芯片的唯一标识,则计算该标识的HASH值,判断该计算出的HASH值与自身已保存的该标识所对应的HASH值是否一致,如一致,则验证成功,否则验证失败。
13、根据权利要求11所述的方法,其特征在于,所述第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:
第三安全芯片将自身的签名公钥发送给第二安全芯片,第二安全芯片自身生成并保存加解密密钥,之后,应用第三安全芯片的签名公钥对自身生成的加解密密钥进行加密,并将加密后的加解密密钥发送给第三安全芯片,第三安全芯片应用自身的签名私钥对接收到的信息解密,获取并保存与第二安全芯片相同的加解密密钥。
14、根据权利要求11所述的方法,其特征在于,所述第三安全芯片与第二安全芯片之间确定用于加解密数据的加解密密钥并保存的过程包括以下步骤:
第三安全芯片自身生成并保存加解密密钥,之后,应用第二安全芯片的签名公钥对自身生成的加解密密钥进行加密,将加密后的加解密密钥发送给第二安芯片,第二安全芯片应用自身的私钥对接收到的信息进行解密,获取并保存加解密密钥。
15、根据权利要求13或14所述的方法,其特征在于,所述加解密密钥为对称密钥或公私钥对。
16、根据权利要求11所述的方法,其特征在于,所述第三安全芯片获取与第二安全芯片相同的加解密密钥的方法为:
第三安全芯片内预先保存与第二安全芯片共享的加解密密钥,以及应用该加解密密钥时所对应接口的接口标识与该加解密密钥的对应关系;
第三安全芯片采集待传输给输出装置的数据并确定传输该数据所使用的接口后,根据已保存该接口标识与其所对应的加解密密钥的对应关系,获取所述加解密密钥。
17、根据权利要求11所述的方法,其特征在于,所述输出装置包括显卡,或声卡。
18、根据权利要求11所述的方法,其特征在于,该方法进一步包括:第三安全芯片对第二安全芯片进行可信性验证失败后,第三安全芯片根据预先的配置判断是否将该采集到的数据传输给第二安全芯片,如果是,则将采集到的数据直接传送给第二安全芯片,由该第二安全芯片将接收到的信息传送给输出装置,否则拒绝将采集到的数据传送给第二安全芯片,并提示用户所使用的输出装置存在安全隐患。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100561670A CN100334519C (zh) | 2005-03-23 | 2005-03-23 | 建立可信输入输出通道的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100561670A CN100334519C (zh) | 2005-03-23 | 2005-03-23 | 建立可信输入输出通道的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1702592A CN1702592A (zh) | 2005-11-30 |
CN100334519C true CN100334519C (zh) | 2007-08-29 |
Family
ID=35632367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100561670A Active CN100334519C (zh) | 2005-03-23 | 2005-03-23 | 建立可信输入输出通道的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100334519C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0615015D0 (en) * | 2006-07-28 | 2006-09-06 | Hewlett Packard Development Co | Secure use of user secrets on a computing platform |
CN100464337C (zh) * | 2006-09-05 | 2009-02-25 | 北京飞天诚信科技有限公司 | 一种usb设备与主机进行安全通信的方法及装置 |
CN101924741A (zh) * | 2009-06-16 | 2010-12-22 | 王莉 | 一种可信信息输入方法及电子装置 |
CN101996285B (zh) * | 2009-08-26 | 2013-10-02 | 联想(北京)有限公司 | 一种电子设备 |
CN101980235B (zh) * | 2010-10-27 | 2012-04-18 | 中国航天科工集团第二研究院七○六所 | 一种安全计算平台 |
CN103971057B (zh) * | 2014-04-17 | 2017-12-19 | 兴唐通信科技有限公司 | 一种移动通信智能终端的可信路径实现方法及*** |
US10339342B2 (en) | 2014-05-09 | 2019-07-02 | Lenovo (Singapore) Pte. Ltd. | Data transfer based on input device identifying information |
CN106155563B (zh) * | 2015-03-30 | 2019-11-15 | 浙江大华技术股份有限公司 | 一种磁盘访问控制方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1084007C (zh) * | 1994-01-25 | 2002-05-01 | 姆科姆索卢臣公司 | 资金交易装置 |
JP2003244128A (ja) * | 2002-02-21 | 2003-08-29 | Hitachi Ltd | 暗号復号通信用半導体装置および記録再生機器 |
CN1451117A (zh) * | 2000-06-30 | 2003-10-22 | 英特尔公司 | 采用安全存储器分区来实现安全执行的方法和装置 |
CN1135490C (zh) * | 1995-11-24 | 2004-01-21 | 松下电器产业株式会社 | 数据获取装置 |
CN1578458A (zh) * | 2003-07-29 | 2005-02-09 | 松下电器产业株式会社 | 发送装置、接收装置及收发*** |
CN1581010A (zh) * | 2003-07-31 | 2005-02-16 | 索尼英国有限公司 | 对数字内容的访问控制 |
-
2005
- 2005-03-23 CN CNB2005100561670A patent/CN100334519C/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1084007C (zh) * | 1994-01-25 | 2002-05-01 | 姆科姆索卢臣公司 | 资金交易装置 |
CN1135490C (zh) * | 1995-11-24 | 2004-01-21 | 松下电器产业株式会社 | 数据获取装置 |
CN1451117A (zh) * | 2000-06-30 | 2003-10-22 | 英特尔公司 | 采用安全存储器分区来实现安全执行的方法和装置 |
JP2003244128A (ja) * | 2002-02-21 | 2003-08-29 | Hitachi Ltd | 暗号復号通信用半導体装置および記録再生機器 |
CN1578458A (zh) * | 2003-07-29 | 2005-02-09 | 松下电器产业株式会社 | 发送装置、接收装置及收发*** |
CN1581010A (zh) * | 2003-07-31 | 2005-02-16 | 索尼英国有限公司 | 对数字内容的访问控制 |
Also Published As
Publication number | Publication date |
---|---|
CN1702592A (zh) | 2005-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1331017C (zh) | 安全芯片 | |
CN100447763C (zh) | 一种安全芯片及基于该芯片的信息安全处理设备和方法 | |
CN100334519C (zh) | 建立可信输入输出通道的方法 | |
CN101593254B (zh) | 一种笔记本电脑安全输入方法及*** | |
CN101908112B (zh) | 安全芯片的测试方法与*** | |
CN109361508B (zh) | 数据传输方法、电子设备及计算机可读存储介质 | |
Ling et al. | Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes | |
CN108347361B (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN105099705B (zh) | 一种基于usb协议的安全通信方法及其*** | |
CN104866784B (zh) | 一种基于bios加密的安全硬盘、数据加密及解密方法 | |
US20200134180A1 (en) | Enhanced protections against adversarial machine learning threats utilizing cryptography and hardware assisted monitoring in accelerators | |
CN104951712A (zh) | 一种Xen虚拟化环境下的数据安全防护方法 | |
CN111695097A (zh) | 登录检验方法、装置及计算机可读存储介质 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN114528602B (zh) | 基于攻击检测行为的安全芯片运行方法及装置 | |
CN112968774B (zh) | 一种组态存档加密及解密方法、装置存储介质及设备 | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 | |
CN113630412A (zh) | 资源下载方法、资源下载装置、电子设备以及存储介质 | |
CN116881936A (zh) | 可信计算方法及相关设备 | |
CN115118751B (zh) | 一种基于区块链的监管***、方法、设备和介质 | |
US7464406B2 (en) | System and method for user determination of secure software | |
CN108154037B (zh) | 进程间的数据传输方法和装置 | |
CN111209544B (zh) | Web应用安全保护方法、装置、电子设备及存储介质 | |
CN104376277A (zh) | 运算装置、方法与*** | |
CN114189515A (zh) | 基于sgx的服务器集群日志获取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |