软件安全技术

来源:互联网 发布:黑客帝国矩阵屏保视频 编辑:程序博客网 时间:2024/04/27 17:12
除了以上的两种安全保护措施外,在IC卡的软件方面也提供了相应的保护措施。一般在较简单的IC卡(存储器卡等)中,所采用的安全技术较简单,多以硬件实现;而带MPU的智能IC卡所采用的安全技术则较为复杂,一般由软、硬件共同实现,且其中软件所占比例最大。值得注意的是带MPU的智能IC卡所采用的安全技术并不是简单的IC卡所采用安全技术的量的增加,而是质的提高。 

 

 

    软件就是指带MPU的智能IC卡中所实现的IC卡系统监控程序或IC卡操作系统,而IC卡操作系统则更为完善、复杂。

 

    智能IC卡的硬件主要由微处理器(目前多为8位MPU)、程序存储器(ROM)、临时工作存储器(RAM)、用户存储器(目前多为EEPROM)、输入输出接口、安全逻辑及加密解密运算协处理器等组成,见图2-1。由图可见,智能IC卡的硬件就是一个小型的微处理器系统,只是在安全方面有更多的设计而已;而软件棗系统监控程序或操作系统则是智能IC卡实现其安全性的关键。

 

<img src=Image8.gif>  

 

智能IC卡内部硬件组成示意图

 

    一个典型的操作系统可以按OSI模型分成物理层(1层)、数据传输层(数据、链路层/2层)、应用协议层(应用层/7层)三层。每一层由一个或几个相应的功能模块予以实施。其典型结构见下图。

 

<img src=Image9.gif>  IC卡操作系统的典型模块结构

 

   其中,IFD为IC卡接口设备(IC Card Interface Device),即IC卡读写设备;ICC为IC卡(IC Card)。在IFD和ICC之间的信息交换是命令棗响应顺序结构。大多数情况下以IFD或应用终端( PC,Workstation,Server,etc)作为宿主机,它将产生命令及执行顺序。而ICC则响应宿主机的不同命令,典型的传输结构见下图:

 

<img src=Image10.gif>  

 

IFD和ICC之间的典型传输结构

 

    这样,在IFD和ICC之间传输信息的安全性必须得以保障,否则完全有被截取的可能性。IC卡操作系统对此采取了加密或隐含传输的方法,就是将待传送的命令或响应回答序列进行加密处理之后再进行传输。

 

    同时,一个较完善的IC卡操作系统必须能够管理一个或多个相互独立的应用。它应能为有关应用提供相应的应用管理、传输管理、文件管理、安全管理等功能。不同功能之间的逻辑关系见图2-4。图中安全管理功能可由用户根据情况取舍。下面以接口设备(IFD)向IC卡(ICC)发送一命令说明其工作过程,首先传输管理模块对物理层上传输的信号进行解码并将其传递给安全管理模块;若为加密传输则该模块对其进行解密并将解密后的命令传输给应用管理模块,若不是加密传输则该模块将其直接传递给应用管理模块;应用管理模块根据预先的设计要求,检查此命令的合法性以及是否具备执行条件(与应用顺序控制有关),若检查通过则启动执行此命令;如果此命令涉及到有关信息存取,则文件管理模块检查其是否满足预先设计的存取条件,若条件满足则执行有关数据存取操作。在整个过程中,若任何一次检查失败将立即了退出并给出响应信息。响应工作过程反之亦然。

 

智能IC卡不同功能之间的逻辑关系

 

    在智能IC卡中,每个应用可以具有一个个人识别码(PIN),也可以几个应用共用一个识别码,而且密码宽度更宽,密码空间更大,密码管理也更为严格。用户可以自行定义个人识别码错误输入的有效次数,为安全起见,同时也可以定义解锁密码,即一旦持卡人将个人识别码忘记而卡被锁住后,利用解锁密码(PUC)也可以将卡打开,从而具有更高的实用性和安全性。

 

    在智能IC卡中,还特别提出了认证(Authentication)的概念,即ICC和IFD之间只有相互认证之后才能进行如数据的读、写等具体操作。认证主要用于防止伪造IC卡及有关应用终端。

 

    认证有以下三种工作方式。

 

内部认证

 

    应用终端阅读卡中的固定数据,然后导算出认证密钥。终端产生随机数并送给卡,并指定下一步应用的密钥。卡用指定密钥对该随机数进行加密,然后将经过加密的随机数送回终端。终端对该随机数进行解密,比较是否一致,若一致则内部认证成功。其具体工作过程见图。

 

<img src=Image11.gif>  

 

内部认证流程图

 

外部认证

 

    终端设备从IC卡中读取卡数据并导算出认证密钥。因为IC卡本身不能发送此数据,这一认证方法由终端设备控制。终端设备从IC卡中取得一随机数(通常为8字节),用认证密钥对它进行加密并且将它发送到IC卡。IC卡对这个加密值进行检查比较,见图。

 

<img src=Image12.gif>  

 

外部认证流程图

 

相互认证

 

    终端设备从IC卡中读取数据并导算出认证密钥。终端设备从IC卡中取得一随机数(通常为8字节)并产生它自己的随机数(通常为8字节)。这两个随机数和卡数据(连接成一个串)由认证密钥进行加密。终端设备将此加密值传送到IC卡。IC卡用终端设备指定的认证密钥对此加密值进行解密并比较。成功比较之后,IC卡用认证密钥加密终端设备的随机数和它自己的随机数,并将此加密值发送回终端设备。终端设备解密这个加密值并和它自己的随机数进行比较,见图。

 

<img src=Image13.gif>  

 

相互认证流程图

 

    从以上三种认证工作方式可以看出,加密、解密密钥只存在于IC卡和有关应用终端的内部,一旦形成决不外露。因此,密钥十分安全。每次认证以随机数为媒介,每 次认证数据均为不相同(相同概率很小),因而破译难度十分大。所以,这种工作方式具有更高的安全性。其中,加密、解密算法一般采用国际通用的DES或RSA算法。这两种算法均具有很高的安全性,将在下一节作详细的介绍。

 

    IC卡操作系统所提供的安全功能主要有以下几种:

 

用户和IC卡系统的相互验证; 

 

软硬件测试功能; 

 

应用顺序控制和管理; 

 

安全传输管理; 

 

个人身份识别管理; 

 

密钥管理; 

 

随机数的产生及传输; 

 

加密、解密等 

<img src=Image14.gif>  

    (有关智能IC卡操作系统的内容将在下面章节中详细介绍。)

 

    以上三种方法从不同层次、不同角度对IC卡进行全面的技术保护,从而使其具有很高的安全性,使非法伪造与使用几乎不可能。

 

    以IC卡所有的以上三个层次的安全技术进行汇总,见图8。

 

    不同功能、不同应用的IC卡,可依据所要求的安全性采用以下三种层次安全技术中相应的技术。其采取不同技术的原则是:第一,使最终应用的IC卡具有较高的性能价格比;第二,伪造的费用等远大于从中获得的效益。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米4c死机了怎么办 苹果手机拨打电话时黑屏怎么办 华为畅享6黑屏怎么办 手机拨号键盘变小了怎么办 小米5s手机黑屏打不开怎么办 小米5s黑屏只能开关机怎么办 手机拨号键没了怎么办 华为手机桌面拨号图标不见了怎么办 华为手机拨号图标不见了怎么办 小米4s屏幕显示黑屏怎么办 平板拨号键没了怎么办 华为手机拨号图标没了怎么办 华为荣耀手机进水了怎么办 华为畅享7黑屏怎么办 华为畅玩7x黑屏怎么办 华为手机打电话时黑屏怎么办 三星a8手机黑屏打不开怎么办 华为手机恢复出厂后黑屏怎么办 华为荣耀4c白屏怎么办 华为荣耀6手机信号不好怎么办 华为荣耀8手机音量小怎么办 无法激活触控id怎么办 魅蓝2卡顿怎么办 小米max2玩王者荣耀卡怎么办 小米4玩王者荣耀卡怎么办 华为荣耀7i卡顿怎么办 华为荣耀7卡的怎么办 荣耀8手机有孤独怎么办 红米note4玩游戏卡怎么办 红米note4x玩游戏卡怎么办 华为4c死屏怎么办 华为4c充电很慢怎么办? 华为4c突然死机了怎么办 华为畅玩4c内存不足怎么办 荣耀4c一直亮屏怎么办 华为手机返回键失灵怎么办 荣耀6p死机了怎么办 荣耀6主板烧坏了怎么办 虚拟运营商倒闭了号怎么办 买到二次放号怎么办 新运动鞋鞋穿着有点紧怎么办