CN100533332C - 提高数据安全性的方法和系统 - Google Patents

提高数据安全性的方法和系统 Download PDF

Info

Publication number
CN100533332C
CN100533332C CNB2005800087771A CN200580008777A CN100533332C CN 100533332 C CN100533332 C CN 100533332C CN B2005800087771 A CNB2005800087771 A CN B2005800087771A CN 200580008777 A CN200580008777 A CN 200580008777A CN 100533332 C CN100533332 C CN 100533332C
Authority
CN
China
Prior art keywords
data
program code
new key
secure execution
execution environments
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.)
Expired - Fee Related
Application number
CNB2005800087771A
Other languages
English (en)
Other versions
CN101006407A (zh
Inventor
L·帕特罗
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.)
Origin Asset Group Co ltd
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 CN101006407A publication Critical patent/CN101006407A/zh
Application granted granted Critical
Publication of CN100533332C publication Critical patent/CN100533332C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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

Abstract

本发明涉及一种用于提高数据安全性的方法和系统,将在电子设备(101)中执行所述数据,所述电子设备(101)包括一种限制访问的安全执行环境(104)。本发明的基本思想是在装置引导的时候,从永久性存储器(112)向暂时存储器(110)复制例如以程序代码形式的数据。必须检验所述程序代码的完整性以确保所述程序代码在存储器之间传送的过程中并没有改变。另外,在安全执行环境中产生一个新密钥。由装置处理器(103)使用这个新密钥来加密将要在暂时存储器内存储的程序代码,这是为了确保在传送过程中对所述程序代码进行保密。其后,装置处理器把加密的程序代码写入暂时存储器。

Description

提高数据安全性的方法和系统
技术领域
本发明涉及一种提高程序代码安全性的方法,所述程序代码在包括安全执行环境的电子设备中被执行,所述安全执行环境被限制访问;一种用于提高程序代码安全性的系统,所述程序代码在包括安全执行环境的电子设备中被执行,所述安全执行环境被限制访问;包含所述系统的移动通信终端;包含所述系统的可编程逻辑装置。
背景技术
各种电子设备需要访问诸如应用程序、加密密钥、加密密钥数据材料、中间加密计算结果、密码、用于外部下载数据的验证手段等之类的安全性相关部分,所述电子设备例如移动电信终端、便携式计算机和PDA。通常,在电子设备内对这些部分和对它们的处理进行保密是必需的。理想地,它们应为尽可能少的人所知,这是因为如果知道装置的安全性相关部分,所述装置就可能被篡改。允许访问这些类型的部分会帮助恶意篡改终端的攻击者。
因此,引进一种安全执行环境,在所述环境中,电子设备内的处理器能够访问安全性相关部分。应当小心地限制对安全执行环境的访问、在其中进行处理以及从其中退出。现有技术中包括所述安全环境的硬件通常封装在抗篡改的组件内。应该无法探测或执行对这类硬件的测量和测试,这导致安全性相关部分和对它们的处理的暴露。
在上文中描述的装置结构并不能完全地抵抗安全攻击。例如,这就需要提供对软件攻击者的增强保护措施,其在安全执行环境的外部执行。当引导装置的操作系统时,相对简单地确保启动适当的软件,由于为了这些目的和其他目的而使用专门开发的受保护的应用软件,并且严格地控制这些受保护的应用程序的执行。然而,在随后的执行过程中,攻击者会试图用各种方法修改“正常的”软件应用程序,并且应该防止对在所述装置内执行的任何软件的可能修改。
对数据和程序代码的保护是非常期望的,这是因为居心不良的人如果其通过偷窃而有权访问所述装置时设法访问所述装置中的敏感数据。也可以是这种情况,即在所述装置中实现数字权利管理(DRM)系统。这种DRM系统存储版权保护内容和有关的数字权利,其确定用户对所述内容进行哪一类访问。因此,DRM系统被用于保护所述内容以防未经授权的用户进行访问,错用和/或错误地分配。由于该内容和权利具有经济价值,所以用户会变得试图通过避开DRM控制功能来访问该内容。明显地,可以设想许多不同的情况,其中攻击者会试图操作装置。
一般进行的攻击是一种称为“修改芯片攻击”的攻击。在修改芯片(“修改芯片(mod-chip)”)攻击中,攻击者将一个小芯片附在目标装置结构内。然后该修改芯片修改该装置内的信号和/或数据来操作该装置。修改芯片的复杂性覆盖了一个宽范围,即从包括简单微处理器和有关软件的设计到结合了包含数千个逻辑门的现场可编程门阵列(FPGA)的非常复杂设计。假设大量无限次和篡改了的硬件/软件,熟练的攻击者可以攻破几乎任何的系统,而且实际上要使系统安全地面对这种强力攻击是非常困难的。然而,一种可接受的安全级别是在大多数情况下其中所采取的安全措施防止了攻击者攻破该系统的级别,这归因于所需要的修改芯片的复杂性使设计和生产修改芯片为禁止地昂贵。因此,即使实际上不可能使系统安全地面对使用了高度篡改的硬件/软件的强力攻击,该系统还是会抵抗使用不那么复杂因此也不那么昂贵的修改芯片的攻击。
在现有技术中,例如,用来保护系统或装置安全所采取的一般措施包括阻止访问系统/装置总线。应该在执行过程中和在系统存储器中存储代码时保护程序代码。然而,关于装置安全性的问题仍然存在。
发明内容
本发明的目的是减轻上述问题,并提供一种安全系统,它提供对软件攻击者的增强保护措施,其在安全执行环境的外部执行。
通过一种提高数据安全性的方法来达到该目的,所述数据在包括安全执行环境的电子设备中被执行,所述安全执行环境被限制访问,通过一种提高数据安全性的系统来达到该目的,所述数据在包括安全执行环境的电子设备中被执行,所述安全执行环境被限制访问,通过一种包含所述系统的移动通信终端、一种包括所述系统的可编程逻辑装置来达到该目的。
本发明的基本思想是在装置引导的时候该装置被启动,从永久性存储器(例如,NAND闪存)向暂时存储器(例如,RAM)复制数据,随后执行来自该暂时存储器的数据。一般地,该数据由程序代码组成。必须检验该程序代码的完整性以确保该程序代码在从NAND传送到RAM的过程中并没有改变。在安全执行环境中由装置处理器执行这类安全性临界操作。注意,NAND存储器总被认为是外部存储器,即位于装置外,反之,RAM主要位于该装置外,但是也存在少量RAM是位于装置内的,即内部存储器。
另外,在装置引导的时候或在运行时间内,在安全执行环境中产生一个新密钥。为了提供保密性,即确保在传送过程中对该数据进行保密,当设置处理器的安全操作模式时,由装置处理器利用这个新密钥来加密将要在(外部)RAM中存储的数据以。其后,装置处理器向RAM中写入加密数据。注意,当要在外部RAM内存储数据/程序代码时对数据/程序代码的加密比当要在内部RAM内存储数据/程序代码时对数据/程序代码的加密更加重要,这是因为由于内部RAM位于装置内的缘故而认为该内部RAM本身相对比较安全。然而,如果需要高级别的安全性,还可以执行对将要在内部RAM中存储的数据/程序代码的加密。
本发明是具有优势的,这是因为如果攻击者想要修改RAM内存储的代码,他就必须获得密钥以致于可以解密该加密的程序代码。如果程序代码是不受阻碍,则攻击者就会修改该代码来操作装置。攻击者也可以修改加密代码,但是这些修改将会有点任意效果,而且不会具有将以预知的方式操作该装置的效果。由于严重地限制对该装置的安全执行环境的访问,其中在安全环境中存储密钥,所以攻击者将不得不对程序代码进行密码分析来产生密钥。当采取一个新的引导序列时,就重复以上过程。这所具有的效果是在引导装置时,产生一个新密钥并用它来加密程序代码,这使密码分析由于密钥重复更换的缘故而更加困难。
本发明另一个较大的优势是补偿在运行时间内采用的不怎么强大的算法。虽然在永久性存储器中可以使用强大的加密/完整性机制,但是它们通常无法在运行时间内使用。当对永久性存储器进行一个时间块的访问时,因此读取大量数据或程序代码,就只会存在关于数据完整性校验的小性能处罚。但是在运行时间中,所使用的算法是较弱的,这是因为它们无法延迟执行,并因而产生不可接受的等待时间。因此,为了补充运行时间算法,运用频繁的密钥更换。
可以在每个新引导的时候执行一个新密钥的产生,但是它可能也足以在随机选择的引导序列或有规律地选择的引导序列产生一个新密钥,其中术语“有规律地”未必暗示在每个新引导的时候产生一个新密钥。这是在安全性的一方面和需要产生新密钥的处理的另一方面之间的折中。每一个产生的密钥与之前产生的密钥相比将应为新的,而且理想地,一个产生的新密钥与之前产生的任何其他密钥相比是随机的。作为对在引导的时候产生一个新密钥的代替或补充,可以在运行时间内产生密钥。在此情况下,在可能的攻击者有时间搜集破解密钥所需要的数据量(或执行大量足够的计算)之前应该产生一个新密钥。可以将运行时间密钥更换设置成在用一个新密钥逐渐代替整个“旧”密钥以前,更换“旧”密钥的一部分。
根据本发明的实施例,必须在安全执行环境中验证程序代码,以便使该装置确保程序代码来自于一个信赖的代码提供者。如果没有执行验证,则修改芯片攻击者就会为该装置提供已经修改了的程序代码,也就是说,攻击者可以执行对程序代码的预引导修改。
根据本发明的另一个实施例,组合将要写入加密数据的存储器单元的地址与新密钥。例如,把地址空间内地址单元的数字值串级连接到(或者以其他适当的方式与其组合)新密钥,用最终产生的串联来加密所述数据,这是在把所述加密数据写入存储器之前。因此,加密数据变成与其中存储加密数据的地址有关。
该实施例是具有优势的,例如,如果攻击者设置一个所谓的选择的明文攻击,攻击者在其中定义一个自己的明文,则将它送到加密硬件并对最终产生的密文进行分析。在将固定的程序代码和攻击者已经选择的(修改的)程序代码进行比较时,可以设置此攻击,但是实际上很难实现。然而,还可以在加密程序代码与数据时设置此攻击。即使该程序代码被固定,数据也会连续地改变,因此攻击者可以访问用相同密钥加密的几个不同的数据集合(在相同的地址单元中),这使得可能进行加密分析。通过使用上述串联来加密将要写入存储器内的数据和/或程序代码,该加密密钥(即该串联)对于每一个地址单元而不同。这极大地阻止了密码分析。
根据本发明的又另一个实施例,在装置引导的时候产生多个新密钥,其中每一个新密钥用来加密程序代码的相应子集。因此,可以用不同的密钥来加密程序代码的不同部分。因此,暂时存储器区域(即RAM)的不同部分可以保存用不同的密钥加密的程序代码,使程序代码的密码分析更加困难。
根据本发明的又另一个实施例,在引导的时候,在地址空间内置换地址单元。该置换或重新排序使攻击者难以得知特定的地址在地址空间内的位置。例如,在重新引导时,将位于地址空间内位置编号1024的地址映射到地址位置编号2048。在再次重新引导时,该地址映射到位置编号512等。这阻止了对系统的攻击。
根据本发明的其他实施例,采用以完整性数据形式的冗余。使用像检验和、消息验证码(MAC)或其他类型的消息完整性代码那样的完整性数据是众所周知的。存储完整性代码是昂贵的,这是因为它需要额外的存储器。因此,最好将它们的使用限定为安全性临界代码,像受保护的应用程序那样。
因为存储完整性代码是昂贵的,所以形成该代码的位数量应该小。然而,位数量越小,检测单独篡改的概率就越小。假设以32位字的分组的方式访问外部存储器。如果为每一个32位字添加一位的检验和,则某人能猜到该一位的检验和的正确值的概率是50%。如果为每一个32位字添加两位的检验和,则某人能猜到该两位的检验和的正确值的概率是25%等等。在本发明的一个实施例中,采用加密的检验和,即MAC。作为将被提供完整性的数据和完整性校验密钥的函数,计算MAC。该完整性校验密钥包括上述新密钥或可能是多个新密钥。在本发明中,可以在MAC中使用相对小量的位,这是因为完整性校验密钥在每次引导中都更换。因此,在每一次引导的时候(即每当完整性校验密钥更换时)都必须重新进行尝试性的篡改。
如果在装置引导的时候产生多个新密钥,就用不同的密钥为不同存储单元计算完整性数据,以致于在各个存储单元上的内容可以不与另一个存储单元上的内容来交换。
当在RAM中写入数据或程序代码时,将有关的MAC写入完整性保护存储器,其优选地位于装置内,但是也可以在外部存储器中存储MAC。使用外部或内部存储器是一种在成本、性能和安全性之间的折中方案。可以以一种例如ASIC(特定用途集成电路)、FPGA、CPLD(复杂可编程逻辑装置)或一些其他类型的可编程硬件的形式实现的该装置的内部存储器是快速和安全的,但是相对比较昂贵。另一方面,由于外部存储器不那么昂贵,所以可以存储更宽的完整性代码,这增加了安全性。实际上,将使用内部和外部存储器的组合来存储完整性代码。
当执行程序代码时,装置从RAM中读出该程序代码。该装置检验MAC的正确性,也就是说,校验该程序代码没有经过修改。如果发现一个不正确的MAC,则该装置应该停止操作以防止运行一个可能经过修改的程序代码。
根据本发明的又另一个实施例,可以以至少两种不同操作模式中的一种来设置装置处理器。在该装置中,存储器电路被设置具有至少一个存储区域,与装置安全性相关的受保护的数据位于该存储区域内。当设置一个安全处理器操作模式时,允许处理器访问存储区域,当设置一种正常的处理器操作模式时,拒绝处理器访问所述存储区域。事实就是正在执行的处理器和应用程序是否允许访问存储区域就是怎样定义实际操作模式。
对存储电路中存储区域的访问定义了处理器的安全操作模式。存储器在以安全执行模式进行操作时可以访问的存储区域称为安全执行环境。如上所述,这些存储区域包括安全相关部分,例如应用程序、加密密钥、加密密钥数据材料、中间加密计算结果、密码、用于外部下载数据的验证手段等。在安全执行模式中,处理器能够访问安全性部分。由于在正常的、非保密的处理模式中对装置施加的安全性限制是严格的,所以这是重要而且具有高度优势的。
理想地,只允许所谓的受保护的应用程序来处理保密的加密密钥,该受保护的应用程序通常是用于在安全执行环境内执行安全性临界操作的小型应用程序。受保护的应用程序可以是由信赖的提供者发布的应用程序,在此情况下必须对它们进行验证,但是它们还可以由任何的第三方发布,不管该第三方是否受信赖。在后一种情况中,不发生验证。必须根据特殊的前后关系确定是否由信赖的提供者发布该受保护的应用程序。通常,如果要将应用程序载入装置内,就应该信赖以这种它们具有或被给予危害装置安全性的能力的方式设置的应用程序。
受保护的应用程序可以认为是在安全环境外执行的一种正常应用程序的一部分。受保护的应用程序还包括用来在装置内实现标准功能的应用程序。例如,利用受保护的应用程序来引导装置并在该装置内载入一个操作系统。即使装置用户也不允许访问保密的加密密钥是期望的,即使该装置用户不认为是一个未经授权的第三方。也许,在装置内实现一个DRM系统,由于通过DRM系统所呈现的数字内容和相关数字权利具有经济价值,所以用户会设法通过避开DRM控制功能来访问该内容。当然,还存在其他不允许用户访问密钥的原因;例如,必须考虑到一般的安全性方面。
在正常的装置操作模式中,装置处理器不能访问位于安全环境内的安全性相关数据。该安全性数据包括加密密钥和算法、用于引导电路的软件、像在加密密钥材料中使用的随机数的保密数据、应用程序等。限制对这些安全数据的访问以及对该数据的处理。当测试和/或调试一般位于移动通信终端内的装置时,不允许访问安全性相关数据。为此,将处理器置于正常的或“非保密的”操作模式中,在该模式中不再允许访问安全环境内受保护的数据。
本发明另外的特征和优势将在对附加的权利要求和以下描述进行研究时变得明显。本领域技术人员理解,可以组合本发明的不同特征来创建除了以下所描述的那些实施例以外的实施例。
附图说明
将参考以下附图更详细地描述本发明,其中:
图1示出了用于提供数据安全性的装置结构的示意图,在该结构中可以有利地应用本发明;
图2示出了用于提供数据安全性的装置结构的示意图,其中还设置了一个可移动智能卡,在该结构中可以有利地应用本发明;
图3示出了根据本发明实施例在引导装置时跟随的过程的流程图;
图4示出了根据本发明另一实施例在引导装置时跟随的过程的流程图;
图5示出了根据本发明实施例提供带有消息验证码的程序代码的过程的流程图;以及
图6示出了根据本发明实施例检验消息验证码的正确性的过程的流程图。
具体实施方式
在图1中示出了一种用于提供数据安全性的装置。在本申请人的国际专利申请公开文本WO2004/015553中进一步公开了这一系统,在此引用该申请作为参考。以ASIC 101的形式实现用于提供数据安全性的电路。该结构的处理部分包括CPU和数字信号处理器(DSP)102。该ASIC 101包含在电子设备100中,例如移动电信终端、便携式计算机、PDA等,并认为是该电子设备100的“大脑”。
安全执行环境104包括ROM 105,从该ROM中引导ASIC 101。这个ROM105包括引导应用软件和操作系统。存在于安全执行环境104中的某些应用程序优先于其他应用程序。在其中可以设置ASIC 101的移动电信终端中,应该存在一个引导软件,该软件包括该终端的主要功能。没有该软件就不可能将终端引导到正常运行模式。其优势在于通过控制这个引导软件,还可以控制每一个终端的初始激活。
安全执行环境104还包括用于存储数据和应用程序的RAM 106,即受保护的数据。RAM 106优先地存储所谓的受保护的应用程序,其是用于在安全执行环境104内执行安全性临界操作的较小型应用程序,而且也存储像加密密钥、中间加密计算结果和密码那样的对象。通常,使用受保护的应用程序的方式是让正常的应用程序向某个受保护的应用程序请求服务。随时可以把新的受保护的应用程序下载到安全执行环境104之内,而如果它们将存在于ROM中的话就不是这种情况。安全执行环境104软件控制受保护的应用程序的下载和执行。该受保护的应用程序可以访问安全执行环境104中的任何资源,而且它们还可以与正常的应用程序进行通信来提供安全性服务。
在安全执行环境104中,包括一个熔丝存储器107,其包含唯一的随机数,在制造过程中产生该随机数并编程到ASIC 101之内。该随机数用作特定ASIC 101的标识,还用来导出加密操作的密钥。此外,在安全执行环境104中设置以安全性控制寄存器形式的存储器电路访问控制装置。该安全性控制积存器的目的是让CPU访问安全执行环境104或阻止CPU访问安全执行环境104,这取决于在寄存器内设置的模式。可以通过应用软件在寄存器内设置CPU的操作模式,结果产生的事实就是该结构不必依靠外部信号。从安全性的角度来看,既然通过控制应用软件这是优选的,还可以控制处理器模式的设置。还可以让ASIC 101连接外部信号(未示出),通过该信号可以设置安全性控制寄存器。通过使用一个外部信号,可以容易并快速地执行一个模式转变,这在测试环境中是有利的。这两种模式设置装置的组合是可行的,即应用软件和外部信号。
该结构还包括标准的桥接电路109,其用于限制总线108上的数据可见性。应该将此结构装入抗篡改的组件内。应该无法探测或执行对这类硬件的测量和测试,这导致安全性相关部分和对它们的处理的暴露。DSP 102和CPU访问其他外部设备110、112,例如直接存储器存取(DMA)单元、RAM、闪存以及可以在ASIC 101外部提供附加处理器。在本发明的特定实施例中,外部设备110、112分别由暂时存储器(例如RAM)和永久性存储器(例如NAND闪存)来代表。
在图2中示出了用于提供数据安全性的装置结构的另一个实施例,其中对应的参考数字表示结合图1所描述的对应元件。与图1中所示的结构相比,在图2中所示的结构中的差别是为电子设备200设置一个可移动智能卡,例如SIM,这也可以认为是一种安全环境。为了安全性目的,移动终端和智能卡211存储由信赖的证书发行机构(CA)发行的数字证书。使用证书来确保与移动终端和/或智能卡211通信的参与者已经由相应的信赖的CA授权,该参与者为一个专门证书的持有者。CA标记该证书,而证书持有者必须持有与CA的私有密钥对应的公共密钥来检验由CA标记的证书是否有效。注意,不同的装置可以持有来自不同CA的证书。在此情况下,不同的CA必须执行与另一个CA的某种通信,例如交换他们自己的公共密钥。证书对本领域技术人员而言是众所周知的,而且一种众所周知的标准证书是包含在CCITT建议X.509中的证书。
图3示出了在引导ASIC 101时跟随的过程的流程图,以下将提供对其的详细描述。在系统引导过程中使用受保护的应用程序来将OS内核载入ASIC(在图3中未示出)。当载入该内核时,受保护的应用程序校验完整性并对形成该内核的程序代码加密。随后,在内核代码执行过程中,在安全执行环境104中对该内核程序代码进行解密并校验与内核代码有关的完整性代码是正确的。通常,关于程序代码的加密操作和相应完整性代码的计算,在引导的时候使用受保护的应用程序。在正常执行过程中,在安全执行环境中的硬件注意解密和完整性检验。注意,在附图中使用以程序代码形式的数据来例举本发明的教导。本领域技术人员意识到可以使用任何适当形式的数据,因此不应将术语“数据”限定为指“程序代码”。
当把OS载入ASIC 101并且该ASIC因此具有正确地操作所需要的基本功能时,从永久性存储器112中读取程序代码(在步骤301,由“S301”表示),随后将其写入暂时存储器110,将会执行来自该暂时存储器的程序代码。必须检验该程序代码的完整性(S302)以确保该程序代码在从NAND到RAM的传送过程中没有改变。在安全执行环境104中由CPU执行这类安全性临界操作。在装置引导的时候,CPU在安全执行环境104中产生一个新密钥(S303),并使用该密钥来加密该检验的程序代码(S304),这是为了确保在把加密的程序代码传送到RAM的过程中(S305),对程序代码进行保密。为了处理像这样要求高级别安全性的操作,设置处理器103的安全操作模式。
应当注意到,为了在ASIC 101中提供一种高级别的安全性,在引导的使用产生多个新密钥。每一个新密钥都可以用来加密相应的程序代码子集。因此,可以使用不同的密钥来加密程序代码的不同部分。从以下的描述中将得知,当要为将存储的程序代码提供完整性代码时,产生多个新密钥是特别有利的。
图4示出了根据本发明的另一个实施例,其中进一步验证从永久性存储器读出的程序代码(S404),以此来确保该程序代码来自于信赖的程序代码提供者。与结合图3所描述的实施例相比,这是一个附加的安全性特征。采取验证的事实暗示了该程序代码具有某种验证手段,例如,用信赖的提供者和ASIC 101已知的对称密钥对其进行了加密,或者具有一个数字证书。
为了进一步提高装置的安全性级别,可以在ASIC 101中使用完整性代码。在本领域中已知采用例如检验和或消息验证码(MAC)来实现该目的。本发明的实施例涉及为程序代码计算完整性代码,并在图5中示出其流程图。该流程图可以看作是图3和4的流程图的延续。当产生了新密钥时(S504),为将要存储在RAM中的程序代码计算MAC。作为将被提供完整性的程序代码和一个产生的新密钥的函数,计算MAC(S505)。通常使用的MAC或加密的检验和是基于数据加密标准(DES)算法的数据验证算法。
实际上,可以为将被写入暂时存储器的每一个程序代码序列计算一个MAC。这意味着如果以32-位字的分组的方式访问外部存储器,则就为每个32-位字的程序代码计算一个MAC。因此,如上所述,在引导的时候产生多个新密钥,并为了每一个MAC的计算使用相应的新密钥。当该程序代码被写入RAM时,在位于装置内部的完整性保护存储器中优先地存储相关的MAC(S506)。
在图6中示出了当要执行程序代码时,CPU(或DSP 102)从其中存储了该程序代码的存储器中读出(S601)该程序代码。CPU检验(S602)MAC的正确性,即校验没有修改该程序代码。如果发现一个不正确的MAC,则CPU应该停止操作(S603)以防止一个可能经过修改的程序代码损害ASIC101。
如上所述,处理器103以两种不同的执行模式来进行操作:正常执行模式和安全执行模式,其中安全模式优先于正常模式。除了这两种执行模式之外,还存在两种程序模式,即“用户模式”和“管理模式”,其中管理模式优先于用户模式。简单来说,用户模式通常涉及执行用户程序,而管理模式涉及执行OS内核程序。一般地,内核程序包括中断处理程序、调度程序和管理程序,该调度程序确定哪些程序共享内核的处理时间和按照什么顺序共享内核的处理时间,该管理程序在调度相应的处理时提供处理器使用的每一个处理。这些内核程序正如它们的名字所示,是装置软件的非常核心。这些内核程序被认为是高安全性临界和以安全执行模式的管理模式来运行的。像引导程序那样受保护的应用程序也被认为是高安全性临界的,但是它们以安全执行模式的用户模式来运行,所以它们不能危害内核功能,如果它们以管理模式运行,通常会是这样。
由于用户模式和管理模式对于理解本发明不是必需的,所以将不再进一步描述用户模式和管理模式。然而应当理解加密操作需要处理功率,因此没有适当的原因就不应执行该操作。此外,存储完整性代码是昂贵的,因为它需要额外的存储器。因此,必须采用在装置安全性和装置成本之间的折中方案。如果必须选择是否对某些类型的程序代码进行加密处理和对其他类型的程序代码进行加密处理,以下是优先级顺序:
以安全执行模式的管理模式程序(最高优先级);
以安全执行模式的用户模式程序;
以正常执行模式的管理模式程序;
以正常执行模式的用户模式程序(最低优先级)。
注意,本领域技术人员了解在本发明中包含的硬件通常执行适当的软件来执行结合图3-6所描述的步骤。
即使参考了本发明的某些示范性实施例来描述本发明,但是许多不同的改变、修改等对本领域技术人员来说也将变得明显。因此并不打算将所述的实施例来限制由所附权利要求所限定的本发明的范围。

Claims (31)

1.一种提高数据安全性的方法,将在电子设备中执行所述数据,所述电子设备包括一种限制访问的安全执行环境,所述方法包括以下步骤:
在所述安全执行环境中重复地产生一个新密钥,其中所述产生一个新密钥的步骤包括在引导电子设备时产生一个新密钥;
在所述安全执行环境中检验将写入存储器内的数据的完整性;
在所述安全执行环境中使用所述新密钥来加密所述数据;以及将加密数据写入存储器。
2.按照权利要求1所述的方法,其中在运行时间内重复地产生一个新密钥。
3.按照权利要求1所述的方法,其中所述数据包括程序代码。
4.按照权利要求1所述的方法,其中所述存储器包括暂时存储器。
5.按照权利要求1所述的方法,还包括以下步骤:
在引导的时候,在地址空间内对所述存储器的地址单元进行重新排序,其中改变所述地址空间内的地址单元的次序。
6.按照权利要求3所述的方法,还包括以下步骤:
在所述安全执行环境中验证将要写入存储器的程序代码,以确保所述程序代码来自于一个信赖的程序代码提供者。
7.按照权利要求1所述的方法,其中加密数据步骤还包括以下步骤:
组合在所述存储器内将写入加密数据的单元的地址和新密钥;以及
使用所述地址与新密钥的组合来加密所述数据,其中所述加密数据变成与所述地址有关。
8.按照权利要求1所述的方法,其中产生一个新密钥的步骤包括产生多个新密钥的步骤,其中每一个新密钥用来加密一个相应的数据子集。
9.按照权利要求1所述的方法,还包括以下步骤:
在所述安全执行环境中为将要存储在所述存储器内的数据计算完整性数据:以及
存储计算的完整性数据。
10.按照权利要求9所述的方法,其中所述完整性数据包括一个消息验证码。
11.按照权利要求10所述的方法,其中通过使用产生的新密钥来计算所述消息验证码。
12.按照权利要求11所述的方法,其中利用不同的新密钥来为数据的不同部分计算不同的消息验证码。
13.按照权利要求12所述的方法,还包括以下步骤:
在所述安全执行环境中检验与读出数据有关的消息验证码的正确性;以及
如果所述消息验证码不正确,则就停止电子设备操作。
14.按照权利要求1所述的方法,还包括以下步骤:
以至少两种不同操作模式中的一种设置在电子设备中所布置的处理器;以及
在存储器电路的至少一个存储区域中存储与电子设备安全性相关的受保护数据;其中
当将处理器设置成一种安全处理器操作模式时,允许其访问所述存储区域,其中所述受保护数据位于所述存储区域内,以及
当将处理器设置成一种正常处理器操作模式时,拒绝其访问所述存储区域。
15.按照权利要求14所述的方法,其中通过受保护的应用程序来执行对处理器模式的设置。
16.一种用于提高数据安全性的系统,将在电子设备中执行所述数据,所述电子设备包括一种限制访问的安全执行环境,所述系统包括:
设置成在所述安全执行环境中重复地产生一个新密钥的装置,其中产生一个新密钥的装置包括在引导电子设备时产生一个新密钥;
设置成在所述安全执行环境中检验将写入存储器内的数据的完整性的装置;
设置成在所述安全执行环境中使用所述新密钥来加密所述数据的装置;以及
设置成将加密数据写入存储器的装置。
17.按照权利要求16所述的系统,其中将所述系统设置成在运行时间内重复地产生一个新密钥。
18.按照权利要求16所述的系统,其中所述数据包括程序代码。
19.按照权利要求16所述的系统,其中所述存储器包括暂时存储器。
20.按照权利要求16所述的系统,还包括:
设置成在引导的时候在地址空间内对所述存储器的地址单元进行重新排序的装置,其中改变地址空间内的地址单元的次序。
21.按照权利要求18所述的系统,还包括:
设置成在所述安全执行环境中验证将要写入存储器的程序代码的装置,以确保所述程序代码来自于一个信赖的程序代码提供者。
22.按照权利要求16所述的系统,其中将加密数据的装置进一步设置成组合在存储器内将写入加密数据的单元的地址和新密钥,并使用所述地址与新密钥的组合来加密所述数据,其中所述加密数据变成与所述地址有关。
23.按照权利要求16所述的系统,还包括:
设置成在所述安全执行环境中为将要存储在所述存储器内的数据计算完整性数据的装置;以及
设置成存储计算的完整性数据的装置。
24.按照权利要求23所述的系统,其中所述完整性数据包括一个消息验证码。
25.按照权利要求24所述的系统,其中将计算完整性数据的装置设置成使得使用产生的新密钥来计算消息验证码。
26.按照权利要求25所述的系统,还包括:
装置,其设置成在所述安全执行环境中检验与读出数据有关的消息验证码的正确性,如果消息验证码不正确,就停止电子设备操作。
27.按照权利要求16所述的系统,还包括:
处理器,其设置成它以至少两种不同操作模式中的一种被设置;以及
存储器电路,其设置成具有至少一个存储区域,与电子设备安全性相关的受保护的数据位于所述存储区域内;其中进一步将所述系统设置成:
当将处理器设置成一种安全处理器操作模式时,允许其访问所述存储区域,其中所述受保护的数据位于所述存储区域内,以及
当将处理器设置成一种正常处理器操作模式时,拒绝其访问所述存储区域。
28.按照权利要求27所述的系统,其中通过受保护的应用程序来执行对处理器模式的设置。
29.一种移动电信终端,其包括根据权利要求16-28中任何一项所述的系统。
30.一种可编程逻辑装置,其包括根据权利要求16-28中任何一项所述的系统。
31.按照权利要求30所述的可编程逻辑装置,其中以特定用途集成电路的方式来执行所述可编程逻辑装置。
CNB2005800087771A 2004-03-19 2005-03-03 提高数据安全性的方法和系统 Expired - Fee Related CN100533332C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/804,855 US7500098B2 (en) 2004-03-19 2004-03-19 Secure mode controlled memory
US10/804,855 2004-03-19

Publications (2)

Publication Number Publication Date
CN101006407A CN101006407A (zh) 2007-07-25
CN100533332C true CN100533332C (zh) 2009-08-26

Family

ID=34961253

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800087771A Expired - Fee Related CN100533332C (zh) 2004-03-19 2005-03-03 提高数据安全性的方法和系统

Country Status (5)

Country Link
US (1) US7500098B2 (zh)
EP (1) EP1725923A1 (zh)
KR (1) KR100851631B1 (zh)
CN (1) CN100533332C (zh)
WO (1) WO2005091108A1 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853799B1 (en) * 2004-06-24 2010-12-14 Xilinx, Inc. Microcontroller-configurable programmable device with downloadable decryption
US7243856B2 (en) * 2005-03-24 2007-07-17 Sandisk Il Ltd.. Loading internal applications on a smartcard
DE602005021120D1 (de) * 2005-10-28 2010-06-17 Emma Mixed Signal Cv Zugriffskontrolle auf eine Entschlüsselungstabelle von ASIC bzw. ASSP
WO2007094857A1 (en) * 2006-02-09 2007-08-23 Thomson Licensing Method and apparatus for securing digital content
TWM309149U (en) * 2006-06-23 2007-04-01 Genesys Logic Inc Data cache device of flash memory
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
GB2440170B8 (en) 2006-07-14 2014-07-16 Vodafone Plc Digital rights management
GB0620927D0 (en) 2006-10-20 2006-11-29 Vodafone Plc Device management
US20080109656A1 (en) * 2006-11-08 2008-05-08 General Instrument Corporation Method and Apparatus for Enabling Content to be Shared Among Multiple Devices in a Secure Environment
US8261091B2 (en) * 2006-12-21 2012-09-04 Spansion Llc Solid-state memory-based generation and handling of security authentication tokens
US8108856B2 (en) * 2007-03-30 2012-01-31 Intel Corporation Method and apparatus for adaptive integrity measurement of computer software
KR101396831B1 (ko) * 2007-03-30 2014-05-21 삼성전자주식회사 메모리 접근 제어 방법
DE102007016170A1 (de) * 2007-04-02 2008-10-09 Francotyp-Postalia Gmbh Sicherheitsmodul für eine Frankiermaschine
KR100914771B1 (ko) * 2007-05-09 2009-09-01 주식회사 웰비아닷컴 일회용 실행 코드를 이용한 보안 시스템 및 보안 방법
CN101340281B (zh) * 2007-07-02 2010-12-22 联想(北京)有限公司 针对在网络上进行安全登录输入的方法和系统
GB2454640A (en) 2007-07-05 2009-05-20 Vodafone Plc Received message verification
DE102007043083A1 (de) * 2007-09-10 2009-03-12 Continental Automotive Gmbh Verfahren und Vorrichtung zum Codieren von Datenworten
CN102150391A (zh) * 2008-05-09 2011-08-10 惠普开发有限公司 用于提供对系统存储器的安全访问的系统和方法
US8819839B2 (en) * 2008-05-24 2014-08-26 Via Technologies, Inc. Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels
US20090292931A1 (en) * 2008-05-24 2009-11-26 Via Technology, Inc Apparatus and method for isolating a secure execution mode in a microprocessor
US8484486B2 (en) * 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
US8595491B2 (en) * 2008-11-14 2013-11-26 Microsoft Corporation Combining a mobile device and computer to create a secure personalized environment
KR101685633B1 (ko) * 2009-01-05 2016-12-12 삼성전자주식회사 메모리 시스템
CN102362280A (zh) 2009-03-23 2012-02-22 惠普开发有限公司 在电子设备中安全地存储数据的系统和方法
US8555082B1 (en) * 2009-04-01 2013-10-08 Marvell International Ltd. Securing external memory data
US8839458B2 (en) * 2009-05-12 2014-09-16 Nokia Corporation Method, apparatus, and computer program for providing application security
US8379846B2 (en) * 2009-05-21 2013-02-19 Freescale Semiconductor, Inc. Encryption apparatus and method therefor
US8413153B2 (en) * 2009-06-12 2013-04-02 Freescale Semiconductor Inc. Methods and systems for sharing common job information
US8510569B2 (en) * 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
CN101790161A (zh) * 2009-12-30 2010-07-28 宇龙计算机通信科技(深圳)有限公司 一种移动终端、获取移动终端私密数据的方法及系统
EP2362314A1 (en) * 2010-02-18 2011-08-31 Thomson Licensing Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code
CN101950262B (zh) * 2010-10-20 2011-09-28 深圳市开立科技有限公司 在嵌入式系统中实现安全模式的方法及装置
US20120159193A1 (en) * 2010-12-18 2012-06-21 Microsoft Corporation Security through opcode randomization
US9305142B1 (en) * 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
KR101897605B1 (ko) * 2012-02-24 2018-09-12 삼성전자 주식회사 휴대 단말기의 무결성 보호 방법 및 장치
KR101410352B1 (ko) * 2012-03-20 2014-07-01 한양대학교 산학협력단 보안성이 강화된 플래시 메모리 제어장치 및 방법
EP2831787B1 (en) * 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
US9465946B2 (en) 2012-06-01 2016-10-11 Intel Corporation Identification and execution of subsets of a plurality of instructions in a more secure execution environment
US9286118B2 (en) 2012-06-15 2016-03-15 Freescale Semiconductor, Inc. System and method for improved job processing to reduce contention for shared resources
US9104478B2 (en) 2012-06-15 2015-08-11 Freescale Semiconductor, Inc. System and method for improved job processing of a number of jobs belonging to communication streams within a data processor
US8812873B2 (en) 2012-09-26 2014-08-19 Intel Corporation Secure execution of a computer program using binary translators
KR102060996B1 (ko) * 2013-01-07 2020-02-11 삼성전자주식회사 단말기의 메모리 주소 및 데이터변환 장치 및 방법
US9298947B2 (en) 2013-02-07 2016-03-29 Qualcomm Incorporated Method for protecting the integrity of a fixed-length data structure
US9632977B2 (en) 2013-03-13 2017-04-25 Nxp Usa, Inc. System and method for ordering packet transfers in a data processor
US9600291B1 (en) * 2013-03-14 2017-03-21 Altera Corporation Secure boot using a field programmable gate array (FPGA)
US9213653B2 (en) * 2013-12-05 2015-12-15 Intel Corporation Memory integrity
US20150286823A1 (en) * 2014-04-07 2015-10-08 Qualcomm Incorporated System and method for boot sequence modification using chip-restricted instructions residing on an external memory device
DE102014215898A1 (de) * 2014-08-11 2016-02-11 Siemens Aktiengesellschaft Programmierbares Logikbauelement, Schlüsselbildungsschaltung und Verfahren zur Bereitstellung einer Sicherheitsinformation
KR20160039922A (ko) * 2014-10-02 2016-04-12 삼성전자주식회사 영상처리장치 및 그 제어방법
DE102015206643A1 (de) * 2015-04-14 2016-10-20 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen eines Schlüssels in einem programmierbaren Hardwaremodul
CN106454528A (zh) 2015-08-07 2017-02-22 阿里巴巴集团控股有限公司 基于可信执行环境的业务处理方法和客户端
CN110059489B (zh) * 2018-01-19 2021-08-17 旭景科技股份有限公司 安全电子设备
EP3696698A1 (en) * 2019-02-18 2020-08-19 Verimatrix Method of protecting a software program against tampering
WO2020211070A1 (en) * 2019-04-19 2020-10-22 Intel Corporation Multi-mode protected memory
WO2022000223A1 (zh) * 2020-06-30 2022-01-06 浙江大学 一种基于定制硬件安全属性的内核敏感数据保护方法
CN111783120A (zh) * 2020-06-30 2020-10-16 曙光信息产业(北京)有限公司 一种数据的交互方法、计算设备、bmc芯片及电子设备
US11783055B2 (en) * 2020-10-26 2023-10-10 Nxp B.V. Secure application execution in a data processing system
US11475140B1 (en) 2020-11-24 2022-10-18 Amazon Technologies, Inc. Enclave-based cryptography services in edge computing environments

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US5455862A (en) * 1993-12-02 1995-10-03 Crest Industries, Inc. Apparatus and method for encrypting communications without exchanging an encryption key
US6708274B2 (en) * 1998-04-30 2004-03-16 Intel Corporation Cryptographically protected paging subsystem
US6438666B2 (en) * 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6333983B1 (en) * 1997-12-16 2001-12-25 International Business Machines Corporation Method and apparatus for performing strong encryption or decryption data using special encryption functions
US6385727B1 (en) 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
US7213005B2 (en) * 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
CA2305078A1 (en) 2000-04-12 2001-10-12 Cloakware Corporation Tamper resistant software - mass data encoding
EP1320796A2 (en) 2000-09-15 2003-06-25 Koninklijke Philips Electronics N.V. Protect by data chunk address as encryption key
US6970565B1 (en) * 2000-12-22 2005-11-29 Xm Satellite Radio Inc. Apparatus for and method of securely downloading and installing a program patch in a processing device
EP1273996B1 (en) 2001-07-06 2008-08-06 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7130951B1 (en) * 2002-04-18 2006-10-31 Advanced Micro Devices, Inc. Method for selectively disabling interrupts on a secure execution mode-capable processor
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
US20050210287A1 (en) 2005-09-22
CN101006407A (zh) 2007-07-25
EP1725923A1 (en) 2006-11-29
US7500098B2 (en) 2009-03-03
WO2005091108A1 (en) 2005-09-29
KR20060127206A (ko) 2006-12-11
KR100851631B1 (ko) 2008-08-13

Similar Documents

Publication Publication Date Title
CN100533332C (zh) 提高数据安全性的方法和系统
EP1725924B1 (en) Device with a cryptographic coprocessor
CN100363855C (zh) 密钥存储管理方法、装置及其系统
Lazar et al. Why does cryptographic software fail? A case study and open problems
EP1325401B1 (en) System for protecting static and dynamic data against unauthorised manipulation
US8751818B2 (en) Method and apparatus for a trust processor
US8225110B2 (en) Cryptographic protection of usage restrictions in electronic devices
US5956408A (en) Apparatus and method for secure distribution of data
CN1914849B (zh) 受信移动平台体系结构
CN102063592B (zh) 一种可信平台及其对硬件设备的控制方法
US20080082828A1 (en) Circuit arrangement and method for starting up a circuit arrangement
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
JP2004213216A (ja) 情報セキュリティマイクロコンピュータ、そのプログラム開発装置およびそれらを含んだプログラム開発システム
CN100367144C (zh) 用于加密的应用程序安装的结构
US20080104396A1 (en) Authentication Method
KR20080027530A (ko) 전자기기에서 금지키를 이용한 불법 접근 방지 방법 및장치
KR100880512B1 (ko) Sam 내장 출입단말기
CN102056339A (zh) 移动终端及其系统数据防克隆方法
Noller Security Target
UEKAE Certification Report

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: 20160108

Address after: Espoo, Finland

Patentee after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Patentee before: NOKIA Corp.

TR01 Transfer of patent right

Effective date of registration: 20190513

Address after: American New York

Patentee after: Origin Asset Group Co.,Ltd.

Address before: Espoo, Finland

Patentee before: NOKIA TECHNOLOGIES OY

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

Granted publication date: 20090826

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