用于使用IPsec密钥的加密通信的方法和装置的制作方法

文档序号:7677563阅读:231来源:国知局
专利名称:用于使用IPsec密钥的加密通信的方法和装置的制作方法
技术领域
本发明通常涉及加密通信系统,并且更具体地,涉及使用IPsec 密钥的加密通信。
背景技术
加密通信系统是公知的。许多这样的系统通过在两个或多个用户 之间共享一个信息片段提供这些用户之间的安全通信,该信息片段仅
允许这些用户了解该共享的信息以正确地解密消息。该共享信息被称 为加密密钥变量,或简称为密钥。将该密钥加载到通信单元中的加密 设备中是允许安全通信发生的基本要求。为了在长的时间段上保持安 全性,该密钥定期改变,典型地每周或每月改变。
加载新的密钥被称为密钥更新,可以通过多种方法完成。通过在 典型的安全信道上将密钥从中心站点发射到通信单元,实现了空中密 钥更新。通过将线缆从手持设备(还被称为密钥变量加载器,或者简 称为密钥加载器)连接到通信单元并且将密钥从密钥加载器下载到通 信单元中,完成了手动密钥更新。空中密钥更新耗用数秒,而手动密 钥更新中牵涉的过程,包括定位单元、连接加载器等,耗用更长的时 间。因此,在更新大的通信系统的密钥时,空中密钥更新的使用极大 地节约了时间并且提高了安全性。随着系统变得更大,在一个有数千 个通信单元的系统中,对多个密钥的需要是显而易见的。在安全RF集
群系统中,诸如美国专利No. 4,882,751中描述的通信系统,常常可能 出现的是,大系统中的不同群组要求其自身的密钥或多个密钥可用于 增加内部安全性或者使在一个时间段内重新加载密钥所必需的次数最
在还实施IPsec的情况中,空中密钥更新必须与IPsec —起工作。 如公知的,在RFC 4301中定义了 IPsec并且业界将IPsec视为在IP层 上加密和/或鉴权数据业务的应用。对于IPsec密钥管理,存在两种常 见方法手动密钥和导出密钥。手动密钥涉及源和目的地的通信单元 中的静态对称密钥的使用。导出密钥涉及使两个端点生成共同会话密 钥,例如使用Diffe-Helman交换,随后对两个端点手动鉴权。用于导 出密钥管理的方法是在公共因特网密钥交换(IKE)(如RFC 4306中 定义的)指南下定义的。用于密钥导出和手动鉴权的IKE交换由数个 消息组成。由于性能问题,在某些通信系统中,例如在依据APCO Proj ect 25 (简称为Project 25)的通信系统中进行IKE交换是不利的。
对于Project 25,优选地使用静态对称密钥并且在空中发送该静态 对称密钥来执行密钥管理。在TIA102.AACA和TIA102.AACB中指定 了这样的密钥管理,并且该密钥管理被称为空中密钥更新(OTAR)。 使用OTAR具有许多个优点。例如,OTAR允许定义其中使用新的密 钥材料的密码周期。OTAR还识别索引或密钥集合的使用以使通信单元 能够灵活地在旧的密码周期或新的密码周期中使用密钥。使用密钥集 合使通信单元能够通过密码周期转换保持连续通信,即使通信单元未 完全同步到相同的密码周期。IPsec手动密钥管理不提供这些益处,例 如通过密钥周期转换(即,使用密钥集合)允许连续操作。Ipsec也未 定义与Project 25 OTAR密钥管理的配合操作。因此,需要一种使用IPsec密钥加密通信的新的方法和装置。


附图与下文的详细描述一起被并入本说明书并且形成本说明书的 一部分,并且用于进一步说明包括权利要求的本发明的概念的实施例, 以及解释这些实施例的多种原理和优点,其中独立的视图中的相同的 附图标记表示相同的或功能相似的元件。
图1是说明根据本发明的一些实施例的加密通信系统的框图; 图2A说明了根据本发明的一些实施例的安全策略数据库(SPD) 的示例;
图2B说明了根据本发明的一些实施例的安全关联数据库(SAD) 的示例;
图2C说明了根据本发明的一些实施例的安全关联-存储位置号码 (SA-SLN)表格的示例;
图2D说明了根据本发明的一些实施例的存储位置号码-安全参数 索引(SLN-SPI)表格的示例;
图2E说明了根据本发明的一些实施例的密钥存储数据库(KSD) 的示例;
图3说明了根据本发明的一些实施例的OTAR密钥存储数据库的
示例;
图4是说明根据本发明的一些实施例的发射机的操作细节的框图; 图5说明了根据本发明的一些实施例的封装安全协议(ESP)报头 格式的示例;
图6说明了用于传递数据分组的模式;
图7是说明根据本发明的一些实施例的接收机的可替换的操作细 节的框图8是说明根据本发明的一些实施例的发射机的高级操作的框以及
图9是说明根据本发明的一些实施例的接收机的高级操作的框图。
7本领域的技术人员将认识到,出于简单和清楚的目的说明了图中 的元件并且没有必要依比例绘制。例如,图中一些元件的尺寸和/或相 对位置可以相对于其他元件放大以有助于改善对本发明的多种实施例 的理解。而且,商业上可行的实施例中的有用的或必需的普通且公知 的元件常常未被描绘,以便于不会妨碍对本发明的这些多种实施例的 理解。将进一步认识到,可能以特定的出现顺序描述或描绘了特定的 动作和/或步骤,但是本领域的技术人员将理解,实际上并不要求关于 顺序的这样的确切性。还将理解,此处使用的术语和表达具有一般的 意义,除非此处另外阐述的特定的意义,否则该意义符合与相应的各 自的调査研究领域相关的这类的术语和表达。
具体实施例方式
一般而言,根据这些不同的实施例,公开了使用IPsec密钥的加密通信。
在彻底的审阅和研究下面的说明书之后,这些和其他益处可以变
得更加清楚。现在参考附图,并且特别地参考图l,加密通信系统100 包括密钥管理设施(KMF) 102、第一IPsec端点104、和第二 IPsec端 点106,以便KMF 102经由第一通信信道108与第一IPsec端点104通 信并且经由第二通信信道UO与第二IPsec端点106通信,由此在两个 IPsec端点104、 106之间建立了 IPsec会话112。在一个实施例中,加 密通信系统IOO利用在通信信道108上的空中密钥更新(OTAR)来执 行密钥管理。在该示例中,加密通信系统100被称为OTAR系统。 TIA102.AACA和TIA102.AACB指定了与在OTAR系统中使用的协议 (被称为OTAR协议)相关的细节。
KMF 102是用于存储和分送与IPsec端点104、 106相关的数据以 协助加密通信系统100中的加密通信的中心控制点。这样,KMF 102 包括记录数据的数据库。在一个实施例中,KMF 102存储的数据的类型包括IPsec端点ID和密钥。KMF还了解诸如存储位置号码(SLN) 的数据,其中SLN定义了密钥和安全关联(SA)之间的关系。在一个 实施例中,在TIA 102.AACA中定义了 SLN。具有这样的数据之后, KMF 102随后跨越通信信道108、 llO将该数据传送到IPsec端点104、 106。
每个IPsec端点104、 106是能够使用安全协议与另一通信设备安 全通信的通信设备。安全协议的示例包括封装安全协议(ESP)和鉴权 报头(AH)协议。IPsec端点104、 106还能够执行加密通信。每个IPsec 端点104、 106可以包括键盘和/或用于录入指令和/或密钥的键接口。 每个IPsec端点还可以包括用于从远程实体,例如KMF 102接收指令 和/或密钥的接口。不论密钥如何被传递到每个IPsec端点104、 106, 每个IPsec端点104、 106将信息,例如客户选择、密钥、和相关联的 密钥信息(例如密钥ID)存储在IPsec端点的密钥存储数据库(KSD) 中。
即使IPsec端点104、 106可以是移动的、便携式的、或者固定的 设备,但是如此处描述的,第一IPsec端点104是移动无线台或便携式 无线台,且第二IPsec端点106是固定设备。固定设备的示例是基站、 区域控制器、数据控制器、或者其他具有IPsec功能的基础设施设备。 每个移动IPsec端点,例如104,包括用于调制和解调去往和来自通信 信道108的数据的发射机和接收机。这样,移动IPsec端点的示例是移 动无线台,诸如具有OTAR/多密钥选择的Astro Spectra,或者便携式 无线台,诸如具有OTAR/多密钥选择的Astro XTS3500。所有这些均来 自摩托罗拉公司。
通信信道108允许在KMF 102和第一 IPsec端点104之间进行安 全通信。在一个实施例中,通信信道108是向移动IPsec端点104提供 信令和数据的无线射频(RF)通信信道。如上文提及的,在一个实施 例中,在通信信道108上使用OTAR协议用于执行加密通信系统100中的密钥的密钥管理。
通信信道110允许在KMF 102和第二IPsec端点106之间进行安 全通信。在一个实施例中,通信信道llO是与固定IPsec端点106通信 的有线通信信道。这样,该有线通信信道可以是Ethemet连接。在任何 情况中,第一 IPsec端点104和第二 IPsec端点106通过在它们之间建 立IPsec会话112安全地通信。如此处使用的,IPsec会话112被定义 为提供数据分组的加密和/或鉴权的安全通信。
在操作中,通过首先更新IPsec端点104、 106的密钥,加密通信 系统中的加密通信发生。在一个实施例中,密钥更新是由例如系统运 营商执行的,该系统运营商通过通信信道108将密钥更新消息从KMF 102发送到第一 IPsec端点104。在一个实施例中,密钥更新消息包括 关于SLN的密钥。在一个实施例中,密钥更新消息还包括安全参数索 引(SPI) 。 KMF 102可以向SPI分配随机号码,由此接收该SPI的IPsec 端点可以将该SPI关联到SLN。在一个实施例中,每个SLN可以与至 多16个SPI相关联。在该实施例中,在TIA 102.AACA中定义了 16 个密钥集合,并且该16个密钥集合与16个SPI相关。
IPsec端点的密钥更新还可以使用密钥变量加载器(KVL)执行。 在该实施例中,KVL直接连接到IPsec端点以将密钥和密钥信息下载 到IPsec端点中。在其他实施例中,KVL可以被用作用于向第一IPsec 端点104发送密钥更新消息的代理。在可替换的实施例中,IPsec端点 的密钥更新还可以由第一IPsec端点104执行,该第一IPsec端点104 从其他IPsec端点和/或通信单元(未示出)下载密钥和密钥信息。不 论如何执行移动IPsec端点,例如104的密钥更新,KMF 102还将在密 钥更新消息中发现的信息传送到固定IPsec端点,例如106,由此该固 定IPsec端点了解与移动IPsec端点安全通信所必需的密钥。
现在转到图2,图2示出了在IPsec端点,例如104、 106中发现的多种存储元件,其中该存储元件有助于加密通信系统中的加密通信。
图2A、 2B、 2C、 2D、和2E中分别示出了安全策略数据库(SPD)、 安全关联数据库(SAD)、安全关联-时隙位置号码(SA-SLN)表格、 和存储位置号码-安全参数索引(SLN-SPI)表格、以及密钥存储数据 库(KSD)。
如图2A中所示,安全策略数据库(SPD)允许系统运营商来指定, 对于从第一IPsec端点或源,例如104传递到第二 IPsec端点或目的地, 例如106的每个数据分组,应如何处理该数据分组的策略。在一个实 施例中,SPD包括关于源地址、目的地地址、和用于处理加密通信系 统中传递的数据分组的策略的条目。如图2A中所示,将根据被称为"处 理"的策略来处理具有源地址Al和目的地地址A2的数据分组以根据 图4和7中示出的过程使用IPsec加密和/或鉴权来保护(以及相似地 解除保护)数据分组。
对于加密通信系统100中处理的任何数据分组,三个处理选择是 可能的"丢弃"、"绕过"IPsec、和使用IPsec的"处理"。"丢弃" 意指数据分组被拒绝。数据分组可以因为存在无效的源和目的地地址 对或无效的端口地址而被拒绝。"绕过"IPsec意指在无IPsec保护的 情况下发射或接收数据分组。例如,如果加密通信不是必需的,则数 据分组不针对加密或鉴权而被处理。使用IPsec的"处理"意指使用IPsec 加密和/或鉴权,例如根据图4 (未受保护的到保护的处理)和图7 (保 护的到未受保护的处理)中示出的过程处理数据分组。在图4和7的 示例中,使用IPsec的"处理"意味着执行封装安全协议(ESP)处理。 尽管没有示出,但是在另一示例中,使用IPsec的"处理"意味着执行 鉴权报头(AH)协议处理。
确定关于如何处理加密通信系统中的数据分组的策略是通过使用 选择器或许多个选择器来执行的。如此处使用的,选择器是识别IPsec 端点的信息。选择器的示例包括IP地址、端口号码、和其他相似的识别信息。在图2A的实施例中,源地址,例如源IP地址,和目的地地
址,例如目的地IP地址,是用于确定处理IPsec端点对之间的数据分 组所使用的策略的选择器。
如图2B中所示,安全关联数据库(SAD)为从第一IPsec端点或 源,例如104传递到第二IPsec端点或目的地,例如106的每个数据分 组指定安全关联。如此处使用的,安全关联(SA)包括定义第一IPsec 端点和第二IPsec端点之间的安全通信的信息。例如,SA包括针对给 定的源和目的地实行"处理"策略,例如ESP处理所必需的SA参数。 如图2B中所示,SAD中的每一行被称为SA。 SA参数的示例包括源和 目的地的IP地址、源和目的地的端口地址、和模式。在一个实施例中, 在RFC 4301中定义了 SA。
SAD还可以包括关于安全参数索引(SPI)的条目。SPI可用于指 示密钥ID以确定KSD中的活跃密钥的位置。SPI由加密密钥的密钥ID 和鉴权密钥的密钥ID的组合组成。如图2B中所示,对于安全关联SA1, SPI是加密密钥的密钥ID 21和鉴权密钥的密钥ID 42的组合。在一个 实施例中,SPI可以是加密密钥ID和鉴权密钥ID的串联。
相似地,SAD还可以包括关于索引标注参数的条目,该索引标注 参数将SAD中的SA与KSD中的密钥相关。将SA与密钥相关可以通 过诸如SPIS的索引标注参数或SA引用号码来执行。在一个实施例中, 如图2B中所示,所使用的索引标注参数被称为次级安全参数索引 (SPIS)。在该示例中,对于具有源地址Al和目的地地址A2的数据 分组,安全关联SA1经由索引标注参数SPIS,即SLN2和SLN4与KSD 中的密钥相关。在该实施例中,SPIs包括至少一个SLN,该SLN识别 密钥存储数据库(KSD)中的条目。该SLN是使来自SAD的SA与 KSD中的密钥相关的特定的索引标注参数。在一个实施例中,其中实 施了 ESP处理,SPL包括两个SLN。 一个SLN用于加密而第二个SLN 用于鉴权。对于图2B的示例,SLN2用于加密而SLN4用于鉴权。在一个示例中,其中实施了AH协议处理,只有一个SLN是必需的,例 如用于鉴权。
在另一实施例中,将SAD中的SA与KSD中的密钥相关也可以通 过使用SA-SLN表格和SLN-SPI表格来确定。如图2C中所示,SA-SLN 表格将SA与SLN相关。如图2D中所示,SLN-SPI表格将例如来自 SA-SLN表格的SLN与SPI相关。SLN-SPI表格还包含识别密钥所必 需的信息。这样,图2D中示出了诸如密钥ID和算法ID (algID)的信 息。即使图2C和2D中示出的是一个密钥的说明,但是可替换的实施 例考虑利用SA-SLN和SLN-SPI表格来翻译成KSD中的多个密钥,例 如加密和鉴权密钥。
不考虑例如经由a)图2B中的SAD或者b)图2C中的SA-SLN 表格和图2D中的SLN-SPI表格将SA与KSD中的密钥相关的实施方 式,填充这些表格是通过KMF发送修改的OTAR密钥分配消息,以便 OTAR密钥分配消息向IPsec端点传递密钥来执行的。例如,KMF 102 通过向SPI分配随机号码并且在修改的OTAR密钥分配消息中将该SPI 发送到IPsec端点,填充图2D中示出的SLN-SPI表格。在另一示例中, 通过由例如KVL本地配置IPsec端点,执行对这些表格的填充。
SAD还可以包括关于在源,例如104到目的地,例如106之间使 用的模式的条目。模式意指源和目的地之间的IPsec会话的类型。类型 的示例包括隧道(tunnel)和传输(transport)。如图2B中所示,对于 具有源地址Al和目的地地址A2的数据分组,用于IPsec会话的模式 是隧道。
如图2E中所示,密钥存储数据库(KSD)存储用于数据分组的加 密和/或鉴权所需的密钥和密钥信息。在一个实施例中,KSD包括由SLN 标注索引的密钥集合。在另一实施例中,该密钥集合可由诸如SA引用 号码的索引标注参数来标注索引。多个密钥集合可以由KSD中的单个索引标注参数来标注索引。例如,如图2E中示出的,SLN!标注分别 具有密钥ID 11和12的密钥集合1和密钥集合2的索引。
图3说明了图2E的KSD的特定示例。图3中示出了根据一些实 施例在OTAR系统中使用的示例性KSD。在该示例中,KSD由OTAR 协议定义,例如在TIA 102.AACA和TIA102.AACB中。OTAR KSD中 的每个密钥位置,例如302,包含密钥、密钥ID、和algID。在该示例 中,SLN IOOO被用于加密,因此由SLN IOOO引用的密钥位置包含加 密密钥,并且SLN 1001被用于鉴权,因此由SLN 1001引用的密钥位 置包含鉴权密钥。在Project 25中,对于给定的SLN,可以存在至多 16个不同的密钥集合,尽管图3中仅示出了两个密钥集合。即使对于 每个SLN可以存在至多16个不同的密钥集合,但是在任何给定的时间, 对于每个SLN,仅有一个密钥集合是活跃的。在任何时间,通过査找 KSD中的活跃密钥集合,可以找到该活跃密钥。例如,如图3中所示, 通过使用密钥ID $5678可以在KSD中找到与SLN 1001相关联的用于 鉴权的活跃密钥。
在图3中说明的OTAR KSD的示例中,存在一个用于加密的密钥 和一个用于鉴权的密钥。在该实施例中,这两个密钥不是相同的。然 而,在可替换的实施例中,KSD对于每个SA可以包括单个主密钥。 加密密钥和鉴权密钥可从该主密钥导出。在RFC 3711中定义了用于从 主密钥导出加密密钥和鉴权密钥的方法。
然而,本领域的技术人员将认识到,图2和3中示出的示例性数 据库的细节仅说明了一些实施例,并且此处阐述的教授内容可应用于 多种可替换的设置。例如,由于所描述的教授内容不依赖于索引标注 参数、地址、和/或密钥位置的特定类型和/或值,因此本教授内容可应 用于其他实施例。这样,使用不同的索引标注参数(多个)、地址、 和/或密钥位置的类型和/或值的其他可替换实施方式也被考虑并且涵 盖于此处描述的多种教授内容的范围内。
14现在转到图8,示出和说明了说明根据一些实施例的发射机的高级
操作的框图。如图8中所示,发射机包括安全处理器802、 SAD 804、 和KSD 806。在操作中,未受保护的数据分组由发射机接收,例如由 如图2A中示出的发射机的SPD接收。如此处使用的,未受保护意味 着该未受保护的数据分组是不具有任何加密或安全的数据分组。
如果数据分组应该被处理,则安全处理器802通过使用选择器808 搜索SAD 804以选择安全关联。基于所选择的安全关联,确定索引标 注参数810。安全处理器802使用索引标注参数从KSD 806确定活跃 密钥位置。基于来自活跃密钥位置的密钥812,安全处理器802加密该 未受保护的数据分组。安全处理器802通过使用来自该活跃密钥位置 的密钥ID在加密的数据分组的报头中制定安全参数索引(SPI)。最 后,发射具有指示SPI的报头的加密的数据分组。
现在转到图4,示出和说明了说明发射机的操作的进一步细节的框 图,当未受保护的IP数据分组需要被处理以变为受保护的IP数据分组 以便它可由IPsec端点,例如104发送时,发生图4中示出的处理。为 了执行该处理,安全处理器404利用KSD 410、 SAD 408、 SPD 416、 和TX接口 414实施加密通信系统中的数据分组的安全通信。
未受保护的数据分组402进入安全策略数据库(SPD) 416。如前 面讨论的,图2A中示出了 SPD416的一个实施例。未受保护的数据分 组402是不具有任何加密或安全保障的数据分组。SPD 416使用源地址 和目的地地址作为选择器,确定用于处理该未受保护的数据分组402 的策略。如果该未受保护的数据分组402应该被处理,例如如果该未 受保护的数据分组402的源和目的地地址与源和目的地IPsec端点的地 址匹配,则SPD416将处理或绕过该未受保护的数据分组。否则,SPD 416将丢弃该未受保护的数据分组402。如果该未受保护的数据分组应 该被处理,则安全处理器404应用安全协议。安全处理器404可以应用ESP或AH协议。在一个实施例中,安全处理器404遵循ESP。在 任何情况中,安全处理器404通过经由SAD中的SA将KSD中的索引 标注参数,例如如图3中示出的SLN 1000关联到SLN,来执行KSD 410 和SAD 408之间的映射。如上文提及的,在可替换的实施例中,SPIS 可以被用作索引标注参数来指示KSD中的SLN。
不论使用什么样的索引标注参数,SLN和安全关联之间的映射在 第一IPsec端点104和第二IPsec端点106处是相同的。而且,不论在 第一 IPsec端点104还是在第二 IPsec端点106处,如图4中所示执行 出站处理。例如,如果第一IPsec端点104向第二IPsec端点106发送 消息,则第一IPsec端点104用作发射机而第二IPsec端点106用作接 收机。相似地,如果第二 IPsec端点106向第一 IPsec端点104发送消 息,则第二 IPsec端点106用作发射机而第一 IPsec端点104用作接收 机。
安全处理器404还确定406未受保护的数据分组402的SA类型。 在一个实施例中,通过将源和目的地IP地址作为用于SAD 408的选择 器参考SAD 408来执行该确定。图2B中示出了 SAD 408的一个实施 例。安全处理器404通过使用所确定的SA从SAD 408中提取索引标 注参数。索引标注参数使安全处理器404 了解SLN。所确定的索引标 注参数可以是次级SPI或SA引用号码。了解SLN使安全处理器404 能够在KSD410中搜索活跃密钥位置。
在一个实施例中,安全处理器404确定与所确定的SLN相关联的 活跃密钥位置并且使用在该活跃密钥位置找到的密钥和密钥ID来加密 该未受保护的数据分组402。安全处理器404从来自活跃密钥位置的鉴 权密钥ID和加密密钥ID形成SPI。在一个实施例中,形成SPI包括将 鉴权密钥的密钥ID与加密密钥的密钥ID串联,或反之亦然。所形成 的SPI被添加到数据分组的ESP报头。图5说明了 ESP报头的示例。该ESP报头包括SPI 502、序列号 码、有效载荷数据、鉴权数据等。报头中的SPI 502用于传递与活跃密 钥的密钥ID相关的信息。例如,ESP报头中的32比特IPsecSPI是16 比特鉴权密钥ID和16比特加密密钥ID的串联。
在一个实施例中,安全处理器404还可以使用用于鉴权的活跃密 钥对加密的数据分组鉴权以创建受保护的数据分组412。然后将该受保 护的数据分组412转发到发射机接口 414。图6示出了根据一些实施例 的受保护的数据分组412的示例。受保护的数据分组412可被创建用 于传输模式或隧道模式。如果该受保护的数据分组被创建用于传输模 式,则该受保护的数据分组如数据分组602中所示的被加密和鉴权。 如果该受保护的数据分组被创建用于隧道模式,则该受保护的数据分 组如数据分组604中所示的被加密和鉴权。通过参考SAD中的模式, 例如如图2B中示出的模式202,确定如何创建受保护的数据分组。继 续该示例,对于具有源地址Al和目的地地址A2的数据分组,该数据 分组将被创建用于隧道模式。
现在转到图9,示出和说明了说明根据一些实施例的接收机的高级 操作的框图。如图9中示出的,接收机包括KSD 906、和SAD 904、 以及安全处理器902。在操作中,受保护的数据分组由接收机接收,例 如如图7中示出的接收机的SA选择器。如此处使用的,受保护意味着 该受保护的数据分组是具有加密或一些安全保障的数据分组。
安全处理器902处理接收机中的进入数据分组。例如,安全处理 器902解除进入的数据分组的报头的封装以提取SPI。基于所提取的 SPI,安全处理器902确定密钥ID或多个密钥ID,其中该密钥ID或多 个密钥ID与加密和/或鉴权密钥相关联。安全处理器902通过使用所确 定的密钥ID在KSD 906中搜索密钥位置(不论该密钥位置是否是活跃 的),确定处理密钥或多个处理密钥908。安全处理器902还从KSD 906 中提取与密钥位置相关联的索引标注参数910。如上文所描述的,所提取的索引标注参数可以是SPIs,或者是SA引用号码。安全处理器902 通过将所提取的索引标注参数与SAD 904中的索引标注参数匹配,确 定SA912。安全处理器902使用该处理密钥对接收的数据分组鉴权和/ 或解密。最后,安全处理器902通过将来自解密的分组的选择器与所 确定的SA匹配来验证策略。
现在转到图7,示出和说明了说明接收机的可替换的操作细节的框 图。当受保护的IP数据分组需要被处理以变为未受保护的IP数据分组 以便它可以由IPsec端点,例如106接收时,发生图7中示出的处理。 为了执行该处理,安全处理器706利用SA选择器704、 SAD 708、 KSD 710、和应用接口714,来实施加密通信系统中的数据分组的安全通信。
受保护的IP数据分组702 (例如具有加密或安全)进入SA选择 器704,其中SA选择器704解除该受保护的IP数据分组702的报头的 封装以提取SPI,例如如图5中示出的502。在一个实施例中,该SPI 包括鉴权密钥的密钥ID与加密密钥的密钥ID的串联,或反之亦然。 基于该SPI, SA选择器704能够从SAD 708中选择SA。
在一个实施例中,接收机,例如第二 IPsec端点106的SAD 708 与发射机,例如第一 IPsec端点104的SAD 408相同。然而,在另一实 施例中,发射机的SAD 708和接收机的SAD 408可以是不同的,例如 如RFC 4301中描述的。而且,不论在第一 IPsec端点104还是在第二 IPsec端点106处,如图7中所示执行入站处理。例如,如果第一 IPsec 端点104接收来自第二 IPsec端点106的消息,则第一 IPsec端点104 用作接收机而第二 IPsec端点106用作发射机。相似地,如果第二 IPsec 端点106接收来自第一 IPsec端点104的消息,则第二 IPsec端点106 用作接收机而第一 IPsec端点104用作发射机。
SA选择器704使用所选择的SA从SAD 708中提取索引标注参数, 诸如次级SPI (SPIS)或SA引用号码。如上文所提及的,索引标注参数包括将SAD中的SA与KSD 710中的密钥相关所必需的信息。如上 文所提及的,索引标注参数和SPI被用来确定KSD 710中的密钥位置 (不论活跃与否)。在另一实施例中,从SPI导出的密钥ID和/或algID 与索引标注参数一起被用于在KSD 710中搜索密钥位置。 一旦确定了 KSD710中的密钥位置,即由SA选择器704提取诸如符合ESP或AH 协议的用于鉴权和加密的密钥。SA选择器704随后将该受保护的IP 数据分组、该SA和用于该受保护的IP数据分组的密钥传递到安全处 理器706。
安全处理器706使用该用于鉴权和加密的密钥来处理受保护的IP 数据分组以产生未受保护的IP数据分组712。在一个实施例中,安全 处理器706首先对该受保护的IP数据分组鉴权并且随后将其解密。由 于该受保护的IP数据分组702已被解密,因此安全处理器706能够通 过验证安全策略确认该数据分组中的IP地址是否适于进一步处理。在 一个实施例中,来自未受保护的数据分组712的选择器被用来确定是 否应进一步处理未受保护的IP数据分组712,例如将其传递到应用接 口 714。如果选择器与所选择的SA匹配,则该未受保护的IP数据分组 712被进一步处理并且转发到应用接口 714。如果选择器不与SA匹配, 则丢弃该IP数据分组。
本领域的技术人员将认识到,在不偏离本发明的精神和范围的前 提下,可以针对上文描述的实施例进行广泛的多种修改、替换、和组 合,并且该修改、替换、和组合应被视为涵盖于本发明的概念的范围 内。
权利要求
1. 一种用于加密通信的方法,包括通过使用选择器从安全关联数据库(SAD)中选择安全关联(SA);从所述SA确定索引标注参数;使用所述索引标注参数从密钥存储数据库(KSD)确定活跃密钥位置;使用来自所述活跃密钥位置的密钥对数据分组加密;通过使用来自所述活跃密钥位置的密钥ID在所加密的数据分组的报头中形成安全参数索引(SPI);以及发射具有指示所述SPI的报头的所加密的数据分组。
2. 如权利要求1所述的方法,进一步包括至少接收下述之一a) 密钥,或者b)来自密钥管理设施(KMF)的SPI。
3. 如权利要求l所述的方法,其中所述SPI是随机号码。
4. 如权利要求l所述的方法,其中所述选择器至少包括下述之一 IP地址、端口号码、或者IP地址范围。
5. 如权利要求l所述的方法,其中所述索引标注参数至少是下述 之一次级安全参数索引(SPIS)或SA引用号码。
6. 如权利要求1所述的方法,进一步包括在选择SA之前使用数 据分组的源地址和目的地地址从安全策略数据库(SPD)确定策略。
7. 如权利要求l所述的方法,其中形成SPI包括将来自所述活跃 密钥位置的鉴权密钥的密钥ID和加密密钥的密钥ID串联。
8. 如权利要求l所述的方法,进一步包括在发射所加密的数据分组之前对所加密的数据分组鉴权。
9. 如权利要求l所述的方法,其中所述密钥是用于导出加密密钥 和鉴权密钥的主密钥。
10. —种用于对加密通信解密的方法,包括使用来自进入的数据分组的安全参数索引(SPI)从安全关联数据 库(SAD)中选择安全关联(SA);提取与所选择的SA链接的索引标注参数;通过使用所述索引标注参数和从所述SPI导出的密钥ID在密钥存储数据库(KSD)中搜索密钥位置来提取处理密钥;使用所述处理密钥对所述进入的数据分组解密;以及 通过将所解密的数据分组中的选择器与所选择的SA匹配来验证策略。
11. 如权利要求IO所述的方法,进一步包括至少接收下述之一-a)密钥,或者b)来自密钥管理设施(KMF)的SPI。
12. 如权利要求IO所述的方法,其中所述选择器至少包括下述之 一IP地址、端口号码、或者IP地址范围。
13. 如权利要求IO所述的方法,其中所述索引标注参数至少是下 述之一次级安全参数索引(SPIs)或SA引用号码。
14. 如权利要求IO所述的方法,其中所述SPI包括来自所述密钥 位置的鉴权密钥的密钥ID和加密密钥的密钥ID的串联。
15. 如权利要求IO所述的方法,进一步包括在解密之前使用所述 处理密钥对所述进入的数据分组鉴权。
16. —种用于对加密通信解密的方法,包括 提取进入的数据分组的报头中的安全参数索引(SPI); 从所提取的SPI确定密钥ID;通过使用所确定的密钥ID在密钥存储数据库(KSD)中搜索密钥 位置来确定处理密钥;提取与所述密钥位置相关联的索引标注参数;通过将所述索引标注参数与安全关联数据库(SAD)中的索引标 注参数匹配来确定安全关联(SA);使用所述处理密钥对所述进入的数据分组解密;通过将所解密的数据分组中的选择器与所述安全关联匹配来验证 策略。
17. 如权利要求16所述的方法,其中所述索引标注参数至少是下 述之一次级安全参数索引(SPIS)或SA引用号码。
18. 如权利要求16所述的方法,进一步包括至少接收下述之一 a)密钥,或者b)来自密钥管理设施(KMF)的SPI。
19. 如权利要求16所述的方法,其中所述处理密钥包括用于导出 鉴权密钥和加密密钥的主密钥。
20. 如权利要求16所述的方法,其中所述选择器包括至少下述之 一IP地址、端口号码、或者IP地址范围。
全文摘要
公开了一种用于加密通信的方法。第一IPsec端点通过使用选择器从安全关联数据库(SAD)中选择安全关联(SA)并且随后从SA中提取索引标注参数。该索引标注参数被用来从密钥存储数据库(KSD)确定活跃密钥位置。然后使用来自该活跃密钥位置的密钥对数据分组加密。该第一IPsec端点还通过使用来自该活跃密钥位置的密钥ID在该数据分组的报头中形成安全参数索引(SPI)并且向第二IPsec端点发射具有指示该SPI的报头的加密的数据分组。
文档编号H04L9/00GK101473588SQ200780022970
公开日2009年7月1日 申请日期2007年6月20日 优先权日2006年6月20日
发明者克里斯·A·克鲁格尔, 托马斯·J·塞内斯, 拉里·默里尔, 蒂莫西·G·伍德沃德, 迈克尔·W·布赖特, 迪彭德拉·M·乔杜里 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1