專利名稱:無線通信設(shè)備和無線通信方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及一種無線通信設(shè)備和一種無線通信方法。
背景技術(shù):
對于諸如以IEEE (電氣和電子工程師協(xié)會)802. 11標(biāo)準(zhǔn)定義的無線LAN (局域網(wǎng)) 的無線通信網(wǎng)絡(luò)的需要比以往任何時候都高,并且在這種網(wǎng)絡(luò)上的數(shù)據(jù)傳輸?shù)乃俣纫呀?jīng)變得越來越快。隨著對于無線通信網(wǎng)絡(luò)的需要增加,已要求安全技術(shù)的增強(qiáng)。在IEEE 802. Ili 標(biāo)準(zhǔn)中,TKIP (臨時密鑰完整性協(xié)議)加密方法和CCMP (計數(shù)器模式密碼塊鏈MAC協(xié)議)加密方法被標(biāo)準(zhǔn)化來取代傳統(tǒng)的WEP (有線等效保密)加密方法。TKIP加密方法被定義成, 通過使用RC4作為加密算法進(jìn)行加密,并且通過利用WEP加密方法計算MIC (消息完整性檢查)和ICV (完整性檢查值)將進(jìn)行篡改檢測。下面將說明根據(jù)IEEE 802. Ili計算MIC的方法。如果已經(jīng)選擇TKIP作為傳送加密包的加密方法,當(dāng)傳輸包時,計算MIC,并且在加在傳輸包的幀幀主體前面的字段的范圍內(nèi)設(shè)置因此計算的MIC(在下文中,“MIC字段”)。當(dāng)接收包時,MIC被計算并且與在接收的包的MIC字段中的MIC的值相比較從而進(jìn)行完整性檢查。如果判定這些MIC不能匹配,那么接收的包將被丟棄。計算MIC所基于的數(shù)據(jù),包括源地址、目的地址和幀主體。對于在比 MAC層更高的層生成的每個MSDU(MAC服務(wù)數(shù)據(jù)單元)進(jìn)行MIC計算。計算MIC的方法在 IEEE 802. Ili中被定義。具體地,基于MIC密鑰和數(shù)據(jù)的第一數(shù)據(jù)塊進(jìn)行第一 MIC計算, 所述數(shù)據(jù)是通過將目標(biāo)包分成多個數(shù)據(jù)塊(每個32位)并且將數(shù)據(jù)塊重新整理成目的地址、源地址、填充區(qū)(padding)、幀主體和填充區(qū)的順序而獲得的?;谠揗IC計算的結(jié)果和重新整理的下一個數(shù)據(jù)塊重復(fù)進(jìn)行計算MIC的操作。使用MIC計算的最終結(jié)果作為用于完整性檢查的MIC。對于被分成片段(fragment)的幀(在下文中,“片段幀”)進(jìn)行MIC計算,以便用對于前述的片段幀進(jìn)行MIC計算的結(jié)果代替MIC密鑰,來計算片段幀的MIC。通過計算MIC和利用如上所述的MIC進(jìn)行完整性檢查,防止無線通信網(wǎng)絡(luò)中的包篡改(packet falsification) 0傳統(tǒng)地,TKIP加密方法被標(biāo)準(zhǔn)化,以便允許相對簡單地被WEP加密方法取代?;就ㄟ^軟件而不是硬件進(jìn)行TKIP加密方法中的MIC計算。但是,當(dāng)通過軟件進(jìn)行MIC計算時,會不利地增加微處理器的處理時間,從而使得數(shù)據(jù)傳輸速度下降。能夠通過硬件高速進(jìn)行MIC計算,作為防止這種數(shù)據(jù)通信速度的下降的技術(shù)。例如,第2007-086608號日本專利特開公報公開了一種技術(shù),通過由硬件進(jìn)行MIC計算,并且當(dāng)包要被傳輸時,通過重新使用已經(jīng)預(yù)先計算的MIC,來防止傳送速率的下降。第2006-311394號日本專利特開公報公開了一種技術(shù),即使在這樣的環(huán)境中,即同時進(jìn)行多路無線通信并且通過逐個無線電臺地存儲計算的MIC,能夠發(fā)生從一個無線電臺接收片段幀的同時還從另一個無線電臺接收片段幀的環(huán)境中,也能夠正確計算MIC。鑒于上述情形,期望有一種通過硬件允許有效MIC計算并且同時有效地防止傳送速率的下降的技術(shù)。
鑒于上述情形完成了本發(fā)明,并且本發(fā)明的目的在于提供一種無線通信設(shè)備和無線通信方法,其中無線通信設(shè)備允許通過硬件有效地計算用于檢測包篡改的計算值以及有效防止傳送速率的下降。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的方面,提供一種無線通信設(shè)備,該無線通信設(shè)備在無線網(wǎng)絡(luò)上傳輸包括目的地址、源地址和幀主體的包。無線通信設(shè)備包括計算單元,所述計算單元被配置成使用預(yù)定計算方法基于第一包的目的地址、源地址和幀主體進(jìn)行計算從而獲得用于檢測包篡改的第一計算值;和存儲單元,在所述存儲單元中存儲與所述目的地址相關(guān)聯(lián)的所述第一計算值。所述計算單元被進(jìn)一步配置成,當(dāng)?shù)诙粋鬏數(shù)脚c存儲在所述存儲單元中的所述目的地址相同的相同目的地址時,利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。根據(jù)本發(fā)明的另一個方面,提供一種無線通信設(shè)備,該無線通信設(shè)備在無線網(wǎng)絡(luò)上傳輸包括目的地址、源地址和幀主體的包。無線通信設(shè)備包括計算單元,該計算單元被配置成使用預(yù)定計算方法基于第一包的目的地址、源地址和幀幀主體進(jìn)行計算從而獲得用于檢測包篡改的第一計算值;和存儲單元,在所述存儲單元中存儲與所述目的地址相關(guān)聯(lián)的所述第一計算值。所述計算單元被進(jìn)一步配置成,當(dāng)?shù)诙鼜呐c在所述存儲單元中存儲所述源地址相同的相同源地址要被接收時,利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。根據(jù)本發(fā)明的再另一個方面,提供一種通過無線通信設(shè)備進(jìn)行的無線通信方法。 所述設(shè)備在無線網(wǎng)絡(luò)上傳輸包括目的地址、源地址和幀主體的包。無線通信設(shè)備包括計算單元和存儲控制單元。無線通信方法包括利用預(yù)定計算方法基于作為第一包的目的地址、 源地址和幀主體計算用于檢測包篡改的第一計算值;和在所述存儲控制單元的控制下,將與所述目的地址相關(guān)聯(lián)的所述第一計算值存儲在存儲單元中。所述計算包括,當(dāng)?shù)诙粋鬏數(shù)脚c存儲在所述存儲單元中的所述目的地址相同的相同目的地址時,利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。
圖1是圖解設(shè)置在根據(jù)本發(fā)明的實(shí)施例的傳輸無線通信設(shè)備中的篡改檢測電路的硬件配置的圖;圖2是用于說明MIC計算方法的圖;圖3是圖解設(shè)置在接收無線通信設(shè)備中的篡改檢測電路35的硬件配置的圖;圖4是圖解由設(shè)置在傳輸無線通信設(shè)備中的篡改檢測電路25進(jìn)行的處理過程的流程圖;圖5是圖解由設(shè)置在傳輸無線通信設(shè)備中的篡改檢測電路25進(jìn)行的處理過程的部分的流程圖;圖6A和6B是圖解由設(shè)置在接收無線通信設(shè)備中的篡改檢測電路35進(jìn)行的處理過程的流程圖;和
圖7是圖解由設(shè)置在接收無線通信設(shè)備中的篡改檢測電路35進(jìn)行的處理過程的部分的流程圖。
具體實(shí)施例方式將參照附圖詳細(xì)說明根據(jù)本發(fā)明的無線通信設(shè)備和無線通信方法的典型實(shí)施例。(1)構(gòu)造在本實(shí)施例中,將說明這樣的實(shí)例從傳輸無線通信設(shè)備向接收無線通信設(shè)備傳送用于無線LAN網(wǎng)絡(luò)的、通過TKIP加密方法加密的包。同時,為了方便起見,當(dāng)沒有必要區(qū)別傳輸無線通信設(shè)備和接收無線通信設(shè)備時,所述設(shè)備被簡單地稱為“無線通信設(shè)備”。 下面將說明無線通信設(shè)備的硬件配置。無線通信設(shè)備包括控制全部無線通信設(shè)備、諸如 CPU(中央處理單元)的控制裝置,存儲各種數(shù)據(jù)和計算機(jī)程序、諸如ROM(只讀存儲器)或者RAM(隨機(jī)存取存儲器)的存儲單元,存儲各種數(shù)據(jù)和計算機(jī)程序、諸如HDD (硬盤驅(qū)動器)或者⑶(光盤)驅(qū)動器的輔助存儲單元,控制與外部設(shè)備通信的無線通信單元,篡改檢測電路,和將這些元件連接在一起的總線。篡改檢測電路檢測從如上所述的無線通信設(shè)備傳輸?shù)陌蛡鬏數(shù)皆摕o線通信設(shè)備的包的篡改。在傳輸側(cè)上的篡改檢測電路的構(gòu)造與在接收側(cè)上的不同,其中從傳輸側(cè)傳輸包,在接收側(cè)接收包。因此,分開說明設(shè)置在傳輸無線通信設(shè)備中的篡改檢測電路和設(shè)置在接收無線通信設(shè)備中的篡改檢測電路。同時,能夠使用這樣的構(gòu)造,在該構(gòu)造中單個無線通信設(shè)備既具有傳輸包的功能還具有接收包的功能并且因此包括下面將說明的傳輸側(cè)上的篡改檢測電路和接收側(cè)上的篡改檢測電路。另外,能使用這樣的構(gòu)造,在該構(gòu)造中無線通信設(shè)備具有上述兩種功能但僅具有一個篡改檢測電路。圖1是圖解設(shè)置在傳輸無線通信設(shè)備中的篡改檢測電路的硬件配置的圖。篡改檢測電路25包括傳輸包譯碼電路26、比較電路27、MIC存儲單元觀、邏輯電路四和31、以及 MIC計算電路30。傳輸包譯碼電路沈被供應(yīng)要被傳輸?shù)哪繕?biāo)包(在下文中,“傳輸包”),其中通過由控制單元執(zhí)行存儲在存儲單元和/或輔助存儲單元中的各種程序而生成要被傳輸?shù)哪繕?biāo)包。傳輸包包括MAC報頭、幀主體和填充區(qū)。MAC報頭包括目的地址、源地址、序列號、片段號碼和更多片段位。傳輸包譯碼電路26對傳輸包譯碼,并且提取并輸出包含在MAC 報頭中的目的地址、序列號、片段號碼、源地址、和更多片段位。傳輸包譯碼電路沈還輸出幀主體和填充區(qū)。目的地址為分配給接收無線通信設(shè)備的地址,在接收無線通信設(shè)備處將接收從傳輸無線通信設(shè)備傳輸?shù)陌?。源地址為分配給傳輸無線通信設(shè)備的地址,從該傳輸無線通信設(shè)備傳輸包。更多片段位指示在目標(biāo)傳輸包之后是否存在要被傳輸?shù)暮罄m(xù)包。例如,如果被分成片段的傳輸包(傳輸片段包)的目標(biāo)片段的后面是要被傳輸?shù)较嗤康牡刂返暮罄m(xù)片段包,那么更多片段位被設(shè)置成“ 1”,然而,如果傳輸包不是片段的或者如果片段傳輸包的目標(biāo)片段的后面不是要被傳輸?shù)较嗤康牡刂返暮罄m(xù)片段包;換句話說,如果目標(biāo)片段包為結(jié)尾傳輸片段包,更多片段位被設(shè)置成“0”。片段標(biāo)簽指示分成片段的傳輸包(在下文中,“傳輸片段包”)的目標(biāo)片段是否在被傳送的處理過程中。在前者情況下,片段標(biāo)簽被設(shè)置成“ 1 ”,然而在后者情況下,片段標(biāo)簽被設(shè)置成“0”。MIC計算電路30計算傳輸包的MIC。將簡要說明計算MIC的方法。圖2是說明 MIC計算方法的圖。要被傳輸/接收的包被分成塊(每個32位),這些塊被重新整理成按下述順序排列目的地址的低位四個字節(jié)、源地址的高位兩個字節(jié)以及目的地址的高位兩個字節(jié)、源地址的高位四個字節(jié)、填充區(qū)、幀主體和填充區(qū),以及MIC密鑰。數(shù)據(jù)塊按順序被逐個饋送到MIC計算電路30。對于片段包的第一 MIC計算,MIC密鑰被饋送到MIC計算電路30。該MIC密鑰已經(jīng)預(yù)先被獲得并且被存儲在例如輔助存儲單元中。MIC計算電路30基于饋送到此的信息計算MIC。對于在已經(jīng)計算了 MIC的片段包之后的片段包的MIC計算,通過將MIC而不是MIC密鑰饋送到MIC計算電路30而進(jìn)行。在本實(shí)施例中,對片段包已經(jīng)計算了的MIC被存儲在稍后將說明的MIC存儲單元觀中,其中該片段包在目標(biāo)片段包前面, 并且基于存儲的MIC進(jìn)行對于目標(biāo)包的MIC的計算,從而增加計算的效率。MIC存儲單元28存儲信息組,以便每個組都與對應(yīng)的目的地址相關(guān)聯(lián)并且包括 MIC、序列號、片段號碼和片段標(biāo)簽(每個組被稱為“傳輸管理信息”)。以逐個目的地址為單位被存儲的傳輸管理信息組的號碼依賴于硬件實(shí)現(xiàn),而沒有被特別地規(guī)定。同時,如果片段標(biāo)簽的值為“0”,那么MIC被設(shè)置成第一 MIC計算的結(jié)果的值。當(dāng)由目的地址、源地址和填充區(qū)形成的四個字(由圖2中的附圖標(biāo)號100指示)被饋送到MIC計算電路30時,第一 MIC計算的結(jié)果為由MIC計算電路30計算的MIC。如果片段標(biāo)簽的值為“ 1 ”,那么,MIC被設(shè)置成基于已經(jīng)傳送的傳輸包的MIC計算的結(jié)果的值。比較電路27在從傳輸包譯碼電路沈饋送的信息和存儲在MIC存儲單元28中的傳輸管理信息之間進(jìn)行比較,并且根據(jù)比較的結(jié)果將信息饋送到MIC計算電路30。稍后將具體說明通過比較電路27要被進(jìn)行的比較。邏輯電路四將從比較電路27輸出的信息和從傳輸包譯碼電路26輸出的信息饋送到MIC計算電路30。邏輯電路31將由MIC計算電路 30計算的MIC添加到MIC字段并且將向其添加MIC的包輸出,該MIC字段在幀主體后面,并且為傳輸?shù)姆瞧伟蛡鬏數(shù)钠伟哪┒藗鬏數(shù)钠伟械娜魏我粋€的MIC字段。該包經(jīng)由無線通信單元被傳輸?shù)浇邮諢o線通信設(shè)備。圖3是圖解設(shè)置在接收無線通信設(shè)備中的篡改檢測電路35的硬件配置的圖。篡改檢測電路35包括接收包譯碼電路36、比較電路37、邏輯電路39、MIC計算電路40、MIC存儲單元38和MIC比較電路41。接收包譯碼電路36被饋送有經(jīng)由無線通信單元接收的包 (在下文中,“接收包”)。接收包的數(shù)據(jù)構(gòu)造類似于傳輸包的數(shù)據(jù)構(gòu)造。接收包譯碼電路36 對接收的包譯碼,并且提取和輸出包含在接收包的MAC報頭中的目的地址、序列號、片段號碼、源地址和更多片段位。接收包譯碼電路36還輸出幀主體和填充區(qū)。MIC存儲單元38存儲信息組,以便每個組都與對應(yīng)的源地址相關(guān)聯(lián)并且包括MIC、 序列號、片段號碼、片段標(biāo)簽和重試(retry)計數(shù)值(每個組被稱為“接收管理信息”)。以逐個源地址為單位被存儲的接收管理信息組的號碼依賴于硬件實(shí)現(xiàn),而沒有被特別地規(guī)定。 同時,如果片段標(biāo)簽的值為“0”,那么MIC被設(shè)置成第一 MIC計算的結(jié)果的值。如果片段標(biāo)簽的值為“1”,那么MIC被設(shè)置成基于已經(jīng)傳送的接收包的MIC計算的結(jié)果的值。重試計數(shù)值為從相同源地址重發(fā)單個包的次數(shù)。為了限制對于這種包重發(fā)的次數(shù),重試閾值被預(yù)先設(shè)置并且被存儲在例如輔助存儲單元中。比較電路37在從接收包譯碼電路36饋送的信息和存儲在MIC存儲單元38中的接收管理信息之間進(jìn)行比較,并且根據(jù)比較的結(jié)果將信息饋送到MIC計算電路40。稍后將具體說明通過比較電路37被進(jìn)行的比較。MIC計算電路40計算接收包的MIC。因為計算 MIC的方法基本類似于由MIC計算電路30進(jìn)行的方法,所以省略重復(fù)說明。當(dāng)完成接收的非片段包或者被分成片段的接收包的接收的結(jié)尾片段包的MIC計算時,MIC計算電路40輸出MIC計算的結(jié)果。MIC比較電路41在從MIC計算電路40輸出的MIC和在接收包的MIC 字段范圍內(nèi)設(shè)置的MIC進(jìn)行比較,并且輸出比較的結(jié)果,其中MIC字段在幀主體后面。當(dāng)該比較的結(jié)果指示MIC之間的匹配還沒有出現(xiàn)時,檢測到接收包已經(jīng)被篡改。(2)操作下面將參照圖4和圖5說明通過設(shè)置在根據(jù)本實(shí)施例的傳輸無線通信設(shè)備中的篡改檢測電路25被進(jìn)行的處理過程。當(dāng)傳輸包被饋送到篡改檢測電路25時,傳輸包譯碼電路26對傳輸包譯碼,并且提取和輸出包含在傳輸包的MAC報頭中的目的地址、序列號、片段號碼、源地址和更多片段位(步驟Si)。此后,比較電路27判定與在步驟Sl中從傳輸包譯碼電路26輸出的目的地址相關(guān)聯(lián)的傳輸管理信息是否被存儲在MIC存儲單元觀中(步驟 S2)。如果與目的地址相關(guān)聯(lián)的傳輸管理信息沒有被存儲在MIC存儲單元觀中(步驟S2 中為否),那么邏輯電路四以逐個數(shù)據(jù)塊為單位將在步驟Sl中從傳輸包譯碼電路沈輸出的目的地址、源地址、填充區(qū)和幀主體順序饋送到MIC計算電路30。MIC計算電路30基于從邏輯電路四饋送的目的地址、源地址、填充區(qū)和幀主體進(jìn)行MIC計算(在圖5的程序中為步驟S20)。比較電路27判定在步驟Sl中從傳輸包譯碼電路沈輸出的更多片段位是否為“1” (步驟S21)。如果更多片段位為“1” (在步驟S21中為是),那么傳輸管理信息被生成并且被存儲在MIC存儲單元觀中,其中傳輸管理信息包含在步驟S 1中從傳輸包譯碼電路26輸出的目的地址、序列號和通過將包含在MAC報頭中的片段號碼加1而得到的片段號碼。然后比較電路27將傳輸管理信息的片段標(biāo)簽設(shè)置成“1”并且將傳輸管理信息的MIC 設(shè)置成根據(jù)在步驟S20中進(jìn)行的MIC計算的結(jié)果而獲得的值(步驟S2》。如果在步驟Sl 中從傳輸包譯碼電路26輸出的更多片段位為“0” (在步驟S21中為否),那么比較電路27 生成傳輸管理信息并且將該傳輸管理信息存儲在MIC存儲單元觀中,其中傳輸管理信息包含在步驟Sl中從傳輸包譯碼電路沈輸出的目的地址和通過將在步驟Sl中從傳輸包譯碼電路26輸出的序列號加1而得到的序列號。然后比較電路27將傳輸管理信息的片段號碼設(shè)置成“0”,將傳輸管理信息的片段標(biāo)簽設(shè)置成“0”,并且將傳輸管理信息的MIC設(shè)置成根據(jù)上述第一 MIC計算的結(jié)果而獲得的值(步驟S2!3)。如上所述,如果與傳輸包的目的地址相關(guān)聯(lián)的傳輸管理信息沒有被存儲在MIC存儲單元觀中,那么篡改檢測電路25根據(jù)更多片段位生成傳輸管理信息并且將該傳輸管理信息存儲在MIC存儲單元觀中。當(dāng)如上所述,在傳輸管理信息已經(jīng)被存儲在MIC存儲單元觀中之后,其MAC報頭包含相同目的地址的傳輸包被饋送到篡改檢測電路25時,在步驟S2中得到的判定結(jié)果為是。在這樣的情況下,比較電路27提取包含在傳輸管理信息中的序列號、片段號碼和片段標(biāo)簽,該傳輸管理信息與在步驟Sl中從傳輸包譯碼電路沈輸出的目的地址相關(guān)聯(lián)并且被存儲在MIC存儲單元觀中(步驟S; )。隨后,比較電路27判定在步驟S3中提取的片段標(biāo)簽的值是否為“1” (步驟S4)。如果片段標(biāo)簽的值為“1” (在步驟S4中為是),那么比較電路27判定在步驟Sl中從傳輸包譯碼電路沈輸出的序列號與在步驟S3中從傳輸管理信息提取的序列號之間是否匹配,以及判定在步驟Sl中從傳輸包譯碼電路沈輸出的片段號碼與在步驟S3中從傳輸管理信息提取的片段號碼之間是否匹配(步驟S5)。如果序列號之間和片段號碼之間都匹配(在步驟S5中為是),那么邏輯電路四將作為MIC初始值的、包含在傳輸管理信息中的MIC饋送到MIC計算電路30,并且按順序以逐個數(shù)據(jù)塊為單位將在步驟Sl中從傳輸包譯碼電路沈輸出的目的地址、源地址、填充區(qū)和幀主體同時饋送到MIC 計算電路30。于是MIC計算電路30通過使用從邏輯電路四饋送的并且用作MIC初始值的 MIC,并且通過順序使用目的地址、源地址、填充區(qū)和幀主體計算MIC (步驟S6)。隨后,比較電路27判定在步驟Sl中從傳輸包譯碼電路沈輸出的更多片段位是否為“1”(步驟S7)。如果更多片段位為“1”(步驟S7中為是),那么傳輸包是片段的并且在被傳送的處理的過程中。在這樣的情況下,比較電路27對接著要被傳輸?shù)暮罄m(xù)包,通過用在步驟Sl中從傳輸包譯碼電路沈輸出的序列號和將在步驟Sl中從傳輸包譯碼電路沈輸出的片段號碼加1而得到的片段號碼替代包含在傳輸管理信息中的序列號和片段號碼,并且將包含在傳輸管理信息中的片段標(biāo)簽設(shè)置成“ 1 ”,來更新存儲在MIC存儲單元觀中的傳輸管理信息(步驟S8)。注意,包含在傳輸管理信息中的MIC并沒有被更新而是保持對先前傳輸包進(jìn)行的計算而獲得的相同的MIC,該先前傳輸包已經(jīng)在當(dāng)前處理的傳輸包之前被處理。相反,如果更多片段位為“0” (在步驟S7中為否),比較電路27對接著要被傳輸?shù)暮罄m(xù)包,通過用在步驟Sl中從傳輸包譯碼電路沈輸出的片段號碼加1而得到的序列號替代包含在傳輸管理信息中的序列號,將包含在傳輸管理信息中的片段號碼設(shè)置成“0”,并且將包含在傳輸管理信息中的片段標(biāo)簽設(shè)置成“0”,來更新存儲在MIC存儲單元觀中的傳輸管理信息。比較電路27基于目的地址、源地址和填充區(qū)將包含在傳輸管理信息中的MIC進(jìn)一步更新成在步驟S6中計算的MIC的值(步驟S9)。當(dāng)片段標(biāo)簽的值為“0”(步驟S4中為否),那么被分成片段的傳輸包不在被傳送的處理的過程中。在這樣的情況下,比較電路27判定在步驟Sl中從傳輸包譯碼電路沈輸出的序列號是否大于MIC存儲單元觀中存儲的傳輸管理信息中包含的序列號,并且判定在步驟Sl中從傳輸包譯碼電路沈輸出的片段號碼是否與MIC存儲單元觀中存儲的傳輸管理信息中包含的片段號碼相匹配;換句話說,片段號碼是否為“0”(步驟S10)。如果既滿足前者序列號大于后者序列號的條件也滿足前者片段號碼匹配后者片段號碼的條件(步驟SlO 中為是),那么邏輯電路四將傳輸管理信息中包含的MIC和已經(jīng)在步驟Sl中由傳輸包譯碼電路沈譯碼的傳輸包中包含的幀主體饋送到MIC計算電路30。MIC計算電路30基于因此饋送的MIC和幀主體進(jìn)行另一個MIC計算(步驟Sll)。如果還沒有出現(xiàn)在傳輸包和傳輸管理信息之間的序列號的匹配和片段號碼的匹配中的至少任何一種匹配(步驟S5中為否),或者如果不滿足傳輸包的序列號大于傳輸管理信息的序列號的條件以及接收包和傳輸管理信息之間的幀號碼的匹配發(fā)生的條件中的任何一個條件(步驟SlO中為否),那么MIC計算電路30不進(jìn)行MIC計算。當(dāng)完成對于傳輸?shù)姆瞧伟捅环殖善蔚膫鬏敯膫鬏斀Y(jié)尾包中的任何一個的MIC計算時,MIC計算電路30將MIC計算的結(jié)果輸出。邏輯電路31將該MIC添加到在傳輸包的幀主體的后面的字段。傳輸包經(jīng)由無線通信單元被傳輸?shù)浇邮諢o線通信設(shè)備。下面將參照圖6A、6B和圖7說明通過設(shè)置在接收無線通信設(shè)備中的篡改檢測電路35被進(jìn)行的處理過程。當(dāng)從傳輸無線通信設(shè)備傳輸?shù)牟⑶彝ㄟ^無線通信設(shè)備接收的接收包經(jīng)由無線通信單元被饋送到篡改檢測電路35的接收包譯碼電路36時,接收包譯碼電路36對接收包譯碼,并且提取和輸出包含在接收包的MAC報頭中的源地址、目的地址、序列號、片段號碼和更多片段位(步驟S30)。此后,比較電路37判定與在步驟S30中從接收包譯碼電路36輸出的源地址相關(guān)聯(lián)的接收管理信息是否被存儲在MIC存儲單元38中(步驟S31)。如果與源地址相關(guān)聯(lián)的接收管理信息沒有被存儲在MIC存儲單元38中(步驟S31 中為否),那么邏輯電路39以逐個數(shù)據(jù)塊為單位將在步驟S30中從接收包譯碼電路36輸出的目的地址、源地址、填充區(qū)和幀主體順序饋送到MIC計算電路40。MIC計算電路40基于從邏輯電路39饋送的目的地址、源地址、填充區(qū)和幀主體計算MIC(在圖7的程序中的步驟S60)。比較電路37判定在步驟S30中從接收包譯碼電路36輸出的更多片段位是否為 “1”(步驟S61)。如果更多片段位為“1”(在步驟S61中為是),那么接收管理信息被生成并且被存儲在MIC存儲單元38中,其中接收管理信息包含在步驟S30中從接收包譯碼電路 36輸出的源地址,序列號,和通過將包含在MAC報頭中的片段號碼加1而得到的片段號碼。 然后比較電路37將接收管理信息的片段標(biāo)簽設(shè)置成“1”并且將接收管理信息的MIC設(shè)置成根據(jù)在步驟S62中進(jìn)行的MIC計算的結(jié)果而獲得的值(步驟S6》。如果在步驟S30從接收包譯碼電路36輸出的更多片段位為“0” (在步驟S61中為否),那么比較電路37生成接收管理信息并且將該接收管理信息存儲在MIC存儲單元38中,其中接收管理信息包含在步驟S30中從接收包譯碼電路36輸出的目的地址和通過將在步驟S30中從接收包譯碼電路 36輸出的序列號加1而得到的序列號。然后比較電路37將接收管理信息的片段號碼設(shè)置成“0”,將接收管理信息的片段標(biāo)簽設(shè)置成“0”,并且將接收管理信息的MIC設(shè)置成根據(jù)上述第一 MIC計算的結(jié)果而獲得的值(步驟S6!3)。如上所述,如果與接收包的源地址相關(guān)聯(lián)的接收管理信息沒有被存儲在MIC存儲單元38中,那么篡改檢測電路35根據(jù)更多片段位生成接收管理信息并且將該接收管理信息存儲在MIC存儲單元38中。當(dāng)如上所述,在接收管理信息已經(jīng)被存儲在MIC存儲單元觀中之后,其MAC報頭包含相同源地址的接收包被饋送到篡改檢測電路35時,在步驟S31中得到的判定結(jié)果為是。在這樣的情況下,比較電路37提取包含在接收管理信息中的序列號、片段號碼、片段標(biāo)簽和重試計數(shù)值,該傳輸管理信息與在步驟S30中從接收包譯碼電路36輸出的源地址相關(guān)聯(lián)并且被存儲在MIC存儲單元38中(步驟S3》。隨后,比較電路37判定在步驟S32中提取的重試計數(shù)值是否已經(jīng)達(dá)到重試閾值(步驟S3; )。如果重試計數(shù)值已經(jīng)達(dá)到重試閾值 (在步驟S33中為是),那么比較電路37生成接收管理信息并且將該接收管理信息存儲在 MIC存儲單元38中,其中接收管理信息包含在步驟S30中從接收包譯碼電路36輸出的目的地址和通過將從接收包譯碼電路36輸出的片段號碼加1而得到的序列號。然后比較電路 37將接收管理信息的片段號碼和片段標(biāo)簽的每個都設(shè)置成“0”。比較電路37將接收管理信息的重試計數(shù)值和MIC的每個進(jìn)一步復(fù)位成“0” (步驟S34)。因此,如果接收包的重試計數(shù)值超過重試閾值,那么關(guān)于接收包的接收管理信息被刪除并且關(guān)于接下來要被接收的接收包的接收管理信息被寫入以代替刪除的接收管理信息。同時,如果重試計數(shù)值已經(jīng)達(dá)到重試閾值,那么MIC計算電路40不進(jìn)行MIC計算。如果重試計數(shù)值還沒有達(dá)到重試閾值(步驟S33中為否),那么比較電路37判定在步驟S30中提取的片段標(biāo)簽的值是否為“1”(步驟S3Q。如果片段標(biāo)簽的值為“1”(在步驟S35中為是),那么比較電路37判定在步驟S30中從接收包譯碼電路36輸出的序列號與在步驟S32中從接收管理信息提取的序列號之間是否匹配,以及判定在步驟S30中從傳輸包譯碼電路36輸出的片段號碼與在步驟S32中從接收管理信息提取的片段號碼之間是否匹配(步驟S36)。如果序列號之間和片段號碼之間都匹配(在步驟S36中為是),那么邏輯電路39將作為MIC初始值的、包含在接收管理信息中的MIC饋送到MIC計算電路40,并且以逐個數(shù)據(jù)塊為單位將在步驟S30中從接收包譯碼電路36輸出的目的地址、源地址、 填充區(qū)和幀主體順序饋送到MIC計算電路40。于是MIC計算電路40基于從邏輯電路39 饋送并且用作MIC初始值的MIC并且通過順序使用目的地址、源地址、填充區(qū)和幀主體計算 MIC (步驟 S37)。隨后,比較電路37判定在步驟S30中從接收包譯碼電路36輸出的更多片段位是否為“1” (步驟S38)。如果更多片段位為“1” (步驟S38中為是),那么接收包是片段的并且在被傳送的處理的過程中。在這樣的情況下,比較電路37對接著要被接收的包,用在步驟S30中從接收包譯碼電路36輸出的序列號和通過將在步驟S30中從接收包譯碼電路36 輸出的片段號碼加1而得到的片段號碼替代包含在接收管理信息中的序列號和片段號碼, 并且將包含在接收管理信息中的片段標(biāo)簽設(shè)置成“ 1 ”,來更新存儲在MIC存儲單元38中的接收管理信息(步驟S39)。注意,包含在接收管理信息中的MIC并沒有被更新而是保持對先前接收包進(jìn)行的計算而獲得的相同的MIC,該先前接收包在當(dāng)前處理的接收包之前已經(jīng)被處理。相反,如果更多片段位為“0” (在步驟S38中為否),比較電路37對接著要被接收的包,用在步驟S30中從接收包譯碼電路36輸出的片段號碼加1而得到的序列號替代包含在接收管理信息中的序列號,將包含在接收管理信息中的片段號碼設(shè)置成“0”,并且將包含在接收管理信息中的片段標(biāo)簽設(shè)置成“0”,來更新存儲在MIC存儲單元38中的接收管理信息。比較電路37基于目的地址、源地址和填充區(qū)將包含在接收管理信息中的MIC進(jìn)一步更新成在步驟S37中進(jìn)行的MIC計算的結(jié)果的值(步驟S43)。當(dāng)片段標(biāo)簽的值為“0” (步驟S35中為否),那么被分成片段的接收包不在被傳送的處理的過程中。在這樣的情況下,比較電路37判定在步驟S30中從接收包譯碼電路36 輸出的序列號是否大于MIC存儲單元38中存儲的接收管理信息中包含的序列號,并且判定在步驟S30中從接收包譯碼電路36輸出的片段號碼是否與MIC存儲單元38中存儲的接收管理信息中包含的片段號碼相匹配;換句話說,片段號碼是否為“0”(步驟S41)。如果既滿足前者序列號大于后者序列號的條件也滿足前者片段號碼匹配后者片段號碼的條件(步驟S41中為是),那么邏輯電路39將包含在接收管理信息中的MIC和已經(jīng)在步驟S30中由接收包譯碼電路36譯碼的接收包包含中的幀主體饋送到MIC計算電路40。MIC計算電路 40基于因此饋送的MIC和幀主體進(jìn)行另一個MIC計算(步驟S42)。如果還沒有出現(xiàn)在接收包和接收管理信息之間的序列號的匹配和片段號碼的匹配中的至少任何一種匹配(步驟S36中為否),或者如果不滿足接收包的序列號大于接收管理信息的序列號的條件以及接收包和接收管理信息之間的幀號碼的匹配發(fā)生的條件中的任何一種條件(步驟S41中為否),那么MIC計算電路40不進(jìn)行MIC計算。當(dāng)完成接收的非片段包或者被分成片段的接收包的接收的結(jié)尾片段包的MIC計算時,MIC計算電路40將 MIC計算的結(jié)果輸出。MIC比較電路41在因此輸出的MIC和在幀主體后面的MIC字段范圍內(nèi)設(shè)置的MIC進(jìn)行比較,并且輸出比較的結(jié)果。當(dāng)該比較的結(jié)果指示MIC之間的匹配還沒有出現(xiàn)時,檢測到接收包已經(jīng)被篡改。利用上述構(gòu)造,通過硬件進(jìn)行包含在MIC比較中的MIC計算,其中進(jìn)行MIC比較從而檢測無線傳輸?shù)陌拇鄹?。因此,能夠有效進(jìn)行MIC計算,并且能夠防止傳送速率的下降。[變化例]
本發(fā)明并不局限于上述實(shí)施例;當(dāng)在實(shí)踐時,利用在本發(fā)明的范圍內(nèi)各種修改的組成元件,能夠?qū)崿F(xiàn)本發(fā)明。此外,能夠通過適當(dāng)?shù)亟Y(jié)合在實(shí)施例中公開的多個組成元件而獲得各種實(shí)施例。例如,可以從組成元件中省略在實(shí)施例中說明的一些組成元件。可以適當(dāng)?shù)亟Y(jié)合不同實(shí)施例的組成元件。此外,能夠得到下面所述的一些各種變化例。通過在上述實(shí)施例中的無線通信設(shè)備被執(zhí)行的計算機(jī)程序能夠被存儲在連接到諸如因特網(wǎng)的網(wǎng)絡(luò)的計算機(jī)中,以便經(jīng)由網(wǎng)絡(luò)下載計算機(jī)程序。計算機(jī)程序能夠被配置成, 按照以可安裝或者可執(zhí)行格式在計算機(jī)可讀記錄介質(zhì)中記錄而被設(shè)置,其中計算機(jī)可讀記錄介質(zhì)例如是,只讀存儲器(CD-ROM)、軟磁盤(FD)、可記錄CD(CD-R)或者數(shù)字化視頻光盤 (DVD)。包括在實(shí)施例中所述的篡改檢測電路的無線通信設(shè)備能夠被應(yīng)用于圖像形成設(shè)備。圖像形成設(shè)備的實(shí)例包括提供復(fù)印機(jī)功能、打印機(jī)功能、掃描儀設(shè)備和傳真功能中的至少兩種功能的多功能外部設(shè)備,和提供圖像形成功能的、諸如復(fù)印機(jī)、打印機(jī)、掃描儀設(shè)備和傳真機(jī)的設(shè)備。在上述實(shí)施例中,已經(jīng)說明這樣的實(shí)例在無線LAN局域網(wǎng)網(wǎng)絡(luò)上傳輸通過TKIP 加密方法加密的包;但是,此處對無線通信網(wǎng)絡(luò)和加密方法并沒有限制。在上述實(shí)施例中,傳輸無線通信設(shè)備被配置成,通過MIC計算電路30進(jìn)行MIC計算。另外,能夠使用另一種構(gòu)造,在該構(gòu)造中,當(dāng)MIC存儲單元觀的容量小于預(yù)定大小時, CPU執(zhí)行計算機(jī)程序從而進(jìn)行MIC計算。在這樣的情況下,如在上述MIC計算電路30中所述,用于MIC計算的計算機(jī)程序能夠被存儲在例如諸如HDD的輔助存儲單元中,以便如果 MIC存儲單元觀的容量小于預(yù)定大小并且當(dāng)包要被傳輸時,那么CPU能夠從輔助存儲單元讀出計算機(jī)程序從而進(jìn)行包傳輸。它還可應(yīng)用于接收無線通信設(shè)備;如在上述MIC計算電路40中所述,用于MIC計算的計算機(jī)程序能夠被存儲在例如諸如HDD的輔助存儲單元中, 以便如果MIC存儲單元38的容量小于預(yù)定大小并且當(dāng)包要被接收時,那么CPU能夠從輔助存儲單元讀出計算機(jī)程序從而進(jìn)行包接收。
權(quán)利要求
1.一種無線通信設(shè)備,所述無線通信設(shè)備在無線網(wǎng)絡(luò)上傳輸包括目的地址、源地址和幀主體的包,其特征在于,所述無線通信設(shè)備包含計算單元,配置成利用預(yù)定計算方法基于第一包的目的地址、源地址和幀主體進(jìn)行計算從而獲得用于檢測包篡改的第一計算值;和存儲單元,在所述存儲單元中存儲與所述目的地址相關(guān)聯(lián)的所述第一計算值,其中所述計算單元被進(jìn)一步配置成,當(dāng)?shù)诙粋鬏數(shù)脚c在所述存儲單元中存儲的所述目的地址相同的相同目的地址時,利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。
2.如權(quán)利要求1所述的無線通信設(shè)備,其特征在于, 所述第一包包括序列號、片段號碼和更多片段位,并且所述存儲單元在其中以逐個目的地址為單位地存儲所述第一計算值和在所述第一包之后要被傳輸?shù)暮罄m(xù)包的序列號、片段號碼和更多片段位。
3.如權(quán)利要求2所述的無線通信設(shè)備,其特征在于,所述存儲單元在其中以逐個目的地址為單位地存儲對于多個片段包分別計算的多個第一計算值,所述片段包是被分成片段的并且是被傳輸?shù)?,并且?dāng)所述多個片段包的一些片段包要被傳輸?shù)絾蝹€目的地址時,所述計算單元被配置成使用存儲在所述存儲單元中的所述多個第一計算值和包含在所述一些片段包中的所述多個幀主體計算所述第二計算值。
4.如權(quán)利要求2或者3所述的無線通信設(shè)備,其特征在于,當(dāng)所述多個片段包中的一個片段包包含的所述目的地址、所述序列號、所述片段號碼和所述更多片段位與在所述存儲單元中存儲并且與所述目的地址相關(guān)聯(lián)的所述序列號、所述片段號碼和所述更多片段位之間的匹配出現(xiàn)時,所述計算單元使用與所述目的地址相關(guān)聯(lián)的并且在所述存儲單元中存儲的所述第一計算值和所述多個片段包中的一個片段包包含的所述幀主體計算所述第二計算值。
5.如權(quán)利要求2至4中任意一項所述的無線通信設(shè)備,其特征在于,進(jìn)一步包含添加單元,當(dāng)所述多個片段包的結(jié)尾片段包要被傳輸時,所述添加單元將由所述計算單元計算的所述第二計算值添加到所述結(jié)尾片段包。
6.如權(quán)利要求1至5中任意一項所述的無線通信設(shè)備,其特征在于,所述計算單元包括計算電路,所述計算電路用于計算所述計算值;程序存儲單元,所述程序存儲單元存儲計算所述計算值的計算機(jī)程序;和控制單元,所述控制單元執(zhí)行在所述程序存儲單元中存儲的計算機(jī)程序,從而當(dāng)所述存儲單元的容量小于預(yù)定大小時,計算所述計算值。
7.一種無線通信設(shè)備,所述無線通信設(shè)備在無線網(wǎng)絡(luò)上接收包括目的地址、源地址和幀主體的包,其特征在于,所述無線通信設(shè)備包含計算單元,所述計算單元被配置成利用預(yù)定計算方法基于第一包的目的地址、源地址和幀主體進(jìn)行計算從而獲得用于檢測包篡改的第一計算值;和存儲單元,在所述存儲單元中存儲與所述目的地址相關(guān)聯(lián)的所述第一計算值,其中所述計算單元被進(jìn)一步配置成,當(dāng)?shù)诙獜呐c所述存儲單元中存儲的所述源地址相同的相同源地址被接收時,利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。
8.如權(quán)利要求7所述的無線通信設(shè)備,其特征在于,所述第一包包括序列號、片段號碼和更多片段位,并且所述存儲單元在其中以逐個源地址為單位地存儲所述第一計算值和在所述第一包之后要被接收的后續(xù)包的序列號、片段號碼和更多片段位。
9.如權(quán)利要求8所述的無線通信設(shè)備,其特征在于,所述存儲單元在其中以逐個源地址為單位地存儲對于多個片段包分別計算的多個第一計算值,所述多個片段包是被分成片段的并且是被接收的,并且當(dāng)所述多個片段包的一些片段包從單個源地址被接收時,所述計算單元被配置成使用存儲在所述存儲單元中的所述多個第一計算值和包含在所述一些片段包中的所述多個幀主體計算所述第二計算值。
10.如權(quán)利要求8或者9所述的無線通信設(shè)備,其特征在于,當(dāng)所述多個片段包中的一個片段包包含的所述源地址、所述序列號、所述片段號碼和所述更多片段位與在所述存儲單元中存儲并且與所述源地址相關(guān)聯(lián)的所述序列號、所述片段號碼和所述更多片段位之間的匹配出現(xiàn)時,所述計算單元使用與所述源地址相關(guān)聯(lián)的并且在所述存儲單元中存儲的所述第一計算值和所述多個片段包中的一個片段包包含的所述幀主體計算所述第二計算值。
11.如權(quán)利要求8至10中任意一項所述的無線通信設(shè)備,其特征在于,進(jìn)一步包含比較單元,其中通過所述計算單元計算的所述第二計算值被添加到所述多個片段包的結(jié)尾片段包,并且當(dāng)接收所述結(jié)尾片段包時,所述比較單元在通過所述計算單元對于所述結(jié)尾片段包計算的所述第二計算值和被添加到所述結(jié)尾片段包的所述第二計算值之間進(jìn)行比較,并且輸出所述比較的結(jié)果。
12.如權(quán)利要求7至10中任意一項所述的無線通信設(shè)備,其特征在于,所述存儲單元以逐個源地址為單位地存儲所述第一計算值和所述包的重試計數(shù),和當(dāng)所述重試計數(shù)達(dá)到重試閾值時,與所述源地址相關(guān)聯(lián)并且被存儲在所述存儲單元中的所述第一計算值和所述重試計數(shù)被刪除。
13.—種通過無線通信設(shè)備進(jìn)行的無線通信方法,所述無線通信設(shè)備在無線網(wǎng)絡(luò)上傳輸包括目的地址、源地址和幀主體的包,其特征在于,所述無線通信設(shè)備包括計算單元和存儲控制單元,所述無線通信方法包含利用預(yù)定計算方法基于第一包的目的地址、源地址和幀主體計算用于檢測包篡改的第一計算值;和在所述存儲控制單元的控制下,將與所述目的地址相關(guān)聯(lián)的所述第一計算值存儲在存儲單元中,其中所述計算包括,當(dāng)?shù)诙粋鬏數(shù)脚c存儲在所述存儲單元中的所述目的地址相同的相同目的地址時,利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。
全文摘要
本發(fā)明提供一種無線通信設(shè)備和無線通信方法。無線通信設(shè)備在無線網(wǎng)絡(luò)上傳輸包括目的地址、源地址和幀主體的包。無線通信設(shè)備利用預(yù)定計算方法基于目的地址、源地址和幀主體計算用于檢測包篡改的第一計算值,并且存儲與所述目的地址相關(guān)聯(lián)的所述第一計算值。當(dāng)?shù)诙粋鬏數(shù)脚c存儲在所述存儲單元中的所述目的地址相同的相同目的地址時,無線通信設(shè)備利用所述預(yù)定計算方法使用在所述存儲單元中存儲的所述第一計算值和包含在所述第二包中的所述幀主體計算第二計算值。
文檔編號H04L9/32GK102422592SQ20108001850
公開日2012年4月18日 申請日期2010年4月23日 優(yōu)先權(quán)日2009年4月27日
發(fā)明者鹽谷吉滿 申請人:株式會社理光