数据处理装置 技术领域 本发明涉及一种要作为外部装置连接至计算机系统的数据处理装置, 尤其涉及一 种目的在于维持数据的机密性的数据处理装置。
背景技术 存在要使用 ( 包括集成驱动器电子 (IDE) 接口、 小型计算机系统接口 (SCSI)、 通用 串行总线 (USB) 和 IEEE 1394 接口等的 ) 接口作为外部装置连接至计算机系统的各种类型 的外围装置 ( 诸如硬盘驱动器 (HDD)、 可记录致密盘 (CD-R)、 可重写致密盘 (CD-RW)、 可记录 数字多功能盘 (DVD-R) 和可重写数字多功能盘 (DVD-RW) 等 )。
在这些外围装置中, 存在一种要求具有控制仅在外围装置和特定计算机系统之间 的数据通信的功能的外围装置。
为了不使通过使用不同的计算机系统读取这种外围装置中存储的机密信息或版 权数据, 该外围装置通过在特定计算机系统和外围装置之间进行相互认证处理来支持该功 能。 在这种情况下, 仅当认证处理完成时, 才可以进行计算机系统和外围装置之间的数据存 取。
例如, 日本特开 2003-186819 涉及包括具有安全功能的 USB 装置的计算机系统。 在 计算机系统和 USB 装置之间进行认证处理, 并且仅当该认证处理完成时, 才可以使用 USB 装 置。这样避免了在心怀恶意的人将 USB 装置连接至不同的计算机的情况下、 对该 USB 装置 的未经授权的使用。
另外, 作为对比, 已知对要存储在 HDD 等的外围装置中的数据进行加密的加密装 置。
专利文献 1
日本特开 2003-186819
发明内容 发明要解决的问题
然而, 当计算机系统和外围装置之间的接口支持热交换时, 可以在计算机系统通 电时插入或拔出连接线缆。支持热交换的接口的例子包括 USB、 IEEE 1394 接口和串行高级 技术附件 (SATA)。 因此, 在认证处理完成之后, 可以在计算机系统和外围装置这两者通电的 状态下拔出线缆。当将该线缆连接至不同的计算机系统时, 可以在无需另外执行认证处理 的情况下, 使用该不同的计算机系统来存取数据。 因而, 存在利用不同的计算机系统对外围 装置的未经授权使用的风险。
图 17 是示出支持热交换的接口的连接变化的示例的图。在计算机系统 101 和外 部存储装置 103( 例如, HDD) 之间设置数据加密装置 102。数据加密装置 102 对计算机系统 101 要写入外部存储装置 103 中的数据进行加密, 并且对计算机系统 101 从外部存储装置 103 读取的数据进行解密。假定从接口 104 使计算机系统 101 和数据加密装置 102 相连接
的状态起, 接口 104 从计算机系统 101 断开并且连接至不同的计算机系统 1601, 以使得不同 的计算机系统 1601 连接至数据加密装置 102。当接口 104 是不支持热交换的接口 ( 例如, 并行 ATA) 时, 在接口 104 的连接已经改变之后彼此连接的数据加密装置 102 和不同的计算 机系统 1601 不能够发送和接收数据。因此, 在这种情况下, 一般需要再次断开和接通装置 的电源。当数据加密装置 102 被设计成在电源接通时对计算机系统进行认证时, 作为并非 适当的连接目的地的不同的计算机系统 1601 未被数据加密装置 102 所认证。因而, 这样防 止了数据加密装置 102 对外部存储装置 103 中存储的加密数据进行解密, 并防止了数据加 密装置 102 将解密后的数据传送至不同的计算机系统。可以按比相关技术的并行 ATA 的 速度高的速度传送数据的 SATA 已经成为主流。然而, 当接口 104 是支持热交换的 SATA 时, 与先前连接的计算机系统 101 的情况相同, 可以在数据加密装置 102 和不同的计算机系统 1601 之间接收和发送数据。 即使当引入数据加密装置 102 在电源接通的情况下对计算机系 统进行认证的机制时, 也可以在正在维持认证状态时, 在数据加密装置 102 和不同的计算 机系统 1601 之间发送和接收数据。因而, 可以由数据加密装置 102 对外部存储装置 103 中 存储的加密数据进行解密, 并将该加密数据传送至并非适当的连接目的地的不同的计算机 系统 1601。难以维持外部存储装置 103 的数据的机密性, 并且这导致安全性问题。 本发明提供一种即使在支持热交换的线缆的连接已经改变之后数据处理装置连 接至除特定计算机系统以外的装置时、 也能够维持数据的机密性的数据处理装置。
用于解决问题的方案
根据本发明实施例的一种数据处理装置, 用于经由第一接口连接至信息处理装 置, 并且至少能够处理数据并将所述数据传送至所述信息处理装置。所述数据处理装置包 括: 认证单元, 用于进行用于对经由所述第一接口所连接的信息处理装置进行认证的处理 ; 控制单元, 用于响应于所述认证单元正确进行对所述信息处理装置的认证, 控制所述数据 处理装置, 以使得能够向所述信息处理装置传送数据 ; 判断单元, 用于判断经由所述第一接 口的所述数据处理装置与所述信息处理装置的连接的状态 ; 以及改变单元, 用于基于所述 判断单元判断为所述数据处理装置没有经由所述第一接口连接至所述信息处理装置, 变为 所述认证单元不对所述信息处理装置进行认证的状态。
此外, 根据实施例的一种数据处理装置, 用于经由第一接口连接至信息处理装置, 并经由第二接口连接至外围装置。 所述数据处理装置包括 : 控制单元, 用于控制所述数据处 理装置, 以使得所述数据处理装置能够在作为所述数据处理装置的操作模式的正常模式或 阻断模式下工作, 其中, 在所述正常模式下对已经从所述外围装置接收到的数据进行处理、 并将该数据传送至所述信息处理装置, 在所述阻断模式下禁止将已经从所述外围装置接收 到的数据传送至所述信息处理装置 ; 判断单元, 用于判断经由所述第一接口的所述数据处 理装置与所述信息处理装置的连接的状态 ; 以及改变单元, 用于基于所述判断单元在所述 正常模式下判断为所述数据处理装置没有经由所述第一接口连接至所述信息处理装置, 使 所述数据处理装置的操作模式从所述正常模式变为所述阻断模式。
通过以下参考附图对典型实施例的说明, 本发明的其它特征将变得明显。
附图说明
图 1 是加密数据存储系统的总体结构的图。图 2 是数据加密装置的硬件结构的框图。
图 3 是用于解释数据加密装置的操作模式的图。
图 4 是 ATA 总线选择器的硬件结构的框图。
图 5A 是示出 ATA 总线选择器的操作的图。
图 5B 是示出 ATA 总线选择器的操作的图。
图 5C 是示出 ATA 总线选择器的操作的图。
图 6 是扩展命令的表的例示。
图 7 是 ATA 命令的表的例示。
图 8 是示出用于解释初始安装的情况下的认证过程的序列的示例的图。
图 9 是示出用于解释正常启动的情况下的认证过程的序列的示例的图。
图 10 是示出针对 NON-DATA 传送类型的命令的序列的图。
图 11 是示出针对 READ 传送类型的命令的序列的图。
图 12 是示出针对用于向 HDD 写入数据或从 HDD 读取数据的直接存储器存取类型 的命令的序列的图。
图 13 是例示连接检测电路的操作的图。
图 14 是用于解释在数据加密装置的操作模式之间进行切换的操作的流程图。 图 15 是用于解释在数据加密装置连接至不同的装置的情况下的处理的流程图。 图 16 是示出 ATA 总线选择器的硬件结构的其它示例的图。 图 17 是示出支持热交换的接口的连接变化的示例的图。具体实施方式
在本实施例中, 将说明数据加密装置作为数据处理装置的一个例子。
以下将说明使用数据加密装置的环境、 数据加密装置的结构和用于利用数据加密 装置维持数据的机密性的操作。
使用数据加密装置的环境
图 1 是作为使用数据加密装置的环境的例子的加密数据存储系统的总体结构的 图。
参考图 1, 数据加密装置 102 经由用作桥的接口 104 和接口 105 连接在计算机系统 101 和外部存储装置 103 之间。
作为数据处理装置的例子的数据加密装置 102 对从计算机系统 101 发送来的数据 进行加密, 并将加密后的数据传送至外部存储装置 103。另外, 数据加密装置 102 对从外部 存储装置 103 读取的数据进行解密, 并将解密后的数据传送至计算机系统 101。
作为信息处理装置的例子的计算机系统 101 是控制数据加密装置的装置, 并 且可以是个人计算机等的信息处理装置、 或者诸如银行业务系统、 桌面出版 (desktop publishing, DTP) 系统或多功能打印机 (MFP) 等的装置。计算机系统 101 不局限于特定装 置。
作为外围装置的例子的外部存储装置 103 是存储数据的装置, 并且可以是 HDD、 使 用闪速存储器的存储装置、 或者诸如 CD-R、 CD-RW、 DVD-R 或 DVD-RW 等的可重写盘。外部存 储装置 103 不局限于特定类型的外部存储装置。在本实施例中, 外部存储装置 103 是使用硬盘的存储装置, 并且被称为 “HDD103” 。
接口 104 和 105 是具有热插入和热拔出 ( 下文中称为 “热交换” 或 “热插拔” )的 功能的接口。利用热交换功能, 即使在装置通电时, 也可以插入或拔出连接线缆。当使用具 有热交换功能的接口时, 可以在装置通电时交换部件或线缆。 作为针对热交换功能的方案, 已经提出了包括例如用于当在带电状态 (live-line state) 下插入或拔出线缆时、 控制输 出驱动器以设置为高阻抗状态的方案的各种方案。然而, 仅需要使用这些方案中的任一方 案来避免与通信相关联的故障, 并且该方案不局限于特定方案。作为具有热交换功能的接 口, 已知 USB、 IEEE 1394 接口和 SATA 等。在本实施例中, 尽管使用 SATA 作为接口 104 和 105 中的各接口, 但可以使用支持热交换的其它类型的接口。
注意, 数据加密装置 102 可以在加密功能无效的模式下工作。在这种情况下, 计算 机系统 101 和 HDD 103 处于与它们使用具有热交换功能的接口彼此直接连接的状态相同的 状态。在该模式下, 即使在计算机系统 101 和不同的计算机系统这两者通电时、 接口 104 从 计算机系统 101 断开并且连接至该不同的计算机系统时, HDD 103 也可以正确地工作。
数据加密装置的结构
在图 2 中, 示出数据加密装置 102 的硬件结构的示例。图 2 所示的数据加密装置 102 被配置成插入在计算机系统 101 中设置的 HDD 控制器 115 和 HDD 103 之间。计算机系 统 101 具有均未示出的中央处理单元 (CPU)、 随机存取存储器 (RAM)、 只读存储器 (ROM) 和 用户接口等。计算机系统 101 的 HDD 控制器 115 和数据加密装置 102、 以及数据加密装置 102 和 HDD 103 分别使用作为针对作为 HDD 的通信标准的 SATA 的总线的 SATA 总线 104 和 105 彼此连接。使用 SATA 总线 104 和 105 来进行数据传送和通信。数据加密装置 102 解释 要从 HDD 控制器 115 发送至 HDD 103 的命令和数据, 并且进行对要存储在 HDD 103 中的数 据进行加密的处理和对从 HDD 103 读取的数据进行解密的处理。
将数据加密装置 102 的内部单元大致分类成与 HDD 控制器 115 和 HDD 103 进行通 信并且进行数据加密和解密的单元、 以及控制数据加密装置 102 的单元。
CPU 106 执行数据加密装置 102 的总体控制, 并将 CPU 106 用的控制程序和数据 存储在存储器 111 中。此外, 可以存储生成密钥信息所需的 ( 以下所述的 ) 种子信息、 特有 信息和对数据进行加密所需的 ( 以下所述的 ) 密钥信息。在本实施例中, 使用有电池保护 的 RAM、 闪速存储器等作为存储器 111。即使当断开数据加密装置 102 的电源时, 也可以维 持存储器 111 中的存储内容。使用 RAM 112 作为 CPU 106 的工作区域。
ATA 总线选择器 107 是 HDD 控制器 115 和 HDD 103 之间的接口, 并且根据以下所述 的操作模式进行使 HDD 控制器 115 与 HDD 103 连接的控制。
在正在进行正常操作时, 装置接口 108 经由 ATA 总线选择器 107 连接至 HDD 控制 器 115。装置接口 108 按与 HDD 103 工作的方式相同的方式工作, 以使得 HDD 控制器 115 无 需注意装置接口 108 的存在。由装置接口 108 暂时接收 HDD 控制器 115 发出的命令。当由 CPU 106 判断为该命令可执行时, 由 CPU 106 向主机接口 110 发出该命令, 并将该命令发送 至 HDD 103。
当要在 HDD 103 中存储数据时, 装置接口 108 使加密 / 解密电路 109 对已经从 HDD 控制器 115 接收到的数据进行加密, 并将该数据传送至 HDD 103。此外, 装置接口 108 使加 密 / 解密电路 109 对从 HDD 103 读取的数据进行解密, 并经由 SATA 总线 104 将该数据发送至 HDD 控制器 115。装置接口 108 还生成针对该情况的控制数据。
加密 / 解密电路 109 对要存储在 HDD 103 中的数据进行加密, 并对从 HDD 103 读取 的数据进行解密。作为数据加密算法, 可以使用诸如数据加密标准 (DES)、 三重 DES(3DES) 或高级加密标准 (AES) 等的私有密钥加密、 RSA 等的公开密钥加密、 或者作为私有密钥加密 和公开密钥加密的组合的混合模式等。 由于在本发明的实施例中采用不依赖于加密算法的 方案, 因此本发明的实施例中使用的加密算法不局限于特定加密算法。此外, 在本实施例 中, 尽管使用专用硬件来实现加密 / 解密电路 109, 但 CPU 106 可以使用软件处理来进行加 密 / 解密处理。
主机接口 110 经由 ATA 总线选择器 107 连接至 HDD 103。主机接口 110 进行与由 装置接口 108 进行的操作相同的操作, 并且向 HDD 103 传送命令、 生成控制数据以及在加密 / 解密电路 109 和 HDD 103 之间传送数据。
在计算机系统 101 通电时, 连接检测电路 114 检测计算机系统 101 和数据加密装 置 102 之间的 SATA 总线 104 的断开。连接检测电路 114 基于 ATA 总线选择器 107 中用于 检测经由 SATA 总线 104 的通信的信号, 判断 SATA 总线 104 的连接状态, 并且向 CPU106 通 知判断结果。
另外, 数据加密装置 102 中设置的各块连接至地址 / 数据总线 113, 并且由 CPU 106 控制各块。
操作模式
接着, 以下将说明数据加密装置 102 的操作模式。
图 3 是用于解释数据加密装置 102 的操作模式的图。
将数据加密装置 102 的操作模式大致分类成阻断模式 301 和正常模式 302。 此外, 在正在进行处理时, 通过使用正常模式 302 的命令, 数据加密装置 102 的操作模式从正常模 式 302 变为旁路模式 303 和加密 / 解密模式 304 这两种操作模式其中之一。在由数据加密 装置 102 的 CPU 106 进行的控制下进行各个操作模式的设置和操作模式之间的切换。以下 将说明各个操作模式。
阻断模式
当接通数据加密装置 102 的电源时, 首先将数据加密装置 102 设置为阻断模式 301。在阻断模式 301 下, 对数据加密装置 102 进行控制, 以使得由 HDD 控制器 115 对 HDD 103 的任何存取均被阻断。
当 HDD 控制器 115 尝试存取 HDD 103、 即尝试存取 HDD 103 中设置的 ( 未示出的 ) 寄存器 ( 尝试从其读取数据或向其写入数据 ) 时, 实际上, HDD 控制器 115 存取数据加密装 置 102, 并且从 HDD 控制器 115 对 HDD 103 的任何存取均被阻断。
另外, 在阻断模式 301 下, 仅可以使用 HDD 控制器 115 为了存取 HDD 103 所使用的 正常命令以外的新定义的扩展命令。
在阻断模式 301 下, 仅可以进行在计算机系统 101 和数据加密装置 102 之间进行 的认证处理。换言之, 数据加密装置 102 禁止传送从 HDD 103 读取的数据, 并且允许传送为 了进行认证处理所需的数据, 由此对向计算机系统 101 传送数据施加限制。
在认证处理中, 数据加密装置 102 对计算机系统 101 进行认证。以下将说明本实 施例中进行的认证处理。仅当认证处理完成时, 操作模式才变为正常模式 302。
在数据加密装置 102 的存储器 111 中存储的程序中定义 HDD 控制器 115 发出的命 令是否可执行。由装置接口 108 经由图 2 所示的 ATA 总线选择器 107 接收到 HDD 控制器 115 发出的命令, 并且由 CPU 106 经由地址 / 数据总线 113 识别出该命令。CPU 106 将该命 令与存储器 111 中存储的程序所包括的参考数据进行比较, 并判断该命令是否可执行。
正常模式
在正常模式 302 下, HDD 控制器 115 可以存取 HDD 103。
然而, 数据加密装置 102 检查 HDD 控制器 115 发出的每个命令, 并且仅将可执行的 命令传送至 HDD 103。 当数据加密装置 102 的 CPU 106 判断为命令不可执行时, 在数据加密 装置 102 中阻断该命令, 并且该命令未被传送至 HDD 103。
如同阻断模式 301 的情况一样, 进行针对命令是否可执行的判断。将各个操作模 式的参考数据存储在存储器 111 中。CPU106 将参考数据与所接受的命令进行比较, 并判断 该命令是否可执行。
在正常模式 302 下, 当由 CPU 106 判断为命令可执行时, 经由主机接口 110 和 ATA 总线选择器 107 将该命令传送至 HDD103。 接着, 当数据加密装置 102 接收到 HDD 控制器 115 为了存取 HDD 103 的寄存器 ( 未 示出 ) 所使用的寄存器存取命令时, 操作模式变为旁路模式 303。以下将说明旁路模式 303 的详细内容。
数据加密装置 102 从 HDD 控制器 115 接收用于在 HDD 103 中存储数据并从 HDD 103 读取数据的直接存储器存取 (DMA) 命令, 并且操作模式变为加密 / 解密模式 304。当 DMA 传 送完成时, 操作模式从加密 / 解密模式 304 变为正常模式 302。
此外, 当数据加密装置 102 在正常模式 302 下接收到特别定义的扩展命令 ( 改变 命令 ) 时, 操作模式变为阻断模式 301。
此外, 当连接检测电路 114 在正常模式 302 下检测到 SATA 总线 104 的断开时, 操 作模式变为阻断模式 301。在阻断模式 301 下, 在计算机系统 101 和数据加密装置 102 之间 再次进行认证处理。
旁路模式
旁路模式 303 是在正常模式 302 下为了存取 HDD 103 的寄存器所进行的模式。在 旁路模式 303 下, HDD 控制器 115 具有用于存取 HDD 103 的寄存器的旁路。在旁路模式 303 下, HDD 控制器 115 可以向 HDD 103 的寄存器写入各种设置值, 由此 HDD 控制器 115 可以设 置针对 HDD 103 的设置。
在 HDD 控制器 115 完成向 HDD 103 的寄存器传送数据之后 ( 在 HDD 控制器 115 完 成存取 HDD 103 的寄存器之后 ), 操作模式变为正常模式 302。
加密 / 解密模式
在加密 / 解密模式 304 下, 当要利用 DMA 传送从 HDD 控制器 115 向 HDD 103 传送数 据时, 对该数据进行加密。另外, 当要将从 HDD 103 读取的数据传送至 HDD 控制器 115 时, 对该数据进行解密。
使用以下所述的加密密钥来进行数据加密和解密。当首次将数据加密装置 102 安 装在计算机系统 101 中时 ( 当数据加密装置 102 经由 SATA 总线 104 首次连接至计算机系
统 101 时 ), 进行以下所述的加密密钥的生成。
作为数据加密算法, 可以使用 AES 等的私有密钥加密、 RSA 等的公开密钥加密、 或 作为私有密钥加密和公开密钥加密的组合的混合方案等。当 DMA 传送完成时, 操作模式变 为正常模式 302。
ATA 总线选择器的结构
图 4 是 ATA 总线选择器 107 的硬件结构的框图。
HDD 控制器 115 连接至 HDD 控制器侧输入 / 输出 801, 以输入和输出信号。另外, HDD 103 连接至 HDD 侧输入 / 输出 802。
HDD 控制器侧输入 / 输出 801 经由选择器 803 连接至装置接口 108 或旁路电路 804。
同样, HDD 侧输入 / 输出 802 经由选择器 805 连接至主机接口 110 或旁路电路 804。
由 CPU 106 经由控制电路 806 来控制各个选择器 803 和 805。
HDD 控制器 115 和 HDD 103 可以经由旁路电路 804 彼此连接。可以经由加密 / 解 密电路 109 在 HDD 控制器 115 和 HDD 103 之间传送数据。HDD 控制器 115 和 HDD 103 可以 经由 CPU 106 彼此连接。 连接检测电路 114 连接至 HDD 控制器侧输入 / 输出 801。当连接检测电路 114 检 测到 SATA 总线 104 的断开时, 连接检测电路 114 向 CPU 106 通知检测结果。HDD 控制器侧 输入 / 输出 801 包括针对 SATA 总线 104 的接口控制电路 ( 未示出 )。在接口控制电路的物 理层中接受经由 SATA 总线 104 的通信, 并且该物理层的初始化完成。当可以经由 SATA 总 线 104 进行通信时, 接口控制电路向连接检测电路 114 通知可以进行经由 SATA 总线 104 的 通信的状态。以下将说明连接检测电路 114 的操作的详细内容。
ATA 总线选择器的操作
将参考图 5A ~ 5C 中相应的图来说明在各个操作模式下由 CPU 106 进行的 ATA 总 线选择器 107 的操作。
图 5A ~ 5C 各自均是例示 ATA 总线选择器 107 的操作的图。在图 5A ~ 5C 各自中, 箭头表示在操作模式中相应的操作模式下数据总线的连接关系和传送方向。 粗线表示用于 发送 / 接收数据的程序输入 / 输出 (PIO)/DMA 总线。细线表示对于例如用于设置 HDD 103 的操作并检查状态、 并且设置在 HDD 103 或数据加密装置 102 中的寄存器 ( 未示出 ) 等的 存取。
图 5A 所示的阻断模式
在阻断模式 301 下, ATA 总线选择器 107 中设置的 HDD 控制器侧输入 / 输出 801 连 接至装置接口 108。HDD 侧输入 / 输出 802 连接至主机接口 110。因此, 直到以下所述的由 数据加密装置 102 进行的对计算机系统 101( 或 HDD 控制器 115) 的认证完成为止, 数据加 密装置 102 禁止从 HDD 103 向 HDD 控制器 115 传送数据、 以及从 HDD 控制器 115 向 HDD 103 传送数据。因而, 从 HDD 控制器 115 对 HDD 103 的任何存取均被禁止。
图 5B 所示的正常模式
图 5B 示出以下 : 在正常模式 302 下, PIO/DMA 总线连接至装置接口 108 和主机接 口 110 ; 并且此外, 对于寄存器存取, 针对要存取的各寄存器, 存取的目的地变化。
图 5B 示出以下 : 当发出从 HDD 控制器 115 对 HDD 103 的寄存器的写入存取 ( 由
“W” 表示的细线 ) 时, 根据要存取的寄存器的类型, 通过使用 HDD 控制器侧的输入 / 输出信 号, 仅向装置接口 108 中设置的寄存器写入数据 ; 可选地, 使 HDD 控制器 115 直接连接至 HDD 侧的输入 / 输出信号, 并且仅向 HDD 103 写入数据 ; 并且此外, 向装置接口 108 中设置的寄 存器和 HDD 103 这两者写入数据。
同样, 在对寄存器的读取存取的情况下, 图 5B 示出以下 : 直接读取 HDD 103 中设置 的寄存器中的数据 ; 并且可选地, 可以经由装置接口 108 读取主机接口 110 已经读取的数 据。
图 5C 所示的旁路模式
在旁路模式 303 下, HDD 控制器侧输入 / 输出 801 和 HDD 侧输入 / 输出 802 彼此 直接连接。对于针对一些寄存器的写入存取, 向 HDD 103 的寄存器和装置接口 108 中设置 的寄存器这两者写入相同的数据。
可执行的扩展命令
图 6 是本实施例中扩展命令的表的例示。图 6 所示的扩展命令不同于对 HDD 103 的正常存取所使用的 ATA 命令, 并且仅可以由数据加密装置 102 在阻断模式 301 下处理这 些扩展命令。将用于解释扩展命令、 并用于进行与这些扩展命令相对应的处理的程序存储 在数据加密装置 102 的存储器 111 中。 命令名称表示数据加密装置 102 可以运行的命令的名称, 并且类型表示存取的类 型。NON-DATA 传送类型的命令不涉及数据的写入或读取。NON-DATA 传送类型的命令的例 子包括用于检查 HDD 103 的状况的命令、 用于使操作模式从阻断模式 301 变为正常模式 302 的命令等。
WRITE 或 READ 传送类型的命令涉及数据的写入或读取。 这些命令用于获得版本信 息并用于进行认证的挑战。
可执行的 ATA 命令
图 7 是本实施例中 ATA 命令的表的例示。图 7 所示的 ATA 命令是由数据加密装置 102 在正常模式 302 下可执行的。将 ATA 命令的表存储在数据加密装置 102 的存储器 111 中。此外, 还将用于进行与 ATA 命令相对应的处理的程序存储在存储器 111 中。
在本实施例中, 由 HDD 控制器 115 对 HDD 103 可执行的命令局限于图 7 所示的 ATA 命令。其原因是避免对 HDD 103 的不必要的存取以确保安全性。
当由 HDD 控制器 115 在正常模式 302 下发出命令时, 在数据加密装置 102 中暂时 维持该命令。检查该命令是否可执行。换言之, 参考存储器 111 来检查该命令是否包括在 图 7 所示的表中。仅当该命令可执行时, 才将该命令发送至 HDD 103。当判断为该命令不可 执行时, 不将该命令发送至 HDD 103, 并将该命令作为错误 ( 异常中止错误 ) 通知给 HDD 控 制器 115。
认证
接着, 将说明 HDD 控制器 115 和数据加密装置 102 之间的认证。
存在两类认证处理 : 在通过将数据加密装置 102 首次连接至 HDD 控制器 115 来安 装数据加密装置 102 的情况下的认证处理 ( 下文中称为 “初始安装的情况” ); 和在初始安 装完成之后接通 ( 计算机系统 101 所包括的 )HDD 控制器 115 的电源以及数据加密装置 102 的电源之后的认证处理。以下按该顺序说明这些认证处理。
初始安装的情况
图 8 是示出用于解释在将数据加密装置 102 首次连接至 HDD 控制器 115 的情况下 的认证过程的序列的示例的图。
首先, 在数据加密装置 102、 ( 包括 HDD 控制器 115 的 ) 计算机系统 101 和 HDD 103 经由 SATA 总线 104 和 105 彼此连接的状态下, 通过用户操作接通电源 ( 步骤 S801), 由此 启动数据加密装置 102、 计算机系统 101 和 HDD 103。在阻断模式 301 下启动数据加密装置 102( 步骤 S802)。HDD 控制器 115 在 SATA 总线 104 上发送预定命令, 并且检查数据加密装 置 102 是否连接至计算机系统 101( 步骤 S803)。HDD 控制器 115 经由 SATA 总线 104 向数 据加密装置 102 发出 GET STATUS 命令 ( 步骤 S804), 并且检查利用数据加密装置 102 的加 密密钥的生成状态。
由于在初始安装的情况下数据加密装置 102 中没有生成加密密钥, 因此数据加密 装置 102 向 HDD 控制器 115 返回未安装状态 ( 步骤 S805)。
HDD 控制器 115 识别出该未安装状态, 并向数据加密装置 102 发送 INSTALL 命令 ( 步骤 S806)。数据加密装置 102 生成种子信息 ( 步骤 S807)。HDD 控制器 115 发送特有信 息 ( 步骤 S808)。使用种子信息和特有信息来生成加密密钥。在本实施例中, 假定特有信 息是计算机系统 101 特有的信息。作为特有信息的其它例子, 可以使用 HDD 控制器 115 特 有的信息。此外, 可以使用通过将 HDD 控制器 115 特有的信息和计算机系统 101 特有的信 息组合所获得的信息作为特有信息。数据加密装置 102 将接收到的特有信息存储在存储器 111 中 ( 步骤 S809)。存储器 111 是用于存储特有信息的特有信息存储单元的例子。然后, 数据加密装置 102 基于特有信息和在步骤 S807 中生成的种子信息, 生成加密密钥, 并将加 密密钥写入存储器 111 中 ( 步骤 S810)。当生成加密密钥和向存储器 111 写入加密密钥完 成时, 数据加密装置 102 向 HDD 控制器 115 发送表示生成和写入完成的状况 ( 步骤 S811)。
当 HDD 控制器 115 识别出加密密钥的生成完成时, HDD 控制器 115 向数据加密装 置 102 发送 CHANGE 模式命令 ( 步骤 S812)。当加密密钥的生成完成时, 将加密密钥的生成 看作为认证的替代处理, 并且操作模式变为正常模式 302( 步骤 S813)。数据加密装置 102 向 HDD 控制器 115 通知操作模式已经变为正常模式 302( 步骤 S814)。
之后, 在正常模式 302 下, HDD 控制器 115 可以存取 HDD103, 并且可以利用各种类 型的 ATA 命令 ( 步骤 S815)。
密钥信息的生成
接着, 以下将说明在图 8 所示的认证的情况下、 由数据加密装置 102 的 CPU 106 使 用软件所进行的生成密钥信息的操作。
数据加密装置 102 从 HDD 控制器 115 接收 HDD 控制器 115 特有的特有信息、 或安装 有 HDD 控制器 115 的计算机系统 101 特有的特有信息。该特有信息是各个计算机系统 101 特有的信息, 并且可以使用诸如序列号、 具有局域网 (LAN) 接口 (I/F) 的计算机系统中的介 质存取控制 (MAC) 地址、 以及通过将与序列号有关的信息和与 MAC 地址有关的信息组合所 获得的信息等的各种类型的信息。
CPU 106 根据已经接收到的特有信息和存储器 111 中存储的种子信息, 生成密钥 信息。在本实施例中, 例如, 使用随机数作为种子信息。用于根据特有信息和种子信息生成 密钥信息的方法的例子包括以下方法 :采用特有信息和种子信息的异或作为密钥信息 ;
将特有信息和种子信息输入至单向散列函数, 并且使用该单向散列函数的输出作 为密钥信息 ;
使用特有信息作为加密函数的密钥来对种子信息进行加密处理, 并且使用该加密 函数的输出作为密钥信息 ;
使用种子信息作为加密函数的密钥来对特有信息进行加密处理, 并且使用该加密 函数的输出作为密钥信息 ; 以及
使用 Diffie-Hellman(DH) 密钥协商方法 (RFC 2631) 来共享密钥信息。
然而, 由于只需要数据加密装置 102 单独存储密钥信息, 因此例如, 在 DH 密钥协商 方法中, 可以使用种子信息作为数据加密装置 102 的私人密钥, 并且可以使用特有信息作 为使用数据加密装置 102 的公开密钥和计算机系统 101 特有的信息所获得的信息。
以上所述的方法是用于根据特有信息和种子信息生成密钥信息的方法的例子。 在 本发明实施例的用于生成密钥信息的方法中, 可以使用表示 “密钥信息= f( 种子信息, 特 有信息 )” 的任何双输入函数。
此外, 通过将密钥信息验证信息连同密钥信息一起管理, 还可以验证密钥信息的 正当性。将使用密钥信息计算出的散列值作为密钥信息验证信息的一个例子。
注意, 用于生成种子信息的方法依赖于用于生成密钥信息的方法和加密算法。当 可以使用随机数作为加密算法中的密钥时, 还可以生成种子信息作为随机数或伪随机数。 作为对比, 当需要使用满足特定条件的信息作为加密算法中的密钥时, 例如, 需要生成密钥 信息, 并且需要根据所生成的密钥信息和特有信息来获得满足 “密钥信息= f( 种子信息, 特有信息 )” 的种子信息。
正常启动的情况
图 9 是示出在已经将数据加密装置 102 安装在计算机系统 101 中的正常启动的情 况下的认证的序列的示例的序列图。
首先, 在数据加密装置 102、 计算机系统 101 和 HDD 103 经由 SATA 总线 104 和 105 彼此连接的状态下, 通过用户操作接通电源 (S901)。在阻断模式 301 下启动数据加密装置 102( 步骤 S902)。
HDD 控制器 115 在 SATA 总线 104 上发送预定命令, 并且检查数据加密装置 102 是 否连接至计算机系统 101( 步骤 S903)。之后, HDD 控制器 115 向数据加密装置 102 发送 GET STATUS 命令 ( 步骤 S904), 并且检查利用数据加密装置 102 的加密密钥的生成状态 ( 步骤 S904)。由于在正常启动的情况下数据加密装置 102 中已经生成加密密钥, 因此数据加密装 置 102 向 HDD 控制器 115 返回表示已经安装有加密密钥的应答 ( 步骤 S905)。当 HDD 控制 器 115 检查到加密密钥已被安装在数据加密装置 102 中时, HDD 控制器 115 进入认证处理。
假定本实施例中的认证处理使用现有技术中已知的挑战和应答方案 (challenge-and-response scheme)。在该挑战和应答方案中, 包括 HDD 控制器 115 的计算 机系统 101 和数据加密装置 102 相互进行认证。当然, 可以使用其它认证方案。
首先, HDD 控制器 115 向数据加密装置 102 发送表示执行挑战的挑战命令 ( 步骤 S906), 然后发送挑战随机数 ( 步骤 S907)。这里, 挑战随机数是由计算机系统 101 或 HDD 控 制器 115 生成的, 并且是在每次进行认证时随机变化的、 且难以预先预测的数值。当数据加密装置 102 接收到挑战随机数时, 数据加密装置 102 向 HDD 控制器 115 返回表示接收完成的状况 ( 步骤 S908)。
已经从数据加密装置 102 接收到表示接收完成的状况的 HDD 控制器 115 向数据加 密装置 102 发送应答请求命令 ( 步骤 S909)。
当数据加密装置 102 接收到来自 HDD 控制器 115 的应答请求命令时, 数据加密装 置 102 使用存储器 111 中存储的特有信息和已经接收到的挑战随机数, 生成散列值。然后, 数据加密装置 102 将所生成的散列值作为应答发送至 HDD 控制器 115( 步骤 S910), 并且返 回表示发送完成的状况 ( 步骤 S911)。
当 HDD 控制器 115 从数据加密装置 102 接收到应答时, 计算机系统 101 通过使用 计算机系统 101 中存储的特有信息和在步骤 S906 中发送的挑战随机数, 生成散列值。然 后, 计算机系统 101 将该散列值与从数据加密装置 102 接收到的应答进行比较。作为比较 结果, 当散列值与应答一致时, 计算机系统 101 判断为数据加密装置 102 是适当的连接目的 地, 并且进入从数据加密装置 102 向 HDD 控制器 115 进行挑战的下一处理。
首先, HDD 控制器 115 向数据加密装置 102 发送用于请求执行挑战的命令 ( 步骤 S912)。 数据加密装置 102 向 HDD 控制器 115 发送挑战随机数 ( 步骤 S913), 并向 HDD 控制 器 115 发送表示发送挑战随机数完成的状况 ( 步骤 S914)。 这里, 挑战随机数是由数据加密 装置 102 生成的, 并且是在每次进行认证时随机变化的、 且难以预先预测的数值。
接着, 计算机系统 101 通过使用所存储的特有信息和接收到的挑战随机数, 生成 散列值。
HDD 控制器 115 向数据加密装置 102 发送用于请求应答的命令 ( 步骤 S915), 并且 发送所生成的散列值作为应答 ( 步骤 S916)。
当数据加密装置 102 接收到应答时, 数据加密装置 102 通过使用存储器 111 中存 储的特有信息 ( 图 8 所示的步骤 S809 中存储的特有信息 )、 和数据加密装置 102 在步骤 S913 中发送的挑战随机数, 生成散列值。然后, 数据加密装置 102 将该散列值与从 HDD 控 制器 115 接收到的应答进行比较。作为比较的结果, 当散列值与应答一致时, 数据加密装置 102 判断为计算机系统 101 是适当的连接目的地, 并且完成认证处理 ( 步骤 S917)。
数据加密装置 102 从 HDD 控制器 115 接收到用于使操作模式变为正常模式 302 的 CHANGE 命令 ( 步骤 S918)。当正确地完成认证处理时, 数据加密装置 102 的操作模式从阻 断模式 301 变为正常模式 302( 步骤 S919), 并且数据加密装置 102 向 HDD 控制器 115 发送 表示操作模式已变为正常模式 302 的状况 ( 步骤 S920)。然后, 在步骤 S921 中, 在正常模式 302 下可以利用各种类型的 ATA 命令。
正常模式下的命令序列
接着, 示出正常模式 302 下可执行的命令的详细序列。图 7 中示出正常模式 302 下可执行的命令, 并且按数据传送的类型对这些命令分类。存在 NON-DATA 传送类型、 READ 传送类型和 DMA 传送 ( 加密 / 解密 ) 类型这三种类型。将按该顺序来说明这三种类型。
针对 NON-DATA 传送类型的命令序列
命令的执行涉及两个步骤。 首先, 设置为了执行命令所需的参数。 将数据写入 HDD 103 的命令块中设置的关联寄存器 ( 还被称为 I/O 寄存器或命令块寄存器、 并且没有示出的
T/F 寄存器 ) 中。接着, 将命令代码写入命令寄存器中, 由此 HDD 103 实际执行 ( 暂时被传 送至数据加密装置 102 的 ) 命令。
此外, 针对要设置参数的寄存器中和要写入命令代码的命令寄存器中的一些寄存 器, 这些寄存器针对从 HDD 控制器 115 向寄存器写入数据的情况和从寄存器读取数据的情 况, 具有不同的功能。这些寄存器的例子包括 ERROR/FEATURES 寄存器、 STATUS/COMMAND 寄 存器等。 尽管从寄存器作为数据读取错误或状况, 但在向寄存器写入数据时执行这些命令。
图 10 是示出 NON-DATA 传送类型的命令的序列的图。
NON-DATA 传送类型的命令的例子包括 RECALIBRATE 命令、 SEEK 命令等。
RECALIBRATE 命令是用于进行 HDD 103 的 REZERO 操作的命令, 并且 SEEK 命令是用 于选择 HDD 103 的指定轨道的定位或头的命令。
首先, 在正常模式 302 下, HDD 控制器 115 设置为了存取 HDD 103 的参数。将该参 数设置在数据加密装置 102 的寄存器和 HDD 103 的寄存器这两者 ( 均未示出 ) 中 ( 步骤 S1001)。
接着, HDD 控制器 115 发出要对命令寄存器执行的命令, 并将该命令设置在数据加 密装置 102 的装置接口 108 的寄存器中 ( 步骤 S1002)。数据加密装置 102 判断该命令是否 可执行。仅当该命令可执行时, 数据加密装置 102 才将该命令设置在 HDD 103 的命令寄存 器中 ( 步骤 S1003)。将可执行的命令的表存储在存储器 111 中, 并且数据加密装置 102 根 据可执行的命令的表来判断命令是否可执行。 HDD 103 执行该命令 ( 步骤 S1004)。当命令的处理完成时, HDD 103 向数据加密 装置 102 输出中断信号 ( 步骤 S1005)。仅向数据加密装置 102 输入中断信号, 并且数据加 密装置 102 从 HDD103 的状况寄存器和错误寄存器读取数据 ( 步骤 S1006)。当从这些寄存 器读取数据时, HDD 103 清除中断信号 ( 步骤 S1007)。
数据加密装置 102 将已从 HDD 103 的状况寄存器和错误寄存器读取的数据设置在 数据加密装置 102 的状况寄存器和错误寄存器中 ( 步骤 S1008)。然后, 数据加密装置 102 向 HDD 控制器 115 输出中断信号 ( 步骤 S1009)。由于向 HDD 控制器 115 输入中断信号, 因 此 HDD 控制器 115 从数据加密装置 102 的状况寄存器和错误寄存器读取数据 ( 步骤 S1010)。 当由 HDD 控制器 115 读取数据完成时, 数据加密装置 102 清除中断信号 ( 步骤 S1011)。如 上所述, 用于 NON-DATA 传送类型的命令、 并用于处理该命令的序列结束。
针对 READ 传送类型 (PIO READ) 的命令的序列
图 11 是示出针对 READ 传送类型的命令的序列的图。
在正常模式 302 下可执行的 READ 传送类型的命令的例子包括如图 7 所示的 IDENTIFY DEVICE 命令。当执行 IDENTIFYDEVICE 命令时, 可以读取与 HDD 103 有关的参数 信息。该参数信息可以是诸如柱面数量、 磁头数量和序列号等的与 HDD 103 相关联的信息, 并且不同于从 HDD 控制器 115 写入 HDD 103 中的数据。
参考图 11, 首先, HDD 控制器 115 设置参数 ( 步骤 S1101)。 然后, 当 HDD 控制器 115 发出 READ 传送类型的命令时 ( 步骤 S1102), 数据加密装置 102 解释该命令, 并将该命令传 送至 HDD103( 步骤 S1103), 由此发出该命令。HDD 103 执行所发出的命令 ( 步骤 S1104)。 当所发出的命令是 IDENTIFY DEVICE 命令时, HDD 103 将所请求的参数信息设置在 HDD 103 中设置的扇面缓冲器中, 并将所发出的命令的状况写入 HDD 103 的状况寄存器中。然后,
HDD 103 向数据加密装置 102 输出中断信号 ( 步骤 S1105)。
数据加密装置 102 从 HDD 103 的状况寄存器读取数据, 并且检查 HDD 103 的状况 ( 步骤 S1106)。当从寄存器读取数据时, HDD 103 清除中断信号 ( 步骤 S1107)。
然后, 数据加密装置 102 设置用于使操作模式变为旁路模式 303 的设置 ( 步骤 S1108)。当使操作模式变为旁路模式 303 完成时, HDD 103 向 HDD 控制器 115 输出中断信 号 ( 步骤 S1109), 并向 HDD 控制器 115 通知 HDD 103 准备好。
HDD 控制器 115 从 HDD 103 的状况寄存器读取数据 ( 步骤 S1110)。数据加密装置 102 识别出已经读取了 HDD 103 的状况寄存器, 并且清除中断信号 ( 步骤 S1111)。 然后, HDD 控制器 115 读取与 HDD 103 有关的数据 ( 参数信息等 )( 步骤 S1112)。
当读取预定数量的数据完成时, 旁路模式 303 结束 ( 步骤 S1113)。当旁路模式 303 完成时, 数据加密装置 102 将这些数据设置在寄存器中 ( 步骤 S1114)。然后, 数据加密 装置 102 向 HDD 控制器 115 输出中断信号 ( 步骤 S1115)。HDD 控制器 115 从数据加密装置 102 的寄存器读取数据 ( 步骤 S1116)。当读取数据完成时, 数据加密装置 102 清除中断信 号 ( 步骤 S1117), 并且该系列的处理结束。
针对 READ DMA/WRITE DMA 传送类型的命令的序列
图 12 是示出针对用于向 HDD 103 写入数据或从 HDD 103 读取数据的 DMA 传送类 型的命令的序列的图。
作为 DMA 传送类型的命令, 存在用于从 HDD 103 读取数据的 READ DMA 命令和用于 向 HDD 103 写入数据的 WRITE DMA 命令这两种类型的命令。当执行 WRITE DMA 命令时, 数 据加密装置 102 对要写入 HDD 103 中的数据进行加密。当执行 READDMA 命令时, 数据加密 装置 102 对从 HDD 103 读取的数据进行解密。
当 HDD 控制器 115 发出 DMA 传送命令时, HDD 控制器 115 在 HDD 103 的寄存器中 设置参数 ( 步骤 S1201), 并且设置 DMA 传送命令 ( 步骤 S1202)。
由数据加密装置 102 暂时检查 DMA 传送命令, 并将该 DMA 传送命令传送至 HDD 103( 步骤 S1203)。HDD 103 准备 DMA 传送。当准备完成时, HDD 103 向数据加密装置 102 输出 DMA 传送开始请求信号 ( 步骤 S1204)。
当数据加密装置 102 接收到 DMA 传送开始请求信号时, 数据加密装置 102 设置 与加密处理或解密处理相对应的内部设置, 并且操作模式变为加密 / 解密模式 304( 步骤 S1205)。数据加密装置 102 根据 HDD 控制器 115 发出的命令, 已经识别出要进行加密处理 或解密处理的哪个处理。
接着, 当操作模式变为加密 / 解密模式 304 时, 数据加密装置 102 向 HDD 控制器 115 发出 DMA 传送开始请求 ( 步骤 S1206)。
之后, 实际进行 DMA 传送, 并且同时在数据加密装置 102 中对数据进行加密处理或 解密处理 ( 步骤 S1207)。
当传送预定数量的数据完成时, HDD 103 向数据加密装置 102 输出中断信号 ( 步 骤 S1208)。数据加密装置 102 从 HDD 103 的状况寄存器读取数据, 并且检查该数据的内容 ( 步骤 S1209)。HDD 103 清除中断信号 ( 步骤 S1210)。然后, DMA 传送完成。
接着, 当 DMA 传送已经完成时, 数据加密装置 102 设置内部设置, 并且操作模式变 为正常模式 302( 步骤 S1211)。数据加密装置 102 将从 HDD 103 的状况寄存器和错误寄存器读取的数据设置在数据加密装置 102 的状况寄存器和错误寄存器中 ( 步骤 S1212), 并且 向 HDD 控制器 115 输出中断信号 ( 步骤 S1213)。HDD 控制器 115 从状况寄存器和错误寄存 器读取数据 ( 步骤 S1214)。 当读取数据完成时, 数据加密装置 102 清除中断信号, 并且该系 列的处理结束。
针对 WRITE 传送类型 (PIO WRITE) 的命令的序列
用 于 向 HDD 103 写 入 数 据 的 命 令 的 例 子 包 括 WRITEMULTIPLE(PIO WRITE) 命 令。 然 而, 在 本 实 施 例 中, 为 了 避 免 向 HDD 103 写 入 不 需 要 的 数 据, 不允许使用 WRITEMULTIPLE(PIO WRITE) 命令作为可用命令。 因此, 即使当由 HDD 控制器 115 发出 WRITE MULTIPLE(PIO WRITE) 命令时, 数据加密装置 102 也判断为该命令不可执行, 并且不将该命 令传送至 HDD 103。
连接检测电路
将参考图 13 来说明本实施例中由连接检测电路 114 对 SATA 总线 104 的断开的检 测。在下文, “断开” 包括 SATA 总线 104 的线缆的 ( 位于 HDD 控制器 115 侧或数据加密装置 102 侧的 ) 连接器被拔出的情况、 和线缆断开的情况。
连接检测电路 114 连接至 ATA 总线选择器 107 中设置的 HDD 控制器侧输入 / 输出 801。当加密数据存储系统正在工作时、 连接检测电路 114 检测到 SATA 总线 104 断开时, 连 接检测电路 114 向 CPU 106 通知检测结果。
HDD 控制器侧输入 / 输出 801 包括 SATA 总线 104 用的接口控制电路。在接口控 制电路的物理层中接受经由 SATA 总线 104 的通信, 并且该物理层的初始化完成。当可以经 由 SATA 总线 104 进行通信时, 接口控制电路将可以进行经由 SATA 总线 104 的通信的状态 作为物理层 (PHY) 通信使能信号通知给连接检测电路 114。
当电源接通时, 将 PHY 通信使能信号作为具有低电平的信号输出。之后, 当可以进 行经由 SATA 总线 104 的通信时, 将 PHY 通信使能信号的电平切换至高电平。
在正在进行正常操作时 ( 在电源接通时 ) 发生以下状态时, 将电平被切换至高电 平的 PHY 通信使能信号的电平切换至低电平 :
(1) 从 HDD 控制器 115 接收到 ATA 复位命令 ;
(2) 进行针对数据加密装置 102 的硬件复位输入 ; 以及
(3)SATA 总线 104 的信号线断开。
连接检测电路 114 判断为上述状态中的 (1) 和 (2) 引起执行正常的操作。连接检 测电路 114 判断为 (3) 引起 SATA 总线 104 断开, 并且生成断开检测信号 1303, 由此向 CPU 106 通知该断开。
通过如图 13 所示、 在正在进行正常操作时 ( 在电源接通时 )PHY 通信使能信号的 电平低的时间段是否等于或长于预定时间段, 来判断 SATA 总线 104 的断开。
在本实施例中, 在 (1) 和 (2) 的情况下, 假定当实际进行操作时, PHY 通信使能信号 的电平低的时间段短于 100msec( 图 13 所示的 1301)。此外, 在 SATA 总线 104 的线缆或连 接器被拔出之后, PHY 通信使能信号的电平变低, 并且在再次连接该线缆或连接器之后 PHY 通信使能信号的电平变高之前, 需要 100msec 以上 ( 图 13 所示的 1302)。
如上所述, 在本实施例中, 当 PHY 通信使能信号的电平低的时间段等于或长于 100msec 时, 连接检测电路 114 判断为 SATA 总线 104 断开。连接检测电路 114 使断开检测信号 1303 的电平从低电平切换至高电平, 由此向 CPU 106 通知该断开。
注意, 在本发明的实施例中, 说明了 (1) ~ (3) 这三种状态作为在正在进行正常操 作时 ( 在电源接通时 )、 要切换 PHY 通信使能信号的电平的状态。然而, 除 (3) 以外的状态 不限于 (1) 和 (2) 这两种状态, 并且可以根据装置添加其它状态。
另外, 在本实施例中, 通过 PHY 通信使能信号的电平低的时间段是否等于或长于 100msec 来判断 SATA 总线 104 是否断开。然而, 预定时间段不限于 100msec, 并且可以变为 足以将 SATA 总线 104 从计算机系统 101 断开的状态与进行正常操作的状态区分开的预定 时间段。
接着, 将说明在连接检测电路 114 检测到 SATA 总线 104 的断开的情况下、 在数据 加密装置 102 的操作模式之间进行切换的操作。
图 14 是示出在根据本实施例的数据加密装置 102 中在操作模式之间进行切换的 操作的示例的流程图。由数据加密装置 102 的 CPU 106 进行该流程图所例示的处理。
在接通电源 ( 步骤 S1401) 之后, 在阻断模式 301 下启动数据加密装置 102( 步骤 S1402)。
然后, 如参考图 9 所示的序列图所述, 进行正常启动的情况下、 数据加密装置 102 和计算机系统 101 之间的相互认证 ( 步骤 S1403)。当正确地进行了认证时 ( 步骤 S1404 中 为 “是” ), 操作模式变为正常模式 302( 步骤 S1405)。作为对比, 当没有正确地进行认证时, 操作模式未变为操作模式 302, 并且该流程图结束。
在正在进行正常模式 302 的操作时 ( 步骤 S1406), 连接检测电路 114 检测 PHY 通 信使能信号 ( 步骤 S1407)。基于利用连接检测电路 114 的检测结果来判断 SATA 总线 104 是否断开 ( 步骤 S1408)。当判断为 SATA 总线 104 未断开时 ( 步骤 S1408 中为 “否” ), 处理 返回至步骤 S1406, 并且进行正常模式 302 的操作。作为对比, 当判断为 SATA 总线 104 断开 时 ( 步骤 S1408 中为 “是” ), 数据加密装置 102 使操作模式从正常模式 302 变为阻断模式 301。然后, 数据加密装置 102 进行用于取消对计算机系统 101 的认证的认证取消处理 ( 步 骤 S1409)。然后, 该流程图结束。
注意, 尽管参考图 14 所示的流程图说明了在参考图 9 所述的正常启动的情况下的 操作, 但该流程图可以应用于参考图 8 所述的初始安装的情况。在这种情况下, 图 8 所示的 生成种子信息的处理 ( 步骤 S807)、 存储特有信息的处理 ( 步骤 S809) 和生成加密密钥的处 理 ( 步骤 S810) 与图 14 所示的步骤 S1403 相对应。图 8 所示的使操作模式变为正常模式 302 的处理 ( 步骤 S813) 与图 14 所示的步骤 S1405 相对应。
如上所述, 根据图 14 所示的流程图, 当数据加密装置 102 从计算机系统 101(HDD 控制器 115) 断开时, 数据加密装置 102 的操作模式从正常模式 302 变为阻断模式 301。因 此, 由于不能从 HDD 103 读取数据并且不能对该数据进行解密, 因此可以维持 HDD 103 的安 全性。
图 15 是示出在 SATA 总线 104 断开、 数据加密装置 102 的操作模式变为阻断模式 301、 并且处于阻断模式 301 的数据加密装置 102 连接至不同的装置的情况下由数据加密装 置 102 进行的处理的示例的流程图。由数据加密装置 102 的 CPU 106 进行该流程图所例示 的处理。
数据加密装置 102 进行图 14 所示的流程图中的步骤 S1409 的处理, 并且该流程图结束。该状态下的数据加密装置 102 开始进行图 15 所示的流程图所例示的处理。在步骤 S1501 中, 维持阻断模式 301。在步骤 S1502 中, 数据加密装置 102 判断断开了的 SATA 总线 104 是否连接至装置。当 SATA 总线 104 连接至装置时, 信号在 SATA 总线 104 上流动。数 据加密装置 102 检测到该信号, 由此数据加密装置 102 可以判断为 SATA 总线 104 连接至装 置。在该步骤中, 数据加密装置 102 仅判断为 SATA 总线 104 连接至装置。因此, 数据加密 装置 102 的 CPU 106 不能够识别所连接的装置是数据加密装置 102 先前连接至的计算机系 统 101 还是不同的装置。当 CPU 106 判断为 SATA 总线 104 没有连接至不同的装置时, 处理 返回至步骤 S1501, 并且维持阻断模式 301。作为对比, 当 CPU 106 判断为 SATA 总线 104 连 接至不同的装置时, 处理进入图 14 所示的流程图中的步骤 S1403。如已经参考图 14 所述 的, 进行自步骤 S1403 起的处理。
这里, 当数据加密装置 102 连接至的装置是数据加密装置 102 先前连接至的计算 机系统 101 时, 正确地进行数据加密装置 102 和计算机系统 101 之间的相互认证 ( 步骤 S1403)( 步骤 S1404 中为 “是” ), 并且操作模式再次变为正常模式 302。因而, 数据加密装 置 102 返回至数据加密装置 102 在 SATA 总线 104 断开之前所处于的状态。
这里, 作为对比, 当数据加密装置 102 连接至的装置是与数据加密装置 102 先前连 接至的计算机系统 101 不同的装置 ( 例如, 图 17 所示的不同的计算机系统 1601) 时, 数据 加密装置 102 和该装置之间的相互认证 ( 步骤 S1403) 并未正确地完成 ( 步骤 S1404 中为 “否” )。因而, 数据加密装置 102 的操作模式没有变为正常模式 302。其原因是, 除非连接 目的地是在参考图 8 所述的初始安装的情况下获得了其特有信息的计算机系统 101, 否则 并未正确地进行认证。
在执行图 14 和 15 所示的处理时, 当利用除 SATA 总线 104 应当连接至的计算机系 统 101 以外的不同的装置替换计算机系统 101 时, 数据加密装置 102 不对 HDD 103 中存储 的加密数据进行解密, 也不将解密后的数据发送至替换之后所连接的装置。 因而, 可以维持 HDD 103 中存储的数据的机密性。
连接检测电路的其它实施例
此外, 在上述实施例中, 连接检测电路 114 通过使用如图 13 所示的 PHY 通信使能 信号的断开时间来检测 SATA 总线 104 的断开。然而, 可以使用其它检测方法。图 16 是示 出 ATA 总线选择器 107 的硬件结构的其它示例的图。利用图 16 所示的结构替换图 4 所示 的结构, 由此配置成根据其它实施例的数据加密装置 102。 在图 16 中, 利用相同的附图标记 来表示与图 4 中的元件相同的元件, 并且省略对这些元件的说明。参考图 16, 设置有针对 SATA 总线 104 的连接检测信号 116, 并且连接检测电路 114 可以检测连接检测信号 116 中 的变化, 由此可以检测 SATA 总线 104 的物理连接状态。参考图 16, 连接检测电路 114 控制 连接检测信号 116, 以使得在插入接口的情况下检测到连接检测信号 116 的低电平, 并且在 拔下接口的情况下检测到连接检测信号 116 的高电平。然而, 当设置有其它检测信号时, 用 于检测连接 / 断开的方法不限于此。此外, 检测信号可以在不经由连接检测电路 114 的情 况下直接连接至 CPU 106。
另外, 在上述实施例中, 说明了数据加密装置 102 和计算机系统 101 之间的 SATA 总线 104 的连接作为例子。然而, 本发明不限于该实施例。例如, 代替数据加密装置 102, 本实施例中的结构可以应用于存储装置、 移动终端、 移动音乐播放器、 移动视频再现装置或移动游戏机等。此外, 代替计算机系统 101, 本实施例中的结构可以应用于复印机、 打印机、 传真设备、 多功能装置或游戏机等。当使用复印机、 打印机、 传真设备或多功能装置作为计 算机系统 101 时, 将加密后的图像数据或加密后的文档数据存储在 HDD 103 中。此外, 代替 SATA 总线 104, 可以使用支持热交换的其它接口 (USB、 IEE 1394 接口、 网络和个人计算机 (PC) 卡 ) 中的任一接口。另外, 代替 HDD 103, 可以使用闪速存储器等的其它存储装置以及 外围装置中的任一个。
其它实施例
在其它实施例中, 直接地或远程地向系统或装置供给用于实现上述实施例的各功 能的控制程序, 并且由该系统等中包括的计算机来读取并执行所供给的程序的程序代码, 由此也实现了本发明。
另外, 为了在计算机或装置上实现本发明的实施例的功能和处理, 要安装至该计 算机或装置中的控制程序的程序代码可以实现本发明。换言之, 根据其它实施例可以提供 用于实现这些功能和处理的控制程序。
在这种情况下, 诸如程序代码、 由解释器执行的程序或要供给至操作系统 (OS) 的 脚本数据等的程序的形式无关紧要, 只要该程序具有功能即可。
用于供给程序的记录介质的例子包括软盘、 硬盘、 光盘、 磁光盘 (MO)、 CD-ROM、 CD-R 和 CD-RW 等。另外, 这些例子包括磁带、 非易失性存储卡、 ROM 或者 DVD(DVD-ROM 或 DVD-R) 等。
此外, 可以通过使用客户计算机的浏览器从因特网或内联网上的网页下载程序。 换言之, 可以将根据本发明实施例的程序、 或对程序进行了压缩并具有自动安装功能的文 件下载至硬盘等的记录介质中。另外, 可以将根据本发明实施例的程序中包括的程序代码 分割成文件, 并且从彼此不同的网站下载各个文件, 由此实现该程序。换言之, 使用户下载 用于利用计算机实现本发明实施例的功能和处理的程序文件的万维网 (WWW) 服务器可以 作为本发明实施例中的元件。
此外, 可以对根据本发明实施例的程序进行加密, 将该程序存储在 CD-ROM 等的存 储介质中, 并将该程序分配至用户。 在这种情况下, 仅可以允许满足预定条件的用户经由因 特网或内联网从网站下载解密用的密钥信息, 并且可以使用该解密信息对加密后的程序进 行解密。可以执行解密后的程序并将该程序安装至计算机中。
此外, 可以通过利用计算机执行所读取的程序来实现上述实施例的功能。 注意, 在 计算机上运行的 OS 可以根据程序的指令实际进行处理的一部分或全部。当然, 同样在这种 情况下, 可以实现上述实施例的功能。
另外, 可以将从记录介质读取的程序写入在插入至计算机中的功能扩展板上设置 的、 或在连接至计算机的功能扩展单元中设置的存储器中。该功能扩展板或功能扩展单元 上设置的 CPU 等可以实际进行这些处理的一部分或全部。这样, 也可以实现上述实施例的 功能。
如上所述, 根据实施例, 当在数据加密装置 102 正在正常模式 302 下进行操作时、 数据加密装置 102 检测到通过拔下 SATA 总线 104 的线缆等所引起的断开时, 除非数据加密 装置 102 再次进行数据加密装置 102 和计算机系统 101 之间的认证, 否则数据加密装置 102 不能存取 HDD 103。因此, 如图 17 所示, 当 SATA 总线 104 的线缆连接至不同的计算机系统1601 等时, 没有正确地完成认证。因而, 数据加密装置 102 不能使操作模式变为正常模式 302, 并且可以避免 HDD 103 中存储的数据泄漏。
尽管已经参考典型实施例说明了本发明, 但是应该理解, 本发明不限于所公开的 典型实施例。所附权利要求书的范围符合最宽的解释, 以包含所有这类修改以及等同结构 和功能。
本申请要求 2008 年 3 月 13 日提交的日本专利申请 2008-064252 的优先权, 在此 通过引用包含其全部内容。