用于管理高速缓存一致性的方法_3

文档序号:9816671阅读:来源:国知局
i还必须可应用于已加密消息的前η个比特,以只对该已加密消息的报头h’i进行解密。例如,如果该变换是异或函数,那么它仅仅能够应用在字符串Si的前η个比特与已加密消息的前η个比特之间以只对该报头解密。
[0087]在第三步骤503处,已加密的消息(Μ’i = h’1:: d’ i = fSi (Mi) = f si (h1::di))被第一处理单元发送并存储在共享存储器中。
[0088]在与上述方法的第四步骤404类似的第二步骤504处,第二处理单元希望读取存储在共享存储器中的消息M’i。因此,第二处理单元的伪随机二进制字符串生成器生成第二伪随机二进制字符串生成器S’i。该二进制字符串生成器利用与用于初始化第一步骤501的生成器的种子相同的种子进行初始化,并且这两个生成器从它们的初始化开始就维持彼此同步。因此,在第四步骤504处生成的第二二进制字符串S’i与在第一步骤501处生成的第一二进制字符串Si相同。
[0089]在第五步骤505处,第二处理单元读取存储在第三步骤503中存储在共享存储器中的已加密消息M’i。第二处理单元的密码模块随后通过对已加密消息应用依赖于第二伪随机二进制字符串S’ i的对合变换fS’ i来仅对已加密消息的报头h’ i解密。第二伪随机二进制字符串s’i与第一伪随机二进制字符串Si相同,变换fS’i与变换fSi相同。随后,对该已加密消息M’i的报头h’i的解密产生了预定报头hi,该预定报头hi用作在第二步骤502处被加密的消息Mi的报头。
[0090]如果第二处理单元读取共享存储器中的、与待交换的消息M’i不同的消息M’j对应的加密数据,例如,因为该读取操作发生在加密消息M’i被写入共享存储器之前,那么第二处理单元将不能正确解密该消息报头。在共享存储器中读取的已加密消息会利用与变换fSi不同的变换fSj加密,这是因为该变换fSj被定义为不同于二进制字符串Si的二进制字符串Sj的函数。当使用变换fS’i对已加密的该消息的报头解密时,处理单元的密码模块所获得的结果将是fS’i(fSj(hj)),该结果并不对应于用作消息Mi和Mj的报头的预定报头hi或hj。
[0091]如果对该已加密消息的报头进行的解密没有产生预定报头,那么第二处理单元在经过预定时间间隔后再次执行第四步骤504。
[0092]如果对该已加密消息的报头进行的解密产生了预定报头,那么第二处理单元执行接下来的第六步骤506。
[0093]在第六步骤506处,第二处理单元的密码模块通过对已加密消息M’i的剩余部分应用依赖于第二伪随机二进制字符串S ’ i的对合变换f S ’ i来对共享存储器中读取的已加密消息M’i的剩余部分解密。由于第二伪随机二进制字符串S’i与第一随机二进制字符串Si相同,因此该变换fS’i与变换fSi相同。随后,对在第二步骤502处加密的已加密消息进行的解密产生待交换的消息(fS’i(M’i)=fS,KfSi(Mi) )=fSi(fSi(Mi)) = Id(Mi) =Mi)。
[0094]在第七步骤507处,第二处理单元使用完整性校验对该已解密消息的完整性进行验证。如果发送的消息在第六步骤506处被成功解密,那么该消息是完整的并且第二处理单元证明其已读取共享存储器中正确的消息。相反地,如果解密在第六步骤506处被错误地执行,那么该已解密的消息是不完整的,并且第二处理单元获知在共享存储器中读取的消息不是所需的消息。
[0095]根据一个变型,在已解密消息的完成性验证失败的情况下,第二处理单元在经过预定时间间隔后再次执行第五步骤505。
【主权项】
1.一种通过第一处理单元(202,302)与第二处理单元(202,302)两者共享的存储器(204,304)在所述第一处理单元和所述第二处理单元之间发送消息(Mi)的方法, 待发送的消息(Mi)包括完整性校验和报头, 每个处理单元包括伪随机二进制字符串生成器(205,305)和密码模块(206,306); 所述第一处理单元的生成器和所述第二处理单元的生成器使用同一种子初始化,并彼此同步; 所述方法包括以下步骤: -所述第一处理单元的伪随机二进制字符串生成器(205,305)生成(501)第一伪随机二进制字符串(Si); -所述第一处理单元的密码模块(206,306)通过对所述待发送的消息(Mi)应用依赖于所生成的第一伪随机二进制字符串(Si)的对合变换(fSi)来对所述待发送的消息(Mi)加密(502); -所述第一处理单元发送并在共享的存储器(204,304)中存储(503)已加密的消息(if i= fSi(Mi)); -所述第二处理单元的伪随机二进制字符串生成器(205,305)生成(504)第二伪随机二进制字符串(S'i); 所述第一二进制字符串和所述第二二进制字符串相同; -所述第二处理单元的密码模块(206,306)通过对存储在共享的存储器(204,304)中的所述消息(M' i=fSi(Mi))应用依赖于所述第二伪随机二进制字符串(S' i)的对合变换(fS7i)来对所存储的消息解密(505,506),解密所述消息包括解密所述消息的报头(505)、验证已解密的报头(505)以及根据报头验证的结果来解密完整的消息(506); 依赖于所述第一伪随机二进制字符串的对合变换和依赖于所述第二伪随机二进制字符串的对合变换相同; -所述第二处理单元基于已解密的消息(f S7 i (iT i))的完整性校验来验证(507)所述已解密的消息的完整性。2.根据权利要求1所述的方法,其中,所述依赖于二进制字符串的对合变换为应用在所述二进制字符串与待加密或待解密的消息之间的异或运算(XOR)。3.根据权利要求1或2所述的方法,其中,验证所述报头(505)包括将所述报头与预定报头比较的步骤。4.根据前述权利要求中任一项所述的方法,其中,所述完整性校验为误差检测码。5.根据权利要求4所述的方法,其中,所述误差检测码为循环冗余校验(CRC)或校验和。6.根据前述权利要求中任一项所述的方法,其中,所述共享的存储器(204,304)为循环缓冲存储器。7.根据前述权利要求中任一项所述的方法,其中,所述伪随机二进制字符串生成器的周期长于所述共享的存储器的比特容量。8.—种计算机程序产品,包括当在处理器上执行该程序时用于实现根据前述权利要求中任一项所述的方法的代码指令。9.一种系统,包括: -至少一个第一处理单元(202,302),配置为访问与第二处理单元(202,302)共享的存储器(204,304); 所述第一处理单元(202,302)包括: -伪随机二进制字符串生成器(205,305),用于生成第一伪随机二进制字符串(Si); -密码模块(206,306),用于通过对待发送的消息(Mi)应用依赖于所生成的第一伪随机二进制字符串(Si)的对合变换(fSi)来对所述待发送的消息(Mi)加密(206); 所述待发送的消息(Mi)包括完整性校验和报头; -用于发送并在共享的存储器(204,304)中存储已加密的消息(M4 = f Si (Mi))的装置; 以及,至少一个第二处理单元(202,302),配置为访问与所述第一处理单元(202,302)共享的所述存储器(204,304); 所述第二处理单元包括: -伪随机二进制字符串生成器(205,305),用于生成第二伪随机二进制字符串(S'i); 所述第一处理单元的生成器和所述第二处理单元的生成器使用同一种子初始化并彼此同步,并且所述第一二进制字符串与所述第二二进制字符串相同; -密码模块(206,306),用于通过对存储在共享的存储器中的已加密的消息(if i = f Si(Mi))应用依赖于所述第二伪随机二进制字符串(S'i)的对合变换(fS'i)来对所存储的已加密的消息解密,解密所述消息包括解密所述消息的报头(505)、验证已解密的报头(505)以及根据报头验证的结果来解密完整的消息(506); 依赖于所述第一伪随机二进制字符串的对合变换和依赖于所述第二伪随机二进制字符串的对合变换相同; -用于根据已解密的消息的完整性校验来验证所述已解密的消息的完整性的装置。
【专利摘要】本发明涉及一种通过共享的存储器在两个处理单元之间发送消息的方法,该消息包括完整性校验和报头,所述方法包括以下步骤:第一处理单元生成(501)第一伪随机二进制字符串;通过应用依赖于所生成的第一伪随机二进制字符串的对合变换来对待发送的消息加密(502);发送并在共享的存储器中存储(503)已加密的消息;第二处理单元生成(504)第二伪随机二进制字符串;通过应用依赖于所述第二伪随机二进制字符串的对合变换、解密所述消息的报头(505)、验证已解密的报头(505)、以及根据验证的结果来解密完整的消息(506)来对所存储的消息解密;基于已解密的消息的完整性校验来验证(507)所述已解密消息的完整性。
【IPC分类】H04L9/06
【公开号】CN105580308
【申请号】CN201480053601
【发明人】克里斯汀·瓦尔帕尔德
【申请人】萨基姆防卫安全
【公开日】2016年5月11日
【申请日】2014年9月5日
【公告号】WO2015032921A1
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1