北京惟望科技发展有限公司010-64283188 登录 | 注册

当前位置:首页 > 经验交流

智能卡操作系统(COS)简介

发布日期:2012-05-31 来源:互联网 浏览次数:845

【导读】:COS的全称是Chip Operating System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响,因此,COS在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX等)。

COS的全称是Chip Operating System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响,因此,COS在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX等)。


首先,COS是一个专用系统而不是通用系统。即:一种COS一般都只能应用于特定的某种(或者是某些)智能卡,不同卡内的COS一般是不相同的。因为COS一般都是根据某种智能卡的特点及其应用范围而特定设计开发的,尽管它们在所实际完成的功能上可能大部分都遵循着同一个国际标准。其次,与那些常见的微机上的操作系统相比较而言,COS在本质上更加接近于临控程序、而不是一个通常所谓的真正意义上的操作系统,这一点至少在目前看来仍是如此。因为在当前阶段,COS所需要解决的主要还是对外部的命令如何进行处理、响应的问题,这其中一般并不涉及到共享、并发的管理及处理,而且就智能卡在目前的应用情况而看,并发和共享的工作也确实是不需要曲。COS在设计时一般都是紧密结合智能卡内存储器分区的情况,按照国际标准(ISO/IEC7816系列标准)中所规定的一些功能进行设计、开发。但是由于目前智能卡的发展速度很快,而国际标准的制定周期相对比较长一些,因而造成了当前的智能卡国际标准还不太完善的情况,据此,许多厂家又各自都对自己开发的COS作了一引起扩充。


COS的体系


COS是驻留智能卡内的操作系统软件,类似于PC上的DOS系统,不过比DOS系统要简单的多。COS主要用于接受和处理外界(如手机或者读卡器)发给SIM卡的各种信息,执行外界发送的各种指令〔如鉴权运算),管理卡内的存储器空间,向外界回送应答信息等。一般来说,智能卡COS系统模型共由4部分组成:通信管理模块,安全管理模块,应用处理模块,文件管理模块。


COS的开发,首先的解决传输管理问题,即I/O问题,智能卡通过触点(非接触卡是通过场与读写设备交换数据的,遵循的国际标准是14443)和读写设备交换数据的,就是对国际标准ISO7816-3的实现。


然后是文件管理,对各种类型的文件都要有一种访问机制,以存储用户数据,既要高效,又要安全。COS的安全体系,是COS中的重要部分,是以密码算法为基础的,通过密码算法,控制用户的权限,什么情况下允许外部对智能卡进行什么操作。命令解释是对行业规范中的命令和智能卡专用命令的实现,一条命令有时是多种功能的综合体,命令解释部分要对命令作出解释,根据权限满足情况,控制各种功能的实现。


安全性是COS的关键环节,COS创建一种安全体系,把这种体系的控制权以安全的方式移交给客户,不留任何后门,客户将利用这种安全体系保护用户数据。一旦移交安全控制权,COS的开发商也和别人一样,对智能卡上的数据智能靠合法权限进行操作,别无其他办法。那么COS开发的难点就是这种提供客户使用的安全体系。如果有人能够找到突破口,对智能卡内的数据进行非授权访问,则COS是失败的。


密码技术应用,是智能卡领域必然提及的问题。密码算法不是信息安全的全部,但绝对是信息安全的重要基础之一,没有安全的密码算法,就绝不会有信息安全。运用密码技术,可保护数据的机密性、完整性、可认证性、不可否认性。所谓密码,就是利用一种算法,用特定的密钥对叫做明文的用户数据进行变形处理,这个变换的过程叫做加密,经加密的数据是不可识别的,称为密文,只有在合法情况下,用特定的密钥,以规定的算法对密文进行逆向变换,才可恢复出明文,逆变换的过程叫做解密。现代密码学中,算法是公开的,需要保密的是密钥。


外界信息(指令或数据)通过通信管理模块进入COS,由安全管理模块对其合法性进行认证检查,其后由应用处理模块根据外界信息的含意(执行、存储)进行解释,最后由文件管理模块根据应用处理模块的解释结果对EEPROM中的文件进行操作。


如果COS需要对外界信息作出应答,则由文件管理模块读取EEPROM中的文件数据传送给应用处理模块,或直接由应用处理模块提取按照外界信息中指令的执行结果,这些信息或数据经过安全管理模块的认证检查后,通过通信管理模块反馈给外界,从而完成一次完整的处理过程。


传统的COS(Card Operating System)和卡片应用是在安全的环境下开发并装载到芯片内的,最近几年,开放式操作系统平台如Java CardTM, MultOS, Windows For Smart Card取得了重大发展,这大大方便了智能IC卡的应用开发和一卡多用的实现,并且允许动态地装载、更新或删除卡片应用。


Java Card已成为事实上的行业标准,以Java虚拟机(JVM)为基础,支持多应用动态下载。Java智能IC卡具有平台无关、高安全性、高可靠性、一卡多用的特点,适于开发特定场合、突出个人身份验证、并在用卡交易过程中确保持卡人和证件一致性的应用。


微软智能IC卡视窗(Windows For Smart Card)与微软Windows操作系统相结合,将在电子商务、网络安全有广阔前景。MULTOS 是一个多应用OS,它卡片有效生命周期内允许动态地装载、更新或删除卡片应用。


另外,智能IC卡也是电子商务的未来,它本身固有的安全性和方便性,使其成为目前公认的网络安全用户端解决方案。利用智能IC卡可以较方便通过数据加密以及通过PKI进行身份验证,保证在线安全支付。

分享到:
相关阅读