CN1745357A - 用于在设备中执行测试的方法、系统及设备 - Google Patents

用于在设备中执行测试的方法、系统及设备 Download PDF

Info

Publication number
CN1745357A
CN1745357A CN200480003282.5A CN200480003282A CN1745357A CN 1745357 A CN1745357 A CN 1745357A CN 200480003282 A CN200480003282 A CN 200480003282A CN 1745357 A CN1745357 A CN 1745357A
Authority
CN
China
Prior art keywords
key
program
equipment
safe class
test
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.)
Granted
Application number
CN200480003282.5A
Other languages
English (en)
Other versions
CN100374970C (zh
Inventor
L·帕特罗
A·基维里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN1745357A publication Critical patent/CN1745357A/zh
Application granted granted Critical
Publication of CN100374970C publication Critical patent/CN100374970C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Testing Electric Properties And Detecting Electric Faults (AREA)
  • Debugging And Monitoring (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及用于在设备(1)中执行测试的方法和系统,其中加载至少一个程序(110,112),并确定与所述程序相关的模式数据中的至少一项。此外,生成至少一个密钥(111)以供在所述程序中使用。在该方法中,为要在设备(1)中使用的密钥确定至少两个不同的安全等级。在该方法中,检查为所述密钥确定的所述安全等级和与所述程序相关的至少一个模式数据,并基于所述检查结果判断所述密钥是否可用于所述程序的模式数据中指示的模式。

Description

用于在设备中执行测试的方法、系统及设备
本发明涉及一种用于在设备中执行测试的方法,其中在所述设备中加载至少一个程序,确定与所述程序相关的模式数据中的至少一项以及形成供所述程序中使用的至少一个密钥。本发明还涉及一种用于在已加载至少一个程序的设备中执行测试的系统,与所述程序相关的模式数据中的至少一项已安排为有待在所述系统中确定,以及所述系统已配备了至少一个供在所述程序中使用的密钥。本发明还涉及一种包括至少一个用于执行所述设备中加载的程序的处理器系统,其中与所述程序相关的模式数据中的至少一项安排为有待在所述设备中确定;以及所述设备已配备了至少一个供在所述程序中使用的密钥。此外,本发明涉及一种存储装置,其中已存储有一组用于在设备中执行测试的机器可执行程序命令,在所述设备中至少安排了一个有待加载以在所述设备中执行的程序,已为该程序确定了模式数据中的至少一项,以及已形成供所述程序中使用的至少一个密钥。
在获得对应用的访问权之后有许多已知应用可以在设备中使用。在现有技术的系统中,可以例如如下方式获得这种访问权:用户通过数据网络将应用加载到设备中。在同样的场景中,用户可以提供他/她的联络数据,其中该应用提供方通过例如邮件发送开放访问权限的必要信息。用户可以通过提供他/她的信用卡号有利地结合加载操作为针对应用的访问权支付费用。因此,支付操作通过信用卡公司来完成。另一方面,支付还可以通过货到付款方式来完成,其中用户在索取通过邮件发送的访问权数据时进行支付。有可能在用户已进入其已接收到的输入访问权数据之后开始使用应用。这种数据可包括,例如用户标识和密码、注册码等。这些访问权最后包含用户设备标识的有关信息或其他个性化信息,据此防止不同的用户利用一个用户的访问权使用相同的应用。
随着电子设备越来越多功能化,由此产生一种需求,即以通过授权程序才能获得对某些功能的访问权的方式来保护电子设备的某些功能。例如,移动电话已被开发成适合于多用途数据处理的通信设备,其中还可以执行不同于进行电话呼叫所必需的一些程序。以后还可以在此类设备中安装新程序,以较新版本更新已安装程序。但是,例如移动电话功能需要某种安全性,使得并非任何一个程序都可以例如确定SIM上存储的信息或以伪造标识数据向移动通信网络进行电话呼叫,以致另一个移动预订用户为此呼叫付费。以对应的方式,在包含例如与现金业务相关的功能的设备中,如使用该设备作为支付手段,就必须确保不让有缺陷或未授权的程序影响现金业务或更改例如有关设备中存储的金额的数据。此外,使用设备中的某些数字记录可能涉及受限的访问权。例如,用户预订了音乐、软件或其他数字记录并将它们安装在他/她的设备中。在一些情况下,此类数字记录的访问权是受限的;例如,该数字记录只能安装在给定设备中,该数字记录的使用次数和使用期限可能是受限制的,或者必须是付费的,例如必须在每次使用该数字记录时付费。对于上述类型的情况,设备的软件设有受保护的部分,在该部分中执行必要的安全性检查以及与编码和解码相关的功能。此外,此类设备通常包含操作系统,该操作系统用于例如控制设备的功能块以及在不同功能块之间传输数据。实现了用于在操作系统和受保护部分之间传递信息的接口。例如,将设备中接收到的加密消息传送到该受保护部分以进行解码,然后才可以将经过解码的消息传送到操作系统进行进一步处理。
要在设备中执行的程序可以按不同等级的访问权划分。例如,可以将这些程序划分为对要求安全性的功能没有任何访问权的程序和有可能处理至少一些要求安全性的功能的程序。因此,当程序启动时,操作系统或受保护部分检查这些程序的访问权,并防止或允许程序对某些功能的访问。确定访问权的操作可以基于例如程序的来源,其中可为例如设备厂商提供的程序配置较第三方提供的程序更宽的访问权。另一方面,例如设备厂商可以为某个特定程序生产者提供较其他厂商更宽的授权(更高可靠性),其中,可以为更可靠程序生产者的程序配置比具有较低或未定厂商可靠性等级的程序更多的访问权。
目前,许多设备中存储了不同用途的密钥。这些密钥除其他用途外,还可用于验证信息、检查访问权、认证软件以及对信息进行加密和解密。此类密钥可能已存储在设备中普通程序不可以访问的部分中,或者这些密钥已经以加密格式存储,其中使用该密钥的程序含有用于对该密钥进行解密的另一个密钥。因此,此第二密钥必须存储在普通程序不可访问的存储器中。
上述类型设备所存在的一个问题是,在开发新程序或对现有程序作进一步开发时,应该可以在尽可能可信的环境中对这些程序进行测试。待测试的程序还应该具有可获得的必要密钥。利用对该程序进行测试的工具,如调试程序和/或设备,可以检查设备中含有要保密的信息(如上述密钥)的区域。此类信息的部分的公开可能不是非常有害。但是,某部分可能包含甚至在测试情形下仍必须保持不可访问的密钥。例如,这些密钥涉及各种支付应用、对数字记录(DRM、数字版权管理)的访问权管理、加密格式的机密信息传输以及其他对应的功能。
在现有技术的一些配置中,至少所有要保密的重要密钥已被替换为用后删除的测试密钥。这样,可以使用这些测试密钥来测试程序。但在测试完成之后,必须在设备中将测试密钥替换为新密钥。
本发明的目的在于提供一种改进的方法和系统,用于在可信硬件环境中测试程序。本发明基于如下思想:为要在设备中使用的密钥定义至少两个不同的安全等级,其中,为每个密钥选择这两个安全等级之一。第一安全等级最好是较低的安全等级,相应地,第二安全等级是较高的安全等级。在本发明的安排中,第一安全等级的密钥还可用于测试目的,而第二安全等级的密钥则被替换为测试密钥以执行测试。更精确地说,根据本发明的方法的主要特征在于:为要在设备中使用的密钥定义至少两个不同的安全等级,检查为所述密钥定义的所述安全等级和与所述程序相关的模式数据中的至少一项,并基于所述检查结果判断所述密钥是否可用于所述程序模式数据中指示的模式。根据本发明的系统的主要特征在于:为要在设备中使用的密钥定义至少两个不同的安全等级,其中所述系统包括:检查装置,用于检查所述安全等级和与所述程序相关的模式数据中的至少一项;以及确定装置,用于判断所述密钥是否可用于所述程序模式数据中指示的模式。根据本发明的设备的主要特征在于:为要在设备中使用的密钥定义至少两个不同的安全等级,其中所述设备包括:检查装置,用于检查所述安全等级和与所述程序相关的模式数据中的至少一项;以及确定装置,用于判断所述密钥是否可用于所述程序模式数据中指示的模式。此外,根据本发明的存储装置的主要特征在于:为要在设备中使用的密钥定义至少两个不同的安全等级,所述存储装置还包括用于执行如下操作的程序命令:检查为所述密钥确定的所述安全等级和与所述程序相关的模式数据中的至少一项,基于所述检查结果判断所述密钥是否可用于所述程序模式数据中指示的模式。
本发明显示了明显优于现有技术解决方案的显著优点。在根据本发明的系统中,可以在尽可能好地符合实际使用情况的环境中对程序进行测试。因此,检出错误的可能性高于现有技术的解决方案,完成的程序也更为可靠。重要密钥的安全性也得到确认,因为未在测试情形中使用它们。但是,一些密钥也可用于测试,其中,对测试密钥的需要少于现有技术的解决方案。
下文中,将参考附图对本发明予以详细说明,附图中:
图1a和1b以简化方式显示了设备的密钥处理体系结构;
图2以简化框图显示了在根据本发明优选实施例的设备中实现的软件执行环境的结构;
图3a以简化框图显示了根据本发明优选实施例的设备;以及
图3b以简化框图显示了根据本发明优选实施例的设备中的受保护功能块。
下面将以图3a所示设备作为示例来描述根据本发明优选实施例的方法操作。设备1包括一个或多个处理器2,这些处理器用于执行程序;执行设备的操作系统功能;控制设备的不同功能块的操作等。该设备还包括受保护块3,此受保护块用于处理大部分其执行涉及预定要保密的操作(如处理私钥)的功能。图3b中显示了此受保护块的结构实例,下文将对此予以更详细的描述。所述设备还包括存储器4,用于存储例如设备操作所必需的软件和信息。设备1还包括发送器5和接收器6,设备1利用它们来与通信网络2通信。发送器5和接收器6最好用于无线通信,其中设备1可用于与无线通信网络如移动通信网络(未显示)通信。设备1还可以包括例如本地通信装置7,用于与设备1附近的其他设备(未显示)通信。这些本地通信装置7包括例如基于低功率无线电传输,如蓝牙TM收发器。设备的操作系统8最好包括显示器8.2、键盘8.1、耳机/扬声器8.3和麦克风8.4。显然该设备还可以包括一个以上的用户接口。由此,例如,可以设置一个主要用于数据处理功能的用户接口,而设置另一个主要用于移动电话功能的用户接口。这种设备的一个实例是Nokia 9210iCommunicatorTM。此外,设备1最好包含用户识别卡9,如SIM(用户识别模块)和/或USIM(UMTS用户识别模块),据以在设备1开机时识别用户,并确定对该用户授权的移动台功能特性。
根据图3b的受保护块3最好包括只读存储器3.1、随机存取存储器3.2、处理器3.3、总线连接3.4、以及测试连接3.5。受保护块最好以单个集成电路的形式构成,从而不能从外部访问其内部耦合。因此,几乎不可能发现在该受保护块内部传送的信号。只读存储器3.1包含在制造设备1之后无需变更的已存储信息和软件。例如,只读存储器3.1包含受保护块的标识(芯片ID)、用于生成某些密钥的随机数、用于加载信息的管理功能、用于受保护存储器的管理功能、设备控制器等。受保护块的随机存取存储器3.2例如不仅用于临时存储软件执行期间需要的应该保密的信息,而且用于在执行期间存储受保护软件。受保护块的处理器3.3例如用于执行受保护软件并控制总线连接3.4。通过总线连接3.4,可以在受保护块3和所述设备的其余部分之间传递信息。当无需通过该接口传递信息时,处理器3.3最好将总线连接3.4设置为无受保护块的任何内部信号向该总线连接传送的状态。因此,甚至通过观察接口上的信号也不能确定受保护块的内部操作。
但是,设备1显然还可以这样实现,即受保护块3的功能以及其他功能可以用单个处理器实现。在此情况下,受保护块的只读存储器3.1、随机存取存储器3.2和总线连接3.4作为该处理器的内部功能块来实现,当该处理器在执行受保护块的功能时,它可以防止通过处理器的连接引线监视其内部总线的信号。
此外,受保护块3还可能在可连接到设备1的智能卡9(如SIM卡)中实现,或在与设备1有关的另一适当位置中实现。
图2以简化方式显示了设备1的软件执行环境的结构。它包括受保护环境10和未受保护的环境11。受保护环境10在设备1的受保护块中实现。以相应的方式,未受保护环境11在设备1的其他功能块,如处理器2和存储器4中实现。受保护环境包括只读存储器3.1、随机存取存储器3.2和设在它们之间的受保护应用程序接口(API)10.1。受保护应用涉及这种程序,其预定在受保护环境中执行,并且其运行不能从外部观察到。此类程序是要求某种给定安全等级的程序,如有关支付交易的某些程序、预定用于对信息进行加密/解密的程序(其中以未加密格式处理秘密加密密钥)等。
最好,三个连接12.1、12.2、12.3在受保护环境10和未受保护环境11之间形成,并且通过上述接口3.4的总线(未显示)在硬件级上实现。第一连接12.1预定用于来自受保护环境的子例程调用,其中要调用的子例程位于未受保护环境中。要调用的子例程包括例如操作系统服务11.1,诸如存储器分配以及将受保护(加密)数据存储在受保护块之外的存储器4中。第二连接12.2预定用作从未受保护环境11到受保护环境10的应用接口。例如,第二连接12.2可以在不需要在受保护环境外传送保密信息时用于使用受保护环境中的服务。未受保护环境最好包括可借以调用这些服务的操作系统驱动程序(OS驱动程序)11.2。数字签名验证是所述服务的一个示例,其中,将待验证的数字签名还有(如有必要)公钥从未受保护环境11传送到受保护环境10。该受保护环境包括用于执行验证的程序。受保护环境10和未受保护环境11之间的第三连接12.3预定用于普通(不受保护)应用与受保护应用之间的通信。
图1a以简化框图显示了设备1的密钥处理体系结构。然而,该实例显然仅是可以结合本发明应用的一个可能实施例。在图1a的密钥处理体系结构中,有构成设备1的所谓公钥首部(public key header)101的多个公钥。此公钥首部101包含公钥102-105以及有关设备1的公钥的信息。在此上下文中,公钥包括例如设备特定密钥102(芯片HW公钥)、用于对受保护软件进行签名103的密钥(安全模式公钥)、软件签名密钥104(OEM1软件签名密钥)以及软件测试签名密钥105(OEM2研发控制密钥)。在设备1的使用过程中,公钥可以从存储器4读取,并存储在受保护环境的随机存取存储器3.2中。涉及存储操作,最好通过设备特定密钥102对数据进行验证。另一方面,可以在需要公钥时将它们从存储器4中读入受保护环境的随机存取存储器3.2中。在此情况下,同样必须验证数据。
此外,基于设备特定密钥102计算的散列值106、芯片特定内部密钥107和认证密钥108都存储在包括保护块的电路中。所述散列值106、芯片特定内部密钥107和认证密钥108最好在制造阶段存储在电路中,从而不能在以后更改。设备特定密钥102最好也在制造过程中存储在电路中,并且在存储之后不能更改。用于测试的密钥最好也存储在设备中。现场研发控制公钥109结合测试使用,下文将对此予以更详细的描述。
除了以上给出的密钥外,图1a还显示了与设备保护相关的其他功能块。设备包括程序110,程序110预定要在受保护环境中执行,其可靠性可以通过将用于对受保护软件进行签名的密钥103用于检查结合该程序存储的数字签名来予以检查。而且,预定供程序内部使用的公钥111可能已存储在这些程序中,其中这些公钥在程序加载时一起加载到受保护环境的随机存取存储器3.2中。此外,设备包括预定要在未受保护环境中执行,并且已用与软件签名密钥104对应的私钥进行了数字签名的程序112。测试配置113包含有关密钥115和116的信息,这些密钥可以结合测试使用。测试配置利用与现场研发控制公钥109对应的私钥作了数字签名签署。同样,设备中包含的单个设备标识114利用与设备特定密钥102对应的私钥作了数字签名。
在图1a的示意图中,实线箭头表示用于验证各种数据的密钥(可靠性检查链)。例如,设备特定密钥用于验证对受保护软件进行签名的密钥103、软件签名密钥104和软件测试签名密钥105。以对应的方式,可将散列值106用于验证设备特定密钥102的有效性(完整性)。
同样,对公钥首部101进行了数字签名,以便可以认证其中包含的数据。
可以用上述公钥检查的数据最好以已知方式利用与公钥对应的私钥在设备1和/或程序的制造阶段进行签名。如果与私钥对应的公钥只用于认证,而不用于对数据进行签名或加密,则不必存储在设备或程序中。
图1b说明有关对称密钥的设备1的密钥体系结构。对称密钥的使用按已知方式基于如下事实:同样的密钥用于对对数据进行加密或签名以及用于对签名进行解密或验证。因此,这种对称密钥不得对外公开。认证密钥108可用于例如在预定仅在给定设备1中使用的受保护应用110中对电路进行认证。电路特定内部密钥107最好是电路特定随机数,且预定用于在将信息存储在受保护环境之外时确保可靠性和完整性。电路特定密钥111基于与该电路相关的信息形成,它应该随电路不同而不同。可以在受保护环境中执行的每个程序110可能涉及一个或多个预定仅供程序内容使用的应用特定密钥119。此外,可以针对程序形成预定在两个程序之间的通信中使用的应用间密钥120。这种应用间密钥存储在它预定在其中使用的每个程序中。
每个程序最好配备至少一个应用来源ID和用于识别每个应用的应用ID。这些标识最好作为已利用私钥基于它们计算得到的散列值存储在应用中。因此,散列值的可靠性可以利用与该私钥对应的公钥来检查。
可供程序利用的密钥119,120可用于例如数据加密和解密、数据的数字签名以及检查数字签名的可靠性等。该程序可以根据一个对称基本密钥形成多个密钥,使得公开所生成的密钥不致对基本密钥的保密性构成威胁。因此,程序不将同一密钥用于几个目的而是针对不同目的生成不同的密钥是有利的。
在根据本发明的解决方案中,应用特定密钥119和应用间密钥120设有指示这些密钥用于测试软件的可用性的信息,即安全等级。这种安全等级可以是程序特定的,其中以相同的方式处理该程序所用的所有密钥,或者该信息可以是密钥特定的,其中可以不同的方式处理不同的密钥,即使在同一程序内也是如此。在根据本发明优选实施例的解决方案中,确定第一安全等级和第二安全等级,其中第一安全等级是较低的安全等级,而第二安全等级是较高的安全等级。对于预定为非常可靠且绝对保密的密钥,设定的安全等级是较高的安全等级;也就是说,这些密钥不能结合测试使用。这种密钥在正常模式和测试模式下具有不同的值。在其他情况下,将安全等级设为第一安全等级。这种密钥在正常模式和测试模式下具有相同的值。安全等级可以用一个比特的值来表示,即可以是0或1。程序编译器可以将此安全等级存储在程序中以涵盖整个程序或分别针对每个密钥。
下面将结合软件测试描述密钥的使用。在开启设备1时,最好对存储在设备1中且将要启动的操作系统的可靠性进行认证。这是通过例如利用软件签名密钥104检查该操作系统中存储的数字签名来完成的。如果检查结果指示该操作系统是可靠的,则可以启动该操作系统。在此场景中,通知设备1转入测试模式。测试人员最好使用设备1的接口8来指示要启动哪个程序来进行测试。基于此信息,程序安装服务检查是否已得到对该程序的访问权。如果尚没有访问权,则程序安装服务通知访问权获取服务需要获取访问权。访问权以例如如下方式获取。设备1向设备厂商的服务器(未显示)等发送消息,该消息包含有关要执行测试的设备1的有关信息和要赋予对其的访问权的程序的有关信息。设备信息至少包含设备的标识数据如设备ID以及待测试程序的生产者的有关信息。在设备厂商的服务器中,检查来自接收消息的设备ID,并且基于设备ID从服务器的数据库中检索出有关设备1和程序生产者的信息。该信息包含例如设备特定密钥102,借助此密钥,数据可以只可能在设备1中解密的方式加密。程序生产者的数据含有指示可以授权针对所述生产者的程序的何种访问权的信息。这些权限可取决于例如设备厂商和程序生产者之间的协议。
如果允许测试设备1中的程序,则向设备1发送授予访问权的消息。在设备1中,检查用于授予访问权的接收消息,必要时对该设备的可靠性和完整性进行验证。用于授予访问权的消息有利地包含至少如下信息:访问权参数(访问权矢量),其包含允许程序使用的功能的有关信息。这些功能包括例如有关SIM卡处理的功能、某些操作系统功能、用户界面功能等。此外,用于授予访问权的消息包含所述消息所涉及的程序的标识的有关信息。因此,软件加载程序10.2可以将访问权的可能扩展/限制分配给正确的程序。这时,知道了所赋予的针对该程序的访问权,因此可以启动该程序,并在所确定的访问权范围内控制其功能。
在测试期间,激活例如受保护块的测试连接3.5,其中,可将测试连接的连接线路(未显示)用于查找受保护块3内的信号。这使得有可能跟踪要在受保护块3内执行的程序的过程并对这些程序进行调试。最好至少有两种测试模式可供利用:测试普通软件的模式和测试受保护软件的模式。但是,在激活测试模式之前,首先检查所述设备1中是否允许测试。这是通过检查测试配置113中包含的可能测试模式的有关信息来查明的。
在测试普通软件的模式中,使用程序签名密钥104和对应的测试密钥116。在测试受保护软件的模式中,使用对应的测试密钥115来代替对受保护软件签名的密钥103。这些测试密钥115和116存储在例如测试配置113中。
在要启动对程序的测试的阶段,在根据本发明优选实施例的方法中采取如下步骤。待测试程序最好存储在设备的普通存储器4中,并具有数字签名。对于待测试程序的数字签名,已运用了与上述测试密钥115和116对应的私钥。
当设备1处于测试模式时,开始将程序加载到保护块的随机存取存储器3.2中。加载程序10.2存储在受保护块的只读存储器3.1中。加载程序10.2在启动该程序之前利用软件测试签名密钥105验证待加载程序的可靠性。此外,检查与该程序相关的密钥的安全等级。如果该安全等级指示某个密钥不能用于测试,则在测试期间将对应于该密钥的相应测试密钥设为可供该程序利用。但是,如果该安全等级指示该密钥也可用于测试,则同样可以正常地将该密钥用于测试。
在以上所述的安排中,测试人员不能查明安全等级设为第二值,即较高安全等级的这类密钥的内容,因为不在测试情形中如此使用这些密钥,而是代之以使用测试密钥。
在实际应用中,可能有各种测试功能的实现方案。例如,可以为设备定义正常模式和测试模式。因此,在测试模式中,所有程序在测试模式下运行,所有重要密钥被替换为对应的测试密钥。在这种实施例中,有关测试模式的信息最好发送给需要把使密钥保密纳入考虑的所有这类程序。这些程序可以将要保密的密钥替换为测试密钥。
测试功能还可以程序特定的方式实现,其中最好只将待测试的一个或多个程序设置在测试模式下。在此情况下,其他程序可以在正常模式下运行。因此,在此实施例中,对该程序的测试不会影响其他程序,而在其他方面,必要时可以正常地使用设备1。实际上,这种程序特定测试功能可以如下方式实现。操作系统的即便在测试情形下也不能利用测试设备查明其重要部分中的操作的受保护内核等检查所述设备1中是否允许测试预定要测试的程序。如果允许进行测试,则该内核将待测试程序设为测试模式。以对应的方式,该内核可以在测试后将该程序设为测试模式,否则停止该程序。
在一些情况下,在上述程序特定测试替代方案中,还可能需要向其他程序通知某个程序正处于测试模式下。这在可能不能保证私钥在测试情形下依然保密时可能是必要的。因此,正常模式下的程序可以判断是否要将密钥替换为测试密钥。
测试功能还可以如下方式实现:只要设备1中收到或设定了针对某程序的正常访问权,该程序就处于测试模式下。
根据本发明的方法可以主要通过软件来实现,其中生成一组程序命令来执行该方法的功能。这些程序命令可以已知的方式存储在存储装置,如存储器3.1、存储器4、CD-ROM、多功能数字光盘等中。
显然本发明并不仅仅局限于上述实施例,而是可以在所附权利要求书的范围内进行修改。

Claims (17)

1.一种用于在设备(1)中执行测试的方法,其中在所述设备(1)中加载至少一个程序(110,112),确定与所述程序相关的模式数据中的至少一项,以及生成至少一个密钥(111)以供在所述程序中使用,其特征在于:为要在所述设备(1)中使用的密钥确定至少两个不同的安全等级,检查为所述密钥确定的所述安全等级和与所述程序相关的至少一个模式数据,并基于所述检查结果判断所述密钥是否可用于所述程序的模式数据中指示的模式。
2.如权利要求1所述的方法,其特征在于;所述第一安全等级是较低的安全等级,而所述第二安全等级是较高的安全等级。
3.如权利要求1或2所述的方法,其特征在于:所述安全等级是程序特定的,其中,所述相同安全等级是为要在所述程序中使用的所有密钥确定的。
4.如权利要求1或2所述的方法,其特征在于:所述安全等级是密钥特定的,其中,基本上不考虑其它密钥而为要在所述程序中使用的每个密钥确定所述安全等级。
5.如权利要求1至4中任何一项所述的方法,其特征在于:对于不能结合所述测试使用的密钥,确定代替该密钥在测试期间使用的测试密钥。
6.如权利要求1至5中任何一项所述的方法,其特征在于:为之确定所述安全等级的所述密钥是预定在系统内部使用的密钥。
7.如权利要求1至6中任何一项所述的方法,其特征在于:为之确定所述安全等级的所述密钥中的至少一个是预定在两个程序之间通信时在这些程序中使用的密钥。
8.如权利要求1至7中任何一项所述的方法,其特征在于:所述程序的所述模式数据指示所述程序模式是测试模式还是正常模式。
9.如权利要求1至8中任何一项所述的方法,其特征在于;所述设备(1)至少具有正常模式和测试模式,以及将所述设备(1)的模式通知给所述程序。
10.一种用于在设备(1)中执行测试的系统,其中已加载至少一个程序(110,112),并且与所述程序相关的至少一个模式数据安排为有待在所述系统中确定,以及在所述系统中形成至少一个要在所述程序中使用的密钥(111),其特征在于:为要在所述设备(1)中使用的密钥确定至少两个不同的安全等级,其中所述系统包括:检查装置(3.3),用于检查所述安全等级和与所述程序相关的模式数据中的至少一项;以及确定装置(119,120),用于判断所述密钥是否可用于所述程序模式数据中指示的模式。
11.如权利要求10所述的系统,其特征在于:所述第一安全等级是较低的安全等级,而所述第二安全等级是较高的安全等级。
12.如权利要求10或11所述的系统,其特征在于:所述安全等级是程序特定的,其中,所述相同安全等级是为要在所述程序中使用的所有密钥确定的。
13.如权利要求10或111所述的系统,其特征在于:所述安全等级是密钥特定的,其中,基本上不考虑其它密钥而为要在所述程序中使用的每个密钥确定所述安全等级。
14.如权利要求10至13中任何一项所述的系统,其特征在于:对于不能结合所述测试使用的密钥,确定代替该密钥在测试期间使用的测试密钥。
15.一种具有至少一个处理器(2,3.3)的设备(1),所述至少一个处理器(2,3.3)用于执行对所述设备中所加载的程序(110,112)的测试,其中,与所述程序相关的模式数据中的至少一项安排为有待在所述设备(1)中确定,以及已在所述设备中形成了至少一个要在所述程序(110,112)中使用的密钥(111),其特征在于:已为要在所述设备(1)中使用的密钥确定至少两个不同的安全等级,其中所述设备(1)包括:检查装置(3.3),用于检查所述安全等级和与所述程序相关的模式数据中的至少一项;以及确定装置(119,120),用于判断所述密钥是否可用于所述程序模式数据中指示的模式。
16.如权利要求15所述的设备(1),其特征在于:它包括移动通信装置(5、6)。
17.一种存储装置,其中存储了一组用于在设备(1)中执行测试的机器可执行程序命令,在所述设备(1)中,已布置了要加载以便在所述设备中执行的至少一个程序(110,112),对所述程序已确定模式数据中的至少一项,以及已形成供在所述程序中使用的至少一个密钥(111),其特征在于:已为要在所述设备(1)中使用的密钥确定至少两个不同的安全等级,所述存储装置还包括用于执行如下操作的程序命令:检查为所述密钥确定的所述安全等级和与所述程序相关的模式数据中的至少一项,并基于所述检查结果判断所述密钥是否可用于所述程序模式数据中指示的模式。
CNB2004800032825A 2003-02-03 2004-02-02 用于在设备中执行测试的方法、系统及设备 Expired - Fee Related CN100374970C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20030156 2003-02-03
FI20030156A FI115564B (fi) 2003-02-03 2003-02-03 Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite

Publications (2)

Publication Number Publication Date
CN1745357A true CN1745357A (zh) 2006-03-08
CN100374970C CN100374970C (zh) 2008-03-12

Family

ID=8565510

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800032825A Expired - Fee Related CN100374970C (zh) 2003-02-03 2004-02-02 用于在设备中执行测试的方法、系统及设备

Country Status (8)

Country Link
US (1) US7418593B2 (zh)
EP (1) EP1590722B1 (zh)
JP (1) JP4417952B2 (zh)
CN (1) CN100374970C (zh)
AT (1) ATE408200T1 (zh)
DE (1) DE602004016460D1 (zh)
FI (1) FI115564B (zh)
WO (1) WO2004070586A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8566248B1 (en) 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
US9928508B2 (en) 2000-08-04 2018-03-27 Intellectual Ventures I Llc Single sign-on for access to a central data repository
US7257581B1 (en) 2000-08-04 2007-08-14 Guardian Networks, Llc Storage, management and distribution of consumer information
US7793095B2 (en) 2002-06-06 2010-09-07 Hardt Dick C Distributed hierarchical identity management
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
JP4073892B2 (ja) * 2004-05-10 2008-04-09 株式会社ソニー・コンピュータエンタテインメント コンテンツ再生装置、コンテンツ再生方法、コンピュータプログラム
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US8527752B2 (en) 2004-06-16 2013-09-03 Dormarke Assets Limited Liability Graduated authentication in an identity management system
US8504704B2 (en) 2004-06-16 2013-08-06 Dormarke Assets Limited Liability Company Distributed contact information management
US7165003B2 (en) * 2004-09-22 2007-01-16 Research In Motion Limited Method and system for testing assembled mobile devices
US7117112B2 (en) * 2004-09-22 2006-10-03 Research In Motion Limited Method and system for the interactive testing of assembled wireless communication devices
US7606225B2 (en) * 2006-02-06 2009-10-20 Fortinet, Inc. Integrated security switch
US7735116B1 (en) * 2006-03-24 2010-06-08 Symantec Corporation System and method for unified threat management with a relational rules methodology
US20080148001A1 (en) * 2006-12-14 2008-06-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual Secure On-Chip One Time Programming
US8205095B2 (en) * 2007-11-02 2012-06-19 Nvidia Corporation Method and system for remotely debugging a failed computer machine
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
KR20140105343A (ko) * 2013-02-22 2014-09-01 삼성전자주식회사 디바이스 및 디바이스에서 복수의 모드를 이용한 데이터의 보안 방법
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
EP2819057B1 (en) * 2013-06-24 2017-08-09 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product
CN104301543B (zh) * 2014-10-30 2016-12-07 西安酷派软件科技有限公司 信息处理方法、信息处理装置和终端
CN105094853A (zh) * 2015-09-09 2015-11-25 广东小天才科技有限公司 一种检测移动终端的方法及装置
KR101757149B1 (ko) * 2016-11-09 2017-07-12 알서포트 주식회사 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US20020078380A1 (en) * 2000-12-20 2002-06-20 Jyh-Han Lin Method for permitting debugging and testing of software on a mobile communication device in a secure environment
JP2002341956A (ja) 2001-05-21 2002-11-29 Sony Corp 情報処理半導体装置、デバッグ許可鍵装置および情報処理半導体システム
US6466048B1 (en) 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
WO2004015553A1 (en) * 2002-08-13 2004-02-19 Nokia Corporation Computer architecture for executing a program in a secure of insecure mode

Also Published As

Publication number Publication date
CN100374970C (zh) 2008-03-12
FI115564B (fi) 2005-05-31
US20040255117A1 (en) 2004-12-16
EP1590722B1 (en) 2008-09-10
JP4417952B2 (ja) 2010-02-17
US7418593B2 (en) 2008-08-26
FI20030156A0 (fi) 2003-02-03
WO2004070586A1 (en) 2004-08-19
ATE408200T1 (de) 2008-09-15
FI20030156A (fi) 2004-08-04
EP1590722A1 (en) 2005-11-02
DE602004016460D1 (de) 2008-10-23
JP2006517313A (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
CN100374970C (zh) 用于在设备中执行测试的方法、系统及设备
US20040266395A1 (en) Process for securing a mobile terminal and applications of the process for executing applications requiring a high degree of security
CN111680305B (zh) 一种基于区块链的数据处理方法、装置及设备
CN100363855C (zh) 密钥存储管理方法、装置及其系统
RU2434352C2 (ru) Способ и устройство для надежной аутентификации
KR101324891B1 (ko) 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
US8588415B2 (en) Method for securing a telecommunications terminal which is connected to a terminal user identification module
CN110519309B (zh) 数据传输方法、装置、终端、服务器及存储介质
US20080168562A1 (en) Secure Processing Device and Secure Processing System
EP1862937A1 (en) Secure processing device and secure processing system
CN1886747B (zh) 使用运营商根证书控制应用的安装的方法和装置
US20070074033A1 (en) Account management in a system and method for providing code signing services
CN101325485A (zh) 处理电子设备中信息的方法、系统、电子设备和处理块
KR20030043738A (ko) 어플리케이션 인증 시스템
US20130114808A1 (en) System and method for providing an indication of randomness quality of random number data generated by a random data service
Cheng et al. A secure and practical key management mechanism for NFC read-write mode
US20030059049A1 (en) Method and apparatus for secure mobile transaction
CN115865495A (zh) 数据传输控制方法、装置、电子设备和可读存储介质
KR20170042137A (ko) 인증 서버 및 방법
US7287161B2 (en) Method and system for testing a program, and a device
CN103827877A (zh) 用于剽窃保护的方法以及执行装置
KR20140114511A (ko) 금융 거래 방법 및 장치
CN113868606A (zh) 一种应用软件授权方法及系统
JP2003271904A (ja) 記憶媒体アクセス装置及び記憶媒体アクセス方法、並びにアクセスプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160118

Address after: Espoo, Finland

Patentee after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Patentee before: NOKIA Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080312