Domain of Interpretation – 解释域
DOI定义了负载的格式、交换的类型,以及对安全相关信息的命名约定,比如对安全策略或者加密算法和模式的命名。DOI标识用来说明payload通过哪一个DOI来解释。常用的DOI有两个,0和1。0表示ISAKMP DOI,1标识IPSec DOI。如果一个负载,不如Notification payload的DOI为0,那么说明这是一个ISAKMPDOI,那么就必须用ISAKMP协议来解析它;如果是1,说明这是一个IPSec DOI,那么就必须用IPSec协议来解析它。对于某些payload,比如Vendor ID Payload和Certificate Payload,是通用的payload,所以它没有DOI域,对所有的协议都采用一致的解释方式。而对于identification payload,它里面就有一个‘DOI specificID data’,如果使用IPSec DOI,参照RFC2407,这个域的格式应该是协议ID + 端口的形式。
再举一个例子:
IKE在为上层应用(AH/ESP)建立起一个安全关联的时候,要进行两次协商。第一次协商建立起一个简单的安全关联,然后用这个安全关联来为AH/ESP协商安全参数。SA协商的时候,里面有一个名为Transform的负载,它包含了若干名为SA Attributes的负载(每个负载代表一种类型的算法,比如HASH/Encryption等)。它的解释就需要DOI的帮助。在IKE Phase1协商时,对于这个负载的解释是根据IANA的‘Internet Key Exchange (IKE) Attributes’文档来解释