智能卡操作系统的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进行身份验证,保证在线安全支付。