浅谈城市一卡通的发卡与密钥管理
来源:中国一卡通网 作者:不详 发布时间:2012-10-31 09:53:17 字体:[大 中 小]
关键字:城市一卡通 密钥管理 通卡系统
摘 要:随着城市一卡通项目的建设,卡片应用领域扩大,对通卡的安全性也提出了更高的要求。发卡与密钥管理系统是城市通卡成败的关键,也是整个一卡通系统安全的核心。本文结合笔者多年的通卡系统开发与运营经验对发卡与密钥管理系统的各个环节进行了透彻的分析,并提出了相关的安全控制策略.以期对通卡运营商提供有益的帮助。
1)密钥因子:分为三部分,由三位部门主管领导确定并掌管。当三部分密钥因子汇齐便可以产生系统的总控密钥(根密钥),总控密钥为业务密钥的产生提供了来源。
2)分散因子:即业务代码,由相关部门的管理人员确定.为总控密钥分散产生业务密钥提供分散因子。业务代码为多条,每条长度为8个字符。总控密钥和业务代码的内容将决定业务密钥的值.业务密钥的多少取决于业务代码的数量。总控密钥和业务代码一旦确定,每次分散计算的结果即业务密钥的值均相同。因此密钥因子和分散因子对于系统产生和恢复业务密钥是尤为重要的。
3.2密钥的存储
密钥存储安全是整个密钥系统安全的基础,一般可采用密钥卡或加密机的方式对密钥进行存储。由于硬件加密机具备良好的攻击防范能力.在为上层应用提供安全服务功能的同时.也充分考虑了自身的安全性设计。在物理方面,采用了物理锁防拆、防撬设计;打开机盖密钥自动销毁:紧急情况下人工毁钥装置;在密钥管理方面.采用用户访问权限控制(密钥注入管理)以及密钥在加密机外的分段备份存放安全机制.保证了加密机自身及密钥的安全。密钥卡建议只在需要密钥传递、交换等临时场景下使用。
出于对整个密钥体系安全性的考虑.加密机中密钥的加载工作必须在传输密钥的控制下进行。从密钥制作流程中.可以看出业务主密钥卡中存放着包括卡片主控密钥在内的所有密钥.使用业务主密钥母卡和业务主密钥母卡传输卡通过硬件加密机的IC卡读写口灌人加密机内部.用于密钥的备份和SAM卡的发行。
3.3密钥的传递
无论是发行用户卡还是制作PSAM卡都会牵涉到密钥的传递.如果密钥在传递过程中被非法监听或窃取,整个密钥系统的安全性就无从谈起。因此.密钥的传递是密钥存储后确保城市通卡系统安全性的关键所在。鉴于此.密钥在传递过程中一般采用安全报文的形式来实现。所谓安全报文就是密文加MAC.安全报文可以确保数据的可靠性、完整性和对发送方的确认。
在发行用户卡的过程中.用户卡中的密钥是由加密机或母卡中的次主密钥根据应用序列号asn 分散而得到的。因此,理论上每张用户卡的子密钥都是唯一的.这使得整个密钥体系同时兼顾良好的扩展性和较高的安全性。发行用户卡所需的子密钥是在硬件加密机中完成分散和加密保护.并以安全报文的形式传递给用户卡,再由卡片COS对其进行解析成明文装载到卡内.在此过程中子密钥始终不会以明文形式驻留在计算机内存中.整个分配过程是安全可靠的。当然,从加密机角度来看,不同型号不同版本会有比较大的差异,建议在具体的密钥系统实施过程中要求加密机厂商封掉明文导出密钥的程序接口也就是说。加密机中次主密钥的导出必须是经过其他密钥保护后才能以密文的形式导出。PSAM卡的二次发卡由通卡运营商通过专门的SAM卡发行软件完成.需要厂商制造密钥传输卡和SAM卡操作员卡配合共同完成,加密机中密钥是通过保护密钥加密后导出,由于是发卡机构自己控制.密钥的安全性是可控的。
3.4密钥的使用
次主密钥导入到母卡或SAM 卡后.密钥就进入使用阶段。要设置密钥的用途,即设置次主密钥只能用于分散.或只能用于导出.或既可以分散也可以导出.密钥系统以此来限制次主密钥的使用,以进一步提高系统的安全性。同时.在密钥的使用过程中,可以引入版本(VERSION)和索引(INDEX)的概念.进一步加强密钥系统的安全性。密钥系统引入VERSION的概念.使得在不同阶段发行的用户卡对应的次主密钥不同 而INDEX概念的引入.使得在密钥系统和用户卡中有多组.即多个INDEX的密钥 在系统受到攻击等突发事故发生时。可以紧急启用另一INDEX的密钥。密钥系统中密钥索引的个数不宜太多.通常用户卡有一个正常的使用周期或有效期.在使用周期内或有效期内,多组索引全部被攻破的可能性不大。密钥索引组数太多.要求用户卡有更多的空间来存储多组索引的子密钥,卡片的成本也将提高。因此.在密钥的使用过程中应综合考虑密钥索引组数的设置。
4.安全性的其他保障
城市一卡通系统的安全性除了通过对密钥生成、存储、传递等环节进行进行科学设计.达到理论上的安全保障外,还应加强诸如人事、规程和日常管理制度的健全与完善工作。任何密钥系统的安全性都不可能依赖于密钥系统本身.而必须通过强有力的行政管理手段加以配合。具体来说可以通过如下辅助手段。加强密钥系统的安全完善。
1)密钥管理系统:1令管理。密钥管理系统KMS安装在特定的位于数据中心的主机设备上.其口令可分为KMS主机的超级管理员口令和KMS本身的管理员口令。这两个口令应该由不同的工作人员保存,并进行定期的口令更新.口令的设置必须满足相关的复杂度要求
2)SAM卡发行软件维护。SAM卡发卡需要厂商制作密钥传输卡、SAM卡操作员卡和SAM卡发行程序协同配合完成。实际操作过程中,也要遵循权力最小化的原则.即至少需要两人分别包括发行SAM卡所需的认证卡和SAM卡发行软件的口令。实际发卡时,必须由专人监督下方可进行。
3)加密机安全管控。加密机本身的系统管理员口令必须更新。同时,在加密机使用前必须注入加密机的本地初始密钥。本地初始密钥的设置可以由三个领导分别输人各自的密钥因子进行合成得到.并且可以将初始密钥存储保存在指定的密钥卡中进行备份。本地密钥也称主密钥,主要用来完成对次主密钥的加密保护。如果主密钥未设置或者不小心泄露.不法分子完全可以利用主密钥完成对次主密钥的加密导出.然后根据主密钥对导出的密钥进行解密.从而使整个密钥体系崩溃。所以.主密钥的设置和保管就显得格外重要.必须由专人保管并由不同的人员存放主密钥的初始密钥卡口令。
5.小结
本文结合笔者多年的城市通卡系统开发和运营经验,对城市通卡制作流程和密钥的生产、存储、传递、试用等环节进行了全面分析.以期对城市通卡项目的实施提供有益的借鉴和参考。与此同时.也必须意识到.通卡绝对的安全是不存在的。从技术角度来说不能完全杜绝安全隐患.最重要的是应该加强对员工安全防范意识的教育.时刻将安全放在第一位。从思想上深刻认识密钥管理对通卡运营的重要意义,防止玩忽职守.麻痹大意而导致的经营风险。
新闻投稿合作邮箱:yktchina-admin@163.com 字体[大 中 小] [收藏] [进入论坛]