CN101034991B - 安全引导***及方法、代码签名构造方法及认证方法 - Google Patents

安全引导***及方法、代码签名构造方法及认证方法 Download PDF

Info

Publication number
CN101034991B
CN101034991B CN 200710100428 CN200710100428A CN101034991B CN 101034991 B CN101034991 B CN 101034991B CN 200710100428 CN200710100428 CN 200710100428 CN 200710100428 A CN200710100428 A CN 200710100428A CN 101034991 B CN101034991 B CN 101034991B
Authority
CN
China
Prior art keywords
image file
authentication
elliptic curve
safe handling
portable terminal
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
CN 200710100428
Other languages
English (en)
Other versions
CN101034991A (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.)
Beijing Shenzhou Anfu Technology 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 CN 200710100428 priority Critical patent/CN101034991B/zh
Publication of CN101034991A publication Critical patent/CN101034991A/zh
Priority to PCT/CN2007/002915 priority patent/WO2008122171A1/zh
Application granted granted Critical
Publication of CN101034991B publication Critical patent/CN101034991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种移动终端的安全引导方法,包括:步骤一,安全引导程序在安全处理内核的内部RAM中建立中断矢量表;步骤二,初始化内部RAM;步骤三,安全处理内核引导程序建立对内部RAM的访问,进行硬件初始化,其中,硬件包括安全处理内核芯片外闪存;步骤四,加载并处理安全处理内核芯片外闪存中的配置数据;步骤五,加载操作***软件映象文件,基于椭圆曲线密码完成对操作***软件映象文件的认证;步骤六,加载应用***软件映象文件,基于椭圆曲线密码完成对应用***软件映象文件的认证;及步骤七,应用***软件映象文件的认证通过后,将控制转发给应用***。本发明还公开了一种移动终端的安全引导***、以及代码签名构造方法和代码签名认证方法。

Description

安全引导***及方法、代码签名构造方法及认证方法
技术领域
本发明涉及通信领域,并且特别地,涉及一种安全引导***及方法、代码签名构造方法及认证方法。
背景技术
随着国际上3G(第三代)网络商用化进程的加快,以及移动互联的需求的不断增加,网络已不仅限于互联网的范畴,这就意味着移动终端的安全性更加重要。
从移动业务与终端来看,目前,移动终端正在逐渐演变成集基本通话业务、数据业务、信息获取、电子支付等形成为一体的手持终端工具。借助于移动终端,人们在享受丰富的3G多媒体业务的同时,移动终端***与应用也面临着一系列安全问题,信息安全已经成为商务移动化的至关重要一环。
从操作***与移动用户角度来看,由于非法移动终端操作***可能会影响用户的使用并干扰正常网络运行,因此,需要保护移动终端的操作***以防止非法修改和更新;移动终端包含用户电话簿、短信、银行账号、口令等用户隐私信息,如果这些信息被他人非法获得,如通过病毒及恶意代码,以及手机被盗时,将给用户造成直接的经济损失,因此需要防止非授权访问。
从运营商角度来看,目前3G网络已经在全球范围获得了大规模商用,用户数量已经达上亿。各运营商为了扩大用户数量,手机的销售模式基本上由运营商负责采购和销售,在一些国家和地区,运营商采用附送手机的销售模式来吸引用户,同时,运营商为了保证手机用户不流失,要求所采购的手机只能使用运营商自己发行的USIM/SIM卡,因此对手机提出了锁网/锁卡的安全要求,同时为了防止黑客攻击,各运营商对手机锁网/锁卡的安全强度也提出了很高要求。
从移动终端设备制造商角度来看,移动终端安全问题是由其所忽视因而也必须由其来提供解决方案的问题。同时,随着消费者对安全需求意识的增强,市场竞争的加剧,将促使手机向个性化、差异化发展,无疑移动终端的安全将会是市场爆炒的一个新热点,并有可能形成新的产业。
在移动终端的安全保护技术方面,目前,主要是可信计算联盟(TCPA)提出的可信计算平台(TMP)技术体系,包括硬件、软件、及协议三个部分来实现移动无线平台的端到端的安全。所采用的安全技术是基于RSA公钥证书密码体制,要达到一定的安全强度,所有存储密钥达到1024至2048bit长的RSA密钥,特别是在存在多个证书链情况下,要加载各密钥,时间长达几秒,无法满足实际用户需要。
为了克服RSA公钥密码在实现移动终端安全所带来的问题,一种切实可行的替代密码是椭圆曲线密码。
椭圆曲线密码是目前已知公钥密码体制中每比特所提供加密强度最高的一种体制。例如,ECC使用234位长的密钥所获得的安全强度要比RSA的2048位还高出许多。它们之间的密钥长度却相差达9倍,当ECC的密钥更大时它们之间差距将更大。ECC密钥短的优点是非常明显的,随加密强度的提高,密钥长度变化不大。
然而,目前,椭圆曲线密码技术在移动终端安全方面还没有得到很好的应用,同时,业界鲜见对椭圆曲线密码在移动终端安全技术方面的研究。
发明内容
本发明的主要目的在于提供一种基于椭圆曲线密码的嵌入式安全处理内核,实现移动终端操作***及应用安全的***与方法。
为了实现上述目的,根据本发明的一个实施例,提供了一种移动终端的安全引导***。
该***包括:安全处理内核,包括CPU、RAM、以及ROM,用于建立安全引导程序,以及基于椭圆曲线密码完成对操作***软件映象文件或应用***软件映象文件的认证过程;安全操作***,与安全处理内核连接,包括多媒体处理器、基带处理器、以及外部接口设备,用于执行硬件初始化函数。
并且,安全引导***还包括:射频信号收发模块、基带信号处理模块、多媒体处理器、终端闪存、通用接口。
根据本发明的另一实施例,还提供了一种基于上述移动终端的安全引导***的代码签名构造方法。
该方法包括以下步骤:第一步骤,构造操作***软件和应用***软件的映象文件;第二步骤,生成椭圆曲线根证书中心证书及其对应的私钥;第三步骤,基于在第二步骤中获得的椭圆曲线根证书中心证书生成椭圆曲线密码参数集以及密钥对;第四步骤,对在第一步骤中构造的操作***软件和应用***软件的映象文件进行散列运算,生成映象文件摘要;以及第五步骤,针对在第四步骤中生成的映象文件摘要进行椭圆曲线签名。
其中,在第四步骤中,使用哈希函数进行散列运算,并且,该步骤中生成的映象文件摘要长度是固定的。
根据本发明的另一实施例,提供了一种基于上述移动终端的安全引导***的代码签名认证方法。
该方法包括以下步骤:第一步骤,安全处理内核引导程序基于椭圆曲线根证书中心证书,获取公共椭圆曲线参数集以及相关公钥;第二步骤,安全处理内核引导程序验证映象文件的签名是否超过椭圆曲线基点群阶的范围;其中,在验证结果为否的情况下,进行到第三步骤,第三步骤,生成映象文件的消息摘要;第四步骤,分别计算w=s-1 mod n、  u1=ew mod n、  u2=rw mod n、以及X=u1G+u2Q=(x1,y1)的值;第五步骤,根据在第四步骤中计算的X的横坐标的值来认证代码签名。
其中,在第五步骤中,当X的横坐标为0时,代码签名失败;当X的横坐标不为r时,代码签名不合格;当X的横坐标为r时,代码签名认证通过。
根据本发明的另一实施例,提供了一种基于上述移动终端的安全引导***的移动终端的安全引导方法。
该方法包括以下步骤:第一步骤,安全引导程序在安全处理内核的内部RAM中建立中断矢量表;第二步骤,初始化内部RAM;第三步骤,安全处理内核引导程序建立对内部RAM的访问,进行硬件初始化,其中,硬件包括安全处理内核芯片外闪存;第四步骤,加载并处理安全处理内核芯片外闪存中的配置数据;第五步骤,加载操作***软件映象文件,基于椭圆曲线密码完成对操作***软件映象文件的认证;第六步骤,加载应用***软件映象文件,基于椭圆曲线密码完成对应用***软件映象文件的认证;以及第七步骤,应用***软件映象文件的认证通过后,将控制转发给应用***。
其中,在第二步骤中,安全处理内核引导程序基于移动终端的冷启动与热启动模式,对内部RAM进行不同配置。
并且,在第四步骤中,基于加载的配置数据建立硬件时钟。
另外,在第五步骤中,认证操作***软件映象文件的处理进一步包括:激活数据高速缓冲以建立内部RAM与外部SDRAM的安全高速数据传输;在认证完成后,关闭数据高速缓冲。并且,在该步骤中,在对操作***软件映象文件的认证通过后,安全处理内核引导程序将控制权移交给安全操作***。
并且,在该方法中,在安全处理内核引导程序执行期间,如果在第一至第七步骤的任意步骤中处理失败,则JTAG口供能有效。其中,在内部RAM中显示错误信息用于用户调试。
通过上述技术方案,本发明可以保证运营商所提供业务的安全性,保证移动终端用户无法将该移动终端用于其它竞争运营商网络中使用,防止用户流失,同时还能简化用户的密钥管理,保护移动终端内的操作***安全、应用***、及用户信息隐私性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明第一实施例的移动终端的安全引导***的框图;
图2是根据本发明第二实施例的代码签名构造方法的流程图;
图3是根据本发明第二实施例的代码签名构造方法的应用实例的流程图;
图4是根据本发明第三实施例的代码签名认证方法的流程图;
图5是根据本发明第三实施例的代码签名认证方法的应用实例的流程图;
图6是根据本发明第四实施例的移动终端的安全引导方法的流程图;以及
图7是根据本发明第四实施例的移动终端的安全引导方法的应用实例的流程图。
具体实施方式
下面将参考附图详细说明本发明。
第一实施例
如图1所示,根据本发明第一实施例的移动终端的安全引导***主要包括:安全处理内核(优选的,可以是嵌入式安全处理内核)100,包括CPU 102、RAM 101、以及ROM(内部flash)103,用于建立安全引导程序,以及基于椭圆曲线密码完成对操作***软件映象文件或应用***软件映象文件的认证过程;安全操作***410,与安全处理内核连接,包括多媒体应用处理器205、基带处理器204、以及外部接口设备通用接口207,用于执行硬件初始化函数。
此外,该安全引导***至少还包括:射频信号收发模块、基带信号处理模块、多媒体处理器、终端闪存202、通用接口。与***硬件相关的软件模块有安全内核的密码运行模块、密钥管理模块、操作***(包括通信协议栈驱动、文件管理***)以及多媒体安全应用。
安全处理内核的ROM引导程序在移动终端加电时启动,通过基于椭圆曲线密码认证,保证处理器(CPU)启动的指令序列是安全可信的,并保证引导代码映象文件的正确性或完整性。
借助安全处理内核,将移动终端初始化引导到一个可知的安全状态,即建立起安全引导程序。
安全引导程序对移动终端的硬件进行配置,特别是外部RAM与外部Flash进行配置,然后存取外部Flash内的安全配置数据,加载并基于椭圆曲线密码认证操作***映象文件,以保证移动终端内的操作***是安全的。
安全操作***建立软、硬件中断矢量表,通过向安全操作***的通信协议层驱动软件注册回调函数来保证通信事件的处理。此外了,安全操作***还建立文件管理***,并读取应用配置数据,加载并基于椭圆曲线密码认证应用***映象文件,以保证应用***是安全的。
优选地,通用接口207可以连接至USIM/SIM卡211、SD卡212、键盘213、扬声器/耳机214、MIC 215、LCD 216、JTAG 217以及UART/USB 218等。
上述的安全处理内核引导程序、操作***、及应用***各自独立处理,便于不同厂家产品集成为一个整体安全移动终端。
第二实施例
根据本发明的第二实施例,基于第一实施例的移动终端的安全引导***,提供了一种代码签名构造方法。
如图2所示,该方法包括以下步骤:步骤S202,构造操作***软件和应用***软件的映象文件;步骤S204,生成椭圆曲线根证书中心证书及其对应的私钥;步骤S206,基于在步骤S204中获得的椭圆曲线根证书中心证书生成椭圆曲线密码参数集以及密钥对;步骤S208,对在步骤S202中构造的操作***软件和应用***软件的映象文件进行散列运算,生成映象文件摘要;以及步骤S210,针对在步骤S208中生成的映象文件摘要进行椭圆曲线签名。
其中,在步骤S208中,使用哈希函数进行散列运算,并且,该步骤中生成的映象文件摘要长度是固定的。
在实际应用中,该方法的实施步骤如图3所示,结合图1所示的移动终端的安全引导***,其描述如下:
步骤301,对安全引导程序中各种源文件(C语言程序,汇编程序)进行ARM编译器编译后生成嵌入式可加载格式(ELF)文件,对这些目标文件与ARM处理器***所带的C/C++运行时库文件进行ARM连接器处理后,生成ELF格式的映象文件(image),之后,将该映象文件写入到图1中的安全处理内核100中的ROM103内,并且,该步骤中同样生成了操作***软件与应用***软件;
步骤302,运营商或制造商首先需要建立一个支持椭圆曲线公钥密码的证书中心(CA)网站,可选的,也可以利用一个支持椭圆曲线密码的政府或商业公共CA,用户通过椭圆曲线密码CA中心,安全申请一个椭圆曲线密码公钥证书,该证书可用于安全处理内核中的根CA证书,并且通过该证书完成对其它公钥证书及软件模块的签名;
并且,在步骤302中,椭圆曲线数字签名证书内部格式是之前由CCITT X.509规定的,其可以包含以下几方面内容:证书版本号、数字证书序列号、证书拥有者姓名、签名算法、颁发数字证书的单位、颁发数字证书的单位的签名、公开秘钥有效期等。
步骤303,基于步骤302中所获得的椭圆曲线根公钥证书,生成椭圆曲线密码参数集D=(p,a,b,G,n,h),其中p为一个大素数(例如,为大于160bit的素整数),指定了有限域GF(p);a,b指定椭圆曲线E;G=(xG,yG)∈E(GF(p))为一个基点;素数n为基点G的阶;h=#E(GF(p))/n为协因子整数;#E(GF(p))表示椭圆曲线点群的阶;同时也得到了密钥对(d,Q),其中d是私钥,Q=dG是公钥;向网守发送哈希函数,椭圆曲线参数a,b和公钥Q;
步骤304,使用安全哈希函数(SHA)对所构造的操作***软件***或应用***软件映象文件进行散列运算,生成固定长度的映象文件摘要(例如,20字节长);
步骤305至步骤310,针对映象文件摘要数据进行椭圆曲线签名的过程;
步骤306,选择一个随机或伪随机数k,1≤k≤n-1;
步骤307,计算kG=(x1,y1),r=x1 mod n,如果r=0,说明所选择的椭圆曲线随机点是一个特殊点,不符合签名安全要求,返回步骤306进行重新选取;
步骤308,计算s=k-1(e+dr)mod n,如果s=0,则返回步骤306;
步骤309,完成对操作***软件或应用***软件映象文件的签名(r,s),将该签名将随映象文件一起放到图1所示的Flash 202中。
第三实施例
根据本发明的第三实施例,基于第一实施例的安全引导***,提供了一种代码签名认证方法。
如图4所示,该方法包括以下步骤:步骤S402,安全处理内核引导程序基于椭圆曲线根证书中心证书,获取公共椭圆曲线参数集以及相关公钥;步骤S404,安全处理内核引导程序验证映象文件的签名是否超过椭圆曲线基点群阶的范围;其中,在验证结果为否的情况下,进行到步骤S406;步骤S406,生成映象文件的消息摘要;步骤S408,分别计算w=s-1 mod n、u1=ew mod n、u2=rw modn、以及X=u1G+u2Q=(x1,y1)的值;步骤S410,根据在步骤S408中计算的X的横坐标的值来认证代码签名。
其中,在步骤S410中,当X的横坐标为0时,代码签名失败;当X的横坐标不为r时,代码签名不合格;当X的横坐标为r时,代码签名认证通过。
在实际应用中,根据本实施例的方法的处理流程如图5所示,其处理步骤描述如下:
步骤501,安全内核引导程序,基于椭圆曲线根CA证书,提取公共椭圆曲线参数集D={p,a,b,G,n,h}与相关公钥Q;
步骤502,安全内核引导程序验证映象文件(操作***或应用***软件)的签名(r,s),检验其是否超过椭圆曲线基点群阶的范围,如果是,则表示不合法的签名,安全内核引导程序转到步骤508,安全认证失败,而后进入产品研发阶段的JTAG普通文件映象文件下载模式或产品阶段的移动终端检测到安全不一致性,直接关机;
步骤503,生成整个操作***或应用***映象文件的消息摘要e;
步骤504,分别计算w=s-1mod n、u1=ew mod n、u2=rw modn、及X=u1G+u2Q=(x1,y1)的值;
步骤505,当X的横坐标x1为0时,说明签名无效,安全内核引导程序转到步骤508,安全认证失败,而后进入产品研发阶段的JTAG普通文件映象文件下载模式,或产品阶段的移动终端检测到安全不一致性,直接关机;
步骤506,当X的横坐标x1不等于r时,则表示不合法的签名,安全内核引导程序转到步骤508,安全认证失败,而后进行到产品研发阶段的JTAG普通文件映象文件下载模式,或产品阶段的移动终端检测到安全不一致性,直接关机;
步骤507,验证了签名本身计算的正确性后,说明操作***或应用***软件映象文件签名没有被窜改,安全内核引导程序完成操作***软件或应用***软件安全的认证。
第四实施例
根据本发明的第四实施例,同样基于第一实施例的移动终端的安全引导***,提供了一种移动终端的安全引导方法。
如图6所示,该方法包括以下步骤:步骤S602,安全引导程序在安全处理内核的内部RAM中建立中断矢量表;步骤S604,初始化内部RAM;步骤S606,安全处理内核引导程序建立对内部RAM的访问,进行硬件初始化,其中,硬件包括安全处理内核芯片外闪存;步骤S608,加载并处理安全处理内核芯片外闪存中的配置数据;步骤S610,加载操作***软件映象文件,基于椭圆曲线密码完成对操作***软件映象文件的认证;步骤S612,加载应用***软件映象文件,基于椭圆曲线密码完成对应用***软件映象文件的认证;以及步骤S614,应用***软件映象文件的认证通过后,将控制转发给应用***。
其中,在步骤S604中,安全处理内核引导程序基于移动终端的冷启动与热启动模式,对内部RAM进行不同配置。
并且,在步骤S608中,基于加载的配置数据建立硬件时钟,以匹配内存访问周期。
另外,在步骤S610中,认证操作***软件映象文件的处理进一步包括:激活数据高速缓冲以建立内部RAM与外部SDRAM的安全高速数据传输;在认证完成后,关闭数据高速缓冲。并且,在该步骤中,在对操作***软件映象文件的认证通过后,安全处理内核引导程序将控制权移交给安全操作***。
并且,在该方法中,在安全处理内核引导程序执行期间,如果在步骤S602至步骤S614的任意步骤中处理失败,则JTAG口供能有效。其中,在内部RAM中显示错误信息用于用户调试。
根据本实施例的方法在实际应用当中,其处理流程如图7所示,对其步骤的具体描述如下:
步骤701,移动终端上电或初始化时,引导序列从图1所示的嵌入式安全处理内核100开始执行代码,安全引导程序及引导加载器驻留在安全处理内核的ROM 103内,安全引导程序首先在内部RAM 101中建立例外(中断)矢量表,包括软件、硬件(IRQ、FIQ)、数据异常等中断处理程序或句柄的间接地址指针;而中断处理程序或句柄处于安全处理内核的引导ROM 103中,并且不能被修改。如此配置引导ROM内的例外矢量,是为了当例外产生时使用例外句柄地址加载程序计数器(PC),这些例外地址是位于内部RAM的间接例外矢量表中的;
有了内部RAM的间接矢量表,允许内存映象中的例外句柄位置在链接时解决,除了驻留在引导ROM中的安全内核引导程序初始矢量外,所有操作***与应用***程序例外矢量都是这样处理的;其中,处于模块化考虑,以减少设计的复杂度,安全处理内核引导程序从功能上是独立于移动终端的操作***与应用***软件的;
步骤702,在初始化内部RAM过程中,安全内核引导程序基于移动终端冷启动与热启动模式,对内部RAM 101进行不同的配置。移动热启动是电源低功耗期间的唤醒过程,这时内部RAM 101含有安全代码库等最小配置,不需要重新加载,并且已经建立起对内部RAM 101的访问。冷启动发生在移动终端上电时初始化,或者由看门狗超时事件所引起;
步骤703,安全处理内核引导程序建立了内部RAM 101的访问后,进行硬件初始化工作,特别是嵌入式安全处理内核芯片外Flash202,建立驱动程序;
步骤704与步骤705,加载片外Flash 202中的配置数据,以获取操作***软件映象大小的数据,并基于这些配置数据建立硬件时钟,以匹配对内存访问周期;
步骤706,将操作***软件映象文件从Flash 202加载到SDRAM 201中;
步骤707至步骤709,开始基于椭圆曲线密码完成对操作***软件映象文件的认证,具体认证过程如图3所示;步骤709中的数据高速缓存功能,建立了内部RAM 101与外部SDRAM 201的安全高速数据传输,而认证完成后,要关闭此高速数据缓存功能,以防止认证过程的安全数据,如根证书私钥,操作***映象文件散列值等高度敏感信息泄露;对操作***软件认证通过后,安全处理内核引导程序将控制权移交给操作***,由些建立起移动终端安全操作***平台,其中,操作***软件是移动终端引导过程的第二阶段,包括复杂的与无线设备相关的通信协议驱动软件;
步骤710,根据加载的外部内存202配置数据,加载NAND驱动器;
步骤711与712,从NAND的多映象引导信息块(MIBIB)加载应用***软件映象文件头信息,包括应用***映象文件偏移位置、大小等信息,基于该头信息动态加载应用***映象文件;
步骤713,基于图3所示的过程,认证应用***映象文件,认证成功后,将控制转发应用***,从而完成了移动终端的安全引导,并建立起一可信的安全平台。为应用***的通信及本地应用提供信息安全保障(如DRM安全、SIM卡应用安全、多媒全应用安全、文件管理器安全、以及锁卡与锁网安全等);
步骤715,JTAG缺省状态为失效,在安全内核引导程序执行期间,如果失败,则JTAG口功能有效。同时在内部内存101的一块区域中显示错误信息,以提供用户调试,跟踪问题。当JTAG功能有效时,可以将一个新映象下载到内部ROM 102中,内部ROM102用于移动终端的安全引导,而外部FLASH 202用于移动终端的非安全引导,此时,移动终端处于UART/USB 218下载模式中。
要说明的是,对于引导来说,无论什么时候操作***或应用***软件代码发生改变,就需要重新进行软件签名,以保证软件的完整性、一致性。
为简化描述本发明思想,在描述本发明实施例时,对于操作***映象文件及应用***映象文件的签名认证中,采用的是同一个CA根证书。对于本领域技术人员来说,在实际开发中,可以采用不同的证书来实施对操作***软件及应用***软件的签名及认证,但所使用的签名证书合法性,需要通过根CA证书的签名与认证。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种移动终端的安全引导***,其特征在于,包括:
安全处理内核,包括CPU、RAM、以及ROM,用于建立安全引导程序,以及基于椭圆曲线密码完成对操作***软件映象文件或应用***软件映象文件的认证过程;
安全操作***,与所述安全处理内核连接,包括多媒体处理器、基带处理器、以及外部接口设备,用于执行硬件初始化函数。
2.根据权利要求1所述的***,其特征在于,通过向所述安全操作***的通信协议层驱动软件注册回调函数来保证通信事件的处理。
3.根据权利要求1所述的***,其特征在于,所述安全引导***还包括:射频信号收发模块、基带信号处理模块、多媒体处理器、终端闪存、通用接口。
4.一种代码签名构造方法,使用根据权利要求1至3中任一项所述的移动终端的安全引导***,其特征在于,包括以下步骤:
第一步骤,构造操作***软件和应用***软件的映象文件;
第二步骤,生成椭圆曲线根证书中心证书及其对应的私钥;
第三步骤,基于在所述第二步骤中获得的所述椭圆曲线根证书中心证书生成椭圆曲线密码参数集以及密钥对;
第四步骤,对在所述第一步骤中构造的所述操作***软件和应用***软件的映象文件进行散列运算,生成映象文件摘要;以及
第五步骤,针对在所述第四步骤中生成的所述映象文件摘要进行椭圆曲线签名。
5.根据权利要求4所述的方法,其特征在于,在所述第四步骤中,使用哈希函数进行所述散列运算。
6.根据权利要求4所述的方法,其特征在于,在所述第四步骤中生成的所述映象文件摘要长度固定。
7.一种代码签名认证方法,使用根据权利要求1至3中任一项所述的移动终端的安全引导***,其特征在于,包括以下步骤:
第一步骤,安全处理内核引导程序基于椭圆曲线根证书中心证书,取出映像文件签名(r,s)并获取公共椭圆曲线参数集D={p,a,b,G,n,h}以及相关公钥Q;
第二步骤,所述安全处理内核引导程序验证映象文件的签名(r,s)是否超过椭圆曲线基点群阶的范围;
其中,在验证结果为否的情况下,进行到第三步骤,
所述第三步骤,生成所述映象文件的消息摘要SHA并转换这个位串到一个整数e;
第四步骤,分别计算w=s-1mod n、u1=ew mod n、u2=rw mod n、以及X=u1G+u2Q=(x1,y1)的值;
第五步骤,根据在所述第四步骤中计算的X的横坐标的值来认证代码签名。
8.根据权利要求7所述的方法,其特征在于,在所述第五步骤中,当X的横坐标为0时,代码签名失败;当X的横坐标不为r时,代码签名不合格;当X的横坐标为r时,代码签名认证通过。
9.一种移动终端的安全引导方法,使用根据权利要求1至3中任一项所述的移动终端的安全引导***,其特征在于,包括以下步骤:
第一步骤,安全引导程序在安全处理内核的内部RAM中建立中断矢量表;
第二步骤,初始化所述内部RAM;
第三步骤,安全处理内核引导程序建立对所述内部RAM的访问,进行硬件初始化,其中,所述硬件包括安全处理内核芯片外闪存;
第四步骤,加载并处理所述安全处理内核芯片外闪存中的配置数据;
第五步骤,加载操作***软件映象文件,基于椭圆曲线密码完成对操作***软件映象文件的认证;
第六步骤,加载应用***软件映象文件,基于椭圆曲线密码完成对应用***软件映象文件的认证;以及
第七步骤,所述应用***软件映象文件的认证通过后,将控制转发给应用***。
10.根据权利要求9所述的方法,其特征在于,在所述第二步骤中,所述安全处理内核引导程序基于移动终端的冷启动与热启动模式,对所述内部RAM进行不同配置。
11.根据权利要求9所述的方法,其特征在于,在所述第四步骤中,基于加载的所述配置数据建立硬件时钟。
12.根据权利要求9所述的方法,其特征在于,在所述第五步骤中,认证所述操作***软件映象文件的处理进一步包括:激活数据高速缓冲以建立所述内部RAM与外部SDRAM的安全高速数据传输;在认证完成后,关闭数据高速缓冲。
13.根据权利要求9所述的方法,其特征在于,在所述第五步骤中,对所述操作***软件映象文件的认证通过后,所述安全处理内核引导程序将控制权移交给安全操作***。
14.根据权利要求9所述的方法,其特征在于,在所述安全处理内核引导程序执行期间,如果在所述第一至第七步骤的任意步骤中处理失败,则JTAG口供能有效。
15.根据权利要求14所述的方法,在所述内部RAM中显示错误信息用于用户调试。
CN 200710100428 2007-04-06 2007-04-06 安全引导***及方法、代码签名构造方法及认证方法 Active CN101034991B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200710100428 CN101034991B (zh) 2007-04-06 2007-04-06 安全引导***及方法、代码签名构造方法及认证方法
PCT/CN2007/002915 WO2008122171A1 (fr) 2007-04-06 2007-10-10 Procédé de pilotage de sécurité et système associé, procédé de génération d'une signature de codage et procédé d'authentification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710100428 CN101034991B (zh) 2007-04-06 2007-04-06 安全引导***及方法、代码签名构造方法及认证方法

Publications (2)

Publication Number Publication Date
CN101034991A CN101034991A (zh) 2007-09-12
CN101034991B true CN101034991B (zh) 2011-05-11

Family

ID=38731311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710100428 Active CN101034991B (zh) 2007-04-06 2007-04-06 安全引导***及方法、代码签名构造方法及认证方法

Country Status (2)

Country Link
CN (1) CN101034991B (zh)
WO (1) WO2008122171A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041464A1 (ja) * 2008-10-10 2010-04-15 パナソニック株式会社 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路
CN101742730B (zh) * 2008-11-27 2012-10-10 爱思开电讯投资(中国)有限公司 一种基于智能卡的机卡绑定方法以及用于该方法的移动终端
EP2284705B1 (en) 2009-08-03 2018-04-25 C.R.F. Società Consortile per Azioni Microprogrammable device configured to detect corruption of the code memory based on code signature
CN102088354B (zh) * 2011-03-22 2013-09-11 李小华 基于数字移动通信的软件授权认证方法
CN102693138A (zh) * 2011-03-24 2012-09-26 国民技术股份有限公司 一种在***引导阶段访问硬件设备的方法
CN102880828B (zh) * 2012-09-07 2015-02-04 普华基础软件股份有限公司 一种针对虚拟化支撑环境的入侵检测与恢复***
CN103490895B (zh) * 2013-09-12 2016-09-14 电小虎能源科技(北京)有限公司 一种应用国密算法的工业控制身份认证方法及装置
CN103870745B (zh) * 2014-04-01 2017-08-29 联想(北京)有限公司 电子设备和安全启动电子设备的方法
CN106096420A (zh) * 2016-06-15 2016-11-09 京信通信技术(广州)有限公司 嵌入式设备安全启动的方法和装置
EP3602375A4 (en) * 2017-03-28 2020-12-16 Sierra Wireless, Inc. METHOD AND DEVICE FOR SAFELY STARTING UP A COMPUTER DEVICE
US10503892B2 (en) 2017-06-25 2019-12-10 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
CN109492352B (zh) * 2018-10-09 2021-01-29 华为技术有限公司 一种设备标识组合引擎的实现方法及装置
CN109542518B (zh) * 2018-10-09 2020-12-22 华为技术有限公司 芯片和启动芯片的方法
CN109508535B (zh) * 2018-10-30 2021-07-13 百富计算机技术(深圳)有限公司 固件安全认证方法、装置和支付终端
CN111401929B (zh) * 2020-04-02 2023-04-07 浙江大华技术股份有限公司 设备防窜货方法、***、计算机设备及存储介质
CN117648701B (zh) * 2024-01-29 2024-04-09 威胜信息技术股份有限公司 一种嵌入式操作***安全启动机制实现方法及电子终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297635A (zh) * 1998-02-18 2001-05-30 西门子公司 用于在计算机上借助于椭圆曲线加密处理的方法和装置
CN1808456A (zh) * 2006-02-24 2006-07-26 上海方正信息安全技术有限公司 在便携式终端主机上添加可信平台的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003124919A (ja) * 2001-10-10 2003-04-25 Sharp Corp 暗号通信装置
FR2881854B1 (fr) * 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297635A (zh) * 1998-02-18 2001-05-30 西门子公司 用于在计算机上借助于椭圆曲线加密处理的方法和装置
CN1808456A (zh) * 2006-02-24 2006-07-26 上海方正信息安全技术有限公司 在便携式终端主机上添加可信平台的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2003-124919A 2003.04.25

Also Published As

Publication number Publication date
CN101034991A (zh) 2007-09-12
WO2008122171A1 (fr) 2008-10-16

Similar Documents

Publication Publication Date Title
CN101034991B (zh) 安全引导***及方法、代码签名构造方法及认证方法
CN101300583B (zh) 用于可信赖移动电话的简单可伸缩和可配置安全启动
US9501652B2 (en) Validating sensitive data from an application processor to modem processor
RU2415470C2 (ru) Способ создания безопасного кода, способы его использования и программируемое устройство для осуществления способа
US8171295B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
CN101631022B (zh) 一种签名方法和***
US9749141B2 (en) Secure boot devices, systems, and methods
KR20090067154A (ko) 신뢰 상태를 확인하는 데 사용되는 휴대용 장치
US20060085848A1 (en) Method and apparatus for securing communications between a smartcard and a terminal
CN1731460A (zh) 一种基于分布式密钥的移动支付***及加密方法
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
EP1836637A1 (en) Programmable processor supporting secure mode
CN101216915B (zh) 安全移动支付方法
CN105046138A (zh) 一种基于飞腾处理器的可信管理***及方法
WO2018166163A1 (zh) Pos终端控制方法、pos终端、服务器及存储介质
US20030059049A1 (en) Method and apparatus for secure mobile transaction
Cooijmans et al. Secure key storage and secure computation in Android
CN102238135A (zh) 安全认证服务器
US8621191B2 (en) Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
JP2006197127A (ja) 通信装置、デジタル署名検証方法およびデジタル署名生成方法
CN2914498Y (zh) 基于通用串行总线人机交互类设备的信息安全设备
KR20110030515A (ko) 스마트폰에서 사용할 수 있는 보안토큰 장치 및 인증방법
KR101586562B1 (ko) 보안토큰 및 그 동작방법
CN201742426U (zh) Sim卡安全认证服务器
KR100611119B1 (ko) Drm 기반의 wipi 컨텐츠 서비스 방법 및 장치

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
CB03 Change of inventor or designer information

Inventor after: Hu Hongjin

Inventor before: Lu Chen

Inventor before: Wang Yunfeng

Inventor before: Hu Yanlong

Inventor before: Mei Shichun

Inventor before: Li Yan

Inventor before: Yu Zhong

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170210

Address after: 100085 Beijing city Changping District North Street West Road No. 20, building 2, 3 layers of 2-301

Patentee after: Beijing Shenzhou Technology Co., Ltd.

Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Patentee before: ZTE Corporation

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: Room 1102, block a, Longyu center, building 1, yard 1, Longyu middle street, Huilongguan, Changping District, Beijing

Patentee after: Beijing Shenzhou Anfu Technology Co.,Ltd.

Address before: 100085 Beijing city Changping District North Street West Road No. 20, building 2, 3 layers of 2-301

Patentee before: BEIJING SHENZHOU ANFU TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address