CN103886268A - 微型计算机、中间件及其操作方法 - Google Patents
微型计算机、中间件及其操作方法 Download PDFInfo
- Publication number
- CN103886268A CN103886268A CN201310706075.7A CN201310706075A CN103886268A CN 103886268 A CN103886268 A CN 103886268A CN 201310706075 A CN201310706075 A CN 201310706075A CN 103886268 A CN103886268 A CN 103886268A
- Authority
- CN
- China
- Prior art keywords
- function
- register
- initial value
- microcomputer
- certification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
Abstract
本发明公开了一种微型计算机、中间件及其操作方法。一种微型计算机,具有:处理单元;多个寄存器;存储器,该存储器用于存储包括初始值和设置该初始值的寄存器地址的硬件初始化数据。该处理单元进行以下处理,包括:基于硬件初始化数据在具有该寄存器地址的寄存器中设置初始值;执行函数功能限制解除处理,以基于用于解除对函数的函数功能的限制的认证信息来确定在预先从该多个寄存器选择的认证寄存器中的认证数据是否正确,并且在该认证数据正确时将与该认证信息对应的函数置于可执行状态;以及执行置于可执行状态的函数以实现所执行的函数的函数功能。
Description
技术领域
本发明涉及微型计算机、中间件及其操作方法。
背景技术
在微型计算机中,CPU(中央处理单元,Central Processing Unit)执行植入内置式ROM(只读存储器,Read-only Memory)中的程序并且实现所期望的函数功能。微型计算机除了包括植入了程序的ROM以外,还包括CPU、RAM(随机存取存储器,Random Access Memory)和输入-输出单元(I/O,input-output unit)并且进一步包括若干硬件模块。
在微型计算机中设置有各种函数或函数功能(下文中仅称为“函数功能”),微型计算机的用户借此通过使用这些函数功能来实现所期望的处理。例如,用户所开发的应用程序调用并且执行实现所期望的函数功能的涉及变量的函数或子程序(下文中仅称为“函数”),从而利用所期望的函数功能。
另一方面,在微型计算机的开发环境下,用户所开发的应用程序与由微型计算机的厂商所提供的OS(操作系统,Operating System)和中间件一起写入评价微型计算机芯片中的存储器中,从而允许微型计算机执行处于开发中的应用程序。
在开发环境下,厂商通常以微型计算机的一部分函数功能不能利用的方式来限制微型计算机的函数功能并且向用户提供包括前述功能的库和评价微型计算机芯片。例如,厂商以库的一部分中的函数不能利用的方式来限制函数功能。那么,在函数功能受限制的评价环境下,用户执行处于开发中的应用并且评价微型计算机和库。此后,当用户与厂商达成许可协议时,厂商解除对函数功能的限制以使得用户能够利用所有的函数功能。
专利文献1(日本未审查专利申请公开No.2004-164491)公开了LSI(大规模集成电路,Large Scale Integration)中的加密程序。
但是,当厂商向用户提供函数功能受限的库并且在达成许可协议之后向用户提供函数功能不受限的另一库时,需要厂商为用户提供两种类型的库,这会引起库的类型的增加。此外,需要用户使用函数功能不受限的库来替换函数功能受限的库。
发明内容
从而,本发明的目的是提供一种微型计算机、一种中间件程序及其操作方法,借此能够容易地以高安全性来执行对函数功能的限制以及解除对函数功能的限制。
本实施方式的一个方面是一种微型计算机,包括:处理单元;多个寄存器;以及存储介质,该存储介质配置成对包括初始值和设置初始值的寄存器地址的硬件初始化数据进行存储。所述处理单元配置成进行以下处理,包括:
基于硬件初始化数据在具有寄存器地址的寄存器中设置初始值;
进行函数功能限制解除处理,以基于用于解除对函数的函数功能的限制的认证信息来确定预先从多个寄存器选择的认证寄存器中的认证数据是否正确,并且以在所述认证数据正确时将与认证信息对应的函数置于可执行状态;以及
执行置于可执行状态的函数,以实现所执行的函数的函数功能。
根据本实施方式的一个方面,能够以高安全性容易地执行对微型计算机的函数功能的限制以及对微型计算机的函数功能的限制的解除。
附图说明
图1是例示本实施方式的从微型计算机的评价至批量生产的处理的流程图;
图2是本实施方式的微型计算机的配置图;
图3是例示本实施方式的引导加载程序、软件和数据的示图;
图4是例示本实施方式的应用程序121的配置的示例的示图;
图5是例示本实施方式的中间件的配置的示例的示图;
图6是例示用户系统的部分处理的流程图;
图7是例示由引导加载程序11执行的处理的流程图;
图8A和图8B是例示硬件寄存器组和硬件初始化处理的示图;
图9是本实施方式中解除对函数功能的限制的处理的流程图;
图10是描述根据本实施方式的微型计算机的评价环境的示图;以及
图11是描述本实施方式的微型计算机的批量生产的芯片的示图。
具体实施方式
图1是例示本实施方式的从微型计算机的评价至批量生产的处理的流程图。步骤S1和S2表示微型计算机的评价阶段,并且步骤S3、S4和S5表示引起微型计算机的批量生产的阶段。在评价阶段,厂商向用户提供了部分函数功能受限的库(S1)。本文中,库是设置在OS与应用之间的中间件。此外,库包括中间件的数据等。
微型计算机包括CPU和诸如ROM和RAM的存储介质,并且将OS、中间件、应用程序(下文简单地称为“应用”)以及数据存储在存储介质中,并且准许CPU执行应用,从而使用各种函数功能来实现所期望的处理。一般地,应用调用与中间件中的各种函数功能对应的函数,从而执行要调用的函数以实现对应的函数功能。
因此,部分函数功能受限的中间件(库)表示处于部分函数不能执行的状态下的中间件。
用户在评价环境下开发应用,并且同时评价微型计算机和库(S2)。在评价环境下,要评价的微型计算机经由ICE(在线仿真器,in-circuitemulator)连接至个人计算机,并且前述处于开发中的OS、中间件、应用和数据以可由个人计算机执行的格式存储在要评价的微型计算机的存储器中。然后,要评价的微型计算机执行应用,并且用户在个人计算机上监视并且评价微型计算机的操作状态。
当微型计算机的评价结果令人满意时,用户与厂商达成库的许可协议(S3)。许可协议准许用户获得其中要许可的函数功能可用的库,并且准许微型计算机使用要许可的函数功能。厂商为用户提供密码作为认证信息(认证数据),其旨在准许用户使用该库(S4)。认证信息包括在微型计算机的多个寄存器中的预先设置的认证寄存器的地址、和需要初始设置在认证寄存器中的密码(认证数据)。
相比之下,当激活微型计算机时,引导加载程序在微型计算机的多个寄存器中设置初始值。由厂商从除了设置了初始值的寄存器以外的寄存器中任意选择认证寄存器。即,从其中直到执行了应用才设置初始值或其中可以存储任意数据的一种冗余寄存器中任意选择认证寄存器。冗余寄存器是在微型计算机的硬件初始化期间没有采用的寄存器。
接着,用户添加由厂商提供的密码作为将在硬件初始化处理时在认证寄存器中设置的初始值数据,从而批量生产微型计算机(S5)。微型计算机中的函数功能限制解除单元验证设置在预定的认证寄存器中的密码(认证数据)是否正确。当函数功能限制解除单元验证出密码正确时,将实现函数功能的函数设置于可执行状态。
因此,在实施方式中,为了利用微型计算机的各种函数功能,需要获得解除对函数功能的限制的认证信息(认证寄存器的地址和密码(认证数据)),从而将与函数功能对应的函数置于可执行状态。因此,当厂商期望限制特定函数功能时,厂商不向用户提供认证寄存器的地址和要设置在认证寄存器中的密码(认证数据)。从而,用户不能使用特定的函数功能。然后,厂商仅向与厂商达成许可协议的用户提供认证信息(认证寄存器的地址和密码(认证数据))。因此,用户可以基于所提供的认证信息将微型计算机中的认证寄存器中的密码设置为初始值,并且可以将限于微型计算机的函数置于可执行状态。
如上所述,认证寄存器的地址和该认证寄存器的与各种函数功能对应的密码都是保密的,从而厂商以高安全性为用户提供函数功能受限的库。当基于具有预定位的密码的验证来设置对函数功能的限制时,存在这样的情况,即,恶意用户尝试所有可能想到的预定位并且解除对函数功能的限制。相比之下,根据本实施方式,根据寄存器的大小预先任意地选择需要设置密码的认证寄存器,并且认证寄存器的地址是保密的,使得对于用户而言认证信息除了包括密码以外还包括认证寄存器的地址,这使得解除对函数功能的限制很难。
图2是本实施方式的微型计算机的配置图。微型计算机1包括诸如ROM的存储器10、RAM20、CPU30、输入/输出电路34、三组硬件模块40-1、40-2和40-3,所有这些都是通过内部总线36来连接。引导加载程序11、软件12、数据13存储在ROM10中。一旦激活微型计算机1,则通过由CPU30执行的引导加载程序11在RAM20中展开软件12和数据13。CPU30包括寄存器组31和未例示的运算单元。
另一方面,硬件模块40-1包括含有多个寄存器的寄存器组41和与硬件模块对应的硬件电路42。另外的硬件模块40-2和40-3具有与硬件模块40-1的配置类似的配置。硬件模块例如包括用于处理图像数据的图像处理模块、用于进行与外部通信的处理的通信模块、用于处理音频数据的音频模块和用于进行关于安全的处理的安全模块。微型计算机基于前述硬件模块的组合来实现各种函数功能。
硬件模块和CPU中的寄存器组包括多个寄存器,并且在硬件初始化处理时在部分寄存器中设置初始值。从除了在硬件初始化处理中设置了初始值的寄存器以外的寄存器中选择要设置密码的认证寄存器。由厂商来做出该选择。如所例示的,在要选择的认证寄存器中设置密码PW。
在图2的示例中,各个硬件模块40-1、40-2和40-3中的寄存器组41包括4组寄存器。然后,硬件模块40-1中的一个寄存器的低序位区域与硬件模块40-2中的一个寄存器的高序位区域组合,以组成一个认证寄存器。与此对应,将一分为二的一个密码PW设置在上述寄存器区域中。即,使两个划分的密码PW结合,从而组成一个认证密码。
不言而喻,可以进行选择,使得密码PW的所有位都设置在一个认证寄存器中,或密码PW设置在多个寄存器的所有位中。
接着,将描述ROM10中的引导加载程序11、软件12和数据13。
图3是例示本实施方式的引导加载程序、软件和数据的示图。引导加载程序11包括一些处理,诸如,用于在激活微型计算机时将ROM10中的软件12和数据13在RAM20中展开的处理、用于在硬件模块的寄存器中设置初始值数据的硬件初始化处理、以及用于在完成引导加载程序的所有处理之后跳转至应用的初始地址的处理。
软件12包括主要由用户开发的应用程序121、中间件122和OS123。在应用程序121的初始地址处提供用于调用中间件初始化函数的处理121a。从而,当在引导加载程序完成了所有的处理之后进行用于跳转至应用程序121的初始地址的处理时,调用中间件初始化函数。
中间件122包括用于初始化中间件的初始化函数122a、中间件函数组122b和用于执行OS的驱动器组122c。此外,在实施方式中,中间件初始化函数122a包括用于验证密码PW并且解除对函数功能的限制的处理。但是,解除对函数功能的限制的处理不一定包括在中间件初始化函数中,而是可以直到从应用中调用在中间件中的作为受限函数功能的函数组时执行。
数据13包括中间件中的数据131和硬件中的寄存器的初始值数据132。中间件中的数据131包括含有认证寄存器的地址和要设置在认证寄存器中的密码的认证信息。
在图3例示的示例中,中间件中的数据131包括认证寄存器地址REG-ADDa和REG-ADDb以及要设置在认证寄存器中的密码PWa和PWb。在中间件的数据131中所包括的、在认证寄存器地址REG-ADDa和REG-ADDb处设置的密码PWa和PWb是作为正确应答数据,其与中间件122一起包括在由微型计算机的厂商提供的库中。然后,当中间件初始化函数122a进行解除对函数功能的限制的处理时,引用中间件中的数据131,以验证认证寄存器中的密码是否对应于在数据131中所包括的密码。
此外,硬件初始值数据132包括设置在寄存器地址REG-ADD1和REG-ADD4的用户初始值数据D1和D4、和设置在认证寄存器地址REG-ADDa和REG-ADDb处的密码PWa和PWb。认证寄存器地址REG-ADDa和REG-ADDb以及设置在认证寄存器地址处的密码PWa和PWb是解除对函数功能的限制的必需信息。例如,该信息是关于两个对应的函数功能的密码PWa和PWb和对密码PWa和PWb进行初始化的认证寄存器地址REG-ADDa和REG-ADDb。从而,当厂商期望限制函数功能时,厂商不向用户提供认证信息。当厂商不限制函数功能时,厂商向用户提供认证信息。
图4是例示本实施方式的应用程序121的配置的示例的示图。用于调用中间件初始化函数的命令121a设置在应用121的初始地址处。此外,应用121包括单个或多个应用APL。例如,应用APL1包括调用中间件中的函数A和函数B的命令121b。相比之下,应用APL2包括调用函数C和函数D的命令121c。因此,调用每个应用都调用的中间件初始化函数的命令121a设置在应用121的初始地址处。
图5是例示本实施方式的中间件的配置的示例的示图。如图3示意性地描述的,中间件122包括中间件初始化函数122a、应用121所调用的中间件函数组122b和未在图5中示出的用于调用OS函数功能的驱动器组。
中间件初始化函数122a包括:处理122a-1,在该处理中,在RAM20中获得中间件的内部变量(诸如中间件中的数据131)的存储区域,并且将内部变量的初始值存储在RAM20的存储区域中;以及解除对函数功能的限制的处理122a-2。为了利用微型计算机的预定函数功能,应用121调用与预定函数功能对应的中间件函数并且执行中间件函数。从而,仅仅通过将要限制的函数置于非可执行状态就可以实现对函数功能的部分或全部限制。此外,仅仅通过将要限制的函数置于可执行状态就可实现解除对函数功能的限制的处理。随后将描述具体的方法。
函数A(122b(A))包括:确定该函数是否为可执行的允许标志检查处理122b-1,以及函数A处理122b-2。函数B(122(B))类似于函数A(122(A))。即,函数A和B作为限制并且解除函数功能的函数来举例。相比之下,函数E(122b(E))不包括允许标志检查处理,但是包括函数E处理122b-2。即,函数E作为函数功能不受限制的函数来举例。
为了准许中间件的函数A和B限制函数功能,例如,在解除对函数功能的限制的处理122a-2中,确定设置在认证寄存器中的密码PW是否对应于在中间件中的数据131中所包括的正确应答密码PW。当设置在认证寄存器中的密码PW与正确应答密码PW一致时,函数的允许标志置于允许状态(ON)。当设置在认证寄存器中的密码PW与正确应答密码PW不一致时,函数的允许标志置于非允许状态(OFF)。因此,解除对函数功能的限制的处理122a-2包括:限制函数功能的处理和解除对函数功能的限制的处理这两者。
另一方面,在图5中,函数功能能够受限制的函数A和函数B包括在函数A和B的处理122b-2之前的允许标志检查处理122b-1。因此,当应用调用函数A和B时,根据允许标志检查处理,确定在中间件初始化函数122a中解除对函数功能的限制的处理122a-2是否允许执行该函数。在非允许状态(允许标志为OFF)的情况下,返回错误,从而使得该函数不可执行。相比之下,在允许状态(允许标志为ON)的情况下,执行该函数。
图6是例示用户系统的部分处理的流程图。本文中,用户系统意味着微型计算机,其中用户正在开发或已开发的应用和与该应用对应的初始值数据存储在ROM中。因此,用户系统包括处于评价阶段的微型计算机和批量生产的微型计算机这两者。
一旦激活微型计算机,则CPU30执行引导加载程序11(S11)。引导加载程序11执行:(1)将ROM10中的软件12和数据13拷贝进RAM20或在RAM20中展开的处理;(2)用于在对应的地址处的寄存器中设置在数据13中的硬件初始值数据132的硬件初始化处理;以及(3)跳转至应用的初始地址的处理。
图7是例示由引导加载程序11执行的处理的流程图。如上所述,首先,CPU30执行引导加载程序11,从而将ROM10中的软件12和数据13在RAM20中展开(S21)。在这种情况下,可以是这样的,ROM10中的软件12和数据13在RAM20中不进行展开。然后,引导加载程序11执行硬件初始化处理(S22)。在硬件初始化处理中,根据如图3所例示的硬件初始值数据132,在寄存器地址REG-ADD1和REG-ADD4处设置用户初始值D1和D4,并且在认证寄存器地址REG-ADDa和REG-ADDb处分别设置密码PWa和密码PWb。当密码和认证寄存器地址没有包括在硬件初始值数据132中时,在硬件初始化处理中不执行认证寄存器中的密码的设置。
前述中间件的数据131包括与函数功能能够受限制的所有函数相关的认证寄存器地址和正确应答密码,并且厂商为所有用户提供全部认证信息作为库的一部分。但是,要提供的信息是可执行的二进制数据(机器语言),所以用户很难识别库中的认证寄存器地址和正确应答密码。
相比之下,除了提供前述库以外,厂商还为允许解除对函数功能的限制的用户提供正确应答密码和与解除限制所针对的函数所对应的正确应答密码相关的认证寄存器地址的地址。在达成许可协议之前,厂商为用户提供密码和与函数功能不受限的函数所对应的密码相关的认证寄存器地址。此外,在达成许可协议之后,厂商为用户提供密码和与函数功能受限的函数所对应的密码相关的认证寄存器地址。从而,用户能够将认证寄存器地址和密码包括在硬件初始值数据中。结果,根据解除对函数功能的限制的稍后描述的处理,中间件的对应函数置于可执行状态。
最后,引导加载程序11执行跳转至应用121的初始地址的处理(S23)。如图3和图4所描述的,调用中间件初始化函数的命令设置在应用121的初始地址处,使得CPU30执行中间件初始化函数。注意,应用121通常是用户正在开发或已经开发出的程序。
图8A和图8B是例示硬件寄存器组和硬件初始化处理的图。图8A例示了硬件寄存器组的寄存器地址REG-ADD和在寄存器地址处存储的数据DATA的示例。该示例例示了寄存器地址REG-ADD分别表示为ADD1至ADD3以及ADDa至ADDd的7组寄存器,其中,每个寄存器的位数目例如为32位。
然后,寄存器地址为ADD1至ADD3的寄存器的全部32位的区域是初始值设置区域,在该初始值设置区域中在硬件初始化处理中设置由32个位组成的初始值。相比之下,寄存器地址为ADDa和ADDc的寄存器的高序16位的区域是设置由16位组成的初始值的初始值设置区域,并且在寄存器的低序16位的区域中不设置初始值,或至少,直到中间件初始化函数的执行完成才可以存储任意数据。类似地,在寄存器地址为ADDb和ADDd的寄存器的全部32位的区域中不设置初始值,或至少,直到中间件初始化函数的执行完成才可以存储任意数据。
即,寄存器地址ADDa和ADDc的部分区域和寄存器地址ADDb和ADDd的全部区域是一种冗余寄存器,在该冗余寄存器中,直到中间件初始化函数完成才可以存储任意数据。因此,在本实施方式中,厂商任意选择这些冗余寄存器的区域作为认证寄存器。然后,当认证寄存器地址和密码包括在硬件初始值数据132中时,在激活微型计算机时的硬件初始化处理过程中,密码PW作为初始值设置在认证寄存器以及其他正常寄存器中。
作为硬件初始化处理的一个示例,图8B示出了以下状态:硬件初始值数据132中的用户初始值(例如,图3中的数据D1和D4)和密码PW(例如,图3中的密码PWa和PWb)设置在寄存器地址REG-ADD的对应寄存器中。与函数A对应的密码PWa、PWb一份为二(PWa和PWb)并且分别设置在地址ADDa的寄存器的低序16位和地址ADDb的寄存器的高序16位,它们是从图8B中的寄存器的数据区域中表示为“任意”的冗余寄存器选择的两个区域。
除了前述区域以外,认证寄存器的区域可以由没有设置初始值的一个寄存器中的全部位区域组成。在这种情况下,一个密码设置在一个寄存器中的全部位区域中。此外,认证寄存器的区域可以由一个寄存器中未设置初始值的部分位区域组成。在这种情况下,要设置的一个密码划分进多个寄存器的位区域。
因此,厂商选择从冗余寄存器和冗余寄存器区域中任意选出的寄存器区域作为认证寄存器。当仅向允许解除对函数功能的限制的用户提供认证信息时,用户准许硬件初始值数据包括认证信息(认证寄存器地址和认证数据(密码))。从而,通过在激活微型计算机时由引导加载程序进行硬件初始化处理来将密码设置在认证寄存器中。
如上所述,在通过硬件初始化处理在认证寄存器中设置密码以后,调用中间件初始化函数,从而CPU执行中间件初始化处理如下。
处理返回至图6,并且由CPU调用并且执行中间件初始化函数(S12),该中间件初始化函数分配至从引导加载程序跳转的应用的初始地址。由CPU来执行中间件初始化函数122a,(1)从而在RAM20中确保中间件中诸如数据131的内部变量的区域,并且当存在内部变量的初始值时,初始值设置在RMA20的区域中;(2)此外,进行解除对函数功能的限制的处理。
图9是本实施方式中解除对函数功能的限制的处理的流程图。由CPU来执行解除对函数功能的限制的处理,从而对能够限制函数功能的所有函数进行认证处理。顺便地,针对能够限制函数功能的所有函数将非可执行状态(OFF)设置成默认值。由CPU来执行解除对函数功能的限制的处理,首先,引用ROM或RAM中的数据13中的中间件中的数据131中的认证寄存器地址REG-ADDa和REG-ADDb和正确应答密码PWa和PWb(S31)。接着,在解除对函数功能的限制的处理中,读取在认证寄存器地址REG-ADDa和REG-ADDb处的密码PWa和PWb(S32)。即,在解除对函数功能的限制的处理中,基于在中间件中的数据131中厂商预先选择的认证寄存器地址来读取在硬件中的认证寄存器中设置的密码。然后,在解除对函数功能的限制的处理中,将对应于各个认证寄存器地址的密码进行比较,从而进行密码的认证处理(S34)。
然后,在解除对函数功能的限制的处理中,当密码匹配时,认证成功地获准(S35,是),并且函数功能限制解除标志变成允许(on),这使该函数置于可执行状态。当密码彼此不匹配时,认证未成成功地获准(S35,否),函数功能限制解除标志保持在非允许(off)状态,这使该函数处于非可执行状态。
由CPU来执行解除对函数功能的限制的处理,从而重复前述认证处理,直到针对能够限制函数功能的所有函数完成了认证处理(S36)。
根据前述解除对函数功能的限制的处理,当用于解除对函数功能的限制的关于函数的认证信息(认证地址和认证数据(密码))包括在数据13中的硬件初始值数据132中时,该函数置于可执行状态(函数功能限制解除标志变成允许)。当用于解除对函数功能的限制的关于函数的认证信息没有包括在硬件初始值数据132中时,函数置于非可执行状态(函数功能限制解除标志处于非允许)。即,用户的提供有认证信息的微型计算机能够执行与所提供的认证信息对应的函数,并且利用与所执行的函数对应的函数功能。
因此,厂商通过不提供函数的认证信息来针对用户限制任意函数的函数功能,并且仅仅通过提供函数的认证信息来针对用户解除对任意函数的函数功能的限制。此外,认证信息除了包括密码以外还包括认证寄存器地址,以保持更高的安全性。
处理再次返回至图6,由CPU来执行应用(S13),并且调用应用中的中间件函数(S14),并且当能够限制中间件的函数功能时,如图5所例示进行允许标志检查处理(S15)。在前述中间件初始化函数中在解除对函数功能的限制的处理中,当认证成功地获准并且因此函数功能限制解除标志变成允许时(S15,是),这样的函数置于可执行状态,使得能够执行该函数(S17)。关于认证未能获准的函数(S15,否),返回错误并且不执行该函数(S16)。
因此,当在硬件初始化处理中将正确的密码设置在认证寄存器时,执行在从应用调用并且实现预定的函数功能的函数之中的能够限制函数功能的函数。当函数的密码没有设置在认证寄存器中时,即,当认证寄存器中的数据不是正确的密码时,拒绝执行该函数。
然后,在应用的执行期间重复前述处理S14、S15、S16和S17。
图10是描述根据本实施方式的微型计算机的评价环境的示图。要评价的微型计算机1作为批量生产的微型计算机包括ROM10、RAM20、CPU30、I/O34、硬件模块40-1、40-2和40-3,并且还包括与在线仿真器ICE连接的接口电路(未例示)。要评价的微型计算机1通过在线仿真器ICE与个人计算机PC连接,从而建立与个人计算机的通信。
在用户的评价环境中,CPU30通过在线仿真器ICE执行来自个人计算机PC的引导加载程序11,并且应用121、中间件122、OS123、中间件中的数据131和硬件初始值数据132例如从个人计算机PC经由在线仿真器ICE在微型计算机1中的RAM20中展开。但是,引导加载程序11可以对来自ROM10的诸如应用121、中间件122、OS123、数据131和硬件初始值数据132等程序的一部分进行展开。即,引导加载程序11由用户开发,并且执行引导加载程序,从而如用户所期望的将程序或数据在微型计算机1中的RAM20中展开。
在评价环境中,厂商为用户提供库,该库包括:中间件122及对应的数据131、关于函数功能不受限的函数的认证信息PWc和PWd和适当地包括OS123。因此,基于所提供的认证信息PWc和PWd,用户允许将认证寄存器地址和密码包括在硬件初始值数据132中。另一方面,厂商不向用户提供关于函数功能受限的函数的认证信息PWa和PWb。因此,基于认证信息PWa和PWb,用户不能够允许将认证寄存器地址和密码包括在硬件初始值数据132中。因此,在图10中,如用以虚线所例示的,认证信息PWa和PWb不包括在硬件初始值数据132中。
认证信息PWa和PWb除了包括作为认证数据的密码以外还包括认证寄存器地址。未提供有认证信息的用户找不到由厂商从大量的寄存器中任意选择的认证寄存器,并且用户很难解除对函数功能的限制。
图11是描述本实施方式的微型计算机的批量生产的芯片的图。如图2所例示,批量生产的微型计算机1包括ROM10、RAM20、CPU30、I/O34、硬件模块40-1、40-2和40-3。然后,厂商向达成许可协议的用户提供关于函数功能在评价阶段受限的函数的认证信息PWa和PWb。因此,基于所提供的认证信息(认证地址和认证数据(密码))用户允许将认证信息PWa和PWb包括在硬件初始值数据132中。
然后,用户除了保存已经由厂商在评价阶段提供的中间件122及对应数据131以外,还将OS、已经开发出的应用121、引导加载程序11以及包括新近提供的认证信息PWa和PWb的硬件初始值数据132保存在微型计算机1的批量生产的芯片的ROM10中。
因此,批量生产的微型计算机1能够执行解除了对函数功能的限制的函数,从而使用对应的函数功能。
如上所述,根据本实施方式,厂商向用户提供包括中间件及对应的数据的库并且不向用户提供关于要限制的函数的认证信息。从而,用户在部分函数功能受限的状态下对微型计算机和库进行评价。然后,向达成许可协议的用户提供解除对函数功能的限制的认证信息。从而,为用户解除了对函数功能的限制。此外,认证信息不仅包括用于解除对函数功能的限制的密码,而且还包括密码设置处的认证寄存器地址,使得用户很难解除对函数功能的限制,从而保持高安全性。
Claims (10)
1.一种微型计算机,包括:处理单元;多个寄存器;以及存储介质,所述存储介质配置成存储硬件初始化数据,所述硬件初始化数据包括初始值和设置所述初始值的寄存器地址,其中所述处理单元配置成进行以下处理,包括:
基于所述硬件初始化数据在具有所述寄存器地址的寄存器中设置所述初始值;
进行函数功能限制解除处理,以基于用于解除对函数的函数功能的限制的认证信息来确定在预先从所述多个寄存器选择的认证寄存器中的认证数据是否正确,并且在所述认证数据正确时将与所述认证信息对应的函数置于可执行状态;以及
执行置于所述可执行状态的函数,以实现所执行的函数的函数功能。
2.根据权利要求1所述的微型计算机,其中,
所述认证信息包括所述认证寄存器的地址和与所述认证寄存器对应的认证数据;以及
当所述认证寄存器的地址和所述认证数据包括在所述硬件初始化数据中时,将所述认证数据设置在所述认证寄存器中作为所述初始值。
3.根据权利要求1所述的微型计算机,其中,所述处理单元还配置成进行以下处理,包括:
通过应用调用所述函数,以及
其中,在执行在所述寄存器中设置所述初始值的处理之后并且在调用所述函数之前,执行所述函数功能限制解除处理。
4.根据权利要求1所述的微型计算机,其中,
当所述认证寄存器中的认证数据正确时,所述函数的允许标志置于允许状态以将所述函数置于可执行状态,以及
当通过应用调用所述函数时,确定所述允许标志是否处于所述允许状态,并且当所述允许标志处于所述允许状态时,执行实现所调用的函数的所期望的函数功能的处理,并且当所述允许标志不处于所述允许状态时,不执行实现所调用的函数的所期望的函数功能的处理。
5.一种用于存储中间件的程序的非瞬态存储介质,其中,所述程序能够由微型计算机执行,所述微型计算机包括:处理单元;多个寄存器;以及存储介质,所述存储介质配置成存储硬件初始化数据,所述硬件初始化数据包括初始值和设置所述初始值的寄存器地址,所述程序配置成使所述处理单元进行以下处理,所述处理包括:
基于所述硬件初始化数据在具有所述寄存器地址的寄存器中设置所述初始值;
基于用于解除对函数的函数功能的限制的认证信息来确定在预先从所述多个寄存器选择的认证寄存器中的认证数据是否正确;
当所述认证数据正确时,将与所述认证信息对应的函数置于可执行状态;以及
执行置于所述可执行状态的函数,以实现所执行的函数的函数功能。
6.根据权利要求5所述的用于存储中间件的程序的非瞬态存储介质,其中,
所述认证信息包括所述认证寄存器的地址和与所述认证寄存器对应的认证数据;以及
当所述认证寄存器的地址和所述认证数据包括在所述硬件初始化数据中时,将所述认证数据设置在所述认证寄存器中作为所述初始值。
7.根据权利要求5所述的用于存储中间件的程序的非瞬态存储介质,其中,所述程序还配置成使所述处理单元进行以下处理,包括:
通过应用来调用所述函数,并且其中,
在所述寄存器中设置所述初始值之后并且在调用所述函数之前,执行所述函数功能限制解除处理。
8.一种操作微型计算机的方法,其中,所述微型计算机包括:处理单元;多个寄存器;以及存储介质,所述存储介质配置成存储硬件初始化数据,所述硬件初始化数据包括初始值和设置所述初始值的寄存器地址,所述方法包括:
硬件初始化,通过所述处理单元基于所述硬件初始化数据在具有所述寄存器地址的寄存器中设置所述初始值;
函数功能限制解除处理,通过所述处理单元,在所述硬件初始化之后基于用于解除对函数的函数功能的限制的认证信息来确定在预先从所述多个寄存器选择的认证寄存器中的认证数据是否正确;并且在所述认证数据正确时将与所述认证信息对应的函数置于可执行状态;以及
执行置于所述可执行状态的函数,以实现所执行的函数的函数功能。
9.根据权利要求8所述的操作微型计算机的方法,其中,
所述认证信息包括所述认证寄存器的地址和与所述认证寄存器对应的认证数据;以及
在所述硬件初始化中,当所述认证寄存器的地址和所述认证数据包括在所述硬件初始化数据中时,将所述认证数据设置在所述认证寄存器中作为所述初始值。
10.根据权利要求8所述的操作微型计算机的方法,所述方法还包括:
通过应用来调用所述函数,并且其中,
在所述硬件初始化之后并且在调用所述函数之前,执行所述函数功能限制解除处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012277002A JP6079208B2 (ja) | 2012-12-19 | 2012-12-19 | マイクロコンピュータ,そのミドルウエア及びマイクロコンピュータの動作方法 |
JP2012-277002 | 2012-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103886268A true CN103886268A (zh) | 2014-06-25 |
Family
ID=50932622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310706075.7A Pending CN103886268A (zh) | 2012-12-19 | 2013-12-19 | 微型计算机、中间件及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9218478B2 (zh) |
JP (1) | JP6079208B2 (zh) |
CN (1) | CN103886268A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018160029A (ja) * | 2017-03-22 | 2018-10-11 | 株式会社東芝 | 半導体集積回路 |
EP3832501A4 (en) * | 2018-08-02 | 2022-04-27 | NEC Solution Innovators, Ltd. | LICENSE MANAGEMENT DEVICE, OUTPUT DEVICE AND METHOD, PROGRAM EXECUTION DEVICE AND METHOD, AND COMPUTER READABLE MEDIA |
US11394702B2 (en) * | 2019-09-23 | 2022-07-19 | T-Mobile Usa, Inc. | Authentication system when authentication is not functioning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112446A1 (en) * | 2005-11-14 | 2007-05-17 | General Electric Company | Systems and methods for capturing data within an intelligent electronic device |
CN102047266A (zh) * | 2008-10-10 | 2011-05-04 | 松下电器产业株式会社 | 信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6188995B1 (en) * | 1997-07-28 | 2001-02-13 | Apple Computer, Inc. | Method and apparatus for enforcing software licenses |
US6571335B1 (en) * | 1999-04-01 | 2003-05-27 | Intel Corporation | System and method for authentication of off-chip processor firmware code |
JP2004104539A (ja) * | 2002-09-11 | 2004-04-02 | Renesas Technology Corp | メモリカード |
JP4099039B2 (ja) | 2002-11-15 | 2008-06-11 | 松下電器産業株式会社 | プログラム更新方法 |
JP2005011151A (ja) * | 2003-06-20 | 2005-01-13 | Renesas Technology Corp | メモリカード |
JP2008108239A (ja) * | 2006-09-29 | 2008-05-08 | Brother Ind Ltd | 情報処理装置および情報処理プログラム |
JP4653230B2 (ja) * | 2008-09-22 | 2011-03-16 | 株式会社エヌ・ティ・ティ・ドコモ | Api検査装置及び状態監視装置 |
JP5222742B2 (ja) * | 2009-01-14 | 2013-06-26 | 株式会社日立製作所 | デジタル放送受信装置及びデジタル放送受信装置における受信設定方法 |
CN102547502B (zh) * | 2010-12-17 | 2014-12-24 | 索尼爱立信移动通讯有限公司 | 一种耳机、耳机使用控制方法及终端 |
-
2012
- 2012-12-19 JP JP2012277002A patent/JP6079208B2/ja not_active Expired - Fee Related
-
2013
- 2013-12-05 US US14/097,441 patent/US9218478B2/en not_active Expired - Fee Related
- 2013-12-19 CN CN201310706075.7A patent/CN103886268A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112446A1 (en) * | 2005-11-14 | 2007-05-17 | General Electric Company | Systems and methods for capturing data within an intelligent electronic device |
CN102047266A (zh) * | 2008-10-10 | 2011-05-04 | 松下电器产业株式会社 | 信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 |
Also Published As
Publication number | Publication date |
---|---|
JP2014120118A (ja) | 2014-06-30 |
US20140173718A1 (en) | 2014-06-19 |
US9218478B2 (en) | 2015-12-22 |
JP6079208B2 (ja) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6433198B2 (ja) | 安全なブートromパッチのためのシステム及び方法 | |
RU2148856C1 (ru) | Система информационного обмена | |
EP2261832A1 (en) | Information processing device | |
US8954804B2 (en) | Secure boot circuit and method | |
US20040204003A1 (en) | Method and apparatus for use in securing an electronic device such as a cell phone | |
WO2014131652A1 (en) | A method for software anti-rollback recovery | |
SE517286C2 (sv) | Sätt och apparat för uppgradering av cellulära mobiltelefoner | |
US7665667B2 (en) | System and method for updating access control mechanisms | |
CN104679547B (zh) | 一种mcu中的系统配置信息的读取方法和系统 | |
KR102227263B1 (ko) | 보안 부트 변경 변경시스템, 방법 및 이 변경시스템을 구비한 전자장치 | |
CN107408090A (zh) | 输入/输出控制器访问通道的动态配置 | |
US5039850A (en) | IC card | |
CN106909848A (zh) | 一种基于bios扩展的计算机安全增强系统及其方法 | |
CN103886268A (zh) | 微型计算机、中间件及其操作方法 | |
CN107567629A (zh) | 在可信执行环境容器中的动态固件模块加载器 | |
CN103544413B (zh) | 一种在智能终端中校验软件版权的方法及装置 | |
JP2002297562A (ja) | マイクロコンピュータ、書込み方法及び消去方法 | |
CN107688756B (zh) | 硬盘控制方法、设备及可读存储介质 | |
KR101751098B1 (ko) | 이동 단말 장치 칩 프로그래밍을 위한 방법 | |
US20060080655A1 (en) | System and method for post-issuance code update employing embedded native code | |
CN113114645B (zh) | 提高安全模组存储容量及运行安全性的方法、装置及设备 | |
CN100354790C (zh) | 信息处理设备 | |
CN112613011B (zh) | U盘系统认证方法、装置、电子设备及存储介质 | |
CN113901473A (zh) | 一种服务器安全启动的方法、装置、设备及可读介质 | |
CN107992379A (zh) | 一种读取数据信息的方法、移动终端及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: SUOSI FUTURE CO., LTD. Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR CO., LTD. Effective date: 20150513 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150513 Address after: Kanagawa Applicant after: Co., Ltd. Suo Si future Address before: Yokohama City, Kanagawa Prefecture, Japan Applicant before: Fujitsu Semiconductor Co., Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140625 |