CN101751279A - 一种芯片及片上操作系统下载的方法 - Google Patents
一种芯片及片上操作系统下载的方法 Download PDFInfo
- Publication number
- CN101751279A CN101751279A CN200910243220A CN200910243220A CN101751279A CN 101751279 A CN101751279 A CN 101751279A CN 200910243220 A CN200910243220 A CN 200910243220A CN 200910243220 A CN200910243220 A CN 200910243220A CN 101751279 A CN101751279 A CN 101751279A
- Authority
- CN
- China
- Prior art keywords
- chip
- operating system
- program
- loader
- flash memory
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
为了解决COS程序下载到芯片安全性较低的问题,本发明公开了一种芯片及片上操作系统下载的方法,本发明公开的方法包括:接收待下载的加密的片上操作系统程序,调用在芯片上预置的操作系统加载器程序,将加密的片上操作系统程序解密后下载到芯片上,由于通过带有可解密COS的操作系统加载器程序的卡片和加密COS来实现COS程序的安全使用。
Description
技术领域
本发明属于信息处理技术领域,特别涉及一种芯片及片上操作系统下载的方法。
背景技术
在某些情况下,需要把COS(Chip Operating System,片上操作系统)数据提供给外协厂家,由外协厂家来生产SIM模块或卡产品,例如,当公司产能不足时,或为节省物流费用考虑。COS指片上操作系统,主要的功能是维护芯片中的文件系统,处理手机下发给SIM卡的各种命令,是SIM卡实现客户需求的基础,具有非常重要的作用。
如果把从芯片供应商处订购的芯片和委托方的COS程序直接提供给外协厂家生产,会有以下风险:不能完全杜绝外协厂家将芯片用作其它的用途,外协厂家得到COS程序后,可以直接找芯片供应商订购芯片,下载COS程序后即可出售。这样会损害委托方利益,所以,在外协过程中如何从技术手段上保证COS程序下载到芯片的安全,就是一个现有技术中需要解决的问题。
发明内容
为了解决COS程序下载到芯片安全性较低的问题,本发明实施例提供了一种片上操作系统下载的方法,包括:
接收待下载的加密的片上操作系统程序;
调用在芯片上预置的操作系统加载器程序,将加密的片上操作系统程序解密后下载到芯片上。
同时本发明实施例还提供一种芯片,包括:
接收模块,接收待下载的加密的片上操作系统程序;
控制模块,调用在芯片上预置的操作系统加载器程序,将加密的片上操作系统程序解密后下载到芯片上。
由上述本发明提供的具体实施方案可以看出,正是由于通过带有可解密COS的操作系统加载器程序的卡片和加密COS来实现COS程序的安全使用。
附图说明
图1为本发明提供的运行第一实施例方法流程图;
图2为本发明提供的闪存中的存储空间分配图;
图3为本发明提供的闪存中预置有Loader OS程序的芯片下载加密的COS程序流程图;
图4为本发明提供的重新下载Loader OS程序流程图;
图5为本发明提供的第二实施例系统结构图。
具体实施方式
本发明第一实施例提供了一种片上操作系统下载的方法,该COS程序下载的方法要解决的技术问题是保证COS程序的安全,通过技术手段来防止外协厂家非法获取COS程序,为此,需要在芯片内部的预置操作系统加载器Loader OS程序,提供给外协厂家的是预置有Loader OS程序的芯片和加密后的COS程序,Loader OS程序用于对加密COS程序进行解密并加载到芯片,如图1所示,具体包括以下步骤:
步骤101:在芯片上预置Loader OS程序。
步骤102:根据加密规则对COS程序进行加密。
步骤103:COS程序写入设备向芯片发送待下载的根据加密规则加密后的COS程序,调用Loader OS程序将加密COS程序解密后下载到芯片上。
步骤104:COS程序向芯片存储器中写入预个人化和个人化数据,完成卡片生产,预个人化和个人化数据,用于后续COS程序处理各种命令时调用处理。
其中步骤101中预置Loader OS程序,根据芯片类型的不同,又分为预置在只读内存ROM(只读内存,Read-Only Memory)中和预置在闪存flash两种方式。
当预置在ROM中时,仅需要在Loader OS中设计数据解密指令即可。
当预置在flash中时,需做如下几方面的设计:
在SIM卡Flash上分配存储空间,如图2所示,一块为Flash启动程序区,用于存储Flash启动程序(OsStart code);一块为Loader OS程序区,用于存储Loader OS程序(Loader code);一块为COS程序区,用于存储COS程序。这三块分区可以设置为连续空间;也可设为非连续空间,当设为非连续空间时,两两分区之间为空数据。一块为模式切换标志位,放在Flash的最后,用于存放模式状态标志Flag1和Flag2,Flag1用于标记是在Loader OS模式还是在COS模式,Flag2用于标记是在用户模式状态还是在芯片初始状态。
在Loader OS程序中需要设计以下四种APDU指令,一是擦除指令,用于擦除指定空间范围外的数据,剩下Flash启动程序(OsStart code)、Loader OS程序(Loader code)、和模式切换标志位(Flag1和Flag2);一是密钥分散指令,用于对密钥进行分散,得到分散密钥;一是数据解密指令,用于将加密后的数据解密;一是数据校验指令,用于比对校验值的一致性。
在COS程序中要包含数据下载指令,用于将数据重新下载到芯片中。
其中步骤102中的加密规则,可以是对COS程序全部加密,也可以是选取特定的段进行加密。鉴于加密数据越多,解密时间相应会越长,生产的产能会越低,所以,优选的,采用选取特定段进行加密的方式。譬如,可以采用加密规则如下:COS程序按长度分为80个段,每段数据只加密前16字节的数据,当最后一个段不足16字节时不加密。更优的,为了保证数据的安全性,可以采用每一段加密的字节不固定,但符合特定的规律,例如采用21字节递进加密方式,即第一条加密前16字节,每二条加密第22到37字节,第三条加密43到58字节,以此类推。实际应用中可以采取不同的加密规则。
其中步骤103的解密过程,当Loader OS是预置在ROM中时,仅需要根据加密规则所对应的解密规则进行解密即可;当Loader OS是预置在Flash中时,如图3所示,需执行以下的步骤:
步骤201:开始,进入启动程序。
步骤202:判断模式状态标志Flag1是否为Loader OS模式,如是,进入步骤203;否,进入步骤212。
步骤203:进入Loader OS模式。
步骤204:执行擦除指令,仅擦除指定空间范围外的数据,剩下Flash启动程序(OsStart code)、Loader OS程序(Loader code)、和模式切换标志位(Flag1和Flag2)。指定空间范围的数据为Flash启动程序(OsStart code)、Loader OS程序(Loader code)、和模式切换标志位(Flag1和Flag2)。
步骤205:执行密钥分散指令,对密钥进行分散,得到分散密钥。
步骤206:执行解密指令,完成数据解密,将COS程序写入芯片。
步骤207:执行数据校验指令,对数据进行校验运算,得到校验值。对数据进行校验运算时采用的校验算法,包括但不限于CRC32、异或算法。
步骤208:判断该校验值是否与COS程序加密时校验运算得到的校验值一致,如果一致则进入步骤209,如果不一致则进入步骤201。
步骤209:COS程序解密成功。
步骤210:修改模式状态标志Flag2。如成功,则进入步骤211;如不成功,则返回步骤201。
步骤211:COS程序解密过程结束。再次启动,会进入步骤201后顺序执行跳转到步骤212。
步骤212:进入COS模式。
步骤213:执行COS擦除指令,擦除Loader OS程序区和其他空的数据区。
当卡片需要重新下载时,这时卡内仅有COS程序,没有Loader OS程序,直接下载COS程序,不会成功,可保证安全性。如需重新下载COS程序,必须首先执行COS程序中的数据下载指令84DE 0000LC data,完成Loader OS程序的重新下载,此数据下载指令是以加密的方式将数据写入芯片,即COS程序是对加密的Loader OS程序解密后下载到芯片上。加密算法可以是包括3DES算法在内的各种运算方法。因为其它COS程序中不支持此数据下载指令,所以,无法重新加载Loader OS程序;并且,这种方式是通过会话密钥加密方式进行,所以可以保证Loader OS程序的安全性。如图4所示,具体包括以下步骤:
步骤301:开始,进入启动程序。
步骤302:判断模式状态标志Flag1是否为Loader OS模式,如是,执行步骤307进入Loader OS模式;否,进入步骤303。
步骤303:进入COS模式。
步骤304:执行数据下载指令,重新加载Loader OS。
步骤305:执行校检指令,校验Loader OS的完整性。如校验通过,则进入步骤306。如不通过,返回步骤301。
步骤306:清除模式状态标志Flag1结束。
步骤307:进入Loader OS模式
本发明第二实施例提供了一种芯片,如图5所示,包括:
接收模块401,接收待下载的加密的片上操作系统程序;
控制模块402,调用在芯片上预置的操作系统加载器程序,将加密的片上操作系统程序解密后下载到芯片上。
进一步,还包括:只读内存403,用于存储操作系统加载器程序,或还包括:闪存404,用于存储操作系统加载器程序。
进一步,控制模块402,还用于在芯片的闪存中预置操作系统加载器程序时,启动存储在闪存中的启动程序,通过闪存中存储的模式切换标志位确定当前处于操作系统加载器工作模式,执行操作系统加载器程序的擦除指令,擦除指定空间范围外的数据,指定空间范围的数据为闪存启动程序、操作系统加载器程序和模式切换标志位。
进一步,控制模块402,还用于在执行操作系统加载器程序的密钥分散指令,对操作系统加载器程序中的主密钥进行分散得到分散密钥后,执行在芯片上预置的操作系统加载器程序的解密指令,使用分散密钥将加密的片上操作系统程序解密后下载到芯片上。
进一步,控制模块402,还用于执行操作系统加载器程序的数据校验指令,对下载的片上操作系统程序进行校验,当校验通过时,进入片上操作系统工作模式后,调用片上操作系统程序擦除操作系统加载器程序。
进一步,控制模块402,还用于调用片上操作系统将加密的操作系统加载器程序进行解密后重新下载到芯片上。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种片上操作系统下载的方法,其特征在于,包括:
接收待下载的加密的片上操作系统程序;
调用在芯片上预置的操作系统加载器程序,将加密的片上操作系统程序解密后下载到芯片上。
2.如权利要求1所述的方法,其特征在于,在芯片的只读内存中或闪存中预置操作系统加载器程序。
3.如权利要求2所述的方法,其特征在于,在芯片的闪存中预置操作系统加载器程序时,解密步骤前还包括:
启动存储在闪存中的启动程序,通过闪存中存储的模式切换标志位确定当前处于操作系统加载器工作模式;
执行操作系统加载器程序的擦除指令,擦除指定空间范围外的数据,指定空间范围的数据为闪存启动程序、操作系统加载器程序和模式切换标志位。
4.如权利要求1至3所述的方法,其特征在于,解密步骤具体为:在执行操作系统加载器程序的密钥分散指令,对操作系统加载器程序中的主密钥进行分散得到分散密钥后;
执行在芯片上预置的操作系统加载器程序的解密指令,使用分散密钥将加密的片上操作系统程序解密后下载到芯片上。
5.如权利要求3所述的方法,其特征在于,将解密后的片上操作系统程序下载到芯片上步骤后还包括:
执行操作系统加载器程序的数据校验指令,对下载的片上操作系统程序进行校验;
进行校验后还包括:当校验通过时,进入片上操作系统工作模式;
调用片上操作系统程序擦除操作系统加载器程序。
6.如权利要求5所述的方法,其特征在于,擦除操作系统加载器程序步骤后还包括:
调用片上操作系统将加密的操作系统加载器程序进行解密后重新下载到芯片上。
7.如权利要求1所述的方法,其特征在于,片上操作系统程序按长度被分为多个段,多个段中的部分数据被加密。
8.如权利要求7所述的方法,其特征在于,在多个段中被加密的部分数据在各段中所在的位置不固定,且符合预定的规律。
9.一种芯片,其特征在于,包括:接收模块,接收待下载的加密的片上操作系统程序;
控制模块,调用在芯片上预置的操作系统加载器程序,将加密的片上操作系统程序解密后下载到芯片上。
10.如权利要求9所述的芯片,其特征在于,还包括:只读内存,用于存储操作系统加载器程序;或
还包括:闪存,用于存储操作系统加载器程序。
11.如权利要求10所述的芯片,其特征在于,控制模块,还用于在芯片的闪存中预置操作系统加载器程序时,启动存储在闪存中的启动程序,通过闪存中存储的模式切换标志位确定当前处于操作系统加载器工作模式,执行操作系统加载器程序的擦除指令,擦除指定空间范围外的数据,指定空间范围的数据为闪存启动程序、操作系统加载器程序和模式切换标志位。
12.如权利要求9至11所述的芯片,其特征在于,控制模块,还用于在执行操作系统加载器程序的密钥分散指令,对操作系统加载器程序中的主密钥进行分散得到分散密钥后,执行在芯片上预置的操作系统加载器程序的解密指令,使用分散密钥将加密的片上操作系统程序解密后下载到芯片上。
13.如权利要求11所述的芯片,其特征在于,控制模块,还用于执行操作系统加载器程序的数据校验指令,对下载的片上操作系统程序进行校验,当校验通过时,进入片上操作系统工作模式后,调用片上操作系统程序擦除操作系统加载器程序。
14.如权利要求13所述的芯片,其特征在于,控制模块,还用于调用片上操作系统将加密的操作系统加载器程序进行解密后重新下载到芯片上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910243220.6A CN101751279B (zh) | 2009-12-29 | 2009-12-29 | 一种芯片及片上操作系统下载的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910243220.6A CN101751279B (zh) | 2009-12-29 | 2009-12-29 | 一种芯片及片上操作系统下载的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101751279A true CN101751279A (zh) | 2010-06-23 |
CN101751279B CN101751279B (zh) | 2014-01-22 |
Family
ID=42478294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910243220.6A Active CN101751279B (zh) | 2009-12-29 | 2009-12-29 | 一种芯片及片上操作系统下载的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101751279B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110004A (zh) * | 2011-02-28 | 2011-06-29 | 北京握奇数据系统有限公司 | 片内操作系统下载的方法、片内操作系统和智能卡 |
CN103093141A (zh) * | 2013-01-17 | 2013-05-08 | 北京华大信安科技有限公司 | 安全主控芯片cos的下载方法、引导方法及装置 |
CN103294569A (zh) * | 2013-04-27 | 2013-09-11 | 深圳市雄帝科技股份有限公司 | 智能卡的cos版本校验方法及校验装置 |
CN105511912A (zh) * | 2015-11-28 | 2016-04-20 | 惠州市蓝微新源技术有限公司 | 一种基于can总线的程序下载方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4288893B2 (ja) * | 2001-09-26 | 2009-07-01 | ソニー株式会社 | 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 |
CN101171591A (zh) * | 2005-05-09 | 2008-04-30 | 松下电器产业株式会社 | 存储卡、应用程序存储方法以及存储程序 |
CN100468334C (zh) * | 2006-06-07 | 2009-03-11 | 普天信息技术研究院 | 一种对存储卡片上操作系统进行升级的方法 |
CN101256609B (zh) * | 2007-03-02 | 2010-09-08 | 群联电子股份有限公司 | 存储卡及其安全方法 |
-
2009
- 2009-12-29 CN CN200910243220.6A patent/CN101751279B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110004A (zh) * | 2011-02-28 | 2011-06-29 | 北京握奇数据系统有限公司 | 片内操作系统下载的方法、片内操作系统和智能卡 |
CN102110004B (zh) * | 2011-02-28 | 2014-03-26 | 北京握奇数据系统有限公司 | 片内操作系统下载的方法、片内操作系统和智能卡 |
CN103093141A (zh) * | 2013-01-17 | 2013-05-08 | 北京华大信安科技有限公司 | 安全主控芯片cos的下载方法、引导方法及装置 |
CN103294569A (zh) * | 2013-04-27 | 2013-09-11 | 深圳市雄帝科技股份有限公司 | 智能卡的cos版本校验方法及校验装置 |
CN103294569B (zh) * | 2013-04-27 | 2018-11-06 | 深圳市雄帝科技股份有限公司 | 智能卡的cos版本校验方法及校验装置 |
CN105511912A (zh) * | 2015-11-28 | 2016-04-20 | 惠州市蓝微新源技术有限公司 | 一种基于can总线的程序下载方法 |
CN105511912B (zh) * | 2015-11-28 | 2017-09-12 | 惠州市蓝微新源技术有限公司 | 一种基于can总线的程序下载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101751279B (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2795829B1 (en) | Cryptographic system and methodology for securing software cryptography | |
CN100578473C (zh) | 嵌入式系统和增加嵌入式系统安全性的方法 | |
US20030163717A1 (en) | Memory card | |
CN106599629B (zh) | 一种安卓应用程序加固方法及装置 | |
CN109784007B (zh) | 一种字节码加密的方法、字节码解密的方法及终端 | |
US9430650B2 (en) | Method for managing memory space in a secure non-volatile memory of a secure element | |
AU774140B2 (en) | Chip card comprising means for managing a virtual memory, associated communication method and protocol | |
CN101763469B (zh) | 数字版权管理系统及其实现方法 | |
CN107196907B (zh) | 一种安卓so文件的保护方法及装置 | |
CN103946856A (zh) | 加解密处理方法、装置和设备 | |
CN110826031B (zh) | 加密方法、装置、计算机设备及存储介质 | |
CN100405335C (zh) | 存储器信息保护系统、半导体存储器及存储器信息的保护方法 | |
KR20120120686A (ko) | 휴대용 단말기에서 어플리케이션 패키지를 처리하기 위한 장치 및 방법 | |
CN111159658B (zh) | 字节码处理方法、系统、装置、计算机设备和存储介质 | |
CN116388980A (zh) | 一种Android环境密钥分段处理方法及装置 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN101751279B (zh) | 一种芯片及片上操作系统下载的方法 | |
CN106056017A (zh) | 智能卡cos加密下载系统 | |
CN103971034A (zh) | 一种保护Java软件的方法及装置 | |
US20100077230A1 (en) | Protecting a programmable memory against unauthorized modification | |
CN100367144C (zh) | 用于加密的应用程序安装的结构 | |
CN105574441A (zh) | 一种嵌入式固件保护的方法和装置 | |
CN102831357B (zh) | 二次开发嵌入式应用程序的加密和认证保护的方法及系统 | |
CN102662874A (zh) | 双界面加密存储卡及其中的数据管理方法和系统 | |
KR20140048094A (ko) | 이동 단말 장치 칩 프로그래밍을 위한 방법 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: Beijing Watchdata Limited by Share Ltd Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: Beijing Woqi Data System Co., Ltd. |
|
CP01 | Change in the name or title of a patent holder |