CN102056339B - 移动终端及其***数据防克隆方法 - Google Patents

移动终端及其***数据防克隆方法 Download PDF

Info

Publication number
CN102056339B
CN102056339B CN200910209640.2A CN200910209640A CN102056339B CN 102056339 B CN102056339 B CN 102056339B CN 200910209640 A CN200910209640 A CN 200910209640A CN 102056339 B CN102056339 B CN 102056339B
Authority
CN
China
Prior art keywords
data
layer software
flashid
cpuid
encrypt data
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.)
Active
Application number
CN200910209640.2A
Other languages
English (en)
Other versions
CN102056339A (zh
Inventor
石林峰
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.)
SHANDONG YUHETANG PHARMACEUTICAL Co.,Ltd.
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN200910209640.2A priority Critical patent/CN102056339B/zh
Priority to PCT/CN2010/076630 priority patent/WO2011050655A1/zh
Publication of CN102056339A publication Critical patent/CN102056339A/zh
Application granted granted Critical
Publication of CN102056339B publication Critical patent/CN102056339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种移动终端的***数据防克隆方法,包括:移动终端从片内存储器启动,片内存储器位于移动终端的微处理器内;利用片内存储器内存储的公钥解密并加载执行移动终端的闪存中存储的***数据。本发明还提供了一种移动终端。本发明能够有效地对抗现有的破解手段,大大增强了移动终端的安全性。

Description

移动终端及其***数据防克隆方法
技术领域
本发明涉及通信及相关电子领域,具体而言,涉及一种移动终端及其***数据防克隆方法。
背景技术
随着嵌入式***的发展和广泛应用,许多使用CPU(微处理器)的高新技术产品诸如移动终端、智能化仪器等都面临着一个令人头痛的问题,那就是新产品刚一推出就被仿制和剽窃。这种现象会使产品开发商蒙受很大损失,同时也极大地挫伤了开发商的积极性。创新开发是一个公司竞争力的关键,如何保护好自己的劳动成果,除用法律手段外,在产品面市前作好加密是一个必不可少的环节。
移动终端***一般都采用CPU+FLASH模式。FLASH(闪存)作为当今嵌入式设备中的主流存储器件,有着极其广泛的应用前景,但它所存储的数据可以被轻易读取出来,很少有加密保护功能,成为制约其应用的致命缺点。当前针对FLASH中数据进行加密的方法主要有两种,一种是对FLASH中所存储的数据进行混乱加密,另一种是对FLASH提供的器件唯一识别号进行加密。
发明人发现现有技术至少存在以下问题:现有的两种加密方式都有着致命的缺陷,使用硬件总线侦听法和静态反汇编跟踪方法可以成功破解。
发明内容
本发明旨在提供一种移动终端及其***数据防克隆方法,以解决现有技术存在的可被破解的问题。
根据本发明的一个方面,提供了一种移动终端的***数据防克隆方法,包括:移动终端从片内存储器启动,片内存储器位于移动终端的微处理器内;利用片内存储器内存储的公钥解密并加载执行移动终端的闪存中存储的***数据。
优选地,闪存中存储的***数据包括引导程序数据、中间层软件数据、应用层软件数据,中间层软件数据包括操作***数据和驱动程序数据,引导程序数据存储于引导程序区域、中间层软件数据存储于中间层软件区域、应用层软件数据存储于应用层软件区域;其中,引导程序区域还存储使用第一私钥加密的第一密文数据,被加密的数据包括CPUID、FLASHID和引导程序区域的入口代码,CPUID是微处理器的识别标识、FLASHID是闪存的识别标识;中间层软件区域还存储使用第二私钥加密的第二密文数据,被加密的数据包括CPUID、FLASHID和中间层软件区域的入口代码;应用层软件区域还存储使用第三私钥加密的第三密文数据,被加密的数据包括CPUID、FLASHID和应用层软件区域的入口代码。
优选地,片内存储器内存储的公钥是用于解密第一密文数据的第一公钥,利用片内存储器内存储的公钥解密并加载执行移动终端的闪存中存储的***数据包括:使用第一公钥解密第一密文数据,并获取第一密文数据中的CPUID和FLASHID;对从第一密文数据中获取到的CPUID和FLASHID进行鉴权;鉴权成功,则根据解密第一密文数据获取到的引导程序区域的入口代码加载执行引导程序数据;使用引导程序区域内存储的用于解密第二密文数据的第二公钥解密第二密文数据,并获取第二密文数据中的CPUID和FLASHID;对从第二密文数据中获取到的CPUID和FLASHID进行鉴权;鉴权成功,则根据解密第二密文数据获取到的中间层软件区域的入口代码加载执行中间层软件数据;使用中间层软件区域内存储的用于解密第三密文数据的第三公钥解密第三密文数据,并获取第三密文数据中的CPUID和FLASHID;对从第三密文数据中获取到的CPUID和FLASHID进行鉴权;鉴权成功,则根据解密第三密文数据获取到的应用层软件区域的入口代码加载执行应用层软件数据。
优选地,在上述的方法中,还包括:若鉴权失败,则停止加载执行闪存中的***数据,并关闭移动终端。
优选地,对获取到的CPUID和FLASHID进行鉴权的方式包括:判断获取到的CPUID与从移动终端的电路板上读取的CPUID以及获取到的FLASHID与从电路板上读取的FLASHID是否相同;若是,则判定鉴权成功;否则,判定鉴权失败。
优选地,在利用片内存储器内存储的公钥解密并加载执行移动终端的闪存中存储的***数据之前还包括:将***数据下载并存储到所述闪存中;其中,在下载时,获取微处理器的识别标识和闪存的识别标识并发送给认证服务器;认证服务器根据接收到的微处理器的识别标识和闪存的识别标识进行认证,并返回认证结果;若认证结果为认证失败,则停止下载。
优选地,认证服务器中预先设置有与移动终端对应的用于对将***数据下载到闪存中的下载次数进行计数的计数器,认证服务器根据接收到的微处理器的识别标识和闪存的识别标识进行认证包括:判断移动终端对应的计数器的值是否小于预设的下载次数的阈值;若否,则判定认证失败;若是,则判定认证成功,计数器加1。
根据本发明的另一个方面,还提供了一种移动终端,包括:微处理器和闪存,微处理器内包括片内存储器,且当移动终端启动时从片内存储器开始启动,其中,片内存储器内存储用于解密并加载执行闪存中存储的***数据的公钥。
优选地,闪存中存储的***数据包括引导程序数据、中间层软件数据、应用层软件数据,中间层软件数据包括操作***数据和驱动程序数据,引导程序数据存储于引导程序区域、中间层软件数据存储于中间层软件区域、应用层软件数据存储于应用层软件区域;其中,引导程序区域还存储使用第一私钥加密的第一密文数据,被加密的数据包括CPUID、FLASHID和引导程序区域的入口代码,CPUID是微处理器的识别标识、FLASHID是闪存的识别标识;中间层软件区域还存储使用第二私钥加密的第二密文数据,被加密的数据包括CPUID、FLASHID和中间层软件区域的入口代码;应用层软件区域还存储使用第三私钥加密的第三密文数据,被加密的数据包括CPUID、FLASHID和应用层软件区域的入口代码。
优选地,片内存储器内存储的公钥是用于解密第一密文数据的第一公钥,闪存还包括:获取模块,用于使用第一公钥解密第一密文数据,并获取第一密文数据中的CPUID和FLASHID;还用于使用引导程序区域内存储的用于解密第二密文数据的第二公钥解密第二密文数据,并获取第二密文数据中的CPUID和FLASHID;还用于使用中间层软件区域内存储的用于解密第三密文数据的第三公钥解密第三密文数据,并获取第三密文数据中的CPUID和FLASHID;鉴权模块,用于对从第一密文数据中获取到的CPUID和FLASHID进行鉴权;还用于对从第二密文数据中获取到的CPUID和FLASHID进行鉴权;还用于对从第三密文数据中获取到的CPUID和FLASHID进行鉴权;加载执行模块,用于当鉴权模块的鉴权结果为鉴权成功时,根据解密第一密文数据获取到的引导程序区域的入口代码加载执行引导程序数据;还用于当鉴权模块的鉴权结果为鉴权成功时,根据解密第二密文数据获取到的中间层软件区域的入口代码加载执行中间层软件数据;还用于当鉴权模块的鉴权结果为鉴权成功,根据解密第三密文数据获取到的应用层软件区域的入口代码加载执行应用层软件数据。
优选地,加载执行模块还用于当鉴权模块的鉴权结果为鉴权失败时,停止加载执行闪存中的***数据,并关闭移动终端。
优选地,鉴权模块还用于判断获取到的CPUID与从移动终端的电路板上读取的CPUID以及获取到的FLASHID与从电路板上读取的FLASHID是否相同;若是,则判定鉴权成功;否则,判定鉴权失败。
因为通过将用于解密FLASH中存储的密文数据的公钥存储到CPU的片内存储器中,当移动终端启动时首先从片内存储器开始启动,并使用该公钥对FLASH中存储的数据进行解密并加载执行,解决了现有技术存在的可被破解的问题,从而能够有效地对抗现有的破解手段,大大增强了移动终端的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的移动终端的***数据防克隆方法的流程图;
图2示出了根据本发明优选实施例的移动终端的示意图;
图3示出了根据本发明优选实施例的移动终端的***数据防克隆方法的详细工作流程图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的移动终端的***数据防克隆方法的流程图,包括以下步骤:
步骤S10,移动终端从片内存储器启动,片内存储器位于移动终端的微处理器内;
步骤S20,利用片内存储器内存储的公钥解密并加载执行移动终端的闪存中存储的***数据。
该实施例因为通过将用于解密FLASH中存储的密文数据的公钥存储到CPU的片内存储器(BOOTROM)中,当移动终端启动时首先从片内存储器开始启动,并使用该公钥对FLASH中存储的数据进行解密并加载执行,解决了现有技术存在的可被破解的问题,从而能够有效地对抗现有的破解手段,大大增强了移动终端的安全性。
其中,片内存储器只能被烧写一次,且片内存储器被烧写后微处理器只能从片内存储器启动。这样,能够确保当移动终端启动时从片内存储器开始启动。
优选地,闪存中存储的***数据包括引导程序(BOOTLOADER)数据、中间层软件(MIDWARE)数据、应用层软件(APP)数据,中间层软件数据包括操作***(OS)数据和驱动程序(DRIVER)数据,引导程序数据存储于引导程序区域、中间层软件数据存储于中间层软件区域、应用层软件数据存储于应用层软件区域;其中,引导程序区域还存储使用第一私钥加密的第一密文数据,被加密的数据包括CPUID、FLASHID和引导程序区域的入口代码,CPUID是微处理器的识别标识、FLASHID是闪存的识别标识;中间层软件区域还存储使用第二私钥加密的第二密文数据,被加密的数据包括CPUID、FLASHID和中间层软件区域的入口代码;应用层软件区域还存储使用第三私钥加密的第三密文数据,被加密的数据包括CPUID、FLASHID和应用层软件区域的入口代码。
片内存储器内存储的公钥是用于解密第一密文数据的第一公钥,步骤S20包括:使用第一公钥解密第一密文数据,并获取第一密文数据中的CPUID和FLASHID;对从第一密文数据中获取到的CPUID和FLASHID进行鉴权;鉴权成功,则根据解密第一密文数据获取到的引导程序区域的入口代码加载执行引导程序数据;使用引导程序区域内存储的用于解密第二密文数据的第二公钥解密第二密文数据,并获取第二密文数据中的CPUID和FLASHID;对从第二密文数据中获取到的CPUID和FLASHID进行鉴权;鉴权成功,则根据解密第二密文数据获取到的中间层软件区域的入口代码加载执行中间层软件数据;使用中间层软件区域内存储的用于解密第三密文数据的第三公钥解密第三密文数据,并获取第三密文数据中的CPUID和FLASHID;对从第三密文数据中获取到的CPUID和FLASHID进行鉴权;鉴权成功,则根据解密第三密文数据获取到的应用层软件区域的入口代码加载执行应用层软件数据。
其中,若鉴权失败,则停止加载执行闪存中的***数据,并关闭移动终端。这样可以省电。
其中,对获取到的CPUID和FLASHID进行鉴权的方式包括:判断获取到的CPUID与从移动终端的电路板上读取的CPUID以及获取到的FLASHID与从电路板上读取的FLASHID是否相同;若是,则判定鉴权成功;否则,判定鉴权失败。
上述优选实施例提供了利用片内存储器内存储的公钥解密并加载执行移动终端的闪存中存储的数据的具体实施方案。其中入口代码是指对应区域内的数据(可为程序代码、软件代码)的最起始位置的一段数据,其长度可以为64位或者128位。
在上述的优选实施例中,存储在CPU的BOOTROM中的公钥(即第一公钥)、存储在引导程序区域内的第二公钥、以及存储在中间层软件区域内的第三公钥是预先设定在数据中的,在烧写软件后,与软件数据一起烧写下载到BOOTROM和闪存中。
优选地,在步骤S20之前还包括:将***数据下载并存储到所述闪存中;其中,在下载时,获取微处理器的识别标识和闪存的识别标识并发送给认证服务器;认证服务器根据接收到的微处理器的识别标识和闪存的识别标识进行认证,并返回认证结果;若认证结果为认证失败,则停止下载。可以从PC(个人电脑)上利用下载软件将***数据下载并存储到闪存中,然后,按照上述优选实施例的方法加载并执行存储在闪存中的***数据。
认证服务器中预先设置有与移动终端对应的用于对将***数据下载到闪存中的下载次数进行计数的计数器,认证服务器根据接收到的微处理器的识别标识和闪存的识别标识进行认证包括:判断移动终端对应的计数器的值是否小于预设的下载次数的阈值(该阈值可以预先设置在认证服务器中);若否,则判定认证失败;若是,则判定认证成功,计数器加1。
该优选实施例可以通过认证服务器进行认证,当下载次数超过一定数量时则不再允许下载。
上述优选实施例根据FLASH技术的特点,提供了一套完善的加密机制,提出一个***化的解决方案,能够有效地对抗现有的破解手段,从而大大增强嵌入式***的安全性。本发明提出的方法独立于需要进行加密的移动终端,它不改变嵌入式软件的功能和结构,不改变原程序和数据的组织方式,密文与明文数据量相同,无需增减原存储空间,无需功能性更改硬件电路。
图2示出了根据本发明优选实施例的移动终端的示意图,包括:微处理器10和闪存20,微处理器10内包括片内存储器101,且当移动终端启动时从片内存储器101开始启动,其中,片内存储器101内存储用于解密并加载执行闪存中存储的***数据的公钥。
优选地,闪存20中存储的***数据包括引导程序数据、中间层软件数据、应用层软件数据,中间层软件数据包括操作***数据和驱动程序数据,引导程序数据存储于引导程序区域、中间层软件数据存储于中间层软件区域、应用层软件数据存储于应用层软件区域;其中,引导程序区域还存储使用第一私钥加密的第一密文数据,被加密的数据包括CPUID、FLASHID和引导程序区域的入口代码,CPUID是微处理器的识别标识、FLASHID是闪存的识别标识;中间层软件区域还存储使用第二私钥加密的第二密文数据,被加密的数据包括CPUID、FLASHID和中间层软件区域的入口代码;应用层软件区域还存储使用第三私钥加密的第三密文数据,被加密的数据包括CPUID、FLASHID和应用层软件区域的入口代码。
片内存储器101内存储的公钥是用于解密第一密文数据的第一公钥,闪存20还包括:获取模块201,用于使用第一公钥解密第一密文数据,并获取第一密文数据中的CPUID和FLASHID;还用于使用引导程序区域内存储的用于解密第二密文数据的第二公钥解密第二密文数据,并获取第二密文数据中的CPUID和FLASHID;还用于使用中间层软件区域内存储的用于解密第三密文数据的第三公钥解密第三密文数据,并获取第三密文数据中的CPUID和FLASHID;
鉴权模块202,用于对从第一密文数据中获取到的CPUID和FLASHID进行鉴权;还用于对从第二密文数据中获取到的CPUID和FLASHID进行鉴权;还用于对从第三密文数据中获取到的CPUID和FLASHID进行鉴权;
加载执行模块203,用于当鉴权模块202的鉴权结果为鉴权成功时,根据解密第一密文数据获取到的引导程序区域的入口代码加载执行引导程序数据;还用于当鉴权模块202的鉴权结果为鉴权成功时,根据解密第二密文数据获取到的中间层软件区域的入口代码加载执行中间层软件数据;还用于当鉴权模块202的鉴权结果为鉴权成功,根据解密第三密文数据获取到的应用层软件区域的入口代码加载执行应用层软件数据。
加载执行模块203还用于当鉴权模块202的鉴权结果为鉴权失败时,停止加载执行闪存中的***数据,并关闭移动终端。
其中,鉴权模块202还用于判断获取到的CPUID与从移动终端的电路板上读取的CPUID以及获取到的FLASHID与从电路板上读取的FLASHID是否相同;若是,则判定鉴权成功;否则,判定鉴权失败。
本方案的安全性将基于以下几个假设:
①CPU内部有存放安全代码的BOOTROM(片内存储器),该BOOTROM在CPU出厂后只能被烧写一次;
②不同的CPU和FLASH都有唯一对应、绝不相同的ID:CPUID(CPU识别标识)和FLASHID(FLASH识别标识);
③CPU内部的BOOTROM被烧写后将使CPU只能从BOOTROM启动。
将软件分成BOOTROM,BOOTLOADER(引导程序),MIDWARE(中间层软件,包括OS(操作***)和DRIVER(驱动程序),APP(应用层软件)4个部分。BOOTROM存在于CPU内部,只能被烧写一次;BOOTLOADER,MIDWARE,APP存放于FLASH上。
对BOOTLOADER,MIDWARE,APP分别用3个不同的私钥(分别为第一私钥、第二私钥和第三私钥)进行加密,被加密的数据为:CPUID+FLASHID+该区域的入口代码(64位或者128位)。BOOTROM中存放解密BOOTLOADER用的公钥(即第一公钥),BOOTLOADER中存放解密MIDWARE用的公钥(即第二公钥),而MIDWARE中则存放解密APP用的公钥(即第三公钥)。
下面根据图3对本发明作进一步详细说明:
步骤S302,手机从BOOTROM启动后会用BOOTROM中的BOOTLOADER的公钥(即第一公钥)对BOOTLOADER部分的密文进行解密,从解密文中提取CPUID和FLASHID;
步骤S304,从移动终端的电路板上读取CPUID和FLASHID;
步骤S306,将提取的CPUID和FLASHID与电路板上读取的CPUID和FLASHID进行比较,判断是否相同,若是,则转入步骤S308,若否,则转入步骤S330;
步骤S308,执行解密后得到的BOOTLOADER的入口代码执行BOOTLOADER;
步骤S310,BOOTLOADER执行完毕,读取存储在BOOTLOADER区域的MIDWARE区域的公钥(即第二公钥);
步骤S312,用这个公钥对MIDWARE部分的密文进行解密,从解密文中提取CPUID和FLASHID;
步骤S314,从电路板上读取CPUID和FLASHID;
步骤S316,将提取的CPUID和FLASHID与电路板上读取的CPUID和FLASHID进行比较,判断是否相同,若是,则转入步骤S318,若否,则转入步骤S330;
步骤S318,执行解密后得到的MIDWARE的入口代码执行MIDWARE;
步骤S320,MIDWARE加载完毕,读取存储在MIDWARE区域的APP区域的公钥(即第三公钥);
步骤S322,用这个公钥对APP部分的密文进行解密,从解密文中提取CPUID和FLASHID;
步骤S324,从电路板上读取CPUID和FLASHID;
步骤S326,将提取的CPUID和FLASHID与电路板上读取的CPUID和FLASHID进行比较,判断是否相同,若是,则转入步骤S328,若否,则转入步骤S330;
步骤S328,执行解密后得到的APP的入口代码加载执行APP。
步骤S330,停止执行代码,关闭该移动终端。
此外,为了进一步地对嵌入式软件进行保密,还可以对软件下载次数进行计数,对达到一定下载次数的移动终端进行必要的限制。具体做法如下:
用一台放在INTERNET(互联网)上的计算机做认证SERVER(服务器)。工厂用的烧写软件(用于将移动终端软件下载到移动终端的FLASH中)在每次烧写一部移动终端的时候都会通过INTERNET和认证SERVER通信,他们之间将有一个认证过程,如果认证不通过烧写软件将停止烧写移动终端软件,每认证成功一次,认证SERVER上的计数器加一次,这样就知道移动终端软件被烧写的次数,从而有效地增强嵌入式软件的安全性。
从以上的描述中,可以看出,本发明实现了如下技术效果:
(1)能够有效地对抗现有的破解手段,大大增强了移动终端的安全性;
(2)通过限制下载次数,进一步确保了移动终端软件的保密和安全性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种移动终端的***数据防克隆方法,其特征在于,包括:
移动终端从片内存储器启动,所述片内存储器位于所述移动终端的微处理器内;
利用所述片内存储器内存储的公钥解密并加载执行所述移动终端的闪存中存储的***数据,其中,在利用所述片内存储器内存储的公钥解密并加载执行所述移动终端的闪存中存储的***数据之前还包括:将所述***数据下载并存储到所述闪存中;其中,在下载时,获取所述微处理器的识别标识和所述闪存的识别标识并发送给认证服务器;所述认证服务器根据接收到的微处理器的识别标识和闪存的识别标识进行认证,并返回认证结果;若认证结果为认证失败,则停止下载;
其中,所述闪存中存储的***数据包括引导程序数据、中间层软件数据、应用层软件数据,所述中间层软件数据包括操作***数据和驱动程序数据,所述引导程序数据存储于引导程序区域、所述中间层软件数据存储于中间层软件区域、所述应用层软件数据存储于应用层软件区域;
其中,所述引导程序区域还存储使用第一私钥加密的第一密文数据,被加密的第一密文数据包括CPUID、FLASHID和所述引导程序区域的入口代码,所述CPUID是微处理器的识别标识、所述FLASHID是闪存的识别标识;
所述中间层软件区域还存储使用第二私钥加密的第二密文数据,被加密的第二密文数据包括CPUID、FLASHID和所述中间层软件区域的入口代码;
所述应用层软件区域还存储使用第三私钥加密的第三密文数据,被加密的第三密文数据包括CPUID、FLASHID和所述应用层软件区域的入口代码。
2.根据权利要求1所述的方法,其特征在于,所述片内存储器内存储的公钥是用于解密所述第一密文数据的第一公钥,利用所述片内存储器内存储的公钥解密并加载执行所述移动终端的闪存中存储的***数据包括:
使用所述第一公钥解密所述第一密文数据,并获取所述第一密文数据中的CPUID和FLASHID;
对从所述第一密文数据中获取到的CPUID和FLASHID进行鉴权;
鉴权成功,则根据解密所述第一密文数据获取到的引导程序区域的入口代码加载执行所述引导程序数据;
使用所述引导程序区域内存储的用于解密所述第二密文数据的第二公钥解密所述第二密文数据,并获取所述第二密文数据中的CPUID和FLASHID;
对从所述第二密文数据中获取到的CPUID和FLASHID进行鉴权;
鉴权成功,则根据解密所述第二密文数据获取到的中间层软件区域的入口代码加载执行所述中间层软件数据;
使用所述中间层软件区域内存储的用于解密所述第三密文数据的第三公钥解密所述第三密文数据,并获取所述第三密文数据中的CPUID和FLASHID;
对从所述第三密文数据中获取到的CPUID和FLASHID进行鉴权;
鉴权成功,则根据解密所述第三密文数据获取到的应用层软件区域的入口代码加载执行所述应用层软件数据。
3.根据权利要求2所述的方法,其特征在于,还包括:
若鉴权失败,则停止加载执行所述闪存中的***数据,并关闭所述移动终端。
4.根据权利要求2或3所述的方法,其特征在于,对获取到的CPUID和FLASHID进行鉴权的方式包括:
判断所述获取到的CPUID与从所述移动终端的电路板上读取的CPUID以及所述获取到的FLASHID与从所述电路板上读取的FLASHID是否相同;
若是,则判定鉴权成功;
否则,判定鉴权失败。
5.根据权利要求1所述的方法,其特征在于,所述认证服务器中预先设置有与所述移动终端对应的用于对将***数据下载到所述闪存中的下载次数进行计数的计数器,所述认证服务器根据接收到的微处理器的识别标识和闪存的识别标识进行认证包括:
判断所述移动终端对应的计数器的值是否小于预设的下载次数的阈值;
若否,则判定认证失败;
若是,则判定认证成功,所述计数器加1。
6.一种移动终端,其特征在于,包括:微处理器和闪存,所述微处理器内包括片内存储器,且当所述移动终端启动时从所述片内存储器开始启动,其中,
所述片内存储器内存储用于解密并加载执行所述闪存中存储的***数据的公钥,其中,所述闪存中存储的***数据包括引导程序数据、中间层软件数据、应用层软件数据,所述中间层软件数据包括操作***数据和驱动程序数据,所述引导程序数据存储于引导程序区域、所述中间层软件数据存储于中间层软件区域、所述应用层软件数据存储于应用层软件区域;其中,所述引导程序区域还存储使用第一私钥加密的第一密文数据,被加密的第一密文数据包括CPUID、FLASHID和所述引导程序区域的入口代码,所述CPUID是微处理器的识别标识、所述FLASHID是闪存的识别标识;所述中间层软件区域还存储使用第二私钥加密的第二密文数据,被加密的第二密文数据包括CPUID、FLASHID和所述中间层软件区域的入口代码;所述应用层软件区域还存储使用第三私钥加密的第三密文数据,被加密的第三密文数据包括CPUID、FLASHID和所述应用层软件区域的入口代码。
7.根据权利要求6所述的移动终端,其特征在于,所述片内存储器内存储的公钥是用于解密所述第一密文数据的第一公钥,所述闪存还包括:
获取模块,用于使用所述第一公钥解密所述第一密文数据,并获取所述第一密文数据中的CPUID和FLASHID;还用于使用所述引导程序区域内存储的用于解密所述第二密文数据的第二公钥解密所述第二密文数据,并获取所述第二密文数据中的CPUID和FLASHID;还用于使用所述中间层软件区域内存储的用于解密所述第三密文数据的第三公钥解密所述第三密文数据,并获取所述第三密文数据中的CPUID和FLASHID;
鉴权模块,用于对从所述第一密文数据中获取到的CPUID和FLASHID进行鉴权;还用于对从所述第二密文数据中获取到的CPUID和FLASHID进行鉴权;还用于对从所述第三密文数据中获取到的CPUID和FLASHID进行鉴权;
加载执行模块,用于当所述鉴权模块的鉴权结果为鉴权成功时,根据解密所述第一密文数据获取到的引导程序区域的入口代码加载执行所述引导程序数据;还用于当所述鉴权模块的鉴权结果为鉴权成功时,根据解密所述第二密文数据获取到的中间层软件区域的入口代码加载执行所述中间层软件数据;还用于当所述鉴权模块的鉴权结果为鉴权成功,根据解密所述第三密文数据获取到的应用层软件区域的入口代码加载执行所述应用层软件数据。
8.根据权利要求7所述的移动终端,其特征在于,所述加载执行模块还用于当所述鉴权模块的鉴权结果为鉴权失败时,停止加载执行所述闪存中的***数据,并关闭所述移动终端。
9.根据权利要求7或8所述的移动终端,其特征在于,所述鉴权模块还用于判断所述获取到的CPUID与从所述移动终端的电路板上读取的CPUID以及所述获取到的FLASHID与从所述电路板上读取的FLASHID是否相同;若是,则判定鉴权成功;否则,判定鉴权失败。
CN200910209640.2A 2009-11-02 2009-11-02 移动终端及其***数据防克隆方法 Active CN102056339B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200910209640.2A CN102056339B (zh) 2009-11-02 2009-11-02 移动终端及其***数据防克隆方法
PCT/CN2010/076630 WO2011050655A1 (zh) 2009-11-02 2010-09-03 移动终端及其***数据防克隆方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910209640.2A CN102056339B (zh) 2009-11-02 2009-11-02 移动终端及其***数据防克隆方法

Publications (2)

Publication Number Publication Date
CN102056339A CN102056339A (zh) 2011-05-11
CN102056339B true CN102056339B (zh) 2015-06-03

Family

ID=43921304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910209640.2A Active CN102056339B (zh) 2009-11-02 2009-11-02 移动终端及其***数据防克隆方法

Country Status (2)

Country Link
CN (1) CN102056339B (zh)
WO (1) WO2011050655A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201925B (zh) * 2016-07-01 2019-03-22 四川效率源信息安全技术股份有限公司 一种西数硬盘的解密方法
CN116595594A (zh) * 2023-05-19 2023-08-15 无锡摩芯半导体有限公司 一种基于ucb的flash的安全控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936843A (zh) * 2006-10-23 2007-03-28 北京飞天诚信科技有限公司 一种内接存储设备的智能密钥装置及其使用方法
CN101349997A (zh) * 2007-07-20 2009-01-21 联发科技股份有限公司 将数据写入芯片内存储器的方法及其***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002026902A (ja) * 2000-07-10 2002-01-25 Matsushita Electric Ind Co Ltd 受信端末装置
FR2852777B1 (fr) * 2003-03-21 2005-06-10 Gemplus Card Int Procede de protection d'un terminal de telecommunication de type telephone mobile
JP5114617B2 (ja) * 2005-08-03 2013-01-09 エスティー‐エリクソン、ソシエテ、アノニム 秘密鍵を保護する、セキュア端末、プログラム、および方法
US8904552B2 (en) * 2007-04-17 2014-12-02 Samsung Electronics Co., Ltd. System and method for protecting data information stored in storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936843A (zh) * 2006-10-23 2007-03-28 北京飞天诚信科技有限公司 一种内接存储设备的智能密钥装置及其使用方法
CN101349997A (zh) * 2007-07-20 2009-01-21 联发科技股份有限公司 将数据写入芯片内存储器的方法及其***

Also Published As

Publication number Publication date
WO2011050655A1 (zh) 2011-05-05
CN102056339A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
EP3387813B1 (en) Mobile device having trusted execution environment
US8225110B2 (en) Cryptographic protection of usage restrictions in electronic devices
US8122244B2 (en) Secure management of configuration parameters in a computing platform
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
JP7277270B2 (ja) 埋め込まれたルートオブトラストシークレットで生成される集積回路の個人化
EP2204008B1 (en) Credential provisioning
US20080003980A1 (en) Subsidy-controlled handset device via a sim card using asymmetric verification and method thereof
CN101577906B (zh) 一种可实现机卡安全认证的智能卡及终端
US20040025027A1 (en) Secure protection method for access to protected resources in a processor
US20150126153A1 (en) Mobile station with bond between end device and security element
CN106982186A (zh) 一种联机安全密钥保护方法和***
CN104322003A (zh) 借助实时加密进行的密码认证和识别方法
CN101635920B (zh) 服务提供客户端、无线终端以及实现绑定的方法
JP2008535427A (ja) データ処理デバイスとセキュリティモジュールとの間のセキュア通信
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
US7926050B2 (en) Secure method to update software in a security module
CN102056339B (zh) 移动终端及其***数据防克隆方法
CN107682147B (zh) 用于智能卡芯片操作***文件的安全管理方法及***
AU2013336757A1 (en) Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system
CN116566744B (zh) 数据处理方法和安全校验***
CN109660355B (zh) 防止pos终端被非法篡改的方法、装置、存储介质以及终端
CN109474624B (zh) 一种应用程序认证***及方法
CN115442090A (zh) 一种应用于脚本的敏感信息获取方法及装置
CN115361168A (zh) 一种数据加密方法、装置、设备及介质
CN117240464A (zh) 一种基于SRAMPUF的eSIM数据保护方法

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201228

Address after: 274300 Shanxian economic and Technological Development Zone, Heze City, Shandong Province

Patentee after: SHANDONG YUHETANG PHARMACEUTICAL Co.,Ltd.

Address before: 518057 No. 55 South Science and technology road, Shenzhen, Guangdong, Nanshan District

Patentee before: ZTE Corp.