当前位置:
文档之家› 智能卡技术课程报告(智能卡的安全机制)
智能卡技术课程报告(智能卡的安全机制)
1
《智能卡技术》课程论文
形式。加密文本和加密过程相同的密钥传递给解密过程时,经过解密即可恢复原始的普通文 本。
这一方法可以让原始文本信息对没有密钥的任何人保密,也可以使两两交易中的任一方 确定对方持有密钥,从而确定彼此的身份。
智能卡环境中对这种对称密钥身份认证应用如下图 2 所示。
如果口令文本一致,卡与终端就知道他们共享同一个密钥(也就是,他们 拥有相同的密钥,他们已经建立起相互得到确认的标识)本
II 身份认证
1、 对称密钥认证
普通文本
加密过程
密钥
加密文本
普通文本
解密过程
图 1 对称密钥加密 对称密钥算法在提供块信息加密方面最有用,因为相比公钥加密算法它对处理器速度的 要求要低得多。对称加密算法采用同一个密钥对信息进行加密与解密,如上图 1 所示。 在对称密钥算法中,普通文本传递给加密过程,得到的加密文本包含普通文本所携带的 所有信息。但是,由于经过加密处理,没有密钥的读卡机是没有办法理解加密文本的信息的
IV 授权
一旦通过某个认证程序建立了一个实体的标识,在一给定系统中,该实体所能做的是另 一种称为授权的安全性概念所要处理的问题。服务器根据客户拥有的权限,向客户提供信息
5
和一些其他的必要服务。如图 6 所示。
客户端
认证身份 授权的服务
《智能卡技术》课程论文
服务器端
访问 控制
表
感兴 趣的 对象
图 6 授权模型 该模型表明,如果客户想对某一感兴趣的对象进行某种访问,他首先必须先向服务器验 证他的标识。然后服务器会查询客户的、与所感兴趣对象有关的权限表。图 6 中用访问控制 表来表示权限表,大多数这样的机制都可被概括为与访问控制表相似的功能。这种机制在智 能卡中得到了广泛的应用,被用于对信息存取或处理功能。
如果口令文本一致,卡与终端就知道他们共享同一个密钥(也就是,他们 拥有相同的密钥,他们已经建立起相互得到确认的标识)本
本 口令文本
本 私钥
解密过程
终端应用
本 口令文本
解密过程
公钥
加密文本
智能卡应用
图 4 非对称密钥认证 如上图 4 所示,实际上是一种单向认证机制,终端能向智能卡端确认其自身的身份。这 样,终端应保护实际上表示他私人身份的私钥。与该私钥对应的公钥可以自由分配。因此, 可将它存储在任何想利用该终端的智能卡上。所以智能卡可用此公钥来加密口令文本串,也
《智能卡技术》课程论文
浅析智能卡的安全机制
摘要:智能卡能够生存的主要原因之一就是其安全性。卡本身提供了一个计算平台,此 平台上,既能安全地保存信息,又能安全地进行各种计算。智能卡也十分精巧便于携带。因 此,智能卡非常适用于作为提高其他系统安全性的标志。
关键字:智能卡、物理安全、身份认证、完整性、授权、保密性
装在卡内的、基于微处理器的计算机的增强性的安全结构以及卡自身的抗损包装是智能 卡物理安全的重要部分。将处理器、内存和输入/输出部件整合到一个集成电路芯片中提高 了配置的安全性。但是将带点的探针和内部的接线连接起来是非常困难的。若攻击者想要直 接从卡的芯片中获得信息,就必须实际占有卡、拥有相关设备并具备一定的知识。
I 物理安全
物理安全是全面的安全结构的中心。持卡者在物理上占有智能卡计算平台,这是向全面 安全机制迈进的一大步。这种情况下,对整个系统安全的攻击,就必须通过攻击运行中的系 统部件或通过检验系统运行时获取的信息而得以实现。可用智能卡的系统的全面安全结构必 须满足如下的特性:如果持卡者不再占有卡,那么,由于安全性攻击而造成的损害,应该能 过通过持卡人不再占有卡这一信息得到限制,并且最大程度的减小与持卡人有关信息的泄露, 如卡自启动自毁程序等。
如果整个特定的安全系统都熟悉公钥密码的公钥,就可使用前文所述的机制。如果公钥 不为整个系统所知,有另外一种方法可为交易中的不同参与者分配对称会话密钥,这就是 Diffie-Hellman 协议。通过预先同意利用一种公共算法,终端双方都能根据彼此明白的交换 的信息计算出一个秘密的密钥。实际上,这项技术不能用于加密信息,只能够用于交换秘密 的对称密钥,该对称密钥交换后用于加密实际交易信息。
普通文本
加密过程
2
《智能卡技术》课程论文解密过程
密钥 2
图 3 非对称密钥加密 如上图 3 所示,这种技术用一个密钥进行加密,用另一个密钥进行解密恢复出原始普通 文本的信息。实际上,在加密密钥和解密密钥之间有一个共享的密码,即这些密钥被生成作 为一个公有算法的不同的部分。对用于非对称密钥机制的两种密钥,一种被实体留作严格保 密的私钥,实体将用此密钥进行身份认证;另一种是可以分配给任何人的公钥。用公钥和私 钥进行配对作为建立已认证身份的标志。
从计算上讲,公有密钥加密或解密算法比对称密钥算法需要更大的计算量。因此,在智 能卡处理器上,想要在短时间内加密或解密智能卡处理器中的大量信息是不现实的。然而, 口令文本的容量不会太大,所以公有密钥机制可以有效的用来作为已经确认的标识,即使给 定的智能卡的处理容量有限。
III 完整性
上述的机制在交易中的大量参与者之间认证身份是非常有用的。不过这些机制还可以用 于确认与文档或程序有关的标识。确认标识的过程就是执行函数的过程,这一身份认证过程 构成了称为“数字签名”的一部分。数字签名的其他部分还包括确认那些数字签名的信息, 在从被签到被读取的时间里没有被更改。这一点涉及安全性的另外一个概念——完整性。
1、 单向 Hash 函数 如图 4 所示的情况,当智能卡用公钥加密口令时,智能卡在终端证明了它拥有能解密口 令文本的私钥后,开始认证终端的身份。智能卡知道只有私钥的拥有者才能解密这些信息。 因此,如果将过程反过来,终端产生一段文本并用私钥加密,当用公钥解密时,智能卡必须 知道文本从终端传过来。因此,终端已经对文件进行了数字签名。也就是说,终端实际上已 经附加了一个标识符号。 公有密钥机制的加密和解密对处理器而言是很费时的。而且,公有密钥加密和解密操作, 目的是身份认证,并不能保证其保密性。实际上没有必要为了数字签名和确认信息未发生变 化而对设计的所有信息进行加密。需要做的事计算所有涉及信息的某种唯一的校验和,并加 密该校验和。校验和是用一种统计算法对所涉及的信息进行统计的结果。 校验和的产生可以通过单向 Hash 函数的统计算法来实现。通过 Hash 函数,可以处理 众多的信息和得到相当小的 Hash 码。不同的输入得到不同的输出。为一个构成源文档的特 定数码集创建唯一的 Hash 码,以及不能从给定的数码集预测将要产生的 Hash 码是 Hash 函 数的特性。 已经开发出一种单向 Hash 函数的实体,这种实体为了计算出单向 Hash 码,除了需要 有将要处理的信息外,还需要一个密钥。这种函数被称作 MAC。它们在验证信息的完整性, 以及认证与此信息相关的标识时很有用,但是不能保证信息的保密性。从上述问题得到的另 一个问题涉及到公钥密码和单向 Hash 函数联合使用的问题。也就是数字签名机制。
V 保密性
保密性,顾名思义,对交易的局外人保护交易细节的秘密。前面所述的加密机制适用于 保密性。一般的,主要的设计考虑因素是实际操作环境中的性能。
公钥加密方法比对称密钥加密方法更消耗处理的时间。因此,大多数系统采用对称密钥 算法对属于同一交易系统的不同端点的信息流进行加密。事实上,公钥技术在上述这种情况 下是非常有用的,尤其是党需要交换密钥的对称算法时。如果使用同一对称密钥密码的时间 过长或过于频繁,攻击者会有很大的可能性来破译密码,并利用所获得的信息破坏保密性。
7
4
《智能卡技术》课程论文
2、数字签名 如果对一组信息计算了单向 Hash 函数的值,用私钥对得到的值进行加密,产生的加密 信息将提供对加密 Hash 结果的实体的身份认证、以及保证了原始信息的完整性。如下图 5 所示。
单向 Hash 函数本
文档
Hash 码
私钥
加密过程
数字签名
图 5 使用单向 Hash 函数的数字签名 从图 5 可知,当原文档连同文档上的数字签名一直被输入到另一个实体时,该实体能使 数字签名生效。该实体将认证在原文档上进行数字签名的实体的身份,被确认原文档的完整 性。 3、认证授权 大多数信任模型是基于认证的,认证将现实世界中一个实体的身份信息,与用来鉴别电 子环境中的标识的、公钥部分联系在一起。证书由认证机构签发,认证机构是将在某种程度 上证明身份信息与公钥之间连接的人或部件。 这种模型的派生模型利用两个相互了解的个人之间的信任度,来建立两个可能相互不熟 悉的个人之间的信任链。在这个模型中,一个人从另一个他认识的人接收公钥和有关的信息, 并且对方会对所接收到的信息作证。可以看出这个模型适用于人数相对较少的情况。 大规模信任模型当前基于认证授权或分级认证授权。被称作认证授权机构(CA)的组 织实体完成以下任务:使标识信息生效、将该信息与一特定实体相关联,将所有这些与一公 钥想关联。这种证明以一种由 CA 进行数字化签名的文件的形式提供。目的在于让 CA 成为 被交易双方信任的第三方。如果两个不同的团体都能信任 CA,那么就能信任从 CA 收到的 信息,因此,如果他们都收到了 CA 发给的证书,也能相互信赖。
本 口令文本
本 密钥
加密过程
终端应用
本 口令文本
解密过程
密钥
口令文本
智能卡应用
图 2 通过共享密钥进行身份认证 如上图 2 所示的例子,其应用范围包括终端环境和卡环境。在目前大多数应用系统是由 卡发行商制造的,他们在终端和卡中都安装了这种共享密钥。上图的例子还可扩展到利用两 种截然不同的认证操作,每种使用一个不同的密钥。这种方法在有些情况下是非常有用的, 例如:供许多不同持卡人用的许多不同的卡在终端应用中仅需认证同一个身份,这种情况下, 终端应用软件只需要认证每个卡的唯一身份。 运用这种方法,每张卡需要知道两个密钥,一个用于认证终端应用软件,另一个用于让 终端认证卡的身份。但是终端则需要存储大量的密钥:一部分用于让不同的卡识别出终端的 身份,一部分用于认证不同的卡的身份。从持卡人的角度看,这也不是一种最优的方案,因 为用于鉴别身份的、需要保密的密钥被外部所知。如果这一密钥能从卡中破译,那么攻击者 就有可能获得对对应终端的访问权限。 2、非对称密钥认证