CN105468408A - 智能卡下载密码算法的方法 - Google Patents
智能卡下载密码算法的方法 Download PDFInfo
- Publication number
- CN105468408A CN105468408A CN201510801634.1A CN201510801634A CN105468408A CN 105468408 A CN105468408 A CN 105468408A CN 201510801634 A CN201510801634 A CN 201510801634A CN 105468408 A CN105468408 A CN 105468408A
- Authority
- CN
- China
- Prior art keywords
- cryptographic algorithm
- smart card
- data
- downloaded
- operating system
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种智能卡下载密码算法的方法,其中,包括:编写下载命令,存储在读写器或终端内;读写器或终端发送规定的下载命令以及待下载的包括密码算法的数据,该智能卡操作系统解析该下载命令,根据该下载指令中的FLASH地址信息,将该密码算法的数据存储在相应的FLASH地址上,将原密码算法的数据替代;如该密码算法下载完成,则将密码算法数据与操作系统的指针进行关联,形成密码算法,以便智能卡操作系统进行调用,实现加解密功能。本发明智能卡下载密码算法的方法可以提高开发人员的开发效率,降低相互依赖性,替换密码算法无需擦除智能卡的数据,也无需重装操作系统,大大降低卡片的维护成本,缩短开发周期,为用户的使用提供了便捷。
Description
技术领域
本发明涉及智能卡安全技术领域,尤其涉及一种智能卡下载密码算法的方法。
背景技术
通常情况下,智能卡操作系统(COS)处理密码算法的方法是智能卡开发人员创建一个操作系统的工程,然后直接调用密码算法开发人员提供的动态库。密码算法的开发人员需提前提供密码算法动态库供智能卡开发人员调用,然后智能卡开发人员将密码算法动态库加载到操作系统工程中,生成操作系统安装包。最终,智能卡开发人员将这个安装包安装给智能卡,生产出带有加解密功能的智能卡。
上面这种方法存在一些不足之处。智能卡开发人员必须提前得到密码算法的动态库,然后才可以进行开发;另外,安装好操作系统的智能卡无法单独替换密码算法,如果想替换密码算法,只能把智能卡上的数据全部擦除,然后重装操作系统。这种方法使得密码算法和智能卡操作系统两者相互依赖,为开发工作带来了难度,不便于智能卡的管理和维护。
发明内容
本发明的目的在于提供一种智能卡下载密码算法的方法,用于解决上述现有技术的问题。
本发明一种智能卡下载密码算法的方法,其中,包括:编写下载命令,存储在读写器或终端内;读写器或终端发送规定的下载命令以及待下载的包括密码算法的数据,该智能卡操作系统解析该下载命令,根据该下载指令中的FLASH地址信息,将该密码算法的数据存储在相应的FLASH地址上,将原密码算法的数据替代;如该密码算法下载完成,则将密码算法数据与操作系统的指针进行关联,形成密码算法,以便智能卡操作系统进行调用,实现加解密功能。
根据本发明的智能卡下载密码算法的方法的一实施例,其中,还包括:在该密码算法下载完成后,根据下载的密码算法的版本信息,更改密码算法版本标志,记录更改记录,并结束下载。
根据本发明的智能卡下载密码算法的方法的一实施例,其中,下载的包括密码算法的数据的过程具体包括:读写器或终端将密码算法进行数据分包,对每个数据包进行CRC校验,然后将数据包和CRC校验一起发给智能卡;智能卡操作系统对收到的信息进行解析,提取出其中的数据包,并对数据包进行CRC计算校验,然后与读写器发来的CRC校验进行比较,如果正确就继续执行,如果不正确则向读写器报错;智能卡操作系统将解析得到的数据存储到命令中指定的内存上,并向读写器发送执行成功的状态码;重复上述过程,直至密码算法下载完成。
根据本发明的智能卡下载密码算法的方法的一实施例,其中,该智能卡下载的包括密码算法的数据之前,还包括初始化调用密码算法要使用的数据结构,以确定密码算法在该智能卡片FLASH中的待存放地址。
与智能卡操作系统(COS)处理密码算法的现有方法相比,本发明提出的技术方法可以提高开发人员的开发效率,降低相互依赖性,替换密码算法无需擦除智能卡的数据,也无需重装操作系统,大大降低卡片的维护成本,缩短开发周期,为用户的使用提供了便捷。
附图说明
图1所示为本发明智能卡下载密码算法的方法的主流程图;
图2所示为智能卡下载密码算法中下载密码算法的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的目的就是提出一种独立化下载密码算法,能够确保密码算法安全保密的,降低智能卡开发人员对密码算法依赖性,提高智能卡可维护性的密码算法后下载的COS系统设计方法。
图1是本发明技术方法的主流程图,如图1所示,本发明智能卡下载密码算法的方法包括:
编写下载命令,存储在读写器或终端内;
使用可以与智能卡通信的读写器,读写器发送规定的下载命令以及待下载的密码算法的数据,智能卡操作系统解析该下载命令,根据该下载指令中的FLASH地址信息,将该密码算法的数据存储在相应的FLASH地址上,将原密码算法的数据替代;
操作系统判断该密码算法已经下载完成,将新下载的密码算法数据与操作系统的指针进行关联成密码算法,以便智能卡操作系统进行调用,实现加解密功能。
对于一实施例,在密码算法下载完成后,根据下载的密码算法的版本信息,更改密码算法版本标志,记录更改记录,同时结束下载。
对于一实施例,智能卡下载密码算法的方法还需要在智能卡操作系统中编写独立统一的密码算法下载命令,该命令可以将读写器发给智能卡的数据下载到指定的Flash地址上(如0x3099001),从而实现密码算法的替换。智能卡开发人员将编写好的智能卡操作系统安装到智能卡中。
对于一实施例,智能卡在下载密码算法之前,还进行初始化,调用密码算法要使用的数据结构,以确定密码算法在卡片FLASH中的待存放地址。在本实施例中,创建了以下数据结构:
加解密函数指针:用于定位加解密函数入口地址的指针变量,使用时我们将算法的内容下载到指定好的位置,使用加解密函数指针来实现加解密函数的调用。
存储密码算法版本的标志:由于密码算法在使用过程中可能会经常更改,本发明中将密码算法版本存储在指定的内存地址上,如果进行了更改,可以直接更换该版本标志的内容,便于开发人员进行管理和维护。
对于一实施例,为了更好更可靠的实现上述密码算法后下载的过程,在密码算法下载过程中,使用校验和的方式对下载的数据进行校验,如果校验出错,则重新下载,直到下载结束。下载结束后更新密码算法版本标志,便于开发人员判断当前使用的密码算法的版本,也可以防止其重复更新相同的密码算法。
图2是本发明中下载密码算法的流程图,密码算法的下载过程包括下列步骤:
(1)读写器将密码算法进行数据分包,比如每64字节一包,顺序分包,对每个数据包计算CRC校验,然后将数据包和CRC校验一起发给智能卡,智能卡操作系统COS负责接收和解析命令。
(2)COS对收到的命令进行解析,提取出其中的数据包,并对数据包进行CRC计算校验,然后与读写器发来的校验进行比较,如果正确就执行(3),如果不正确则向读写器报错。
(3)COS将解析得到的数据存储到命令中指定的内存上,并向读写器发送执行成功的状态码。
(4)重复上述过程,直至密码算法下载完成,然后将版本信息写入Flash中指定的地址上,本次下载过程结束。
综上,本发明智能卡下载密码算法的方法,使用密码算法后下载的方式,智能卡操作系统开发人员无需提前获得密码算法就可以直接进行开发,密码算法开发人员无需向智能卡开发人员提供密码算法动态库,使得密码算法和智能卡操作系统这两个原本相互依赖的部分变得相互独立。使用函数指针的方法将Flash中的内容与实际的函数功能相结合,保护彼此的核心内容不被别人知道,并且方便开发人员进行开发,缩短开发周期,如果后期需要将卡片中的密码算法进行更改,本发明无须重新制卡,只需将新的密码算法下载到卡片中即可,大大降低了卡片的维护成本。
与智能卡操作系统(COS)处理密码算法的现有方法相比,本发明提出的技术方法可以提高开发人员的开发效率,降低相互依赖性,替换密码算法无需擦除智能卡的数据,也无需重装操作系统,大大降低卡片的维护成本,缩短开发周期,为用户的使用提供了便捷。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种智能卡下载密码算法的方法,其特征在于,包括:
编写下载命令,存储在读写器或终端内;
读写器或终端发送规定的下载命令以及待下载的包括密码算法的数据,该智能卡操作系统解析该下载命令,根据该下载指令中的FLASH地址信息,将该密码算法的数据存储在相应的FLASH地址上,将原密码算法的数据替代;
如该密码算法下载完成,则将密码算法数据与操作系统的指针进行关联,形成密码算法,以便智能卡操作系统进行调用,实现加解密功能。
2.如权利要求1所述的智能卡下载密码算法的方法,其特征在于,还包括:在该密码算法下载完成后,根据下载的密码算法的版本信息,更改密码算法版本标志,记录更改记录,并结束下载。
3.如权利要求1所述的智能卡下载密码算法的方法,其特征在于,下载的包括密码算法的数据的过程具体包括:
读写器或终端将密码算法进行数据分包,对每个数据包进行CRC校验,然后将数据包和CRC校验一起发给智能卡;
智能卡操作系统对收到的信息进行解析,提取出其中的数据包,并对数据包进行CRC计算校验,然后与读写器发来的CRC校验进行比较,如果正确就继续执行,如果不正确则向读写器报错;
智能卡操作系统将解析得到的数据存储到命令中指定的内存上,并向读写器发送执行成功的状态码;
重复上述过程,直至密码算法下载完成。
4.如权利要求1所述的智能卡下载密码算法的方法,其特征在于,该智能卡下载的包括密码算法的数据之前,还包括初始化调用密码算法要使用的数据结构,以确定密码算法在该智能卡片FLASH中的待存放地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510801634.1A CN105468408A (zh) | 2015-11-19 | 2015-11-19 | 智能卡下载密码算法的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510801634.1A CN105468408A (zh) | 2015-11-19 | 2015-11-19 | 智能卡下载密码算法的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468408A true CN105468408A (zh) | 2016-04-06 |
Family
ID=55606146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510801634.1A Pending CN105468408A (zh) | 2015-11-19 | 2015-11-19 | 智能卡下载密码算法的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468408A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798256A (zh) * | 2017-11-21 | 2018-03-13 | 成都三零嘉微电子有限公司 | 一种基于密码算法分离存储的智能卡及设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604404A (zh) * | 2009-07-31 | 2009-12-16 | 北京印天网真科技有限公司 | 一种可更新的通用智能卡及其系统和方法 |
CN101887529A (zh) * | 2010-07-01 | 2010-11-17 | 刘久文 | 一种用户可自行更换加密算法的射频识别卡及其方法 |
CN103077097A (zh) * | 2013-02-25 | 2013-05-01 | 国电南瑞科技股份有限公司 | 一种基于tcp方式下可校验的flash数据烧写方法 |
CN104484628A (zh) * | 2014-12-17 | 2015-04-01 | 西安邮电大学 | 一种具有加密解密功能的多应用智能卡 |
-
2015
- 2015-11-19 CN CN201510801634.1A patent/CN105468408A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604404A (zh) * | 2009-07-31 | 2009-12-16 | 北京印天网真科技有限公司 | 一种可更新的通用智能卡及其系统和方法 |
CN101887529A (zh) * | 2010-07-01 | 2010-11-17 | 刘久文 | 一种用户可自行更换加密算法的射频识别卡及其方法 |
CN103077097A (zh) * | 2013-02-25 | 2013-05-01 | 国电南瑞科技股份有限公司 | 一种基于tcp方式下可校验的flash数据烧写方法 |
CN104484628A (zh) * | 2014-12-17 | 2015-04-01 | 西安邮电大学 | 一种具有加密解密功能的多应用智能卡 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798256A (zh) * | 2017-11-21 | 2018-03-13 | 成都三零嘉微电子有限公司 | 一种基于密码算法分离存储的智能卡及设计方法 |
CN107798256B (zh) * | 2017-11-21 | 2020-02-21 | 成都三零嘉微电子有限公司 | 一种基于密码算法分离存储的智能卡及设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936719B2 (en) | Preserving trust data during operating system updates of a secure element of an electronic device | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
US20150220319A1 (en) | Method and System for Updating a Firmware of a Security Module | |
US20100012732A1 (en) | Installing a patch in a smart card module | |
US20090064125A1 (en) | Secure Upgrade of Firmware Update in Constrained Memory | |
CN111095338A (zh) | 用于执行不同类型区块链合约的系统和方法 | |
US9734091B2 (en) | Remote load and update card emulation support | |
CN110351346A (zh) | 一种eSIM换卡方法及相关设备 | |
CN107273148B (zh) | 数据的更新驱动迁移 | |
CN108830113A (zh) | 一种Android设备唯一标识的获取方法 | |
CN104486343A (zh) | 一种双因子双向认证的方法及系统 | |
CN104021018A (zh) | 终端、生成升级包的方法及识别升级包的方法 | |
CN107231490A (zh) | 动态更新ios系统应用程序的方法、客户端及服务器 | |
CN103177210A (zh) | 一种在Android中植入动态污点分析模块的方法 | |
CN110502243B (zh) | 用于在集成电路卡中生成个性化简档包数据的方法 | |
CN106657361B (zh) | 一种代码添加混淆的安卓安装包ota升级方法 | |
CN106066802A (zh) | 一种加载mbn文件的方法和装置 | |
CN116388980A (zh) | 一种Android环境密钥分段处理方法及装置 | |
CN106020868B (zh) | 一种智能卡固件更新方法及系统 | |
CN107730253B (zh) | 一种脱机交易时效管理方法及装置 | |
US9298949B2 (en) | Method for programming a mobile end device chip | |
CN108170461A (zh) | 差分升级包生成方法、差分升级方法及装置 | |
CN107864109B (zh) | 一种nfc智能卡应用数据迁移方法 | |
CN107145342B (zh) | 应用的渠道信息的处理方法和装置 | |
US10474447B2 (en) | Method for managing a package in a secure element |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160406 |