设备认证系统的制作方法

文档序号:7604344阅读:144来源:国知局
专利名称:设备认证系统的制作方法
技术领域
本发明涉及认证系统等,具体地说,用规定的逻辑变换安全上重要信息,用变换后的信息进行认证的系统。
背景技术
近来,CE(Consumer Electronics消费电子)设备的普及越来越广泛。CE设备是指例如,录象机、硬盘记录器、音响、电视等的音频视频设备和个人计算机、数码相机、可携式摄像机、PDA、游戏机、家庭路由器等的电子设备和电饭煲、冰柜的家电制品以及其他在电子设备中内置有计算机的设备,经由网络可利用业务。
通过从CE设备访问服务器并下载内容或接受服务等,用户可利用服务器提供的业务。
服务器提供的业务可向所有CE设备提供和向被设备认证的特定的CE设备提供。
服务器提供需要设备认证的业务时,用认证服务器认证该CE设备,在认证后提供业务。
这样由业务服务器向终端设备提供业务的发明如专利文献1特开2002-342285号公报。
该发明中,当有来自终端设备(便携电话)的认证请求时,若认证则发行一次性口令并发送到终端设备。当终端设备请求信息时,从终端设备接收先前的一次性口令,确认认证的设备确实是该终端设备。


图12是传统的CE设备101的构成示意图。CE设备101具备设备认证模块103,它存储设备ID和口令等的认证所必要的认证信息,同时进行与设备认证相关处理;加密模块104,从设备认证模块103接受认证信息,对通信通路加密,并将认证信息向设备认证处105发送。
由于设备认证模块103将认证信息以明文方式向加密模块104发送,因而为了不被第三者读取该认证信息,通过静态链接来结合设备认证模块103和加密模块104。
对通信通路进行加密的模块往往用于设备认证以外的用途,但是,由于加密模块104与设备认证模块103静态链接,因而CE设备101采用设备认证以外的用途所使用的加密模块。这样,CE设备101中,必须在CE设备101内的存储器安装具有相同功能的两个加密模块,实质上使得设备认证模块的容量变大,减少了CE设备101中可利用的存储区域,或者使设备认证功能的安装本身变得困难。
因而,本发明的目的是提供可实现可有效利用终端设备内的存储器的设备认证功能的终端设备认证系统等。
发明的公开本发明提供一种设备认证系统,由具备设备认证用的秘密信息的终端设备和用上述秘密信息进行上述终端设备的设备认证的认证服务器构成,其特征在于上述终端设备取得随机数,通过单向函数变换上述取得的随机数和上述秘密信息的组,生成变换值;上述认证服务器取得由上述终端设备取得的随机数、上述终端设备的秘密信息以及上述终端设备生成的变换值;通过与上述终端设备采用的单向函数相同的单向函数变换上述取得的随机数和秘密信息的组,生成变换值;通过比较上述终端设备装置中生成的变换值和上述认证服务器中生成的变换值,进行上述终端设备的设备认证。(第1构成)另外,本发明可构成一种终端设备,是第1构成的设备认证系统中接受设备认证的终端设备,其特征在于具备从认证服务器接收随机数和特定该随机数的随机数特定信息的接收部件;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换部件;发送上述生成的变换值、上述接收的随机数特定信息以及认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送部件。(第2构成)另外,本发明可构成一种认证服务器,是对第2构成的终端设备进行设备认证的认证服务器,其特征在于具备取得随机数的随机数取得部件;向终端设备发送上述取得的随机数和特定该随机数的随机数特定信息的发送部件;从上述终端设备接收变换值、上述随机数特定信息、秘密信息特定信息的接收部件;用上述接收的随机数特定信息特定向上述终端设备发送的随机数的随机数特定部件;用上述接收的秘密信息特定信息特定上述终端设备的秘密信息的秘密信息特定部件;采用与上述终端设备采用的单向函数相同的单向函数变换上述特定的秘密信息和随机数的组并生成变换值的变换部件;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证部件。(第3构成)另外,本发明可构成第1构成的设备认证系统包含经过认证服务器认证后向上述终端设备提供业务的业务服务器,其特征在于,上述业务服务器包括取得随机数的随机数取得部件;向终端设备发送上述取得的随机数的随机数发送部件;从上述终端设备接收用秘密信息生成的变换值和秘密信息特定信息的接收部件;特定向上述终端设备发送的随机数的随机数特定部件;向认证服务器发送由上述接收的变换值、秘密信息特定信息、上述特定的随机数所组成的认证信息的认证信息发送部件;从上述认证服务器接收基于上述发送的认证信息的认证结果的认证结果接收部件。(第4构成)
另外,本发明可构成一种终端设备,是从第4构成的业务服务器接受业务提供的终端设备,其特征在于具备从业务服务器接收随机数的随机数接收部件;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换部件;发送上述生成的变换值和认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送部件。(第5构成)另外,本发明可构成一种认证服务器,是第4构成的业务服务器提供业务时,对终端设备进行设备认证的认证服务器,其特征在于具备从业务服务器接收由变换值、秘密信息特定信息、随机数组成的认证信息的接收部件;用上述接收的秘密信息特定信息来特定上述终端设备的秘密信息的秘密信息特定部件;采用与上述终端设备采用的单向函数相同的单向函数来变换上述接收的随机数和上述特定的秘密信息的组并生成变换值的变换部件;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证部件。(第6构成)另外,本发明提供一种终端设备方法,用于第1构成的设备认证系统中接受设备认证的终端设备中,上述终端设备由具备接收部件、变换部件、发送部件的计算机构成,其特征在于上述方法包括接收步骤,用上述接收部件从认证服务器接收随机数和特定该随机数的随机数特定信息;变换步骤,用上述变换部件通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值;发送步骤,用上述发送部件发送上述生成的变换值、上述接收的随机数特定信息以及认证服务器中用于特定上述秘密信息的秘密信息特定信息。
另外,本发明提供一种认证方法,用于对第2构成的终端设备进行设备认证的认证服务器中,上述认证服务器由具备随机数取得部件、发送部件、接收部件、随机数特定部件、秘密信息特定部件、变换部件、设备认证部件的计算机构成,其特征在于上述方法包括随机数取得步骤,用上述随机数取得部件取得随机数;发送步骤,用上述发送部件向终端设备发送上述取得的随机数和特定该随机数的随机数特定信息;接收步骤,用上述接收部件从上述终端设备接收变换值、上述随机数特定信息、秘密信息特定信息;随机数特定步骤,由上述随机数特定部件采用上述接收的随机数特定信息,特定向上述终端设备发送的随机数;秘密信息特定步骤,由上述秘密信息特定部件采用上述接收的秘密信息特定信息,特定上述终端设备的秘密信息;变换步骤,由上述变换部件采用与上述终端设备采用的单向函数相同的单向函数来变换上述特定的秘密信息和随机数的组,生成变换值;设备认证步骤,由上述设备认证部件采用上述接收的变换值和上述生成的变换值,对上述终端设备进行设备认证。
另外,本发明提供一种认证方法,用于第4构成的业务服务器,上述业务服务器由具备随机数取得部件、随机数发送部件、接收部件、随机数特定部件、认证信息发送部件、认证结果接收部件的计算机构成,其特征在于上述方法包括随机数取得步骤,用上述随机数取得部件取得随机数;随机数发送步骤,用上述随机数发送部件向终端设备发送上述取得的随机数;接收步骤,用上述接收部件从上述终端设备接收用秘密信息生成的变换值和秘密信息特定信息;随机数特定步骤,用上述随机数特定部件特定向上述终端设备发送的随机数;认证信息发送步骤,用上述认证信息发送部件向认证服务器发送由上述接收的变换值、秘密信息特定信息、上述特定的随机数所组成的认证信息;认证结果接收步骤,用上述认证结果接收部件从上述认证服务器接收基于上述发送的认证信息的认证结果。
另外,本发明提供一种终端设备方法,用于从第4构成的业务服务器接受业务提供的终端设备,上述终端设备由具备随机数接收部件、变换部件、发送部件的计算机构成,其特征在于上述方法包括随机数接收步骤,用上述随机数接收部件从业务服务器接收随机数;变换步骤,用上述变换部件通过单向函数变换上述接收的随机数和秘密信息的组,生成变换值;发送步骤,用上述发送部件发送上述生成的变换值和认证服务器中用于特定上述秘密信息的秘密信息特定信息。
另外,本发明提供一种认证方法,用于当第4构成的业务服务器提供业务时,对终端设备进行设备认证的认证服务器,上述认证服务器由具备接收部件、秘密信息特定部件、变换部件、设备认证部件的计算机构成,其特征在于上述方法包括接收步骤,用上述接收部件从业务服务器接收由变换值、秘密信息特定信息、随机数组成的认证信息;秘密信息特定步骤,由上述秘密信息特定部件用上述接收的秘密信息特定信息来特定上述终端设备的秘密信息;变换步骤,用上述变换部件采用与上述终端设备采用的函数相同的单向函数来变换上述接收的随机数和上述特定的秘密信息的组,生成变换值;设备认证步骤,由上述设备认证部件采用上述接收的变换值和上述生成的变换值,对上述终端设备进行设备认证。
另外,本发明提供一种终端设备程序,在第1构成的设备认证系统中接受设备认证的计算机所构成终端设备中实现以下功能从认证服务器接收随机数和特定该随机数的随机数特定信息的接收功能;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换功能;发送上述生成的变换值、上述接收的随机数特定信息、认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送功能。
另外,本发明提供一种认证程序,在对第2构成的终端设备进行设备认证的计算机所构成的认证服务器中实现以下功能取得随机数的随机数取得功能;向终端设备发送上述取得的随机数和特定该随机数的随机数特定信息的发送功能;从上述终端设备接收变换值、上述随机数特定信息、秘密信息特定信息的接收功能;用上述接收的随机数特定信息特定向上述终端设备发送的随机数的随机数特定功能;用上述接收的秘密信息特定信息特定上述终端设备的秘密信息的秘密信息特定功能;采用与上述终端设备采用的单向函数相同的单向函数变换上述特定的秘密信息和随机数的组并生成变换值的变换功能;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证功能。
另外,本发明提供一种业务服务器程序,在第4构成的计算机构成的业务服务器中实现以下功能取得随机数的随机数取得功能;向终端设备发送上述取得的随机数的随机数发送功能;从上述终端设备接收用秘密信息生成的变换值和秘密信息特定信息的接收功能;特定向上述终端设备发送的随机数的随机数特定功能;向认证服务器发送由上述接收的变换值、秘密信息特定信息、上述特定的随机数所组成的认证信息的认证信息发送功能;从上述认证服务器接收基于上述发送的认证信息的认证结果的认证结果接收功能。
另外,本发明提供一种终端设备程序,在由从第4构成的业务服务器接受业务提供的计算机构成的终端设备中实现以下功能从业务服务器接收随机数的随机数接收功能;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换功能;发送上述生成的变换值、认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送功能。
另外,本发明提供一种认证程序,在当第4构成的业务服务器提供业务时,对终端设备进行设备认证的计算机所构成的认证服务器中实现以下功能从业务服务器接收由变换值、秘密信息特定信息、随机数组成的认证信息的接收功能;用上述接收的秘密信息特定信息特定上述终端设备的秘密信息的秘密信息特定功能;用与上述终端设备采用的单向函数相同的单向函数变换上述接收的随机数和上述特定的秘密信息的组并生成变换值的变换功能;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证功能。
另外,本发明提供一种计算机可读取存储媒体,存储有上述各程序。
另外,本发明提供一种终端设备,是第1构成的设备认证系统中接受设备认证的终端设备,其特征在于具备从认证服务器接收随机数和特定该随机数的随机数特定信息的接收部件;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换部件;发送上述生成的变换值、上述接收的随机数特定信息以及认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送部件。上述秘密信息和上述变换部件存储在嵌入终端设备的抗窜改装置中。
图面的简单说明图1是本实施例的设备认证系统的构成说明图。
图2是涉及CE设备的设备认证的构成要素的说明图。
图3是CE设备的硬件构成的一例示意图。
图4是说明进行设备认证的顺序的流程图。
图5是说明摘要认证处理的顺序的流程图。
图6是说明业务服务器通过认证服务器确认认证结果的顺序的流程图。
图7是说明CE设备确认认证服务器的其他顺序的流程图。
图8是说明进行设备认证的其他顺序的流程图。
图9是说明摘要认证处理的顺序的流程图。
图10是本实施例的变形例的说明图。
图11是本变形例的硬件构成的一例示意图。
图12是传统的CE设备的构成说明图。
发明的最佳实施例以下,参照图详细说明本发明的优选实施例。
(1)实施例的概要如图2所示,设备认证模块7从认证服务器5接收服务器随机数和一次性ID,将该服务器随机数和口令组合并哈什化(hashing),生成摘要。然后将其与设备ID一起转发到加密模块8。加密模块8对通信通路加密,将摘要和设备ID及一次性ID向认证服务器5发送。
认证服务器5,预先对应存储设备ID和CE设备3的口令。另外,对应存储先前向CE设备3发送的服务器随机数和一次性ID。
认证服务器5,用从CE设备3接收的一次性ID和设备ID来特定口令和先前发生的服务器随机数。然后将它们组合,用与CE设备3侧的逻辑相同的逻辑生成摘要。然后,对照生成的摘要和从CE设备3接收的摘要,通过两者是否一致来进行CE设备3的认证。
这样,设备认证模块7不向加密模块8发送口令,而是发送从服务器随机数和口令的组生成的摘要。因而,即使第三者从设备认证模块7读取摘要,第三者也无法从摘要恢复口令。
而且,由于认证服务器5每次设备认证时生成不同的服务器随机数,因而设备认证模块7向加密模块8发送的摘要也随着每次设备认证而不同,即使摘要被第三者读取也无法滥用。
另外,若摘要泄漏给第三者,则在每次设备认证时第三者用相同的该摘要可进行所谓重发攻击,但是由于CE设备3在每次设备认证生成不同的摘要,无法进行重发攻击。
(2)实施例的详细图1是本实施例的设备认证系统1的构成说明图。
设备认证系统1经由网络与CE设备3、业务服务器4、认证服务器5可通信地连接。
另外,图1虽然仅仅记载了一台CE设备3和业务服务器4,但是也可以存在多台。
CE设备3具备设备ID、口令等设备认证所必要的认证信息(在存储装置3a存储,与图3的存储部28对应),用这些信息通过认证服务器5接收设备认证,可利用业务服务器4提供的业务。
另外,口令构成CE设备3和认证服务器5用于设备认证的共有秘密信息。
业务服务器4是提供例如向CE设备3发送内容等的业务的服务器。业务服务器4提供的业务有些需要设备认证,而有些不需要。CE设备3请求需要设备认证的业务时,业务服务器4由认证服务器5代行设备认证。
业务服务器4登记要被提供业务的CE设备3,在存储装置4a存储可与业务服务器4连接的各CE设备的设备信息(序列号等)、持有者信息等。从CE设备3接收认证结果时,这些信息用于确认从认证服务器5接受设备认证的CE设备3是否为真正的该CE设备3。
认证服务器5是取代业务服务器4代行CE设备3的设备认证的服务器。
认证服务器5生成随机数(以下称为服务器随机数)并向CS设备3发送,从CE设备3接收从设备ID、服务器随机数和口令生成的摘要等,进行CE设备3的设备认证。认证服务器5每次认证时生成不同的服务器随机数。
认证服务器5具备通过发生随机数而取得的随机数取得部件,但是,认证服务器5也可构成为取得由其他装置生成的随机数。
认证服务器5除了在存储装置5a对各CE设备3存储口令、设备ID、设备信息、持有者信息等外,还存储业务服务器4向CE设备3提供业务的业务网站的URL(Uniform Resource Locators)。
为了判断是否为CE设备3可利用的适当网站,该URL预先由业务服务器4取得并登记。
认证服务器5从CE设备3接收设备ID,通过检索与该设备ID相关的口令,取得CE设备3的口令。这样,设备ID构成特定CE设备3的秘密信息(口令)的秘密信息特定信息。
在除了业务服务器4外还设置进行设备认证的认证服务器5的原因是(以前业务服务器4也进行设备认证)业务服务器4往往由一般的个人或任意团体等运营,向业务服务器4提供认证信息时,提供的信息有可能被滥用。
这样,作为设置了进行设备认证的代行的认证服务器5的系统,有未公开的文献(特愿2002-144896)中提案的业务提供系统。
该系统中,设备认证服务器统一进行设备认证,业务服务器接受认证服务器的认证结果,判断是否向CE设备提供业务。
该系统中,进行设备认证时,由于安全上重要的信息向设备认证服务器发送,不必要将这些信息向业务服务器提供。
图2是构成CE设备3的要素中涉及设备认证的说明图。
CE设备3具备设备认证模块7和加密模块8。设备认证模块7存储设备ID和口令等设备认证所必要的认证信息。另外,设备认证模块7可从认证服务器5接收服务器随机数,将其与口令组合并哈什化,生成摘要(哈什值或摘要信息)。
设备认证模块7将设备ID和摘要作为认证信息向加密模块8发送。
这里哈什化是指用称为哈什函数的函数从电子文档生成字符串(摘要)的处理。
从相同电子文档获得相同的摘要。电子文档即使有一部分变更,该文档的摘要也不同于变更前的摘要。另外,从摘要无法恢复原来的电子文档。
另外,哈什函数是称为单向函数的函数的一种。单向函数是从变换元到变换值的变换容易,但是从变换值到变换元的逆变换困难的函数。另外,摘要是用哈什函数变换变换元(口令和服务器随机数的组)后的变换值。
这样,CE设备3具备用单向函数变换随机数(服务器随机数)和秘密信息(口令)的组并取得变换值(摘要)的变换部件。
加密模块8是使用例如SSL(Secure Sockets Layer安全套接层)等的加密技术对通信通路加密的模块。加密模块8从设备认证模块7接受认证信息,经由加密的通信通路向认证服务器5发送认证信息。
这样,CE设备3中,从设备认证模块7输出的口令成为与服务器随机数一组而生成的摘要。因而,从设备认证模块7向加密模块8发送的认证信息不包含明文的口令,认证信息即使被第三者获得,也无法从摘要恢复口令。而且,设备认证所使用的摘要每次变化,因而第三者即使读取摘要也无法滥用。因而可确保高安全性。
设备认证模块7和加密模块8通过动态链接连接。
即,当设备认证模块7向认证服务器5发送认证信息时,动态地连接到加密模块8。
因而,加密模块8也可被有必要对不同于设备认证模块7的其他通信通路加密的模块利用。
该场合,当该模块通过加密的通信通路发送信息时,加密模块8动态地与该模块连接。
这样,加密模块8可被多个模块共用,节约CE设备3的存储区域。
图3是CE设备3的硬件构成的一例示意图。
CPU(Central Processing Unit)21根据ROM(Read OnlyMemory)22存储的程序或从存储部28加载到RAM(Random AccessMemory)23的程序执行各种处理。
另外,RAM23还适宜存储CPU21执行各种处理所必要的数据等。
CPU21、ROM22及RAM23经由总线24相互连接。该总线24还与输入输出接口25连接。
输入输出接口25与由鼠标、键盘等组成的输入部26、由CRT(Cathode-ray Tube)、LCD(Liquid Crystal Display)等组成的显示器、扬声器等组成的输出部27、硬盘等构成的存储部28、调制解调器、终端适配器等构成的通信部29连接。通信部29进行经由网络的通信处理。
另外,输入输出接口25根据需要与驱动器30连接,适当安装磁盘41、光盘42、光磁盘43或存储卡44等,从它们读出的计算机程序根据需要安装到存储部28。
另外,认证服务器5、业务服务器4的构成基本与CE设备3相同,其说明省略。
图4是说明CE设备3从认证服务器5接受设备认证的顺序的流程图。
另外,令CE设备3具备认证服务器5的公开密钥,认证服务器5具备对应的秘密密钥。
另外,CE设备3和认证服务器5具备用流程图中的括弧表示的各个部件。
CE设备3若访问必须由业务服务器4进行设备认证的业务,则业务服务器4向CE设备3发送设备认证触发信号(步骤40)。
该设备认证触发信号是使对CE设备3进行的设备认证动作开始的信息,包含认证服务器5的URL和业务网站请求的认证的版本等的信息。
另外,也有对设备认证设置几个版本,使通过版本可利用的业务不同。
CE设备3从业务服务器4接收认证触发信号。
以下的CE设备3和认证服务器5的通信经由用加密模块8加密的通信通路进行。
CE设备3用认证触发信号所包含的认证服务器5的URL与认证服务器5连接,请求服务器随机数的发送(步骤2)。
另外,此时,CE设备3将认证触发信号中包含的业务服务器4所请求的版本和CE设备3安装的设备认证的版本向认证服务器5发送。
认证服务器5从CE设备3接收服务器随机数的发送请求,发生服务器随机数(随机数取得部件)(步骤20)。另外,确认业务服务器4请求的版本和CE设备3的版本是否一致。
而且,认证服务器5生成一次性ID1。然后,向CE设备3发送服务器随机数和一次性ID1(发送部件)(步骤22)。
另外,业务服务器4随后生成其他一次性ID,为了区别,令上述一次性ID为一次性ID1,随后生成的一次性ID为一次性ID2。
该一次性ID1是CE设备3和认证服务器5中维持会话用的用完就扔的ID。
认证服务器5通过从CE设备3接收一次性ID1,可识别与CE设备3维持的会话。
由于每次设备认证发行不同的值,因而一次性ID1可确保高安全性。
另外,认证服务器5将发送的服务器随机数和一次性ID1相关地存储。从而,通过随后从CE设备3接收一次性ID1,可特定向CE设备3发送的服务器随机数。这样,一次性ID1构成随机数特定信息。
CE设备3从认证服务器5接收服务器随机数和一次性ID1(接收部件)。随后,CE设备3生成公共密钥并用认证服务器5的公开密钥加密(步骤4)。该信息用于确认CE设备3的连接处确实是认证服务器5。
接着,CE设备3组合口令和服务器随机数并用规定的逻辑哈什化,生成摘要(变换部件)(步骤6)。
接着,CE设备3向认证服务器5发送设备ID、生成的摘要、从认证服务器5接收的一次性ID1(发送部件)(步骤8)。
另外,与这些信息一起,先前用公开密钥加密的公共密钥、令CE设备3接受业务的业务服务器4的网站的URL(以下称为目标URL)及识别用于取出公共密钥的秘密密钥(认证服务器5持有多个秘密密钥)秘密密钥识别符也向认证服务器5发送。
认证服务器5从CE设备3接收这些信息(接收部件),首先进行一次性ID1的确认(步骤24)。通过一次性ID1,认证服务器5可识别先前生成的会话持续。
另外,通过从存储装置取得与一次性ID1相关设置的服务器随机数,特定服务器随机数(随机数特定部件)。
另外,从设备ID特定CE设备3的口令(秘密信息特定部件)。
而且,认证服务器5还确认从CE设备3接收的目标URL是否为预先向认证服务器5登记的目标URL。
从而,可确认CE设备3的连接处的业务服务器4是否为合法业务服务器4。
接着,认证服务器5从先前向CE设备3发送的服务器随机数和CE设备3的口令,通过与CE设备3相同的逻辑生成摘要(变换部件),对照从CE设备3接收的摘要,进行CE设备3的认证(设备认证部件)(步骤26)。
认证服务器5若认证成功则生成一次性ID2(步骤28)。一次性ID2随后被业务服务器4用于确认接受CE设备3认证的确实是认证服务器5。
另外,认证服务器5也预先存储进行了设备认证的版本。
接着,认证服务器5将由公开密钥加密的公共密钥用秘密密钥解密并取出。
然后,认证服务器5对一次性ID2哈什化,生成摘要(以下,称为ID2摘要)。
接着,认证服务器5用先前解密的公共密钥对ID2摘要加密(步骤30)。
接着,认证服务器5连结加密的ID2摘要和一次性ID2并用公共密钥加密,将其向CE设备3发送(步骤32)。
一次性ID2与ID2摘要连结的原因是通过生成发送来的一次性ID2的摘要并与ID2摘要比较,以确认一次性ID2是否改变。
CE设备3从认证服务器5接收加密的一次性ID2和ID2摘要,用公共密钥对其解密(步骤10)。
CE设备3将一次性ID2哈什化,生成摘要并与ID2摘要比较,确认一次性ID2是否被窜改。
从公共密钥可对这些信息解密,CE设备3可确认认证服务器5取出了公共密钥(即持有秘密密钥)。即,可确认CE设备3请求设备认证的对方确实是认证服务器5(步骤12)。
另外,从发行了一次性ID2可确认CE设备3被设备认证。
接着,CE设备3通过将从认证服务器5接收的一次性ID2向业务服务器4发送,通知CE设备3被认证服务器5认证(步骤14)。
业务服务器4从CE设备3接收一次性ID2,将其向认证服务器5发送以确认认证服务器5确实进行了设备认证(步骤34,步骤42)。
若业务服务器4确认认证服务器5的设备认证结果,则对CE设备3开始业务的提供(步骤44)。
然后,CE设备3中开始业务的利用(步骤16)。
通过以上的顺序,认证服务器5不是通过口令本身而是通过从口令和服务器随机数生成的摘要,可进行摘要认证。
CE设备3通过用公开密钥加密公共密钥并向认证服务器5发送,以用认证服务器5的秘密密钥确认公共密钥被取出,可确认认证处确实是认证服务器5。
而且,认证服务器5向一次性ID2贴附ID2摘要并向CE设备3发送,从而,CE设备3可确认一次性ID2是否被窜改。
图5是说明步骤2 6(图4)的摘要认证处理的顺序的流程图。
认证服务器5向CE设备3ヘ发送服务器随机数和一次性ID1时,将它们对应存储。
认证服务器5用从CE设备3接收的一次性ID1,检索向CE设备3发送的服务器随机数(步骤52)。
另外,认证服务器5预先对应存储设备ID和口令,根据从CE设备3接收的设备ID,检索CE设备3的口令(步骤54)。
接着,认证服务器5将检索的服务器随机数和口令的组通过与CE设备3相同的逻辑来哈什化,生成摘要(步骤56)。
接着,认证服务器5对生成的摘要和从CE设备3接收的摘要进行比较,判断是否相同(步骤58)。
摘要一致的场合(步骤60;是),认证服务器5识别为设备认证成功(步骤62)。
摘要不一致时(步骤60;否),认证服务器5识别为CE设备3未被认证(步骤64)。
如上所述,认证服务器5通过预先对应地存储一次性ID和服务器随机数,且预先对应地存储设备ID和口令,可用与CE设备3相同的逻辑生成摘要,可对CE设备3进行设备认证。
图6是说明步骤34、步骤42(图4)中,业务服务器4确认认证服务器5的认证结果的顺序的流程图。
以下,认证服务器5和业务服务器4的通信经由用SSL等的技术加密的通信通路进行。
首先,业务服务器4向认证服务器5发送从CE设备3接收的一次性ID2,请求设备认证的结果(步骤82)。此时,业务服务器4发行用于维持与认证服务器5进行会话的票据(ticket),也向认证服务器5发送。
由于业务服务器4和认证服务器5的收发相互可靠性高,因而不必每次会话都发行一次性ID,可以重复使用相同ID。这样可重复再利用的ID称为票据。
通过发行票据来取代一次性ID,可使业务服务器4和认证服务器5的负载与发行一次性ID时相比减小。
认证服务器5接收一次性ID2,将该一次性ID2作为关键字,检索对CE设备3进行的设备认证的版本。另外,也从CE设备3的设备ID等检索CE设备3的设备信息。
作为设备信息,例如有CE设备3的制品代码或序列号等。
然后,将这些检索的信息向业务服务器4发送(步骤72)。
业务服务器4从认证服务器5接收版本信息和设备信息,将其与业务服务器4存储的这些信息对照。
而且,业务服务器4向认证服务器5发送票据,向认证服务器5请求CE设备3的持有者信息(步骤84)。
认证服务器5对此响应,检索该CE设备3的持有者信息,与票据一起向业务服务器4发送(步骤74)。
业务服务器4将从认证服务器5接收的持有者信息与业务服务器4存储的持有者信息对照。
这样,通过确认设备信息和持有者信息,业务服务器4可确认认证服务器5确实对CE设备3进行了设备认证。
然后,业务服务器4对CE设备3开始业务的提供(步骤86)。
如上所述,业务服务器4和认证服务器5之间的多次收发中,反复使用相同票据。
另外,业务服务器4在其他设备认证相关的认证结果确认中发行其他票据。
图7是说明确认CE设备3的认证处确实是认证服务器5的其他顺序的流程图。
以下的顺序中,CE设备3产生随机数(以下称为客户机随机数),根据其来确认认证服务器5。
首先,CE设备3生成客户机随机数(步骤102)。
接着,CE设备3生成公共密钥(步骤104)。
CE设备3用生成的公共密钥对客户机随机数加密(步骤106)。加密后的信息称为加密信息1。
而且,CE设备3用认证服务器5的公开密钥对公共密钥加密(步骤108)。加密后的信息称为加密信息2。
然后,CE设备3将加密信息1和加密信息2向认证服务器5发送(步骤110)。
另外,CE设备3预先存储发送的客户机。
认证服务器5从CE设备3接收加密信息1和加密信息2。首先,用认证服务器5的秘密密钥对加密信息2解密,取出公共密钥(步骤122)。
接着,认证服务器5用取出的公共密钥对加密信息1解密,取出客户机随机数(步骤124)。
接着,认证服务器5将取出的客户机随机数哈什化,生成摘要(步骤126)。
接着,认证服务器5将生成的摘要用公共密钥加密,向CE设备3发送(步骤128)。
CE设备3从认证服务器5接收加密的摘要并用公共密钥解密(步骤112)。
而且,CE设备3将存储的随机数哈什化,生成摘要(步骤114)。
然后,CE设备3将生成的摘要和先前解密的摘要进行比较,通过两者一致来认证连接处确实是认证服务器5(步骤116)。
即,用公共密钥加密的客户机随机数的摘要被发送来的情况表示连接处可对加密信息2解密,这意味连接处持有秘密密钥。由于持有秘密密钥的是认证服务器5,从而,可确认连接处是认证服务器5。
图8说明是进行设备认证的其他顺序的流程图。
图4所示的顺序中,从CE设备3访问认证服务器5来进行设备认证,而该顺序中,从CE设备3向业务服务器4发送认证信息,业务服务器4用该认证信息访问认证服务器5,进行设备认证。
以下的顺序中,CE设备3、业务服务器4、认证服务器5之间的通信例如采用由SSL等的技术加密的通路。
另外,CE设备3、业务服务器4、认证服务器5具备流程图中用括弧表示的各部件。
首先,CE设备3对业务服务器4请求需要设备认证的业务的提供。
对此,业务服务器4对CE设备3发送设备认证触发信号(步骤142)。
CE设备3若从业务服务器4接收设备认证触发信号,则对业务服务器4发送服务器随机数的请求(步骤132)。
业务服务器4接收该请求,生成服务器随机数(随机数取得部件)(步骤144),并向CE设备3发送(随机数发送部件)(步骤146)。业务服务器4预先存储该服务器随机数。
CE设备3从业务服务器4接收服务器随机数(随机数接收部件),同时生成客户机随机数(步骤134)。
接着,CE设备3组合服务器随机数、客户机随机数及口令并哈什化,生成摘要(变换部件)(步骤136)。
接着,CE设备3将生成的摘要、设备ID、客户机随机数向业务服务器4发送,请求设备认证(发送部件)(步骤138)。
业务服务器4接收这些认证信息(接收部件)(步骤148)。
这样,业务服务器4从CE设备3接收的认证信息中不包含服务器随机数。
业务服务器4在从CE设备3接收的认证信息(摘要、设备ID、客户机)上增加服务器随机数,作为新认证信息并向认证服务器5发送,请求设备认证(认证信息发送部件)(步骤150)。
这里,业务服务器4由于与CE设备3维持会话,因而可识别先前存储的服务器随机数是向该CE设备3发送的服务器随机数(随机数特定部件)。因而,服务器随机数被加到认证信息。另外,与图4的顺序同样,也可构成通过发行一次性ID来特定向CE设备3发送的服务器随机数。
这样,通过构成为在从CE设备3送来的认证信息上附加先前发送的服务器随机数,可确认发送认证触发信号的业务服务器4和接收认证信息的业务服务器4是同一服务器。
认证服务器5从业务服务器4接收认证信息(接收部件),进行CE设备3的设备认证(步骤162)。
该认证中,根据从业务服务器4发送来的设备ID、客户机随机数、服务器随机数的组,用与CE设备3相同的逻辑生成摘要,检查是否与从业务服务器4发送来的摘要一致。
一致时CE设备3被认证,不一致时则未被认证。
然后,认证服务器5,向业务服务器4发送认证结果(步骤164)。
另外,CE设备3的口令从设备ID求出(秘密信息特定部件)。
业务服务器4从认证服务器5接收认证结果(认证结果接收部件),该认证结果为认证CE设备3时,开始业务的提供(步骤152),在CE设备3中利用该业务(步骤140)。
另外,步骤164中认证服务器5向业务服务器4发送认证结果时,与图6的流程图同样,也可构成在认证服务器5和业务服务器4之间确认CE设备3的设备信息和持有者信息。
图9是说明步骤162(图8)的摘要认证处理的顺序的流程图。
首先,认证服务器5用从业务服务器4接收的认证信息所包含的设备ID检索取得CE设备3的口令(步骤172)。另外,认证服务器5预先对应存储设备ID和口令。
接着,认证服务器5取得从业务服务器4接收的认证信息所包含的服务器随机数和客户机随机数(步骤174)。
接着,认证服务器5组合步骤172中检索的口令、步骤174中取得的服务器随机数及客户机随机数,用与CE设备3相同的逻辑哈什化,生成摘要(步骤176)。
接着,认证服务器5将步骤176生成的摘要和从业务服务器4接收的认证信息所包含的摘要比较,判断是否相同(步骤178)。
摘要一致时(步骤180;是),认证服务器5判断CE设备3被认证(步骤182),摘要不一致时(步骤180;否),认证服务器5判断CE设备3未被认证(步骤184)。
图8的流程图所示的顺序中,可不采用图4的流程图中所示的一次性ID1、一次性ID2进行设备认证。
以上说明的本实施例中,可获得以下的效果。
(1)由于设备认证模块7用业务服务器4生成的服务器随机数将口令变换成摘要后输出,因而第三者无法从设备认证模块7的输出读取口令。
(2)加密模块8由于从设备认证模块7接收摘要化的口令,因而,不必通过静态链接来结合设备认证模块7和加密模块8。因而,可构成为通过动态链接来连接设备认证模块7和加密模块8,从其他模块也可利用加密模块8。
(3)由于加密模块8可由包含设备认证模块7的其他模块共用,因而不必准备多个加密模块8,可消除CE设备3的系统的冗余性。因而,可有效利用CE设备3的存储区域。
(4)通过在认证服务器5和CE设备3中用相同逻辑生成摘要,判断CE设备3生成的摘要和认证服务器5生成的摘要的一致,可进行设备认证。
(5)由于不是口令本身,而是每次设备认证时值变化的摘要在通信通路中收发,因而即使摘要在网络上被第三者取得,也可以使损失限制在小范围。即,这是因为,相对于在设备认证中相同口令可多次使用,摘要在每次设备认证时都不同。
(实施例的变形例)图10是本实施例的变形例的说明图。
如图所示的本变形例中,在抗窜改芯片35设有设备认证模块7。
抗窜改芯片35是收纳有集成电路的IC芯片所构成的抗窜改装置,对窜改和复制、内部的逻辑构造的解读等的非法行为具备充分的防御手段。
窜改(tamper)不仅指滥用和修改装置,也指非法变更信息等。
抗窜改芯片35是内置有对设备ID、口令及口令和服务器随机数组合的信息哈什化的哈什化机的一种黑匣子。
抗窜改芯片35由于采用抗窜改规格制造,因而第三者难以对抗窜改芯片35进行物理分解而获得内部的信息。
即,难以物理地分解抗窜改芯片35而获知秘密信息即口令和用于哈什化的哈什函数。
另外,由于抗窜改芯片35内的口令与服务器随机数一起作为哈什化的摘要而输出,因而也难以对从抗窜改芯片35输出的信息分析出口令。即,哈什函数是单向函数,难以进行逆变换。
这样,难以从抗窜改芯片35的输出信息探知内部的秘密信息。
图11是本变形例的硬件构成的一例示意图。
如图所示,抗窜改芯片35与总线24连接,从CPU21进行信息的输入输出。
即,CPU21可向抗窜改芯片35输入服务器随机数,从抗窜改芯片35接受设备ID和摘要。
如上所述,抗窜改芯片35内置有口令(秘密信息)和哈什化机,输出口令时,通过输出哈什化的摘要,可防止口令被第三者获得。
这样,通过构成为在抗窜改装置内置秘密信息和该秘密信息的变换功能,从抗窜改装置输出秘密信息时,输出用变换功能变换后的值,从而,难以物理及解析地探索秘密信息。因而可提高安全性。
因而,本变形例中,说明了在抗窜改芯片35内置口令和哈什化机的一例,但是,例如,在采用秘密密钥和公共密钥等的密钥信息的系统中,通过在抗窜改装置内置这些密钥信息和对于输入信息的署名功能和加密功能,可防止密钥信息的泄漏。
产业上的利用可能性根据本发明,可有效利用终端设备内的存储器。
权利要求
1.一种设备认证系统,由具备设备认证用的秘密信息的终端设备和用上述秘密信息进行上述终端设备的设备认证的认证服务器构成,其特征在于上述终端设备取得随机数,通过单向函数变换上述取得的随机数和上述秘密信息的组,生成变换值;上述认证服务器取得由上述终端设备取得的随机数、上述终端设备的秘密信息以及上述终端设备生成的变换值;通过与上述终端设备采用的单向函数相同的单向函数变换上述取得的随机数和秘密信息的组,生成变换值;通过比较上述终端设备装置中生成的变换值和上述认证服务器中生成的变换值,进行上述终端设备的设备认证。
2.一种终端设备,是权利要求1的设备认证系统中接受设备认证的终端设备,其特征在于具备从认证服务器接收随机数和特定该随机数的随机数特定信息的接收部件;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换部件;发送上述生成的变换值、上述接收的随机数特定信息以及认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送部件。
3.一种认证服务器,是对权利要求2所述的终端设备进行设备认证的认证服务器,其特征在于具备取得随机数的随机数取得部件;向终端设备发送上述取得的随机数和特定该随机数的随机数特定信息的发送部件;从上述终端设备接收变换值、上述随机数特定信息、秘密信息特定信息的接收部件;用上述接收的随机数特定信息特定向上述终端设备发送的随机数的随机数特定部件;用上述接收的秘密信息特定信息特定上述终端设备的秘密信息的秘密信息特定部件;采用与上述终端设备采用的单向函数相同的单向函数变换上述特定的秘密信息和随机数的组并生成变换值的变换部件;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证部件。
4.权利要求1的设备认证系统包含经过认证服务器认证后向上述终端设备提供业务的业务服务器,其特征在于,上述业务服务器包括取得随机数的随机数取得部件;向终端设备发送上述取得的随机数的随机数发送部件;从上述终端设备接收用秘密信息生成的变换值和秘密信息特定信息的接收部件;特定向上述终端设备发送的随机数的随机数特定部件;向认证服务器发送由上述接收的变换值、秘密信息特定信息、上述特定的随机数所组成的认证信息的认证信息发送部件;从上述认证服务器接收基于上述发送的认证信息的认证结果的认证结果接收部件。
5.一种终端设备,是从权利要求4所述的业务服务器接受业务提供的终端设备,其特征在于具备从业务服务器接收随机数的随机数接收部件;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换部件;发送上述生成的变换值和认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送部件。
6.一种认证服务器,是权利要求4所述的业务服务器提供业务时,对终端设备进行设备认证的认证服务器,其特征在于具备从业务服务器接收由变换值、秘密信息特定信息、随机数组成的认证信息的接收部件;用上述接收的秘密信息特定信息来特定上述终端设备的秘密信息的秘密信息特定部件;采用与上述终端设备采用的单向函数相同的单向函数来变换上述接收的随机数和上述特定的秘密信息的组并生成变换值的变换部件;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证部件。
7.一种终端设备方法,用于权利要求1的设备认证系统中接受设备认证的终端设备中,上述终端设备由具备接收部件、变换部件、发送部件的计算机构成,其特征在于上述方法包括接收步骤,用上述接收部件从认证服务器接收随机数和特定该随机数的随机数特定信息;变换步骤,用上述变换部件通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值;发送步骤,用上述发送部件发送上述生成的变换值、上述接收的随机数特定信息以及认证服务器中用于特定上述秘密信息的秘密信息特定信息。
8.一种认证方法,用于对权利要求2所述的终端设备进行设备认证的认证服务器中,上述认证服务器由具备随机数取得部件、发送部件、接收部件、随机数特定部件、秘密信息特定部件、变换部件、设备认证部件的计算机构成,其特征在于上述方法包括随机数取得步骤,用上述随机数取得部件取得随机数;发送步骤,用上述发送部件向终端设备发送上述取得的随机数和特定该随机数的随机数特定信息;接收步骤,用上述接收部件从上述终端设备接收变换值、上述随机数特定信息、秘密信息特定信息;随机数特定步骤,由上述随机数特定部件采用上述接收的随机数特定信息,特定向上述终端设备发送的随机数;秘密信息特定步骤,由上述秘密信息特定部件采用上述接收的秘密信息特定信息,特定上述终端设备的秘密信息;变换步骤,由上述变换部件采用与上述终端设备采用的单向函数相同的单向函数来变换上述特定的秘密信息和随机数的组,生成变换值;设备认证步骤,由上述设备认证部件采用上述接收的变换值和上述生成的变换值,对上述终端设备进行设备认证。
9.一种认证方法,用于权利要求4所述的业务服务器,上述业务服务器由具备随机数取得部件、随机数发送部件、接收部件、随机数特定部件、认证信息发送部件、认证结果接收部件的计算机构成,其特征在于上述方法包括随机数取得步骤,用上述随机数取得部件取得随机数;随机数发送步骤,用上述随机数发送部件向终端设备发送上述取得的随机数;接收步骤,用上述接收部件从上述终端设备接收用秘密信息生成的变换值和秘密信息特定信息;随机数特定步骤,用上述随机数特定部件特定向上述终端设备发送的随机数;认证信息发送步骤,用上述认证信息发送部件向认证服务器发送由上述接收的变换值、秘密信息特定信息、上述特定的随机数所组成的认证信息;认证结果接收步骤,用上述认证结果接收部件从上述认证服务器接收基于上述发送的认证信息的认证结果。
10.一种终端设备方法,用于从权利要求4所述的业务服务器接受业务提供的终端设备,上述终端设备由具备随机数接收部件、变换部件、发送部件的计算机构成,其特征在于上述方法包括随机数接收步骤,用上述随机数接收部件从业务服务器接收随机数;变换步骤,用上述变换部件通过单向函数变换上述接收的随机数和秘密信息的组,生成变换值;发送步骤,用上述发送部件发送上述生成的变换值和认证服务器中用于特定上述秘密信息的秘密信息特定信息。
11.一种认证方法,用于当权利要求4所述的业务服务器提供业务时,对终端设备进行设备认证的认证服务器,上述认证服务器由具备接收部件、秘密信息特定部件、变换部件、设备认证部件的计算机构成,其特征在于上述方法包括接收步骤,用上述接收部件从业务服务器接收由变换值、秘密信息特定信息、随机数组成的认证信息;秘密信息特定步骤,由上述秘密信息特定部件用上述接收的秘密信息特定信息来特定上述终端设备的秘密信息;变换步骤,用上述变换部件采用与上述终端设备采用的函数相同的单向函数来变换上述接收的随机数和上述特定的秘密信息的组,生成变换值;设备认证步骤,由上述设备认证部件采用上述接收的变换值和上述生成的变换值,对上述终端设备进行设备认证。
12.一种终端设备程序,在权利要求1的设备认证系统中接受设备认证的计算机所构成终端设备中实现以下功能从认证服务器接收随机数和特定该随机数的随机数特定信息的接收功能;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换功能;发送上述生成的变换值、上述接收的随机数特定信息、认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送功能。
13.一种认证程序,在对权利要求2所述的终端设备进行设备认证的计算机所构成的认证服务器中实现以下功能取得随机数的随机数取得功能;向终端设备发送上述取得的随机数和特定该随机数的随机数特定信息的发送功能;从上述终端设备接收变换值、上述随机数特定信息、秘密信息特定信息的接收功能;用上述接收的随机数特定信息特定向上述终端设备发送的随机数的随机数特定功能;用上述接收的秘密信息特定信息特定上述终端设备的秘密信息的秘密信息特定功能;采用与上述终端设备采用的单向函数相同的单向函数变换上述特定的秘密信息和随机数的组并生成变换值的变换功能;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证功能。
14.一种业务服务器程序,在权利要求4所述的计算机构成的业务服务器中实现以下功能取得随机数的随机数取得功能;向终端设备发送上述取得的随机数的随机数发送功能;从上述终端设备接收用秘密信息生成的变换值和秘密信息特定信息的接收功能;特定向上述终端设备发送的随机数的随机数特定功能;向认证服务器发送由上述接收的变换值、秘密信息特定信息、上述特定的随机数所组成的认证信息的认证信息发送功能;从上述认证服务器接收基于上述发送的认证信息的认证结果的认证结果接收功能。
15.一种终端设备程序,在由从权利要求4所述的业务服务器接受业务提供的计算机构成的终端设备中实现以下功能从业务服务器接收随机数的随机数接收功能;通过单向函数变换上述接收的随机数和秘密信息的组并生成变换值的变换功能;发送上述生成的变换值、认证服务器中用于特定上述秘密信息的秘密信息特定信息的发送功能。
16.一种认证程序,在当权利要求4所述的业务服务器提供业务时,对终端设备进行设备认证的计算机所构成的认证服务器中实现以下功能从业务服务器接收由变换值、秘密信息特定信息、随机数组成的认证信息的接收功能;用上述接收的秘密信息特定信息特定上述终端设备的秘密信息的秘密信息特定功能;用与上述终端设备采用的单向函数相同的单向函数变换上述接收的随机数和上述特定的秘密信息的组并生成变换值的变换功能;用上述接收的变换值和上述生成的变换值对上述终端设备进行设备认证的设备认证功能。
17.一种计算机可读取存储媒体,存储有权利要求12或权利要求15所述的终端设备程序。
18.一种计算机可读取存储媒体,存储有权利要求13或权利要求16所述的认证程序。
19.一种计算机可读取存储媒体,存储有权利要求14所述的业务服务器程序。
全文摘要
本发明的CE设备中,设备认证模块可以和加密模块动态连接。认证服务器(5)生成随机数。设备认证模块(7)将随机数和口令组合生成摘要。将其与设备ID一起转发到加密模块(8)。加密模块(8)对通信通路加密,将这些信息向认证服务器(5)发送。认证服务器(5)从设备ID检索口令,将其与先前发生的随机数组合生成摘要。对照该摘要和从加密模块(8)接收的摘要,进行设备认证。加密模块(8)不从设备认证模块(7)接收口令而是接收摘要,因而,可通过动态连接而不是静态连接。
文档编号H04L9/32GK1698309SQ20048000038
公开日2005年11月16日 申请日期2004年4月21日 优先权日2003年4月21日
发明者三浦贵之, 小野刚, 铃木直志, 宫田耕自 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1