数字署名生成装置、数字署名生成方法.pdf

上传人:1****2 文档编号:679078 上传时间:2018-03-04 格式:PDF 页数:22 大小:822.78KB
返回 下载 相关 举报
摘要
申请专利号:

CN200410004681.5

申请日:

2004.03.09

公开号:

CN1531243A

公开日:

2004.09.22

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04L9/16

主分类号:

H04L9/16

申请人:

佳能株式会社;

发明人:

若尾聪; 明石彰

地址:

日本东京都

优先权:

2003.03.14 JP 071033/2003

专利代理机构:

北京市金杜律师事务所

代理人:

季向冈

PDF下载: PDF下载
内容摘要

本发明提供一种数字署名生成装置。该数字署名生成装置是IC卡(10),具有存储多个数字署名用的秘密密钥的EEPROM(104),和使用多个秘密密钥中的一个,生成数字数据的数字署名的协同处理器(106);在接收到密钥变更命令的情况下,把IC卡(10)所使用的秘密密钥变更为密钥变更命令所指定的秘密密钥。由此,能够不提高制造成本地向特殊用户提供与普通用户不同的数字署名用的秘密密钥。

权利要求书

1: 一种数字署名生成装置,具有存储了多个秘密密钥的存储装置, 其特征在于: 在接收到密钥变更命令的情况下,把上述数字署名生成装置所使 用的秘密密钥变更为上述密钥变更命令指定的秘密密钥, 在接收到署名生成命令的情况下,使用上述多个秘密密钥中的某 一个生成预定的数字数据的数字署名。
2: 根据权利要求1所述的数字署名生成装置,其特征在于: 上述数字署名生成装置是IC卡。
3: 根据权利要求2所述的数字署名生成装置,其特征在于: 上述数字署名生成装置是安装了多应用OS的装置。
4: 根据权利要求1所述的数字署名生成装置,其特征在于: 上述密钥变更命令是包含指定上述多个秘密密钥中的某一个的 信息的命令。
5: 根据权利要求1所述的数字署名生成装置,其特征在于: 上述署名生成命令是包含上述预定的数字数据或者其哈希值的 命令。
6: 一种数字署名生成装置中的数字署名生成方法,所述数字署名 生成装置具有存储了多个秘密密钥的存储装置,其特征在于,包括: 在接收到密钥变更命令的情况下,把上述数字署名生成装置所使 用的秘密密钥变更为上述密钥变更命令所指定的秘密密钥的步骤; 在接收到署名生成命令的情况下,使用上述多个秘密密钥中的某 一个生成数字数据的数字署名的步骤。
7: 根据权利要求6所述的数字署名生成方法,其特征在于: 上述数字署名生成装置是IC卡。
8: 根据权利要求7所述的数字署名生成装置,其特征在于: 上述数字署名生成装置是安装了多应用OS的装置。
9: 根据权利要求6所述的数字署名生成装置,其特征在于: 上述密钥变更命令是包含指定上述多个秘密密钥中的某一个的 信息的命令。
10: 根据权利要求6所述的数字署名生成装置,其特征在于: 上述署名生成命令是包含上述数字数据或者其哈希值的命令。
11: 一种数字署名生成装置,具有多个秘密密钥,使用该多个秘密 密钥中的一个,生成预定的数字数据的数字署名,其特征在于,包括: 命令分析装置,分析从外部提供来的命令; 设定装置,根据上述命令分析装置的分析结果,从上述多个秘密 密钥中设定在上述数字署名的生成中要使用的秘密密钥。

说明书


数字署名生成装置、数字署名生成方法

    【技术领域】

    本发明涉及生成数字数据(图像数据等)的数字署名的数字署名生成装置、方法、计算机程序以及计算机可读取的存储介质。

    背景技术

    近年来,把被摄物体的光学图像数字化并进行存储的数字照相机正被实用化。用数字照相机拍摄的图像数据具有易于利用和加工的优点,然而另一方面这也意味着容易改变。因此,存在着用数字照相机拍摄的照片的可信性比银盐照片低,缺乏证据能力的问题。因此,近年来,提出了具备在拍摄的图像数据中添加数字署名的功能的数字照相机系统(例如,美国专利第5,499,294,日本特开平9-200730号)。

    但是,在数字署名的生成中通常所使用的RSA密码等公开密钥加密方式由于需要乘幂运算或者余数运算,因此难以进行高速处理,与DES等共通密钥加密方式相比,需要数百倍到数千倍的处理时间。因而,存在用数字照相机的有限地运算资源,很难生成使用了公开密钥加密方式的数字署名的问题。

    为此,提出了通过使用IC卡等内置了微处理器的存储介质进行数字署名,不使数字照相机的运算资源的性能大幅度提高,在所生成的数字图像中进行数字署名的结构(例如,日本特开2002-244924号公报)。

    但是,在日本特开2002-244924记载的结构中,在IC卡内的存储器中,仅对于照相机的固有ID准备了一个秘密密钥。因此,在对特殊用户提供与普通用户不同的秘密密钥的情况下,必须重新制作具有特殊用户用的秘密密钥的IC卡,存在着特殊用户用的IC卡的制造成本上升的问题。

    【发明内容】

    本发明是鉴于这样的问题而设计的,目的在于能够不提高制造成本地对特殊用户提供与普通用户不同的数字署名用的密钥信息。

    上述的目的通过以下的数字署名生成装置来实现,该数字署名生成装置具有存储了多个秘密密钥的存储装置,其特征在于:在接收到密钥变更命令的情况下,把上述数字署名生成装置所使用的秘密密钥变更为上述密钥变更命令所指定的秘密密钥;在接收到署名生成命令的情况下,使用上述多个秘密密钥中的某一个生成预定的数字数据的数字署名。

    另外,上述目的还可通过以下数字署名生成方法实现,该数字署名生成方法是具有存储了多个秘密密钥的存储单元的数字署名生成装置中的方法,其特征在于,包括:在接收到密钥变更命令的情况下,把上述数字署名生成装置所使用的秘密密钥变更为上述密钥变更命令所指定的秘密密钥的步骤;在接收到署名生成命令的情况下,使用上述多个秘密密钥中的某一个生成数字数据的数字署名的步骤。

    进而,上述的目的还可通过以下数字署名生成装置来实现,该数字署名生成装置具有多个秘密密钥,使用该多个秘密密钥中的一个,生成预定的数字数据的数字署名,其特征在于,包括:命令分析装置,分析从外部提供来的命令;设定装置,根据上述命令分析装置的分析结果,上述多个秘密密钥中设定在上述数字署名的生成中应使用的秘密密钥。

    进而,上述的目的还通过使计算机执行本发明的方法的程序或者保存了该程序的计算机可读取的记录介质来实现。

    本发明的其它特征和优点,通过以下的结合附图的说明将得以明确。在这些附图中,相同的参照标号表示相同或相似的部分。

    【附图说明】

    附图包括在说明书中并构成该说明书的一部分,说明附图本发明的具体实施方式,并与说明书一起解释本发明的原理。

    图1是表示第1实施方式的数字署名生成系统的主要构成部分的图。

    图2是表示IC卡10的主要构成部分的图。

    图3是表示密钥管理表的一例的图。

    图4A、4B是表示命令和应答的数据格式的图。

    图5是说明秘密密钥变更处理的顺序的图。

    图6是说明秘密密钥变更处理的顺序的图。

    图7是说明数字署名生成处理的顺序的图。

    图8是说明把设定了特殊用户用的秘密密钥的IC卡10提供给特殊用户的顺序的图。

    图9是表示第3实施方式的数字署名生成系统的主要构成部分的图。

    【具体实施方式】

    下面,参照附图详细说明本发明的实施方式。

    第1实施方式

    首先,参照图1说明第1实施方式中的数字署名生成系统的主要构成部分。

    IC卡10安装有多应用OS(操作系统),可执行多个应用程序。IC卡10具有存储了多个秘密密钥的存储介质(半导体存储器等),能够使用多个秘密密钥中的某一个,生成包含在从计算机A20提供的命令中的数字数据M(图像数据等)的数字署名S,并包含在应答中进行输出。IC卡10既可以是接触型,也可以是非接触型,还可以是混合型(具有接触型和非接触型的功能)。另外,由于IC卡10是生成数字数据M的数字署名S的装置,所以也可看作是“数字署名生成装置”。

    另外,在以下的说明中虽然没有特别记载,但是计算机与IC卡10通过内置于计算机或者可通信地进行连接的IC卡读写器来交换数据。

    计算机A20是IC卡10的销售商所使用的计算机。记录介质21是记录了安装到计算机A20上的程序的记录介质。程序A是能够在计算机A20中执行的程序,是秘密密钥变更处理(参照图5)以及秘密密钥确认处理(参照图6)的执行所必需的程序。

    计算机B30是普通或者特殊用户所使用的计算机。记录介质31是记录了安装到计算机B30中的程序B的记录介质。程序B是能够在计算机B30中执行的程序,是数字署名生成处理(参照图7)的执行所必需的程序。

    接下来,参照图2说明本实施方式中的IC卡10的主要构成部分。接口单元101接收从计算机A20或者计算机B30发送出的命令,将与所接收的命令对应的应答发送给计算机A20或者计算机B30。

    CPU(中央处理单元)102按照EEPROM104所存储的多个应用程序控制IC卡10的动作。

    ROM(只读存储器)103是存储多应用OS和命令解释程序的存储器。多应用OS是管理EEPROM(电可擦除可编程ROM)104所存储的多个应用程序的操作系统。在多应用OS中,具有输入输出功能、加密功能、文件管理功能、向EEPROM104追加新的应用程序的功能、删除EEPROM104所存储的应用程序的功能等。

    EEPROM104是存储管理多个秘密密钥的密钥管理表、多个应用程序、用户数据等的存储器。

    RAM(随机存取存储器)105是暂时存储CPU102和协同处理器106所处理的数据的存储器。

    协同处理器(Co-Processor)106使用EEPROM104所存储的多个秘密密钥中的一个,通过对所接收的数字数据M的哈希值进行加密,来生成数字数据M的数字署名S。在加密算法中,利用RSA密码等公开密钥密码。

    接下来,参照图3说明IC卡10的EEPROM104所存储的密钥管理表的一例。密钥管理表是管理IC卡10所使用的秘密密钥的管理表。在密钥管理表中,如图3所示,注册有多个秘密密钥(在本实施方式中是16个)。第0个秘密密钥是普通用户用的秘密密钥。刚制造后的IC卡10的秘密密钥设定为第0个秘密密钥。第1~第15个秘密密钥是特殊用户用的秘密密钥。在对某特殊用户提供第3个秘密密钥的情况下,销售商使用计算机A20向IC卡10发送密钥变更命令(指定第3个秘密密钥)。如果密钥变更命令的执行正常地结束,则IC卡10的秘密密钥成为第3个密钥,能够对特殊用户提供与普通用户不同的秘密密钥。

    其次,参照图4A、4B说明从计算机A20或者计算机B30向IC卡10发送的命令的数据格式,以及从IC卡10向计算机A20或者计算机B30发送的应答的数据格式。

    命令识别代码字段401是保存表示命令种类的命令识别代码的字段。在命令中有密钥变更命令、密钥确认命令以及署名生成命令等。密钥变更命令是向IC卡10请求把IC卡10所使用的秘密密钥变更为由销售商所选择的秘密密钥的命令。密钥确认命令是向IC卡10询问设定在IC卡10中的秘密密钥的密钥编号的命令。署名生成命令是向IC卡10请求生成例如由用户选择的图像数据等数字数据M的数字署名S的命令。

    命令数据长度字段402是保存命令数据字段403的数据长度(字节长度)的字段。

    命令数据字段403是保存发送给IC卡10的数据的字段。对于密钥变更命令,在命令数据字段403中保存希望在IC卡10中设定的秘密密钥的密钥编号。对于密钥确认命令,在命令数据字段403中不保存任何内容。对于署名生成命令,在命令数据字段403中保存数字数据M(图像数据等)。

    应答数据长度字段404是保存应答数据字段405的数据长度(字节长度)的字段。

    应答数据字段405是保存与命令对应的数据的字段。在密钥变更命令的执行正常地结束时,在应答数据字段405中保存按照密钥变更命令设定的秘密密钥的密钥编号。在密钥确认命令的执行正常地结束时,在应答数据字段405中保存在IC卡10中所设定的秘密密钥的密钥编号。在署名生成命令的执行正常地结束时,保存从署名生成命令取出的数字数据的数字署名。在密钥变更命令、密钥确认命令或者署名生成命令的执行没有正常地结束时,在应答数据字段405中保存虚设(dummy)数据。

    状态代码字段406是保存表示执行命令后的结果(正常结束、出错、警告等)的状态代码的字段。

    其次,参照图5,说明在计算机A20与IC卡10之间执行的秘密密钥变更处理的顺序。秘密密钥变更处理是将IC卡10所使用的秘密密钥变更为销售商所选择的秘密密钥的处理。秘密密钥变更处理是在IC卡10的制造后,在销售商一方进行的处理。

    步骤S501:计算机A20按照销售商的指示生成密钥变更命令,把生成的密钥变更命令发送给IC卡10。这时,在密钥变更命令的命令数据字段403中保存由销售商选择的密钥编号。

    步骤S502:接口单元101接收密钥变更命令,把接收的密钥变更命令提供给CPU102。CPU102从密钥变更命令的命令数据字段403中取出密钥编号,更新密钥管理表,以使取出的密钥编号有效。即,把密钥变更命令指定的秘密密钥变更为IC卡10所使用的秘密密钥。例如,在密钥变更命令指定的密钥编号是第3个时,IC卡10使用的秘密密钥变更为第3个秘密密钥。

    步骤S503:CPU102根据执行密钥变更命令后的结果生成应答,把生成的命令提供给接口单元101。这时,在应答的应答数据字段405中,保存变更后的密钥编号。接口单元101把应答返送给计算机A20。

    步骤S504:计算机A20接收应答,分析接收的应答。在密钥变更命令正常地结束时,计算机A20把变更后的密钥编号通知给销售商。由此,销售商能够知道设定在IC卡10中的数字署名用的秘密密钥。在密钥变更命令没有正常地结束时,计算机A20使用状态代码向销售商通知密钥变更命令没有正常地结束的原因。

    其次,参照图6,说明在计算机A20与IC卡10之间执行的秘密密钥确认处理的顺序。秘密密钥确认处理是确认IC卡10使用的数字署名用的秘密密钥的处理。秘密密钥确认处理是在销售商一方进行的处理。

    步骤S601:计算机A20按照销售商的指示生成密钥确认命令,把生成的密钥确认命令发送给IC卡10。这时,在密钥确认命令的命令数据字段403中不保存任何内容。

    步骤S602:接口单元101接收密钥确认命令,把接收的密钥确认命令提供给CPU102。CPU102执行从接口单元101提供的密钥确认命令。CPU102参照密钥管理表,查询在IC卡10中设定的密钥编号。

    步骤S603:CPU102根据执行密钥确认命令后的结果生成应答,把生成的应答提供给接口单元101。这时,在应答的应答数据字段405中保存在IC卡10中设定的密钥编号。接口单元101把应答返送给计算机A20。

    步骤S604:计算机A20接收应答,分析接收的应答。在密钥确认命令正常地结束时,计算机A20把设定在IC卡10中的密钥编号通知给销售商。由此,销售商能够知道设定在IC卡10中的数字署名用的秘密密钥。在密钥确认命令没有正常地结束时,计算机A20使用状态代码向销售商通知密钥确认命令没有正常地结束的原因。

    其次,参照图7说明在计算机B30与IC卡10之间执行的数字署名生成处理的顺序。数字署名生成处理是使用设定在IC卡10中的数字署名用的秘密密钥,生成数字数据M的数字署名S的处理。数字署名生成处理是在普通用户或特殊用户一方进行的处理。

    步骤S701:计算机B30按照普通用户或特殊用户的指示生成署名生成命令,把生成的署名生成命令发送给IC卡10。这时,在署名生成命令的命令数据字段403中保存数字数据M。

    步骤S702:接口单元101接收署名生成命令,把接收的署名生成命令提供给CPU102。CPU102从密钥变更命令的命令数据字段403中取出数字数据M,把取出的数字数据M写入到RAM105中。CPU102从密钥管理表中取出设定在IC卡10中的秘密密钥,把取出的秘密密钥写入到RAM105中。在计算机B30的用户是普通用户时,CPU102把第0个秘密密钥写入到RAM105中。在计算机B30的用户是特殊用户时,协同处理器106把第1~第15个中的某一个秘密密钥写入到RAM105中。协同处理器106为了生成数字数据M的数字署名S,根据从RAM105读出的数字数据M生成数字数据M的哈希值,根据从RAM105读出的秘密密钥,对生成的哈希值进行加密。协同处理器106把生成的数字署名S写入到RAM105中。

    步骤S703:CPU102根据执行署名生成命令后的结果生成应答,把生成的应答提供给接口单元101。在署名生成命令的执行正常地结束时,在署名数据字段405中保存从RAM105读出的数字署名S。在署名生成命令的执行没有正常地结束时,在应答数据字段405中保存虚设数据。接口单元101把应答返送给计算机B30。

    步骤S704:计算机B30接收应答,分析接收的应答。在署名生成命令的执行正常地结束时,计算机B30向用户通知正常地生成了数字署名S。而且,计算机B30从应答数据字段405中取出数字署名S,把取出的数字署名S付加到数字数据M中。在署名生成命令的执行没有正常地结束时,计算机B30向用户通知没有正常结束的原因。

    其次,参照图8说明向特殊用户提供设定了特殊用户用的秘密密钥的IC卡10的顺序。

    步骤S801:销售商从特殊用户接收IC卡10。

    步骤S802:销售商确定使特殊用户使用的密钥编号(第1~第15中的某一个)。

    步骤S803:销售商在IC卡10中设定在步骤S802中确定的密钥编号。对密钥编号的设定,使用上述的密钥变更命令。通过该处理,在IC卡10中设定与普通用户不同的秘密密钥(普通用户的密钥编号是第0号)。例如,在步骤S802中确定的密钥编号是第3号时,IC卡10的秘密密钥成为与第3号对应的秘密密钥。

    步骤S804:销售商向特殊用户提供IC卡10。由此,销售商能够向特殊用户提供与普通用户不同的数字署名用的秘密密钥。

    这样,通过第1实施方式中的IC卡10,能够根据密钥变更命令变更所使用的秘密密钥,所以能够不提高IC卡的制造成本地向特殊用户提供与普通用户不同的数字署名用的秘密密钥。另外,由于能够存储多个特殊用户用的秘密密钥,所以即使存在多个特殊用户时,也能够分别提供与普通用户不同的数字署名用的秘密密钥。

    另外,通过第1实施方式中的IC卡10,搭载有多应用OS,所以能够容易地追加新的应用程序。即,无论是采用新的数字署名的生成算法,还是更新上述的密钥管理表,都能够容易地追加新的功能。

    第2实施方式

    在上述数字署名生成处理中,在署名生成命令的命令数据字段中保存数字数据M,但也可以把数字数据M置换为数字数据M的哈希值。这种情况下,由于可以不在IC卡10内生成数字数据M的哈希值,所以能够减轻IC卡10的负荷,能够高速地生成数字署名S。另外,这种情况下由于能够减小在IC卡10中处理的数据大小(因为数字数据M的哈希值的数据大小与数字数据M的数据大小相比充分小),因此能够减小IC卡10的电路规模,能够使IC卡10的制造成本更低廉。

    第3实施方式

    上述计算机B30还能够置换为数字照相机,数字摄像机,扫描仪等摄像装置。图9表示第2实施方式中的数字署名生成系统的主要构成部分。摄像装置40是具有拍摄被摄物体的图像数据的摄像单元的装置,例如,是数字照相机,数字摄像机,扫描仪。记录介质41是记录了在上述数字署名生成处理的执行中所需要的程序的记录介质。这种情况下,还能够在IC卡10中生成用摄像装置40拍摄的原始图像数据的数字署名。

    其它实施方式

    为使上述各种设备进行动作,以实现上述实施方式的功能,对与各种设备连接的装置或者系统内的计算机提供用于实现上述实施方式的功能的软件的程序代码,按照保存在该系统或者装置的计算机(CPU或者MPU)中的程序使上述各种设备进行动作,由此实施的情况也包含在本发明的范围内。

    另外,这种情况下,上述软件的程序代码本身就实现上述实施方式的功能,该程序代码本身就构成本发明。作为该程序代码的传送介质,可以使用用于把程序信息作为载波进行传输来提供的计算机网络(LAN,互联网等WAN,无线通信网络等)系统中的通信介质(光纤等有线线路或者无线线路等)。

    进而,用于把上述程序代码提供给计算机的装置,例如保存了相关的程序代码的记录介质构成本发明。作为存储相关的程序代码的记录介质,可以使用例如软盘、硬盘、光盘、磁光盘、CD-ROM、磁带、非易失性的存储卡、ROM等。

    另外,不仅是通过计算机执行提供来的程序代码,来实现上述实施方式的功能,在该程序代码和在计算机上运行的OS(操作系统)或其他应用软件等一起实现上述实施方式的功能的情况下,相关的程序代码当然也包括在本发明的实施方式内。    

    进而,所提供的程序代码被写入到计算机的功能扩展板或者与计算机连接的功能扩展单元所具备的存储器中后,根据该程序代码的指示,该功能扩展板或者功能扩展单元所具备的CPU等进行实际处理的一部分或者全部,通过该处理实现上述实施方式的功能的情况也包括在内。

    另外,在上述实施方式中示出的各部分的形状和构造,都仅是表示实施本发明时的具体化的一个例子,不能根据这些例子限定地解释本发明的技术范围。即,本发明在不脱离其精神或者其主要特征的情况下能够以各种形态实施。

    如以上那样,通过本发明,能够提供不提高制造成本地对特殊用户提供与普通用户不同的数字署名用的秘密密钥。

    在不脱离本发明的思想和范围的情况下可以进行本发明的多种改变和修改,因此本发明不限于上述具体实施例,而是由所附权利要求书来确定。

数字署名生成装置、数字署名生成方法.pdf_第1页
第1页 / 共22页
数字署名生成装置、数字署名生成方法.pdf_第2页
第2页 / 共22页
数字署名生成装置、数字署名生成方法.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《数字署名生成装置、数字署名生成方法.pdf》由会员分享,可在线阅读,更多相关《数字署名生成装置、数字署名生成方法.pdf(22页珍藏版)》请在专利查询网上搜索。

本发明提供一种数字署名生成装置。该数字署名生成装置是IC卡(10),具有存储多个数字署名用的秘密密钥的EEPROM(104),和使用多个秘密密钥中的一个,生成数字数据的数字署名的协同处理器(106);在接收到密钥变更命令的情况下,把IC卡(10)所使用的秘密密钥变更为密钥变更命令所指定的秘密密钥。由此,能够不提高制造成本地向特殊用户提供与普通用户不同的数字署名用的秘密密钥。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1