FC加密卡密钥管理系统设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FC加密卡密钥管理系统设计与实现

刘青龙,谢军,季乔龙

(1. 电子科技大学宽带光纤传输与通信网技术教育部重点实验室,四川成都610054)

2009-07-24

摘要:一种基于对称加密体制的光纤通道加密卡密钥管理方案该方案将独立的密钥管理中心、USB Key、硬件安全设备等有效地应用于密钥管理的各个重要环节,可以让用户以最小的安全风险和管理代价来管理密钥信息的产生、分发、备份及恢复过程,从而确保存储数据安全。

关键词:密钥管理; 密钥管理中心; USB key; 硬件安全设备

近年来,网络存储技术已被应用到各个行业。网络存储又被誉为第三次IT浪潮[1]。FC-SAN(Fiber Channel- Storage Area Network)网络是当前最主流的SAN结构,它采用高速的光纤通道构架存储网络,并用FCP(Fibre Channel Protocol)协议传输SCSI命令和数据。由于光纤通道的远距离连接能力以及高速的传输能力,使得FC-SAN的性能非凡,被业界普遍采用。随着SAN网络的日益普及,网络存储数据的安全问题也受到了人们的广泛关注。存储加密是保护数据的普遍做法。目前,存储系统中数据加密技术的实现分成基于主机层、网络层及存储层的3类。由于内建加密功能的存储设备才刚推出,目前企业应用的加密产品以主机或网络型产品为主流。基于主机层加密是在前端欲加密的主机上安装加密软件进行加密。但软件加密的缺点是面对企业达到TB甚至PB级数据量,加密运算将极大增加系统负担,影响效能,而且密钥档的保管也相当麻烦,可能会遭到非法复制和遗失。基于网络层加密是通过在存储网络中插入特殊加密硬件进行加密,但网络带宽会受影响。硬件方法将加/解密对性能的影响降到最低,可以做到对用户透明,并且可以避免软件方法固有的安全隐患,最大限度地保证整个系统的安全性。综合考虑,在主机上安装硬件加密装置是较好的选择。

出于对加/解密性能的考虑,目前大多采用实现方法相对简单的对称加密体制。由于加/解密都要使用相同的密钥,因此密钥的存储和备份便成了该加密体系中最薄弱的环节。用专门的硬件设备来存储和分享密钥,就可以极大地提高密钥系统的安全性。目前流行的USB Key是一种在高安全领域内广泛使用的标准USB接口的设备,能够对用户密钥提供多层的安全保护。使用USB Key除了可以保证用户密钥信息的安全性以外,同时也在管理上以一种“硬件持有物”的方式,使得用户对虚拟的“数字身份”有了物理上的掌握与控制。此外,为防止一些特权用户,如管理员私自复制密钥,一个较好的解决办法是研制多密钥系统。使用一套密钥加密数据,使用另一套密钥对管理员进行身份识别。管理员绝不会真正看到用来加密数据的密钥,从而降低了系统风险。对SAN网络而言,完善的密钥管理系统的研究与开发是一个十分重要的课题。

本文在对称加密体制的基础上,将USB Key用于密钥存储和身份认证,结合密钥共享和多密钥加密技术,设计并实现了一种FC加密卡的密钥管理系统,较好地实现了密钥的产生、分发、备份和恢复功能,满足了FC-SAN用户数据存储的安全需要。

1 FC加密卡的密钥管理设计

为避免系统过于复杂,且实现起来更加简单容易,在实际使用的系统中,根据用户要求和系统规模采用使系统结构更加紧凑的二种密钥。一种是主密钥, 用于保护其他密钥;另一种是工作密钥, 用于保护数据。密钥采用了三层结构, 如图1所示。其中,每一层密钥用于对下一层密钥进行加密保护。同时,为提高安全性,加密算法采用早已集成到硬件中并得到广泛应用的AES[2]-256算法。当然,对数据的加密应该是连贯的隔离操作,纯软件的加密系统难以做到,因而将采用单独的硬件安全设备,即利用位于FC HBA卡和交换机FC接口之间的加密卡完成对进出磁盘阵列的SCSI数据的加解密。另外,为确保对用户身份的验证,需要向用户分发认证密钥,密钥的存储采用安全性很高的USB Key[3]。

1.1 密钥的产生和分发

密钥管理中心的密钥生成模块采用基于混沌理论的密钥生成方法来实现。具体描述如下:

混沌对非线性方程初值敏感,由混沌获得的随机序列可确定数学形式理论上不可预测的混乱结果。表现混沌现象的标准虫口方程(Logistic一维迭代方程)为:

在非线性作用下,当μ从0趋向4时,其动力学性态的复杂性逐步增加,即从定态变为周期性态,通过周期倍化级联而到达混沌性态,μ=3.58左右,这种分裂突然呈现崩溃之势,周期性态就变成混沌,虫口的涨落再也不会确定下来,即虫口的逐年变化完全变为随机。在具体应用中取μ=3.6,利用式(1)生成224位密钥,随后每7位插入一位奇偶校验位(这里使用奇校验),从而生成最后的256位的AES密钥。而初始种子通过对当前系统时间加以简单的线性变换得到。用此方法可以产生工作密钥,密钥的产生均由密钥管理中心(KMC)自动完成。

在存储加密设备中,存储加密的安全性与处理性能的瓶颈主要在密钥的管理与加/解密算法上。由于加解密算法的性能一般是固定的,不容易改变,所以性能的瓶颈主要存在于密钥的管理方面。因此,安全与性能是一对需要解决的矛盾,当强调高安全则会降低性能,而当强调高性能则会降低安全性。为了平衡设备的安全性与性能,本方案采用基于LUN(逻辑单元号)的加密技术。此技术将所有的LUN分成多个加密区,每个加密分区使用一个不同的密钥进行加密,这样存储加密过程中只需要有限多个密钥就能实现对存储子系统中所有数据块的加密。每个密钥长度为32 B,工作密钥保存在加密卡上,使用RAM很容易存储。这样一方面减少了密钥表的大小,加快了密钥的查找速度,提高了数据加密的性能;另一方面由于采用了多个密钥对存储子系统的多个区域进行了加密,与单一固定密钥的方法相比,提高了加密数据被破解的难度,增强了数据加密的安全性。为进一步确保密钥安全,可以用AES-256算法以软件方式对工作密钥加密,并将其连同主密钥、认证密钥一起存入USB Key中,利用用户PIN确保了其安全。

1.2 密钥的备份和恢复

密钥管理中心完成密钥备份和恢复过程。在密钥备份过程中采用秘密共享方案对主密钥、工作密钥、认证密钥进行保存。在密钥管理体系模型中,秘密共享理论主要用来保护敏感密钥。采用秘密共享方案使得原来应该由一个人承担保密安全的责任分摊到若干个个体上,并且减少了密钥丢失的风险。(t,n)门限秘密共享方案将一个秘密由n个参与者所共享,只有t个或t个以上的参与者可以联合重构该秘密,而(t-1)个或更少的参与者不能得到该秘密的任何信息。本系统采用文献[5]中提出的基于Lagrange插值多项式的(t,n)门限方案,实现对管理员方密钥的安全存储。其中t是重构密钥所需的密钥影子个数, n为产生的影子总数。选择一个随机素数p,使之比可能的影子数目和最大可能秘密都大,但需保存。共享密钥K时,需构造一个次数最多为t-1的任意多项式:

为秘密地随机选取的元素,每个参与者对应a(x)所确定的曲线上的一个点(x i,y i), 1≤i≤n,并存于n 个USB Key中,其中xi应互不相同。当获取其中t份密钥影子时,(x m1,y m1),(x m2,y m2),…(x mt,y mt),其中m[1,n],由插值公式:

对用户方密钥采用备份机备份,备份流程如图2所示。

相关文档
最新文档