发明名称 一种基于分组数据包匹配的安全组播源认证方法
摘要 本发明针对基本Merkle哈希树源认证方式过大通信成本缺点设计了一种基于分组数据包匹配的安全组播源认证方法。通过划分数据包为四分组,进行组内数据包附着哈希值即摘要值以及设置位包的方法,本发明可以有效降低基于树链源认证方法的通信成本、计算成本,保证验证比无太大降低。本发明尽管会在接收端产生相应变化的认证延迟,但可以采用多线程多数据包同时按有序方式进行发送与认证。总体来讲,在收发端信道满足相应实际环境与服务器配置情况下,本发明有着不错抗丢包鲁棒性和极低通信成本。
申请公布号 CN103957102B 申请公布日期 2017.02.08
申请号 CN201410087607.8 申请日期 2014.03.11
申请人 西南科技大学 发明人 邢玲;马强;何燕玲;黄河
分类号 H04L9/32(2006.01)I;H04L12/761(2013.01)I 主分类号 H04L9/32(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种基于分组数据包匹配的安全组播源认证方法,其特征在于,包括以下步骤:(1)、根据传输数据流与实际服务器处理能力的需要,对待处理数据流分为16个数据包,并均匀划分为4个分组,编号为m<sub>1</sub>,m<sub>2</sub>,m<sub>3</sub>,m<sub>4</sub>;第i分组的第j个数据包定义为m<sub>ij</sub>;(2)、对数据包进行组内组间匹配,构建组播源认证的哈希树首先,将每分组的第1、2个数据包作为叶子节点,并进行哈希计算,得到数据包m<sub>i1</sub>、m<sub>i2</sub>的摘要值,表示为h<sub>i1</sub>、h<sub>i2</sub>,将每分组的第3、4个数据包作为叶子节点同时进行哈希计算,得到数据包m<sub>i3</sub>、m<sub>i4</sub>摘要值h<sub>i3,i4</sub>;对整个分组进行组内哈希计算得到整个组的哈希值即联合摘要值H<sub>mi</sub>,将联合摘要值H<sub>m2</sub>~H<sub>m4</sub>作为叶子节点进行哈希计算,得到联合摘要值H<sub>5</sub>,将第1个分组的联合摘要值H<sub>m1</sub>与联合摘要值H<sub>5</sub>进行哈希计算,得到根签名S<sub>sig</sub>;然后,将第1分组和第4分组的第一个数据包即数据包m<sub>11</sub>、数据包m<sub>41</sub>设为位包,并对每个分组的数据包进行附着哈希值的加密操作:对第1分组中作为位包的数据包m<sub>11</sub>附着摘要值h<sub>12</sub>,h<sub>13,14</sub>,联合摘要值H<sub>5</sub>和根签名S<sub>sig</sub>,对数据包m<sub>12</sub>附着摘要值h<sub>11</sub>,h<sub>13,14</sub>,对数据包m<sub>13</sub>,m<sub>14</sub>均附着摘要值h<sub>11</sub>、h<sub>12</sub>;对于第2分组中数据包m<sub>21</sub>附着摘要值h<sub>22</sub>,h<sub>23,24</sub>,H<sub>3,4</sub>和联合摘要值H<sub>m1</sub>,对数据包m<sub>22</sub>附着h<sub>21</sub>,h<sub>23,24</sub>,对数据包m<sub>23</sub>,m<sub>24</sub>均附着摘要值h<sub>21</sub>,h<sub>22</sub>,其中,H<sub>3,4</sub>为对第3、4分组数据包同时进行哈希运算得到的摘要值;对于第3分组中数据包m<sub>31</sub>附着摘要值h<sub>32</sub>,h<sub>33,34</sub>,H<sub>2,4</sub>和联合摘要值H<sub>m1</sub>,对数据包m<sub>32</sub>附着h<sub>31</sub>,h<sub>33,34</sub>,对数据包m<sub>33,</sub>m<sub>34</sub>均附着摘要值h<sub>31</sub>,h<sub>32</sub>,其中,H<sub>2,4</sub>为对第2、4分组数据包同时进行哈希运算得到的摘要值;对第4分组中作为位包的数据包m<sub>41</sub>附着摘要值h<sub>42</sub>,摘要值h<sub>43,44</sub>,H<sub>2,3</sub>以及联合摘要值H<sub>m1</sub>和根签名S<sub>sig</sub>,对数据包m<sub>42</sub>附着摘要值h<sub>41</sub>,h<sub>43,44</sub>,对数据包m<sub>43</sub>,m<sub>44</sub>均附着摘要值h<sub>41</sub>,h<sub>42</sub>,H<sub>2,3</sub>为对第2、3分组数据包同时进行哈希运算得到的摘要值;(3)、组播源认证3.1)、在发送端先发送数据包m<sub>41</sub>,根据附着的根签名S<sub>sig</sub>、联合摘要值H<sub>m1</sub>可以计算出联合摘要值H<sub>5</sub>,再根据附着的摘要值H<sub>2,3</sub>可以得到该分组联合摘要值H<sub>m4</sub>,最后,结合附着摘要值h<sub>42</sub>、摘要值h<sub>43,44</sub>计算得到摘要值h<sub>41</sub>;对接收的数据包m<sub>41</sub>进行哈希计算,得到摘要值h<sup>*</sup><sub>41</sub>,如果摘要值h<sub>41</sub>与摘要值h<sup>*</sup><sub>41</sub>相同,则数据包m<sub>41</sub>安全组播源发送的,否则,不是;3.2)、对于数据包m<sub>42</sub>在步骤3.1)得到联合摘要值H<sub>m4</sub>的基础上,结合摘要值h<sub>41</sub>,h<sub>43,44</sub>计算得到摘要值h<sub>42</sub>;对接收的数据包m<sub>42</sub>进行哈希计算,得到摘要值h<sup>*</sup><sub>42</sub>,如果摘要值h<sub>42</sub>与摘要值h<sup>*</sup><sub>42</sub>相同,则数据包m<sub>42</sub>安全组播源发送的,否则,不是;3.3)、对于数据包m<sub>43</sub>,m<sub>44</sub>在步骤3.1)得到联合摘要值H<sub>m4</sub>的基础上,结合附着摘要值h<sub>41</sub>,h<sub>42</sub>计算得到摘要值h<sub>43,44</sub>;对接收的数据包m<sub>43</sub>,m<sub>44</sub>同时进行哈希计算,得到摘要值h<sup>*</sup><sub>43,44</sub>,如果摘要值h<sub>43,44</sub>与摘要值h<sup>*</sup><sub>43,44</sub>相同,则数据包m<sub>43</sub>,m<sub>44</sub>安全组播源发送的,否则,不是;3.4)、对于数据包m<sub>21</sub>,根据数据包即位包中的根签名S<sub>sig</sub>以及附着的联合摘要值H<sub>m1</sub>计算出联合摘要值H<sub>5</sub>,再结合摘要值H<sub>3,4</sub>得到联合摘要值H<sub>m2</sub>,最后结合附着摘要值h<sub>22</sub>,h<sub>23,24</sub>计算得到摘要值h<sub>21</sub>;对接收的数据包m<sub>21</sub>进行哈希计算,得到摘要值h<sup>*</sup><sub>21</sub>,如果摘要值h<sub>21</sub>与摘要值h<sup>*</sup><sub>21</sub>相同,则数据包m<sub>21</sub>安全组播源发送的,否则,不是;3.5)、对于数据包m<sub>22</sub>在步骤3.4)得到联合摘要值H<sub>m2</sub>的基础上,结合摘要值h<sub>21</sub>,h<sub>23,24</sub>计算得到摘要值h<sub>22</sub>;对接收的数据包m<sub>22</sub>进行哈希计算,得到摘要值h<sup>*</sup><sub>22</sub>,如果摘要值h<sub>22</sub>与摘要值h<sup>*</sup><sub>22</sub>相同,则数据包m<sub>22</sub>安全组播源发送的,否则,不是;3.6)、对于数据包m<sub>23</sub>,m<sub>24</sub>在步骤3.4)得到联合摘要值H<sub>m2</sub>的基础上,结合附着摘要值h<sub>21</sub>,h<sub>22</sub>计算得到摘要值h<sub>23,24</sub>;对接收的数据包m<sub>23</sub>,m<sub>24</sub>同时进行哈希计算,得到摘要值h<sup>*</sup><sub>23,24</sub>,如果摘要值h<sub>23,24</sub>与摘要值h<sup>*</sup><sub>23,24</sub>相同,则数据包m<sub>23</sub>,m<sub>24</sub>安全组播源发送的,否则,不是;3.7)、对于数据包m<sub>31</sub>~m<sub>34</sub>其认证过程与步骤3.4)~3.6)相同;3.8)、对于数据包m<sub>11</sub>,根据附着的根签名S<sub>sig</sub>、联合摘要值H<sub>5</sub>计算出联合摘要值H<sub>m1</sub>,结合附着摘要值h<sub>12</sub>,h<sub>13,14</sub>,计算得到摘要值h<sub>11</sub>;对接收的数据包m<sub>11</sub>进行哈希计算,得到摘要值h<sup>*</sup><sub>11</sub>,如果摘要值h<sub>11</sub>与摘要值h<sup>*</sup><sub>11</sub>相同,则数据包m<sub>11</sub>安全组播源发送的,否则,不是;3.9)、对于数据包m<sub>12</sub>在步骤3.8)得到联合摘要值H<sub>m1</sub>的基础上,结合附着摘要值h<sub>11</sub>,h<sub>13,14</sub>计算得到摘要值h<sub>22</sub>;对接收的数据包m<sub>12</sub>进行哈希计算,得到摘要值h<sup>*</sup><sub>12</sub>,如果摘要值h<sub>12</sub>与摘要值h<sup>*</sup><sub>12</sub>相同,则数据包m<sub>12</sub>安全组播源发送的,否则,不是;3.10)、对于数据包m<sub>13</sub>,m<sub>14</sub>在步骤3.8)得到联合摘要值H<sub>m1</sub>的基础上,结合附着摘要值h<sub>11</sub>,h<sub>12</sub>计算得到摘要值h<sub>13,14</sub>;对接收的数据包m<sub>13</sub>,m<sub>14</sub>同时进行哈希计算,得到摘要值h<sup>*</sup><sub>13,14</sub>,如果摘要值h<sub>13,14</sub>与摘要值h<sup>*</sup><sub>13,14</sub>相同,则数据包m<sub>13</sub>,m<sub>14</sub>安全组播源发送的,否则,不是。
地址 621000 四川省绵阳市涪城区青龙大道中段59号
您可能感兴趣的专利