专利名称:复合系统以及传输数据的方法
技术领域:
本发明涉及一种复合系统以及传输数据的方法,更特别的是促进从主系统到子系统要被加密的数据的传输。
背景技术:
通常,已经构筑了合并了多个系统的复合系统。在这种复合系统中,中央处理器(CPU)被包含在每个子系统中并控制子系统,并且主系统中的CPU控制整个系统。因为很容易在这种复合系统中安装和拆卸子系统,所以在复合系统中保护用户的个人信息成为了一个重要的议题。同样,在这种复合系统中,由假装成子系统的软件造成的非法篡改以及信息泄漏变成议题。同样,已经提出了一种包括了处理加密以实现高速、高能效的密码通信的硬件的子板。这种技术采用这样的配置:在主系统中不包含密码处理功能,而是利用子系统的加密功能。因此,需要在子系统中执行检验固件数据(例如大约30MB大小)的有效性的加密处理。然而,子系统中的存储容量由于成本的削减已经被最小化(变成大约几百KB大小),因此子系统中的存储器不能存储所有的数据。已提出了一种复合系统的技术,其包括主系统和子系统,为了保证安全性以防假装成子系统的攻击(例如JP-2011-164810-A)。同样提出了另一种技术,该技术实现写入固件数据以便在经由控制器将固件数据写入存储装置时尽可能地缩短通信时间(例如JP-2000-148502-A)。然而,在JP-2011-164810-A中所描述的系统不会将用于大的目标数据的加密处理授权给其他系统。同样,为了加速处理,在JP-2000-148502-A中所述的系统在写入固件时划分数据,并且不同于在写入之前检验有效性时的划分。因此,通过使用包括例如检验固件的有效性的加密功能(模型之间通用的)的子系统来执行加密处理是不可能的,因为在主系统中要被加密的目标数据的大小比JP2011-164810-A和JP2000-148502-A中描述的系统中的子系统的存储容量要大。如上所述,因为加密处理取决于要被加密的目标数据的大小、子系统中存储器的大小、以及主系统和子系统之间的数据传输能力,所以在主系统中要被加密的目标数据的大小比子系统的存储器大小大的情况下,加密不能被执行。
发明内容
本发明提供了一种促进加密处理的新型的复合系统,即使主系统中要被加密的目标数据的大小比子系统中的存储器大小要大,并不管要被加密的目标数据的大小、子系统中存储器的大小以及主系统和子系统之间的数据传输能力。更具体地说,本发明提供了一种复合系统,该复合系统包括主系统和多个子系统,主系统运行主程序,子系统运行子程序并在主系统的控制下操作,主系统与子系统经由预定的总线互相可安装和拆卸地连接。在上述的复合系统中,主系统包括传输单元,传输单元将要被加密的划分后的目标数据的每个片段传输给子系统,并且子系统包括接收缓存,接收缓存能够暂时地读写接收自主系统的数据的片段。即使在要被加密的数据的大小要比子系统中的接收缓存的大小要大时,该复合系统也可以使主系统和子系统执行加密处理。在本发明中,不管要被加密的目标数据的大小、子系统中存储器的大小以及主系统和子系统之间的数据传输能力,加密处理还是可以由主系统和子系统执行。即使主系统中要被加密的目标数据的大小比子系统中的接收缓存的大小要大,因为主系统将要被加密的划分后的目标数据的每个片段传输给子系统,并且子系统包括能够暂时地读写接收自主系统的数据的片段的接收缓存。
通过参考以下的详细说明并同时结合附图考虑,可以更好的理解同时轻易的获得所披露内容的更完整的评价及其附带的优点。图1A和图1B分别是图解了本发明的第一实施例的复合系统的图表和流程图。图2是图解了作为本发明的实施例的图1A中的主系统和子系统之间传输的序列图。图3是图解了用于本发明的第一实施例中的复合系统的数字签名和公共密钥的数据结构的图表。图4是图解了本发明第二实施例中的复合系统的图表。图5是图解了作为本发明的实施例的图4中的主系统和子系统之间传输的序列图。图6是图解了本发明第三实施例中的复合系统的传输的序列图。图7是图解了本发明第四实施例中的复合系统的传输的序列图。图8是图解了本发明第五实施例中的复合系统的传输的序列图。图9是图解了本发明第六实施例中的复合系统的传输的序列图。图1OA和图1OB分别是图解了本发明的第七实施例的复合系统的图表和流程图。图11是图解了本发明第七实施例中的复合系统的传输的序列图。图12是图解了本发明第八实施例中的复合系统的图表。图13是图解了本发明第八实施例中的复合系统的传输的序列图。图14是图解了本发明第九实施例中的复合系统的流程图。图15是图解了用于本发明的第九实施例中复合系统的要被检验固件的有效性的数据结构的图表。图16是图解了本发明第九实施例中的复合系统的传输的序列图。
具体实施例方式为了清楚起见,采用了特定的术语来描述附图中所示的最佳实施例。但是,本专利说明书所公开的内容并不是想要局限于所选用的特定的术语,并且可以理解的是,每个特定的元件包括了以类似的方式操作并且取得了类似结果的所有技术等效物。下面通过参考附图详细的描述本发明的实施例。第一实施例
图1A和图1B是图解了第一实施例中的复合系统的图表和流程图。在图1A中,复合系统I包括主系统11、子系统12以及连接到网络的网络通信单元(图中未示出)。主系统11和子系统12通过通用串行总线(USB)互相连接,并且USB起到通信手段的功能。主系统11包括CUPl la、存储器I lb、存储装置Ilc以及外部的连接器lld,并且它们通过内部总线互相连接。存储装置Ilc存储加密使用应用程序软件作为可以更新固件(F/W)的应用程序软件。在主系统11的启动序列中,CPUlla从存储装置Ilc中顺序读出加密使用应用程序,并且执行每个步骤。子系统12包括通过内部总线互相连接的CPU12a、存储器12b、加密处理单元12c、连接器12d以及接收缓存12f。存储器12b存储通过CPU12a执行的应用程序软件作为加密应用程序服务器14a。在子系统12的启动序列中,CPU12a通过从存储器12b顺序地读出应用程序软件并执行每个步骤来执行加密应用程序服务器14a。加密处理单元12c起到加密处理引擎14b的功能。从主系统11接收的数据片段可以通过使用接收缓存12f暂时地被读出或写入。在弟一实施例中,子系统12中的存储器12b不能够存储从王系统11接收的所有的要加密的目标数据,因为为了降低子系统12的制造成本,存储器12b的大小非常小(大约几百KB)。同样,在第一实施例中,通过使用正常的方法,即将存储器12b中要被加密的整个目标数据仅散列(hash)—次并且稍后执行如常规技术的验证处理,不能够完成有效性的检验。因此,为了克服这个问题,在这个实施例中,主系统11将数据划分开,并且将划分后的数据传输到子系统12中的接收缓存12f。在这个实施例中,采用了其中传送的数据以数据片段为单位被散列η次并且稍后验证处理被执行的加密方法。接下来,图1B是图解了在主系统11中加密使用应用程序13a的处理的流程图。首先,在步骤SlO中,CPUlla对加密进行初始化。随后,在步骤S20中,CPUlla确定数据的划分是否是必须的。也就是说,因为子系统12中的接收缓存12f的大小(16KB)以及F/W的大小(30MB)是固定的,因此CPUlla将固件的数据量划分成数据片段。划分之后的数据片段的大小同样也是固定的。如果数据划分是必须的,处理进行到步骤S30。否则,处理进行到步骤S50。在S30中,CPUlla传输划分的数据并且执行加密处理。随后,在S40中,CPUlla确定是否还存在没有被划分的数据。如果CPUlla确定还存在没有被划分的数据,步骤返回到S30,并且重复上述的处理。否则,处理进行到S50。随后,CPUlla在S50中完成加密。接下来,图2是图解了主系统11和子系统12之间传输的序列图。首先,在Sel中,通过CPUlla执行的加密使用应用程序13a通过外部连接器Ild和连接器12d将用于检验F/W有效性的数字签名和公共密钥发送到通过子系统12中的CPU12a执行的加密应用程序服务器14a。随后,通过CPU12a执行的加密应用程序服务器14a将数字签名和公共密钥存储在存储器12b中。接下来,在Se2中,加密应用程序服务器14a向加密处理引擎14b输出指令,以获取使用加密处理单元12c的权利。随后,在Se3中,加密使用应用程序13a将用于检验F/W的有效性的数据片段发送到加密应用程序服务器14a。
接下来,在Se4中,加密应用程序服务器14a将使用加密处理单元12c的权利以及数据片段输出到加密处理引擎14b,使得加密处理单元12c执行散列处理。要注意的是,Se3和Se4中的处理一直被重复,直到如图2中所示所有数据被划分之后的最后的数据片段。以下参考图2来描述最后的数据片段的处理。在Se5中,加密使用应用程序13a将用于检验F/W有效性的最后的数据片段发送给加密应用程序服务器14a。随后,在Se6中,加密使用应用程序13a将用于检验F/W的有效性的最后的数据片段发送给加密应用程序服务器14a。接下来,在Se6中,加密应用程序服务器14a将使用加密处理单元12c的权利以及最后的数据片段输出到加密处理引擎14b,使得加密处理单元12c执行散列处理。在Se7中,加密应用程序服务器14a将使用加密处理单元12c的权利、公共密钥、数字签名以及数据的散列结果输出到加密处理引擎14b,使得加密处理单元12c执行验证处理。接下来,在Se8中,加密处理引擎14b将作为在加密处理单元12c的验证处理结果的正确/错误值输出给加密应用程序服务器14a。随后,在Se9中,加密应用程序服务器14a将作为从加密处理引擎14b接收到的验证处理结果的正确/错误值输出给加密使用应用程序 13a。要被检验有效性的固件数据的数据结构的摘要解释如下。签名包括作为报头的签名B和数据以及作为证书的签名A、公共密钥B和图像数据。固件数据可以被配置成,为组合的三个固件的全体增加一个签名。接下来,下面描述在数字签名的验证中的每片数据的作用。举例来说,数字签名的验证被分成两个阶段来进行。在作为第一阶段的验证处理中,验证处理是通过对表示检验有效性范围的公共密钥B使用公共密钥A而被执行的。在作为第二阶段的验证处理中,验证处理是通过对结合了检验有效性的范围中的数据和图像数据的数据使用公共密钥B而被执行。更具体地说,检验处理是通过使用公共密钥A (公共密钥)以及签名(数字签名)而对要被验证的字节串执行。在作为第二阶段的图像数据的验证中,结合了报头数据的数据被认为是“要被验证的字节串”。举例来说,椭圆曲线数字签名算法(Elliptic CurveDigital Signature Algorithm, EO)SA)被用作这个过程的算法。下面描述通过加密处理引擎14对任意长度的数据片段的处理。举例来说,上下文、用于签名的公共密钥、散列上下文、用于签名的缓存、签名、用于验证的公共密钥以及用于分数数据的主存储区域被优选地用作表示签名验证的上下文(SignedObjContext)的结构的字段定义。在子系统12中,要被验证的数据经由作为主系统11的外部连接器Ild和连接器12d的USB总线被存储(覆写)到用于每个片段(任意长度)的接收缓存12f。可选的,在加密处理引擎14b中,最后的散列数值可以通过多次调用散列函数被计算出来,并且除了散列函数的最后一次调用,散列处理可仅以64字节的倍数被执行。因此,在ACCL中,长度为64字节的接收缓存12f被设置用于签名验证,并且在签名验证中产生的小于64字节的分数数据被暂时的存储在接收缓存12f中。通过设置接收缓存12f,当输入分数数据时,在子系统12中的加密处理引擎14b的操作包含以下所述的三个步骤(Sbl-Sb3)。首先,在Sbl中,如果接收缓存12f不是空的,力口密处理引擎14b —直等待直到接收缓存12f变满,并只对64字节执行散列处理。随后,在Sb2中,对以整体64字节为倍数对剩余的片段数据执行散列处理。最后,在Sb3中,在Sbl和Sb2中剩余的数据(小于64字节)被存储在接收缓存12f中。当散列处理在Sbl和Sb2中按如上所述被执行了两次,Sbl可以由“装置”模块对接收缓存12f的处理尺寸的优化被省略。要注意的是,并不清楚上述的优化是否有效,所以有必要确定在SoC上获取实际测量的结果之后是否需要采用优化。接下来,下面参考图3描述数字签名的数据结构和公共密钥。对于有效性验证的算法来说所必需的数据主要是数字签名、公共密钥以及要被验证的数据程序。在API中,举例来说,数字签名和利用数字签名验证的数据被成对的生成。公共密钥是结构,并且被嵌入到存储在主系统11的存储装置Ilc (掩模型只读存储器(mask ROM))中的程序中。签名对象包括[HeaderSection],[CertificateList],以及[ImageSection]。[HeaderSection]是被定义的格式,并且存储有版本信息和签名等。[CertificateList]是存储使用签名验证链路所必需的证书的区域,并且它的区域大小是可变的。在这个实施例中只有一个证书被使用。[ImageSection]是存储被执行的程序的区域,并且它的大小是不固定的。如果程序大小不是16字节的倍数,[ImageSection]被O填充。如上所述,即使主系统中要被加密的数据的大小比子系统中的存储器量要大,不管要被加密的数据的大小、子系统12中配备的存储器量以及主系统和子系统之间的数据传送能力,通过将要被加密的数据划分而产生的数据片段通过一个传输步骤依次传输给子系统12中的接收缓存12f以及执行散列处理,加密处理就可以被执行。也就是说,通过减少子系统12中的存储器12b的存储器量同时保证将来与各种主系统11的连通性,可以达到成本的减少。第二实施例参考图4和图5描述本发明的第二实施例中的复合系统。图4和图5是部分修改第一实施例中的框图(图1)和序列图(图2),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。如图4中所示,子系统12包括存储装置(安全)12e和安全DB14c,并且如图5中所示,实施例2中增加了步骤Se21。如图4中所示,子系统12包括存储装置(安全)12e,并且公共密钥被存储在存储装置(安全)12e中作为安全DB14c。如图5中所示,在Se21中,加密使用应用程序13a将查阅公共密钥的指令发送给安全DB14c。在接收到查阅指令之后,安全DB14c将公共密钥发送回加密使用应用程序13a。如上所述,通过将安全DB14c增加到子系统12中而不用管理主系统11中的安全性数据(公共密钥),重要数据(F/W)的安全性可以得到保证。第三实施例通过参考图4和图6来描述本发明的第三实施例中的复合系统。图4和图6是部分修改第一实施例中的框图(图1)和序列图(图2),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。如图6中所示,在第三实施例中包括步骤Sel-Ι。如图4中所示,子系统12包括存储装置(安全)12e,并且公共密钥作为安全DB14c被存储在存储装置(安全)12e中。在Sel-1中,由CPUlIa执行的加密使用应用程序13a经由外部连接器Ild和连接器12d将用于检验F/W有效性的数字签名发送给由子系统12中的CPU12a执行的加密应用程序服务器14a。
通过从安全DB14c中读出公共密钥,在Se7中加密应用程序服务器14a能够使用公共密钥。从而,仅通过子系统12中的加密应用程序服务器14a能够访问安全DB14c,结合了使用应用程序而使步骤数减少的加密的高效加密处理以及少量的加速可以被执行。第四实施例参考图7描述本发明的第四实施例中的复合系统。图7是部分修改第一实施例中的框图(图2),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。加密应用程序服务器14a存储了数据对齐规则(data alignment rule)(例如散列的数据大小是64的倍数)。如图7中所示,第四实施例中包括了除Se4_l之外的Se4_2以及除Se6_l之外的Se6-2。Se3中使用的片段数据是例如64字节的倍数,并且不需要对齐。先前散列处理中的剩余的对齐以及当前的散列处理中的引导数据(Ieadingdata)被结合起来,并且在Se4_l中散列处理被执行。在Se4_2中,除开在当前的散列处理中的引导部分,散列处理能够被执行到数据可以对齐的最大大小的位置。需要注意的是,剩余的对齐(例如数据大小%64)被暂时存储在存储器12b中。从而,加密使用应用程序13a能够传输任意大小的数据,而不用由加密应用程序服务器14a的对于数据对齐的有规则信息考虑子系统12中的加密处理引擎14b的限制(例如散列处理需要以64的倍数被输入),并且这可以减少子系统12中的加密处理引擎14b的修订的效果。换句话说,这可以减少加密使用应用程序13a的修订成本。第五实施例参考图8描述本发明的第五实施例中的复合系统。图8是部分修改第四实施例中的框图(图),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。在第五实施例中,安全DB14c预先包括一个公共密钥。如图4中所示,子系统12包括存储装置(安全)12e,并且公共密钥作为安全DB14c被存储在存储装置(安全)12e中。在Sel-2中,由CPUlIa执行的加密使用应用程序13a经由外部连接器I Id和连接器12d将用于检验F/W有效性的数字签名发送给由子系统12中的CPU12a执行的加密应用程序服务器14a。通过从安全DB14c读出公共密钥,加密应用程序服务器14a在Se7中能够使用公共密钥。在Se3-2中所使用的片段数据不需要是64字节的倍数;即不需要对齐。如上所述,通过将安全DB14c增加到子系统12中而不用在主系统11中安全地管理安全性数据(公共密钥),重要数据(F/W)的安全性可以得到保证。同样,这可以减少主系统的开发成本。此外,加密使用应用程序13a能够以任意大小传输数据,而不用由加密应用程序服务器14a的对于数据对齐的有规则信息考虑子系统12中的加密处理引擎14b的限制(例如散列处理需要以64的倍数被输入),并且这可以减少子系统12中的加密处理引擎14b的修订的效果。换句话说,这可以减少加密使用应用程序13a的修订成本。此外,加密使用应用程序13a能够被配置成不需要考虑加密规格。第六实施例参考图9描述本发明的第六实施例中的复合系统。图9是部分修改第二实施例中的框图(图2),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。在第六实施例中,加密应用程序服务器14a将对齐大小的规格发送给加密使用应用程序13a。在此,对齐大小的规格被定义如下:规格={对齐大小的基数,最小值,最大值}举例来说,对齐大小的规格最好是被设置成{例如:64B,64B, 128KB}。同样,在Se3_3,Se4_3,Se5_3和Se6_3中传输的数据片段已经照上述的规格被对齐。因此,由于在Se4-3中散列处理的数目减少了,对齐的成本(存储器I Ib和接收缓存12f之间,以及接收缓存12f和存储器12b之间的复制存储器)也减少了。如上所述,加密使用应用程序13a能够避免子系统12中用于对齐数据的成本(增加散列处理的数目),并且减少子系统12的规格中改变的效果(加密使用应用程序的修订成本)(例如散列是以16的倍数而不是64的倍数被输入)。第七实施例参考图1OA和图1OB描述本发明的第七实施例中的复合系统。图1OA和IOB是部分修改第一实施例中的图表(图1A)和流程图(图2),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。在第七实施例中,主系统11包括如图1OA中所示作为软件实现的划分判定单元13b。划分判定单元13b判定是否有必要以从总线的类型划分出的类型进行传输。需要注意的是,主系统11包括例如外围组件高速互联(PCIe)总线或者USB总线作为外部连接器lid。在图1OB所示的流程图中,在SllO中判定存储器是否可以被共享。就是说,判定存储器是否可以根据总线的类型(例如PCIe总线?或者USB总线?)被共享。如果总线类型是PCIe总线,因为可以共享数据,处理进行到S120。否则,如果总线类型是USB总线,因为不可以共享数据,处理进行到S20。接下来,如果总线类型是PCIe总线,因为在主系统11和子系统12之间可以共享数据,则在S120中执行对大数据整体的中间加密处理。否则,如果总线类型是USB总线,因为不可以共享数据,则在S20中判定是否需要划分数据。就是说,根据数据的大小进行判定。接下来,参考图11描述主系统11和子系统12之间的传输序列。首先,在Se21中,由CPUlla执行的加密使用应用程序13a将数字签名和用于检验F/W有效性的公共密钥发送给划分判定单元13b。随后,在Se22中,划分判定单元13b经由外部连接器IId和连接器12d将数字签名和用于检验F/W有效性的公共密钥发送给由子系统12中的CPU12a执行的加密应用程序服务器14a。接下来,由CPU12a执行的加密应用程序服务器14a将数字签名和公共密钥存储在存储器12b中。随后,在Se23中,加密应用程序服务器14a向加密处理引擎14b发送指令,以获取使用加密处理单元12c的权利。随后,在Se24中,加密使用应用程序13a将询问是否需要划分数据的“划分必需? ”指令发送给划分判定单元13b。图13 (b)图解了在划分判定单元13b中执行的处理。下面描述在需要划分数据情况下的处理。在Se25中,加密使用应用程序13a将用于检验F/W有效性的整个数据发送给划分判定单元13b。随后,在Se26中,划分判定单元13b将用于检验F/W的有效性的整个数据发送给加密应用程序服务器14a。在Se27中,力口密应用程序服务器14a将使用加密处理单元12c的权利以及数据片段发送给加密处理引擎14b,使得加密处理单元12c执行散列处理。在Se28中,加密应用程序服务器14a将使用加密处理单元12c的权利、公共密钥、数字签名以及数据的散列结果发送给加密处理引擎14b,使得加密处理单元12c执行验证处理。接下来,在Se29中,加密处理引擎14b将正确/错误值作为在加密处理单元12c中的验证处理结果输出给加密应用程序服务器14a。随后,在Se30中,加密应用程序服务器14a将正确/错误值作为从加密处理引擎14b接收到的检验处理结果输出给划分判定单元13b。在Se31中,划分判定单元13b将正确/错误值作为从加密应用程序服务器14a接收到的验证处理结果发送给加密使用应用程序13a。如上所述,根据连接系统的总线类型,例如PCIe总线被使用,可以加速。就是说,因为根本不需要划分传输,所以可以通过使用PCIe总线来分享主系统11和子系统12之间的存储器来加速。第八实施例参考图12描述本发明的第八实施例中的复合系统。图12是部分修改第七实施例中的框图(图10A),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。如图12中所示,在第八实施例中,主系统11包括以软件实现的加密代理部13c (包括划分判定单元13b)。主系统12中的加密代理部13c工作,因此它对加密使用应用程序隐藏划分处理。接下来,下面参考图13描述主系统11和子系统12之间的传输序列。首先,在Se31中,由CPUlla执行的加密使用应用程序13a将数字签名和用于检验F/W有效性的公共密钥发送给加密代理部13c。随后,在Se32中,加密代理部13c经由外部连接器Ild和连接器12d将数字签名和用于检验F/W有效性的公共密钥发送给由子系统12中的CPU12a执行的加密应用程序服务器14a。接下来,由CPU12a执行的加密应用程序服务器14a将数字签名和公共密钥存储在存储器12b中。随后,在Se33中,加密应用程序服务器14a向加密处理引擎14b发送指令,以获取使用加密处理单元12c的权利。随后,在Se34中,加密使用应用程序13a将整个数据发送给加密代理部13c。下面描述在需要划分数据情况下的处理。在Se35中,加密代理部13c将用于检验F/W有效性的数据片段发送给加密应用程序服务器14a。接下来,在Se36中,加密应用程序服务器14a将使用加密处理单元12c的权利以及排列的数据片段发送给加密处理引擎14b,使得加密处理单元12c执行散列处理。在Se37中,加密应用程序服务器14a将使用加密处理单元12c的权利以及排列的数据片段发送给加密处理引擎14b,使得加密处理单元12c执行散列处理。要注意的是,Se37中的处理一直重复直到没有数据余留。对于最后的数据片段,在Se38中,加密代理部13c将用于检验F/W的有效性的数据片段发送给加密应用程序服务器14a。随后,在Se39中,加密应用程序服务器14a将使用加密处理单元12c的权利以及排列的数据片段发送给加密处理引擎14b,使得加密处理单元12c执行散列处理。在Se40中,加密应用程序服务器14a将使用加密处理单元12c的权利以及排列的数据片段发送给加密处理引擎14b,使得加密处理单元12c执行散列处理。接下来,在Se41中,加密应用程序服务器14a将使用加密处理单元12c的权利、公共密钥、数字签名以及数据的散列结果发送给加密处理引擎14b,使得加密处理单元12c执行验证处理。在Se42中,加密处理引擎14b将正确/错误值作为在加密处理单元12c中的验证处理结果输出给加密应用程序服务器14a。随后,在Se43中,加密应用程序服务器14a将正确/错误值作为从加密处理引擎14b接收到的验证处理结果输出给加密代理部13c。在Se44中,加密代理部13c将正确/错误值作为从加密应用程序服务器14a接收到的验证处理结果发送给加密使用应用程序13a。如上所述,通过将加密代理部13c包括在主系统12中,可以对加密使用应用程序隐藏划分处理。同样,因为加密使用应用程序13a不需要考虑由于总线规格造成的划分数据,因此子系统12中的加密处理引擎14b的修订的效果(加密使用应用程序的修订费用)能够减少。第九实施例下面参考图14描述本发明的第九实施例中的复合系统。图14是部分修改第一实施例中的框图(图1)和部分修改第七实施例中的流程图(图10B),所以相同部分被分配了同样的符号,并且省略了对这些部分的描述。在图14所示的流程图中,在S210中,加密使用应用程序13a选择一种传送方法并且执行修正数据生成处理。在第九实施例中,在如图15中所示的数据定义中,对应于每个传输方法ID的数字签名和公共密钥对被设置。在有效性验证中,根据传输方法ID,动态地生成有别于原始数据的修正的F/W数据。如图16中的序列图中所不,在第九实施例S210-1中,响应于传输方法ID,加密使用应用程序13a选择一种传输方法。同样,在S210-2中,响应于传输方法ID,加密使用应用程序13a生成修正的F/W数据。要注意的是,响应于传输方法ID,修正的数据(通过位反转生成的固件)可以重新被生成。举例来说,如果传输方法ID是X0R,加密使用应用程序13a将对应于传输方法(XOR)的数字签名发送给加密应用程序服务器14a。如上所述,安全性性能可以通过存储对应于主系统11中目标数据的转换结果的多个数字签名来得到改善,因为即使数据在数据传输路径上被窃取也难以恢复数据。考虑到上述的教导,可以做出很多其他的变型和变化。因此可以理解的是,在附加的权利要求的范围内,本专利说明书的公开内容可以以除了此处具体描述的方式被实现。计算机领域的技术人员可以理解的是,根据本说明书的教导,这个发明可以通过使用常规的通用数字计算机程序方便的实现。熟练的编程人员根据目前公开内容的教导可以容易的准备适当的软件代码,这些教导对于那些软件领域的技术人员来说也是显而易见的。本发明同样可以通过准备专用集成电路或者通过传统的元件电路的合适的网络的互联来实现,这对于那些相关领域的技术人员来说也是显而易见的。
权利要求
1.一种复合系统,包括: 主系统,所述主系统运行主程序;以及 多个子系统,所述子系统运行子程序并且在所述主系统的控制下运行,所述主系统与所述子系统经由预定的总线互相能安装和能拆卸地连接, 其中所述主系统包括传输单元,所述传输单元将划分后的要被加密的目标数据的每个片段传输给所述子系统,并且所述子系统包括接收缓存,所述接收缓存能够暂时地读写接收自所述主系统的数据的片段,并且即使在要被加密的目标数据的大小比所述子系统中的所述接收缓存的大小要大时,所述复合系统也能够使所述主系统和所述子系统执行加密处理。
2.如权利要求1所述的复合系统,其特征在于,所述子系统包括安全数据库,所述安全数据库存储了公共密钥。
3.如权利要求2所述的复合系统,其特征在于,所述子系统包括加密应用程序服务器,所述加密应用程序服务器能够访问所述安全数据库。
4.如权利要求3所述的复合系统,其特征在于,所述加密应用程序服务器存储了表示数据对齐规则的信息。
5.根据权利要求2所述的复合系统,其特征在于,所述子系统执行加密应用服务器,所述加密应用服务器存储了表示所述数据对齐规则的信息并且能够访问所述安全数据库。
6.如权利要求5所述的复合系统,其特征在于,所述主系统使用应用程序执行所述加密,所述应用程序从所述加密应用程序服务器获取所述数据对齐规则。
7.如权利要求1至6中任意一项所述的复合系统,其特征在于,进一步包括划分判定单元,所述划分判定单元用于识别连接所述主系统和所述子系统的总线类型。
8.如权利要求1至7中任意一项所述的复合系统,其特征在于,进一步包括加密处理代理部,所述加密处理代理部能够使用应用程序对加密隐藏划分处理。
9.如权利要求1所述的复合系统,其特征在于,所述主系统存储了对应于目标数据转换结果的多个数字签名。
10.一种传送数据的方法,其特征在于,包括以下步骤: 将划分后的要被加密的目标数据的每个片段传输给子系统的步骤; 暂时地读写接收自主系统的数据片段的步骤;以及 即使要被加密的数据的大小比所述子系统中的接收缓存的大小要大,也使得所述主系统和所述子系统执行加密处理的步骤。
全文摘要
本发明是复合系统以及传输数据的方法。在一种复合系统中,包括主系统和多个子系统,主系统运行主程序,子系统运行子程序并在主系统的控制下操作,主系统与子系统经由预定的总线互相可安装和拆卸地连接,主系统将要被加密的划分后的目标数据的每个片段传输给子系统,并且子系统包括接收缓存,接收缓存能够暂时地读写接收自主系统的数据的片段。即使主系统中的目标数据的大小比子系统中的接收缓存的大小要大,不管要被加密的目标数据的大小、子系统中存储器的大小以及主系统和子系统之间的数据传输能力,也能对主系统和子系统执行加密处理。
文档编号G06F21/57GK103198258SQ20131000257
公开日2013年7月10日 申请日期2013年1月4日 优先权日2012年1月5日
发明者吉田英一郎 申请人:株式会社理光