把应该隐藏的数据加密,输入输出的方法和装置的制作方法

文档序号:6396073阅读:116来源:国知局
专利名称:把应该隐藏的数据加密,输入输出的方法和装置的制作方法
技术领域
本发明涉及数据输入输出技术,特别是涉及在存储装置和主机装置之间把应该隐藏的数据加密,输入输出的技术。
背景技术
近年,存储元件的小型化、集成化、批量生产化飞跃发展,记录媒体的小型化、大容量化、低价化不断进展。在这样的状况下,本申请人为了实现方便性高的记录媒体,考虑到通过使以往一般固定连接在一个主机装置上使用的大容量硬盘对于主机装置可自由插拔,作为能在多个主机装置中共享数据的可移动媒体处理。能把小型并且大容量、访问速度比较高速的硬盘作为可移动媒体利用,其价值大。
特开2000-173158号公报发明内容(发明要解决的课题)如果考虑用户的方便性,希望在任意主机装置中能读写移动硬盘,但是相反,用任意的主机装置能读写就意味着存在对第三者泄漏数据的危险性。在音乐或图象等数字内容的流通引人注目的现在,为了恰当地保护著作权,防止数字内容的流出,开发能恰当地保护应该隐藏的数据的技术是重要的。
本发明是鉴于所述状况而提出的,其目的在于提供提高存储装置和主机装置之间把应该隐藏的数据加密、输入输出时的处理效率的技术。
(解决课题的手段)本发明的某形态涉及主机装置。该主机装置与存储数据的存储装置之间,输入输出数据,包括把对应该隐藏的数据加密,输入输出的一系列加密输入输出处理分割为多个步骤,对存储装置发行用于使存储装置执行该步骤中应该在存储装置一侧执行的步骤的命令的控制器;控制器在发行所述命令前,从存储装置取得用于推测命令的执行所需的时间的信息,根据取得的信息,设定各命令的待机时间,对存储装置发行命令后,存储装置待机对命令设定的待机时间后,对存储装置发行下一步骤的命令。
通过把加密输入输出处理分割为多个步骤,把命令细化,高效释放总线,在进行加密、译码、杂乱演算、产生随机数、日志检索等比较需要时间的处理时,能发行其他命令。当发行属于加密输入输出处理的命令后,在发行后续命令之前,多次对存储装置查询上次的命令执行是否结束在效率上差,所以只待机推测为命令的执行所需时间后,发行后续的命令。
用于推测的信息包含执行命令所需的典型的处理时间、平均处理时间、或最大处理时间。用于推测的信息也可以包含为了执行命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算及日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。根据这些基本处理所需的时间,可以推测执行命令所需的时间。
本发明的其他形态涉及存储装置。该存储装置包括存储数据的存储媒体;存储媒体与主机装置之间,进行用于把应该加密的数据加密、输入输出的一系列加密输入输出处理时,从主机装置接收把该加密输入输出处理分割为多个步骤而发行的命令的控制器;执行命令的加密处理部;控制器按照来自主机装置的要求,加密处理部提供主机装置用于推测命令的执行所需的时间的信息。
加密输入输出处理沿着该处理的步骤,分割为以下任意的处理单位从主机装置接收数据的输入,按照必要,用加密处理部进行加密或译码的处理;为了向主机装置输出数据,由加密处理部进行加密、译码或署名的处理;向主机装置输出数据的处理;命令按分割的各处理单位发行。
用于推测的信息包含执行命令所需的典型的处理时间、平均处理时间、或最大处理时间。用于推测的信息包含为了执行命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算及日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。
本发明的其他形态涉及数据输入输出方法。该方法在存储数据的存储装置和主机装置之间,把应该加密的数据加密,输入输出的一系列加密输入输出处理,包括把加密输入输出处理分割为多个步骤,主机装置执行该步骤中应该在所述主机装置一侧执行的步骤的步骤;为了使存储装置执行应该在存储装置一侧执行的步骤,主机装置对存储装置发行命令;存储装置接收命令的步骤;存储装置执行命令的步骤;主机装置在发行所述命令前,从存储装置取得该存储装置用于推测命令的执行所需的时间的信息,把命令对所述存储装置发行后,待机推测为命令的执行所需的时间后,发行下一步骤的命令。
须指出的是,把以上的构成要素的任意组合、本发明的表现在方法、装置、系统、记录媒体、计算机程序等之间变换时,作为本发明的形态也是有效的。


下面简要说明附图。
图1是表示实施方式1的数据管理系统的全体结构的图。
图2是表示实施方式1的记录装置的内部结构的图。
图3是表示实施方式1的再现装置的内部结构的图。
图4是表示实施方式1的存储设备的内部结构的图。
图5是表示图2所示的记录装置的加密引擎的内部结构的图。
图6是表示图3所示的再现装置的加密引擎的内部结构的图。
图7是表示图4所示的存储设备的加密引擎的内部结构的图。
图8是表示主机装置从存储设备取得用于推测存储设备中的命令执行所需的时间的信息的步骤的图。
图9是表示记录装置对存储设备记录许可证数据之前的步骤的图。
图10是表示记录装置对存储设备记录许可证数据之前的步骤的图。
图11是表示记录装置对存储设备记录许可证数据之前的步骤的图。
图12是表示记录装置对存储设备记录许可证数据之前的ATA接口上的步骤的图。
图13是表示再现装置从存储设备读出许可证数据之前的步骤的图。
图14是表示再现装置从存储设备读出许可证数据之前的步骤的图。
图15是表示再现装置从存储设备读出许可证数据之前的步骤的图。
图16是表示记录装置对存储设备发行安全命令的样子的图。
图17是表示实施方式2的数据关系系统的全体结构的图。
图18是表示实施方式2的记录再现装置的内部结构的图。
图19是表示实施方式3的记录装置的内部结构的图。
图20是表示实施方式4的终端装置的内部结构的图。
符号说明10-数据管理系统;100-记录装置;101-控制器;102-存储器接口;103-加密引擎;104-加密器;105-内容编码器;110-数据总线;120-认证部;121-第一加密部;122-随机数发生部;123-译码部;124-第二加密部;125-日志存储器;130-局域总线;150-发送服务器;151-控制器;152-通信装置;153-内容数据库;154-许可证数据库;155-用户数据库;156-数据总线;160-终端装置;162-通信装置;166-数据总线;200-存储设备;201-控制器;202-存储器接口;203-加密引擎;204-通常数据存储部;205-机密数据存储部;210-数据总线;220-数据寄存器;221-状态寄存器;222-控制部;224-随机数发生部;225-证明书输出部;226-认证部;227-第一译码部;228-第一加密部;229-第二译码部;230-第二加密部;231-日志存储器;240-局域总线;300-再现装置;301-控制器;302-存储器接口;303-加密引擎;304-译码器;305-内容解码器;310-数据总线;320-证明书输出部;321-第一译码部;322-加密部;323-随机数发生部;324-第二译码部;330-局域总线;400-记录再现装置;401-控制器;402-存储器接口;410-数据总线。
具体实施例方式
(实施方式1)图1表示实施方式1的数据管理系统10的全体结构。数据管理系统10具有控制对存储设备200记录数据的记录装置100、控制记录在存储设备200中的数据的再现的再现装置300及存储保持数据的存储设备200。本实施方式的存储设备200不仅是保持数据的存储媒体,是具有控制存储设备100或再现装置300等主机装置和存储媒体之间的数据输入输出的控制器等结构的驱动一体型的存储装置。在本实施方式中,作为存储设备200,以硬盘驱动器为例进行说明。
以往的硬盘一般固定连接在一个主机装置上使用,但是本实施方式的存储设备200对于记录装置100和再现装置300等主机装置可自由插拔。即本实施方式的存储设备200能与CD或DVD等同样,从主机装置取出、运输,是在记录装置100、再现装置300、能进行记录和再现的记录再现装置等多个主机装置间能公用的存储装置。
这样,本实施方式的存储设备200以连接在多个主机装置上为前提,例如连接在所有者以外的第三者的主机装置上,有可能读出记录在内部的数据。当假定在该存储设备200中记录音乐和图象等应该由著作权保护的内容、企业或个人的机密信息等应该保密的数据时,为了防止这些保密数据泄漏到外部,在存储设备200自身上设置用于恰当保护数据的结构,使其具有充分的耐篡改功能。从该观点出发,本实施方式的存储设备200当与主机装置之间输入输出保密数据时,具有用于把保密数据加密、交换的结构。此外,为了存储保密数据,设置与通常的记录区域不同的机密数据存储区域,该机密数据存储区域的结构为如果不通过设置在存储设备200内的加密引擎,就无法访问。加密引擎只对认证为具有正当权限的主机装置输出保密数据。以下,把这样的数据保护功能称作“安全功能”。根据所述结构和功能,能恰当保护记录在存储设备200中的保密数据。
为了最大限度利用存储设备200的作为可移动媒体的特征,关于通常的数据,希望用不是对应安全功能的主机装置也能输入输出。因此,本实施方式的存储设备200为了保持与以往的硬盘的互换性,对应于ANSI(American National Standards Institute)的标准规格ATA(AT attachment),上述的安全功能作为ATA的扩展命令实现。ATA采用单命令接口,如果发行一个命令,则在命令结束之前占有总线,无法执行下一命令。可是,如上所述,在存储设备200一侧设置用于加密通信的结构,如果把保密数据加密输入输出,则在加密和译码等处理中需要较长时间,所以保密数据的输入输出命令所需的时间比通常数据的输入输出命令所需的时间长。例如从存储设备200读出保密数据时,如果对存储设备200发行读出命令,则存储设备200通过自身的加密引擎从机密数据存储区域读出相应的保密数据,在与主机装置之间交换为了向主机装置发送该保密数据而使用的密钥后,用该密钥把保密数据加密后,向总线输出。这时,在执行加密和译码等处理时,尽管实际上不使用总线,处于由该命令占有的状态。
在本实施方式中,为了极力节省这样无用的对总线的占有,高效利用总线,谋求处理的高速化,把用于保密数据的输入输出的一系列加密输入输出处理分割为多个步骤,把命令细化、发行。而且,在加密或译码等不使用总线的处理时,尽可能释放总线,以便能发行其他命令。
可是,当把用于输入输出保密数据的加密输入输出处理分割为多个步骤时,如果这些步骤的执行顺序颠倒,就有可能发生安全漏洞。因此,在本实施方式中,存储设备200的加密引擎管理保密数据的输入输出中的步骤的执行顺序,当接收到非法的顺序的命令时,拒绝该命令的执行,发回出错响应。
当记录装置100或再现装置300等主机装置对存储设备200发行关于加密输入输出处理的命令,接着,发行按顺序的下一命令时,存储设备200一侧正在执行前面的命令时,不受理下一命令。主机装置胡乱对存储设备200继续发行命令是没有效率的。因此,在本实施方式中,主机装置预先从存储设备200取得用于推测命令的执行所需的时间的信息,在发行命令后,只待机推测为该命令的执行所需的时间后,发行下一命令。据此,能把无用命令的发行抑制在最小限度。
下面,作为保密数据的输入输出的例子,说明记录再现图象或音乐等数字内容时的情形。可以把内容自身作为保密数据处理,但是在本实施方式中,把内容加密,把加密的内容自身作为通常的数据进行输入输出。而且,把包含用于把加密的内容译码的密钥(称作内容密钥)的内容的译码和利用所必要的数据(称作许可证数据)作为保密数据,使用上述的安全功能,进行输入输出。据此,不但能维持充分的耐篡改性,而且能简化数据的输入输出,谋求处理的高速化和耗电的降低。这里,许可证数据除了内容密钥,还包含关于许可证的利用、移动、复制的信息、用于确定许可证数据的许可证ID等。以下,在记录装置100、再现装置300等主机装置对存储设备200发行的命令中,把用于安全功能的命令称作“安全命令”,把其他命令称作“通常命令”。
图2表示实施方式的记录装置100的内部结构。该结构在硬件上,能用任意的计算机的CPU、存储器、其他LSI等实现,在软件上能由加载到存储器中的具有记录控制控制的程序等实现,但是这里描绘通过它们的联合而实现的功能块。因此,对于业内人士来讲,能理解这些功能块能只由硬件、只由软件或由它们的组合,以各种形式实现。记录装置100主要具有控制器101、存储器接口102、加密引擎103、加密器104、内容编码器105、电连接它们的数据总线110。
内容编码器105把由在线或脱线取得的内容编码为给定形式。例如,把通过网络取得的图象数据编码为JPEG形式,可以把从广播波取得的图象数据编码为MPEG形式。加密器104把编码的内容加密,发行用于把加密的内容译码的内容密钥。加密的内容通过数据总线110和存储器接口102记录到存储设备200中。把内容密钥通知加密引擎103,加密引擎103为了把包含内容密钥的许可证数据输入存储设备200中,与存储设备200之间进行加密通信的控制。存储器接口102控制与存储设备200的数据的输入输出。控制器101统一控制记录装置100的构成要素。
图3表示实施方式的再现装置300的内容结构。这些功能块能只由硬件、只由软件或由它们的组合,以各种形式实现。再现装置300主要具有控制器301、存储器接口302、加密引擎303、译码器304、内容译码器305、电连接它们的数据总线310。
存储器接口302控制与存储设备200的数据的输入输出。加密引擎303为了从存储设备200接收包含内容密钥的许可证数据,在与存储设备200之间进行加密通信的控制。译码器304根据从存储设备200取得的许可证数据中包含的内容密钥,把从存储设备200读出的加密的内容译码。内容译码器305把由译码器304译码的内容解码、输出。例如,如果是图象数据,就向未图示的显示装置输出,如果是声音数据,就向未图示的扬声器输出。控制器301统一控制再现装置300的构成要素。
图4表示实施方式的存储设备200的内容结构。存储设备200主要具有控制器201、存储器接口202、加密引擎203、通常数据存储部204、机密数据存储部205以及电连接它们的数据总线210。
存储器接口202控制与记录装置100以及再现装置300的数据的输入输出。加密引擎203进行用于与记录装置100以及再现装置300之间输入输出包含内容密钥的许可证数据等保密数据的加密通信的控制。通常数据存储部204记录加密的内容或通常的数据等。机密数据存储部205记录包含内容密钥的许可证数据等保密数据。控制器201统一控制存储设备200的构成要素。通常数据存储部204从外部直接进行访问(数据的输入输出),但是机密数据存储部205的结构为无法进行不通过加密引擎203的访问(数据的输入输出)。
图5表示图2所示的记录装置100的加密引擎103的内部结构。加密引擎103具有认证部120、第一加密部121、随机数发生部122、译码部123、第二加密部124、日志存储器125、电连接这些构成要素的至少一部分的局域总线130。
认证部120认证从存储设备200取得的证明书。证明书由包含公开键平文的信息(称作“证明书主体”)、对证明书主体付与的电子署名构成。该电子署名是通过第三者机关的认证局(未图示)的进路键Kpa把对证明书主体进行基于杂乱函数的演算(把该演算处理称作“杂乱演算”)的结果加密的数据。进路键Kpa是由认证局严格管理的非公开的键,成为认证局的密钥。认证部120保持有与该进路键Kpa成为的认证键KPa。该是认证键KPa验证证明书的正当性的公开键。证明书的正当性的验证是比较杂乱函数对于应该验证的证明书的证明书主体的演算结果和用认证键KPa把电子署名译码的结果的处理,当两者一致时,判断为正当。把判断证明书的正当性,承认正当的证明书的处理称作认证。认证部120如果认证成功,就取出存储设备200的公开键KPc,传递给第一加密部121,如果认证失败,就输出出错通知。
随机数发生部122产生为了与存储设备200之间进行加密通信而暂时使用的挑战键Ks1。每次进行加密通信时,通过根据随机数产生挑战键Ks1,能把识破挑战键Ks1的可能性抑制在最小限度。生成的挑战键Ks1传递给第一加密部121和译码部123。第一加密部121为了向存储设备200通知挑战键Ks1,用由认证部120取出的存储设备200的公开键KPc把挑战键Ks1加密,生成加密公共键E(KPc、Ks1)。这里,函数E表示加密,E(KPc、Ks1)表示用KPc把Ks1加密。
译码部123把由挑战键Ks1加密的数据译码。由存储设备200发行的对话键Ks2通过挑战键Ks1加密,从存储设备200提供,所以译码部123取得随机数发生部122产生的挑战键Ks1,把对话键Ks2译码。把译码的对话键Ks2传递给第二加密部124。第二加密部124取得包含加密器104把内容加密时发行的内容密钥的许可证数据,把该许可证数据通过由存储设备200发行的对话键Ks2加密。日志存储器125保持一系列的加密输入输出处理的处理日志。
在图5中,加密引擎103的构成要素中,认证部120、第一加密部121、译码部123、第二加密部124、日志存储器125通过局域总线130电连接,通过局域总线130连接在记录装置100的数据总线110上。在连接各构成要素的形态上考虑到各种变更例,但是在本实施方式中,产生挑战键的随机数发生部122不直接连接在数据总线110上。据此,防止加密引擎103内使用的各键通过记录装置100的其他构成要素泄漏到外部,能提高安全性。
图6表示图3所示的再现装置300的加密引擎303的内部结构。加密引擎303具有证明书输出部320、第一译码部321、加密部322、随机数发生部323、第二译码部324及电连接这些构成要素的至少一部分的局域总线330。
证明书输出部320输出再现装置300的证明书。证明书可以由证明书输出部320保持,也可以保持在未图示的证明书保持部中,读出它。证明书由包含再现装置300的公开键KPb的证明书主体、对证明书主体付与的电子署名构成。电子署名与存储设备200的证明书同样,由认证局的进路键Kpa加密。第一译码部321用密钥Kpb把由公开键KPb加密的数据译码。由存储设备200发行的挑战键Ks3由再现装置300的公开键KPb加密,从存储设备200提供,所以第一译码部321通过自身的密钥Kpb译码,取出挑战键Ks3。把取出的挑战键Ks3传递给加密部322。随机数发生部323产生为了与存储设备200之间进行加密通信而暂时使用的对话键Ks4。把生成的对话键Ks4传递给加密部322及第二译码部324。
加密部322为了对存储设备200通知对话键Ks4,用由第一译码部321取出的挑战键Ks3把对话键Ks4加密。第二译码部324把由对话键Ks4加密的数据译码。许可证数据由对话键Ks4加密,从存储设备200提供,所以第二译码部324通过随机数发生部323产生的对话键Ks4译码,取出许可证数据。把取出的许可证数据传递给译码器304,译码器304使用该许可证数据中包含的内容密钥,把加密的内容译码。
在图6所示的加密引擎303中,在连接各构成要素的形态上考虑到各种变更例,但是在本实施方式中,通过采用产生挑战键的随机数发生部323不直接连接在数据总线310上的结构,能防止加密引擎303内使用的密钥泄漏到外部。
图7表示图4所示的存储设备200的加密引擎203的内部结构。这些功能块能只由硬件、只由软件或由它们的组合,以各种形式实现。加密引擎203具有数据寄存器220、状态寄存器221、控制部222、随机数发生部224、证明书输出部225、认证部226、第一译码部227、第一加密部228、第二译码部229、第二加密部230、日志存储器231、电连接这些构成要素的至少一部分的局域总线240。
数据寄存器220是用于数据的输入输出的寄存器,是与加密引擎203的外部结构之间进行数据输入输出的中介。状态寄存器221保持用于对加密引擎203指示控制器201从记录装置100或再现装置300接收的安全命令的执行的执行指示、加密引擎203用于把安全命令的处理状态或处理结果等通知控制器201的状态信息等。
存储设备200的控制器201如果从记录装置100或再现装置300接收安全命令,就在状态寄存器221中存储该命令的执行指示(开始指示)。例如,对安全命令按执行顺序分别付与编号,通过把控制器201接收的安全命令的编号存储在状态寄存器221中,对于加密引擎203指示该命令的执行。控制部222如果在状态寄存器221中存储新的执行指示,就开始该处理。
控制部222把从控制器201通知的命令的处理状态和处理结果存储到状态寄存器221中。处理状态例如能以表示正在执行处理的状态“Busy”、表示未在执行处理的状态“Ready”等两个状态表现,处理结果能以表示处理正常结束的“Normal”、表示处理异常结束的“Error”等2个状态表现。控制部222如果通过加密引擎203开始安全命令的执行,就把状态寄存器221的处理状态变更为“Busy”,如果安全命令的执行结束,就把状态寄存器221的处理状态变更为“Ready”,并且把命令的结束理由反映到处理结果中。
随机数发生部224产生与记录装置100或再现装置300之间的加密通信中暂时使用的对话键Ks2或挑战键Ks3。这时,随机数发生部224进行随机数演算。日志存储器231保持一系列的加密输入输出处理的处理日志。
证明书输出部225输出存储设备200的证明书。证明书可以由证明书输出部225保持,也可以在存储设备200的给定存储区域例如机密数据存储区域205中保持,读出它。证明书由包含存储设备200的公开键KPc的证明书主体、对证明书主体付与的电子署名。电子署名由认证局的进路键Kpa加密。认证部226认证从再现装置300取得的证明书。认证部226根据认证键KPa验证从外部提供的证明书的正当性。如果认证成功,认证部226就取出证明书中包含的再现装置300的公开键KPb,存储到数据寄存器220中,如果认证失败,就对控制部222输出出错通知。认证部226当认证证明书时,进行把由公开键加密方式的公开键加密的数据译码的译码演算及对于证明书主体的杂乱演算。
第一译码部227进行用于把由公开键加密方式的公开键加密的数据译码的译码演算。具体而言,用自身的密钥Kpc把由自身的公开键KPc加密的数据译码。第一译码部228进行用于以公开键加密方式的公开键加密数据的加密演算。具体而言,用从再现装置300取得的再现装置300的公开键KPb,把随机数发生部224发行的挑战键Ks3加密。第二译码部229进行用于把以公共键加密方式的密钥加密的数据译码的译码演算。具体而言,把用随机数发生部224发行的对话键Ks2或挑战键Ks3加密的数据分别以对话键Ks2或挑战键Ks3译码。第二加密部230进行以公共键加密方式把数据加密的加密演算。具体而言,用记录装置100发行的挑战键Ks1或再现装置300发行的对话键Ks4把由随机数发生部224发行的对话键Ks2或许可证数据分别加密。
图8表示从存储设备取得表示存储设备是否支持安全命令组的信息,当与安全命令对应时,取得用于推测安全命令的执行所必要的信息。如果存储设备200连接在记录装置100上,记录装置100的控制器101就对存储设备200发行设备信息输出命令(S400)。存储设备200的控制器201如果从记录装置100的控制器101收到设备信息输出命令(S402),就输出设备信息(S404)。作为设备信息,例如,通知硬盘的种类、通常数据的记录容量、接口的条件、支持的命令组等信息。控制器101如果收到存储设备200的设备信息(S406),就判断存储设备200是否支持安全命令组(S408),如果不支持(S408的N),就作为不是对应于安全命令的硬盘处理。
如果存储设备200支持安全命令(S408的Y),接着,控制器101发行安全信息输出命令(S410)。控制器201如果收到安全信息输出命令(S412),就输出安全信息(S414)。当存储设备200接收到安全命令时,作为安全信息,通知用于推测执行该命令所需的时间的信息即例如为了执行安全命令而使用的基本处理即公开键方式加密演算、公共键方式加密演算、公开键方式译码演算、公共键方式译码演算、杂乱演算、随机数发生演算、日志检索处理等各基本处理所需的典型时间(Typical Time)。典型时间是指如果发行100次同一安全命令,就意味着其中99次在该时间内结束的除去例外的处理时间。控制器101如果收到存储设备200的安全信息(S416),就根据接收的信息,决定发行各安全命令时的等待时间(S418)。
作为用于推测执行命令所需时间的信息,代替各基本处理所需的典型的处理时间,可以输出平均处理时间或最大处理时间,也可以组合它们输出。在任何时候,控制器101取得存储设备200输出的基本处理所需的处理时间,根据各安全命令执行的基本处理,推测各安全命令所需的时间。此外,代替基本处理所需的时间,可以输出各安全命令的执行所需的典型的处理时间、平均处理时间、或最大处理时间,也可以组合它们输出。在任何时候,控制器101从存储设备200输出的用于推测的信息推测各安全命令的发行后到发行下一安全命令前的等待时间。在图8中,说明了记录装置100作为主机装置起作用的例子,但是再现装置300作为主机装置起作用时也同样。
图9、图10、图11表示记录装置100向存储设备200记录许可证数据之前的步骤。首先,记录装置100的控制器101对存储设备200发行证明书输出命令(S102)。控制器201如果正常受理证明书输出命令,就对加密引擎203指示证明书的输出。在图16中详细描述安全命令的发行和受理的细节。控制部222把状态寄存器221的处理状态变更为“Busy”(S300),证明书输出部225把证明书存储到数据寄存器220(S302)中。如果处理结束,则控制部222把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S304)。控制器201从数据寄存器220读出证明书,向记录装置100输出(S106)。
控制器101如果从存储设备200取得证明书,就把它发送给记录装置100的加密引擎103(S108)。加密引擎103如果收到存储设备200的证明书(S110),认证部120就用认证键KPa认证证明书的正当性(S112)。当未承认证明书的正当性时(S112的N),认证部120就对控制器101发送出错通知(S190)。控制器101如果收到出错通知(S192),就异常结束处理。当认证了证明书时(S112的Y),加密引擎103就通过随机数发生部122产生挑战键Ks1(S114),通过加密部121,用存储设备200的公开键KPc把生成的挑战键Ks1加密,生成加密公共键E(KPc、Ks1),向控制器101发送(S16)。
控制器101如果收到加密公共键E(KPc、Ks1)(S118),就对存储设备200发行挑战键输入命令(S120)。控制器201如果正常受理挑战键输入命令,就对记录装置100输出加密公共键E(KPc、Ks1)的输入要求(S122)。控制器101按照该输入要求,把加密公共键E(KPc、Ks1)向存储设备200输出(S124)。控制器201如果受理加密公共键E(KPc、Ks1)(S126),就把它存储在数据寄存器220中(S128),把受理通知发送给控制器101(S130)。然后,对加密引擎203指示挑战键的受理。
控制部222把状态寄存器221的处理状态变更为“Busy”(S310),从数据寄存器220取出加密公共键(KPc、Ks1),提供给第一译码部227。第一译码部227把由存储设备200的密钥Kpc提供的加密公共键E(KPc、Ks1)译码,取出挑战键Ks1(S312),向控制部222输出(S314)。控制部222如果取得挑战键Ks1,就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S316)。
而控制器101如果结束加密公共键E(KPc、Ks1)的输入,存储设备200就待机推测为挑战键输入命令的执行所需的时间(S131)。由挑战键输入命令执行的处理是把加密公共键E(KPc、Ks1)译码,取出公共键Ks1,保持它的处理,所以可以只待机公开键方式的译码处理所需的时间。这时,通常命令的发行成为可能,控制器101按照必要发行通常命令。如果经过推测为挑战键输入命令的执行所需的时间,控制器101就对存储设备200发行对话键准备命令(S132)。如后所述,如果挑战键输入命令的执行未结束,控制器201就不受理对话键准备命令,但是如果命令的执行结束,则控制器201受理对话键准备命令。
控制器201如果正常受理对话键准备命令,就向记录装置100输出许可证ID的输入要求(S133)。该许可证ID是通过图9到图11所示的一系列加密输入输出处理向存储设备200写入的许可证数据的ID,用于处理日志的记录、输入的许可证数据的确认。控制器101按照该输入要求,把许可证ID向存储设备200输出(S134)。控制器201如果受理许可证ID(S136),就把它存储到数据寄存器220中(S138),把受理通知发送给控制器101(S140)。
控制部222把状态寄存器221的处理状态变更为“Busy”(S320)。随机数发生部224产生对话键Ks2,向控制部222输出(S322)。而且,控制部222对日志存储器231记录作为处理日志的许可证ID、生成的对话键Ks2和作为状态信息的RP(Receive Prepare/准备接收)(S326),把对话键Ks2和挑战键Ks1提供给第二加密部230。第二加密部230用挑战键Ks1把对话键Ks2加密,生成加密键(Ks1、Ks2),存储到数据寄存器220(328)。如果处理结束,控制部222就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S329)。
而控制器101如果收到对话键准备命令的受理通知,存储设备200就待机推测为对话键准备命令的执行所需的时间(S141)。由对话键准备命令执行的处理是产生对话键Ks2,用Ks1把Ks2加密的处理,所以可以只待机随机数发生处理和公共键方式的加密处理所需的时间。如果经过推测为对话键准备命令的执行所需的时间,控制器101就对存储设备200发行对话键输出命令,控制器201受理对话键输出命令(S142)。如后所述,如果对话键准备命令未结束,就不受理对话键输出命令,但是,如果命令的执行结束,就受理。如果受理命令,控制器201就从数据寄存器220读出加密键E(Ks1、Ks2),向控制器101输出(S146)。
控制器101如果从存储设备200收到加密键E(Ks1、Ks2),就把它发送给加密引擎103(S148)。加密引擎103如果从控制器101收到加密键E(Ks1、Ks2)(S150),译码器123就用挑战键Ks1把加密键E(Ks1、Ks2)译码,取出对话键Ks2(S152)。接着,加密引擎103通过第二加密部124把加密器104发行的包含内容的内容密钥和许可证ID的许可证数据用存储设备200发行的对话键Ks2加密,生成加密许可证数据,发送给控制器101(S154)。
控制器101如果收到加密许可证数据(S156),就对存储设备200发行许可证数据输入命令(S158)。许可证输入命令伴随着对存储设备200写入许可证数据的地址的指定。控制器201如果正常受理许可证数据输入命令,控制器201就向记录装置100输出加密许可证数据的输入要求(S160)。控制器101按照数据的输入要求,把加密许可证数据向存储设备200输出(S162)。控制器201如果受理加密许可证数据(S164),就把它存储在数据寄存器220中(S166)。然后,把数据的受理通知对记录装置100输出,同时指示加密引擎203受理许可证数据(S167)。
控制部222把状态寄存器221的处理状态变更为“Busy”(S330),从数据寄存器220取得加密许可证数据,与对话键Ks2一起提供给第二译码部229。第二译码部229用对话键Ks2把加密许可证数据译码,取出许可证数据,把取得的许可证数据提供给控制部222(S332)。控制部222如果收到许可证数据,就比较许可证数据内的许可证ID和处理日志内的许可证ID(S334)。当两个许可证ID不同时(S334的N),控制部222就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Error”(S336)。
当两个许可证ID一致时(S334的Y),控制部222在处理日志中记录指定地址,把处理日志内的状态信息从RP变更为RL(Receive License/受理许可证)(S338)。然后,进行把许可证数据存储到机密数据存储部205的指定地址中的存储处理(S340)。如果数据的存储由于任意的理由而未正常结束,就失去许可证数据,所以确认存储处理是否正常结束(S342)。如果未记录数据,就结束存储处理时(S342的N),控制部222把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Error”(S344)。当正常存储数据时(S342的Y),就把日志存储器231的处理日志内的状态信息从RL变更为RC(Receive Completed/接收结束)(S346)。如果处理日志的变更结束,控制部222就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S348)。
而如果控制器101收到数据的受理通知,存储设备200就待机推测为许可证数据输入命令的执行所需的时间(S168)。由许可证数据输入命令执行的处理是用对话键Ks2把输入的加密许可证数据译码的处理、把输入的许可证数据记录到机密数据存储部205中的处理,所以可以只待机把公共键方式的译码处理所需的时间和记录所需时间相加的时间。如果经过推测为许可证数据输入命令的执行所需的时间,控制器101对存储设备200为了确认许可证数据的存储,就发行结束确认命令,如果许可证数据输入命令的执行结束,控制器201就受理结束确认命令(S170)。控制部222参照状态寄存器的处理结果,把刚才的命令即许可证数据输入命令的处理结果发送给控制器101(S172)。控制器101如果从控制器201收到许可证输入命令的处理结果(S174),就参照收到的处理结果,确认许可证输入命令是否正常结束(S176)。当许可证数据存储到存储设备200中时(S176的Y),控制器101正常结束处理。当存储失败是(S176的N),控制器101就异常结束处理。这时,控制器101再度尝试许可证数据的记录。
根据以上的步骤,把用于对内容译码的许可证数据记录到存储设备200中。加密内容是通常数据,所以由存储设备200的通常命令直接写入,所以这里省略说明。
图12是表示接通电源后,在存储设备200中记录许可证数据前的ATA接口上的一系列的步骤的序列图。图8所示的步骤、图9~图11所示的记录装置100向存储设备200记录许可证数据之前的步骤是处理正常进行时的例子。
“Host ATA-IF”相当于记录装置100的存储器接口102,“StorageATA-IF”相当于存储设备200的存储器接口202。在由两个ATA-IF夹着的中央部分记载有安全命令。记载在命令名之后的(W)、(R)、(S)表示命令的特性,(W)表示伴随着数据列的输入的命令,即命令受理后从存储设备200有数据要求的命令,(R)表示伴随着数据列的输出的命令,(S)表示不伴随着数据列的输入输出的命令。
此外,命令“IDENTIFY_DEVICE”、“GET_SECURITY_FEATURE”、“GET_CERTIFICATE”、“PUT_CHALLENGE_KEY”、“CREATE_SESSION_KEY”、“GET_SESSION_KEY”、“PUT_LICENSE”、“GET_COMPLETION_STATUS”分别相当于设备信息输出命令、安全信息输出命令、证明书输出命令、挑战键输入命令、对话键准备命令、挑战键输出命令、许可证输入命令、结束确认命令。此外,11对应于S110、S112、S114、S116的处理,12对应于S150、S152、S154的处理和记录装置100的日志记录处理,21对应于S128、S312的处理,22对应于S138、S322、S326、S328的处理,23对应于S172、S332、S334、S338、S340、S346的处理,在图12中,未表示内部的详细处理。
该序列划分为取得存储设备200的信息的“Initialization STEP(初始化步骤)”、存储设备200取得挑战键Ks1之前的“Authentication STEP”、传输写入许可证之前的“Transmission STEP”。“Transmission STEP”结束后,回到“Transmission STEP”的开始的箭头表示接着许可证数据存储到存储设备200中时,可以共享“Initialization STEP”和“AuthenticationSTEP”。通过省略“Initialization STEP”和“Authentication STEP”,对于许可证数据的安全性不会下降。此外,“Transmission STEP”结束后,回到“Authentication STEP”的开始的箭头表示在全部步骤中,“InitializationSTEP”可以是公共的。
图13、图14、图15表示再现装置300从存储设备200读出许可证数据之前的步骤。首先,再现装置300的加密引擎303通过证明书输出部320向控制器301发送证明书(S202)。控制器301如果从加密引擎303收到证明书(S204),就对存储设备200发行证明书输入命令(S206)。控制器201如果正常受理证明书输入命令,就把证明书的输入要求向控制器301输出(S208)。控制器301按照该输入要求,向控制器201输出证明书(S210)。控制器201如果受理证明书(S212),就把它存储到数据存储器220中(S213),把受理通知发送给控制器301(S214)。
控制部222把状态寄存器221的处理状态变更为“Busy”(S400),认证部226用认证键KPa验证证明书的正当性(S402)。当未承认证明书的正当性时(S402的N),认证部402就输出出错通知(S408),控制器201把该出错通知向控制器301输出(S290)。控制器301如果收到出错通知(S292),就异常结束处理。当承认证明书的正当性时(S402的Y),认证部226把从证明书取出的公开键KPb存储到数据寄存器220中(S404),控制部222把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S406)。
而控制器301如果收到证明书的受理通知,存储设备200就待机推测为证明书输入命令的执行所需的时间(S216)。如果经过推测为证明书输入命令的执行所需的时间,控制器301就对存储设备200发行挑战键准备命令(S218)。控制器201如果受理挑战键准备命令,就把挑战键准备命令的受理通知发送给控制器301(S220)。控制部222把状态寄存器221的处理状态变更为“Busy”(S410),随机数发生部224产生挑战键Ks3(S412),第一加密部228用公开键KPb把挑战键Ks3加密,生成加密键E(KPb、Ks3),暂时存储在数据寄存器220中(S414)。如果处理结束,控制部222就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S416)。
而控制器301如果收到挑战键准备命令的受理通知,存储设备200就待机推测为挑战键准备命令的执行所需的时间(S222)。如果经过推测为挑战键准备命令的执行所需的时间,控制器301就对存储设备200发行挑战键输出命令(S224)。控制器201如果受理挑战键输出命令,就从数据寄存器220读出加密键E(KPb、Ks3),发送给控制器301(S226)。
控制器301如果收到加密公共键E(KPb、Ks3),就把它发送给加密引擎303(S228)。加密引擎303如果收到加密公共键E(KPb、Ks3)(S230),则第一译码部321用自身的密钥Kpb把加密公共键E(KPb、Ks3)译码,取出挑战键Ks3(S232)。接着,加密引擎303通过随机数发生部323产生对话键Ks4(S234),通过加密部322用挑战键Ks3把对话键Ks4加密,生成加密公共键E(Ks3、Ks4),向控制器301发送(S236)。控制器301如果收到加密公共键E(Ks3、Ks4)(S238),就对存储设备200发行对话键输入命令(S239)。
控制器201如果正常受理对话键输入命令,就把加密键E(Ks3、Ks4)的输入要求向控制器301输出(S240)。控制器301按照该输入要求,对控制器201输出加密键E(Ks3、Ks4)(S242)。控制器201如果受理加密键(S244),就把它存储在数据寄存器220中(S246),把受理通知发送给控制器301(S248)。控制部222把状态寄存器221的处理状态变更为“Busy”(S420),从数据寄存器220读出挑战键Ks3,对第二译码部229提供接收的加密公共键E(Ks3、Ks4)和挑战键Ks3。第二译码部229用挑战键Ks3把加密公共键E(Ks3、Ks4)译码,取出对话键Ks4(S422),把对话键Ks4存储到数据寄存器220中(S424)。控制部222如果结束处理,就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S426)。
控制器301如果收到对话键输入命令的受理通知,则存储设备200待机推测为对话键输入命令的执行所需的时间(S250)。如果经过推测为对话键输入命令的执行所需的时间,控制器301就对存储设备200发行许可证读出命令(S252)。这时,指定应该读出的许可证数据的地址。控制器201如果正常受理许可证读出命令,就把许可证读出命令的受理通知发送给控制器301(S254)。控制部222将状态寄存器221的处理状态变更为“Busy”(S430),从机密数据存储部205的指定的地址读出许可证数据,保持在数据存储器220中(S432)。控制部222如果结束处理,就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S434)。
控制器301如果收到许可证读出命令的受理通知,存储设备200就待机推测为许可证读出命令的执行所需的时间(S256)。如果经过推测为许可证读出命令的执行所需的时间,控制器301就对存储设备200发行许可证准备命令(S258)。控制器201如果正常受理许可证准备命令,就对控制器301发送许可证准备命令的受理通知(S260)。控制部222把状态寄存器221的处理状态变更为“Busy”(S440),第二加密部230用对话键Ks4把许可证数据加密,保持在数据寄存器220中(S442)。控制部222如果结束处理,就把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Normal”(S444)。
控制器301如果收到许可证准备命令的受理通知,存储设备200就待机推测为许可证准备命令的执行所需的时间(S262)。如果经过推测为许可证准备命令的执行所需的时间,控制器301就对存储设备200发行许可证输出命令(S264)。控制器201如果正常受理许可证输出命令,就从数据寄存器220读出加密许可证数据,对控制器301输出(S266)。控制器301如果取得加密许可证数据,就把它发送给加密引擎303(S268)。加密引擎303如果收到加密许可证数据(S270),第二译码部324就用对话键Ks4把加密许可证数据译码(S272)。把取得的许可证数据发送给译码器304,在译码器304把内容译码时使用。通过以上的捕捉,由再现装置300读出用于把内容译码的许可证数据。
在上述一系列加密引擎203对于安全命令的处理中,只说明了作为处理结果,发回“Normal”的情形,但是在对于安全命令的处理中,发生任何问题,处理未正常结束时,控制部222把状态寄存器221的处理状态变更为“Ready”,把处理结果变更为“Error”。在加密输入输出处理的途中,当发生任意的错误,处理被中断时,作为用于复原加密输入输出处理中的步骤方法,记录处理日志。参照处理日志,确认处理进行到了哪个步骤,从出错的步骤再度执行。这时的处理日志的输入输出利用安全功能进行。因此,伴随着处理日志的输入输出而发行的命令也相当于“安全命令”。因为从日志存储器125或231检索必要的处理日志的处理比较需要时间,所以当记录装置100对存储设备200发行处理日志的输出命令时,希望考虑存储设备200从日志存储器231检索处理日志时所需的时间,设定等待时间。
图16表示记录装置100对存储设备200发行安全命令,存储设备200受理的样子。图9~图11中的S102、S120、S132、S142、S158、S170、图12~图15的S206、S218、S224、S239、S252、S258、S264是进行安全命令的发行和受理的处理。记录装置100的控制器101对存储设备200发行安全命令后,存储设备200待机推测为执行该安全命令所需的时间后,发行下一安全命令(S500)。存储设备200的控制器201如果从记录装置100收到安全命令(S502),就确认接收的安全命令是否用正规的发行步骤发行(S504)。当不按照正规的发行步骤时(S504的N),就无法受理命令,所以为了结束处理,进入S516。当按照正规的发行步骤时(S504的Y),参照状态寄存器221,确认是否正在执行该处理系统的之前的命令(S506)。如果状态寄存器221的处理状态为“Busy”,则正在执行之前的命令,所以对记录装置100通知正在处理的意思(S508)。控制器101如果从存储设备200收到正在处理的意思的通知(S510),就待机给定时间后(S512),再度回到S500,发行安全命令。
在S504中,如果状态寄存器221的处理状态为“Ready”,之前的命令的执行结束了,所以为了确认之前的命令的处理结果,参照状态寄存器的处理结果(S514)。状态寄存器的处理结果如果为“Normal”(S514的“Normal”),则执行的命令的执行正常结束,所以受理接收的安全命令,转移到下一处理。而状态寄存器221的处理结果如果为“Error”(S514的“Error”),则执行的命令的执行未正常结束,所以无法转移到下一处理,为了结束处理,进入S516。当命令不遵循正规的发行步骤时,或之前的命令未正常结束时,控制器201对记录装置100通知出错(S516)。控制器101如果从存储设备200收到出错的通知(S518),就异常结束处理。
(实施方式2)图17表示实施方式2的数据管理系统10的全体结构。在本实施方式中,实施方式1的记录装置100和再现装置300表现为一个记录再现装置400。
图18表示本实施方式的记录再现装置400的内部结构。本实施方式的记录再现装置400具有图2所示的实施方式1的记录装置100的结构、图3所示的实施方式1的再现装置300的结构双方,对同样的结构付与相同的符号。第一加密引擎103对应于实施方式1的记录装置100的加密引擎103,第二加密引擎303对应于实施方式1的再现装置300的加密引擎303。第一加密引擎103的内部结构与图5所示的实施方式1的加密引擎103同样,第二加密引擎303的内部结构与图6所示的实施方式1的加密引擎303的内部结构同样。控制器401具有实施方式1的记录装置100的控制器101和再现装置300的控制器301双方的功能。存储器接口402控制与存储设备200的数据输入输出,数据总线410电连接记录再现装置400的结构。
本实施方式的记录再现装置400的动作与实施方式1同样,在实施方式1中说明的动作中,把记录装置100转换为记录再现装置400,把加密引擎103置换为第一加密引擎103,把控制器101置换为控制器401,把再现装置300置换为记录再现装置400,把加密引擎303置换为第二加密引擎303,把控制器301置换为控制器401。
(实施方式3)图19表示实施方式3的记录装置100的内部结构。在本实施方式中,实施方式1的记录装置100作为发送内容的发送服务器150和接受内容的提供的终端装置160而实现。发送服务器150具有加密引擎103、通信装置152、内容数据库153、许可证数据库154、用户数据库155、控制它们的控制器151、电连接它们的数据总线156。终端装置160具有控制器101、存储器接口102、通信装置162及电连接它们的数据总线166。发送服务器150和终端装置160分别通过通信装置152、162,通过作为网络的一例的因特网20连接。发送服务器150的加密引擎103具有与实施方式1的加密引擎103同样的功能,终端装置160的控制器101和存储器接口102分别具有与实施方式1的控制器101和存储器接口102同样的功能。
内容数据库153保持提供给用户的内容。许可证数据库154保持包含把内容加密时使用的内容密钥的许可证数据。在本实施方式中,内容由内容密钥加密,存储在内容数据库153中,但是也可以在内容数据库153中存储加密前的内容数据,在发送服务器150中设置实施方式1的内容编码器105和加密器104,从内容数据库153读出内容,加密。用户数据库155保持提供内容的用户的信息。例如,可以保持用户的个人信息、终端装置160的地址、内容的购入历史、核款信息等。控制器151按照来自用户的要求,把加密的内容从内容数据库153读出,提供给用户。而且,如果通过加密引擎103,向用户提供用于把该内容译码的许可证数据,则为了按内容的价值核款,更新用户数据库155。
本实施方式的加密输入输出处理的步骤与实施方式1同样。在本实施方式中,加密引擎103和控制器101之间的通信通过因特网20进行,所以与在同一装置内进行通信的实施方式1相比,数据泄漏的危险性增加,但是如图9~图15中说明的那样,在加密引擎103和控制器101之间,一定把数据加密,进行收发,所以能实现高的耐篡改性。
(实施方式4)图20表示实施方式4的终端装置160的内部结构。本实施方式表示实施方式3的终端装置160从一方的存储设备200读出许可证数据,向另一方的存储设备200传输的例子。即终端装置160对于一方的存储设备200中作为再现装置300起作用,对于另一方的存储设备200,作为记录装置100起作用。关于各自的动作,与实施方式1同样。
以上根据实施方式说明了本发明。该实施方式是例示,对于行内人士,能理解在各构成要素或各处理过程的组合中能有各种变形例,这样的变形例也在本发明的范围内。
在实施方式中,在加密引擎内,分别表示进行加密或译码的功能块,但是在这些构成要素中,可以共有电路。据此,能抑制硬件规模,有助于小型化、低耗电。
(发明效果)根据本发明,能提高在记录装置和主机装置之间把应该隐藏的数据加密、输入输出时的处理效率。
权利要求
1.一种主机装置,与存储数据的存储装置之间,输入输出数据,其特征在于包括把对应该隐藏的数据加密,输入输出的一系列加密输入输出处理分割为多个步骤,对所述存储装置发行用于使所述存储装置执行该步骤中应该在所述存储装置一侧执行的步骤的命令的控制器;所述控制器在发行所述命令前,从所述存储装置取得用于推测所述命令的执行所需的时间的信息,根据所述取得的信息,设定所述各命令的待机时间,对所述存储装置发行所述命令后,所述存储装置待机对所述命令设定的待机时间后,对所述存储装置发行下一步骤的命令。
2.根据权利要求1所述的主机装置,其特征在于用于所述推测的信息包含执行所述命令所需的典型的处理时间、平均处理时间、或最大处理时间。
3.根据权利要求1所述的主机装置,其特征在于用于所述推测的信息包含为了执行所述命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算、日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。
4.一种存储装置,其特征在于包括存储数据的存储媒体;所述存储媒体与主机装置之间,进行用于把应该加密的数据加密、输入输出的一系列加密输入输出处理时,从所述主机装置接收把该加密输入输出处理分割为多个步骤而发行的命令的控制器;执行所述命令的加密处理部;所述控制器按照来自所述主机装置的要求,加密处理部提供所述主机装置用于推测所述命令的执行所需的时间。
5.根据权利要求4所述的存储装置,其特征在于所述加密输入输出处理沿着该处理的步骤,分割为以下任意的处理单位从所述主机装置接收数据的输入,按照必要,用所述加密处理部进行加密或译码的处理;为了向所述主机装置输出数据,由所述加密处理部进行加密、译码或署名的处理;向所述主机装置输出数据的处理;分割任一处理单位,所述命令按分割的各处理单位发行。
6.根据权利要求4所述的存储装置,其特征在于用于所述推测的信息包含执行所述命令所需的典型的处理时间、平均处理时间、或最大处理时间。
7.根据权利要求5所述的存储装置,其特征在于用于所述推测的信息包含执行所述命令所需的典型的处理时间、平均处理时间、或最大处理时间。
8.根据权利要求4所述的存储装置,其特征在于用于所述推测的信息包含为了执行所述命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算、日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。
9.根据权利要求5所述的存储装置,其特征在于用于所述推测的信息包含为了执行所述命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算及日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。
10.根据权利要求4所述的存储装置,其特征在于所述控制器确认分割为所述多个步骤而发行的命令是否按照正规的执行步骤。
11.根据权利要求5所述的存储装置,其特征在于所述控制器确认分割为所述多个步骤而发行的命令是否按照正规的执行步骤。
12.一种数据输入输出方法,在存储数据的存储装置和主机装置之间,把应该加密的数据加密,输入输出的一系列加密输入输出处理,其特征在于包括把所述加密输入输出处理分割为多个步骤,所述主机装置执行该步骤中应该在所述主机装置一侧执行的步骤的步骤;为了使所述存储装置执行应该在所述存储装置一侧执行的步骤,所述主机装置对所述存储装置发行命令;所述存储装置接收所述命令的步骤;所述存储装置执行所述命令的步骤;所述主机装置在发行所述命令前,从所述存储装置取得该存储装置用于推测所述命令的执行所需的时间的信息,把所述命令对所述存储装置发行后,待机推测为所述命令的执行所需的时间后,发行下一步骤的命令。
13.根据权利要求12所述的数据输入输出方法,其特征在于所述加密输入输出处理沿着该处理的步骤,分割为以下任意的处理单位从所述主机装置接收数据的输入,按照必要,进行加密或译码的处理;为了向所述主机装置输出数据,进行加密、译码或署名的处理;向所述主机装置输出数据的处理;所述命令按分割的各处理单位发行。
14.根据权利要求12所述的数据输入输出方法,其特征在于用于所述推测的信息包含执行所述命令所需的典型的处理时间、平均处理时间、或最大处理时间。
15.根据权利要求13所述的数据输入输出方法,其特征在于用于所述推测的信息包含执行所述命令所需的典型的处理时间、平均处理时间、或最大处理时间。
16.根据权利要求12所述的数据输入输出方法,其特征在于用于所述推测的信息包含为了执行所述命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算、日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。
17.根据权利要求13所述的数据输入输出方法,其特征在于用于所述推测的信息包含为了执行所述命令而使用的加密演算、译码演算、杂乱演算、随机数发生演算及日志检索中的至少一个基本处理所需的典型的处理时间、平均处理时间、或最大处理时间。
全文摘要
本发明提供一种把应该隐藏的数据加密,输入输出的方法和装置。记录装置的控制器对存储设备发行安全命令后,存储设备待机推测为执行该安全命令所需的时间后,发行下一安全命令。存储设备的控制器如果正在执行之前的命令,就对记录装置通知正在处理的意思,如果之前的命令的执行正常结束,就转移到下一处理。从存储设备预先取得用于推测命令的执行时间的信息。
文档编号G06F21/00GK1534654SQ20041003148
公开日2004年10月6日 申请日期2004年3月29日 优先权日2003年3月27日
发明者堀吉宏, 金井雄一, 大野良治, 大石刚士, 多田谦一郎, 平井达哉, 津留雅文, 长谷部高行, 一, 一郎, 哉, 士, 文, 治, 高行 申请人:三洋电机株式会社, 夏普株式会社, 日本胜利株式会社, 日本先锋公司, 株式会社日立制作所, 凤凰科技株式会社, 富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1