專利名稱:安全強化裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種安全強化裝置,其能夠防止在從應(yīng)用服務(wù)器發(fā)送的對于來自客戶 終端的請求的應(yīng)答中包含的參數(shù)的泄漏以及篡改。
背景技術(shù):
現(xiàn)在,伴隨因特網(wǎng)技術(shù)的發(fā)展,各種業(yè)務(wù)或者服務(wù)正作為能夠從如Web瀏覽器容 易地利用的Web應(yīng)用實現(xiàn)。該Web瀏覽器是在可與提供Web應(yīng)用的服務(wù)器(以下稱“應(yīng)用 服務(wù)器”)通信連接的終端(以下稱“客戶終端”)上動作的客戶機軟件。例如,在購物站點上,使用者能夠一邊看在客戶終端上顯示的畫面一邊進行商品 的選擇或訂貨,進而也可以用信用卡進行支付等。使用者通過送貨上門的公司等接收訂購 的商品,由此利用服務(wù)。這樣,近年來,Web應(yīng)用的利用者例如能夠在自家的家中享受各種服務(wù)。在利用 Web應(yīng)用的場合,從客戶終端發(fā)送為利用該Web應(yīng)用的請求,從應(yīng)用服務(wù)器返回對于該請求 的應(yīng)答。亦即,通過在客戶終端以及應(yīng)用服務(wù)器之間進行請求以及應(yīng)答的收發(fā),提供各種服 務(wù)。在該請求以及應(yīng)答中,包含在終端以及應(yīng)用服務(wù)器中的處理所需要的各種參數(shù)等。但是,Web應(yīng)用,有上述那樣的便利性,另一方面,因為本來是無狀態(tài)(不具有狀態(tài) 的)結(jié)構(gòu)所以被指出有許多脆弱性,有時引起信息泄漏的事故等。這起因于在Web應(yīng)用的 安裝中有不周全的地方,在Web應(yīng)用的設(shè)計或者安裝時是否能夠適當?shù)靥幚?,依賴于進行 該設(shè)計或者安裝的技術(shù)人員的技能。將上述Web應(yīng)用的脆弱性的大部分,分類為插入類、對話管理類、以及參數(shù)不正當 操作類。
所謂插入類的脆弱性,是指例如在從客戶終端對于應(yīng)用服務(wù)器發(fā)送的請求中包含 的參數(shù)中插入了不正當?shù)淖址?。所謂對話管理類的脆弱性,是指例如不正當?shù)夭僮髁嗽谡埱蠡蛘邞?yīng)答中包含的對 話ID。該對話ID,例如是被用于實現(xiàn)客戶終端以及應(yīng)用服務(wù)器之間的通信的同步。另外,所謂參數(shù)不正當操作類,是指例如篡改在從應(yīng)用服務(wù)器發(fā)送的應(yīng)答中包含 的參數(shù)的信息后發(fā)送請求。在這些之中,特別是對話管理類或者參數(shù)不正當操作類的脆弱性,需要來自上位 設(shè)計階段的做入,在Web應(yīng)用的運用開始后發(fā)覺的場合,需要通過修改大量的程序來應(yīng)對。因此,公知有根據(jù)預(yù)先給定的規(guī)則置換例如在從客戶終端對于應(yīng)用服務(wù)器發(fā)送的 請求的參數(shù)(輸入?yún)?shù))中包含的不正當字符串來實現(xiàn)無害化的技術(shù)(以下稱第一先行技 術(shù))。另外,公開了根據(jù)預(yù)先給定的規(guī)則過濾發(fā)往服務(wù)器的訪問請求以及對應(yīng)該訪問請 求的訪問應(yīng)答的技術(shù)(以下稱第二先行技術(shù)(參照日本國專利公開公報2005-92564)。根 據(jù)第二先行技術(shù),接受對于訪問請求的訪問應(yīng)答,在該訪問應(yīng)答中存儲的不正確的代碼殘 留的場合,將它們刪除。由此,根據(jù)第二先行技術(shù),能夠從訪問應(yīng)答中刪除預(yù)定的不正確的代碼。但是在上述的第一先行技術(shù)中,可應(yīng)付的Web應(yīng)用的脆弱性限于插入類,對于其 他的對話管理類以及參數(shù)不正當操作類的脆弱性不能夠應(yīng)付。因此,在這些對話管理類以 及參數(shù)不正當操作類的脆弱性顯著存在的場合,需要修改大量的程序。另外,在上述的第二先行技術(shù)中,因為以不正確代碼作為對象所以也只能應(yīng)付插入類的脆弱性的一部分。因此,對于對話管理類以及參數(shù)不正當操作類的脆弱性需要修改 大量的程序。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種安全強化裝置,其無需變更運轉(zhuǎn)中的應(yīng)用的安裝,能 夠防止在從應(yīng)用服務(wù)器發(fā)送的對于來自終端的請求的應(yīng)答中包含的參數(shù)的泄漏以及篡改。根據(jù)本發(fā)明的第一形式,提供一種安全強化裝置,其可通信地與通過用戶操作的 客戶終端以及對于該客戶終端提供應(yīng)用的應(yīng)用服務(wù)器連接。該安全強化裝置具有規(guī)則存 儲單元,用于預(yù)先存儲表示有泄漏或者篡改的可能性的參數(shù)的條件的規(guī)則;應(yīng)答接收單元, 用于從所述應(yīng)用服務(wù)器接收包含根據(jù)所述用戶的操作從所述客戶終端發(fā)送的對于為利用 所述應(yīng)用的請求的參數(shù)的應(yīng)答;檢測單元,用于從所述接收到的應(yīng)答檢測與通過在所述規(guī) 則存儲單元中存儲的規(guī)則表示的條件一致的參數(shù);生成單元,用于在從所述接收到的應(yīng)答 中檢測到與在所述規(guī)則中表示的條件一致的參數(shù)的場合,生成與該應(yīng)答對應(yīng)的對話對象; 對話對象存儲單元,用于存儲所述生成的對話對象;發(fā)行單元,用于發(fā)行用于唯一識別所述 生成的對話對象的對話識別信息;存儲處理單元,用于將所述檢測到的參數(shù)與所述已發(fā)行 的對話識別信息對應(yīng)起來,存儲在所述對話對象存儲單元中存儲的對話對象中;參數(shù)刪除 單元,用于當在所述對話對象中存儲所述檢測到的參數(shù)時,從所述接收到的應(yīng)答中刪除該 參數(shù);嵌入單元,用于在刪除了在所述對話對象中存儲的參數(shù)的應(yīng)答中嵌入所述已發(fā)行的 對話識別信息;應(yīng)答發(fā)送單元,用于對于所述客戶終端發(fā)送嵌入了所述已發(fā)行的對話識別 信息的應(yīng)答;請求接收單元,用于在發(fā)送嵌入了所述已發(fā)行的對話識別信息的應(yīng)答后從所 述客戶終端接收對于包含該對話識別信息的該應(yīng)答的請求;讀入單元,用于從所述對話對 象存儲單元中讀入通過在由所述請求接收單元接收到的請求中包含的對話識別信息識別 的對話對象;對話識別信息刪除單元,用于從該請求中刪除在通過所述請求接收單元接收 到的請求中包含的對話識別信息;恢復(fù)單元,用于在通過所述對話識別信息刪除單元刪除 了對話識別信息的請求中恢復(fù)在所述讀入的對話對象中存儲的參數(shù);和請求發(fā)送單元,用 于對于所述應(yīng)用服務(wù)器發(fā)送恢復(fù)了所述參數(shù)的請求。
圖1是用于說明連接本發(fā)明的實施形式的安全強化裝置的網(wǎng)絡(luò)系統(tǒng)的圖。圖2是以在圖1中表示的安全強化裝置60為主表示功能結(jié)構(gòu)的框圖。圖3是用于說明通過應(yīng)用服務(wù)器20提供的Web應(yīng)用的概要的圖。圖4是表示作為應(yīng)答向客戶終端10返回的訂貨畫面的顯示例。圖5是表示作為應(yīng)答向客戶終端10返回的訂貨結(jié)束畫面的顯示例。圖6是表示通過應(yīng)用服務(wù)器20發(fā)送應(yīng)答的場合的本實施形式的安全強化裝置60的處理過程的流程圖。圖7是表示通過應(yīng)答過濾器61接收的訂貨畫面的應(yīng)答的一例的圖。圖8是表示在過濾規(guī)則存儲部52中存儲的過濾規(guī)則的一例的圖。圖9是表示與應(yīng)答100對應(yīng)的對話對象的數(shù)據(jù)結(jié)構(gòu)的一例的圖。
圖10是表示通過應(yīng)答過濾器61發(fā)送的應(yīng)答100的一例的圖。圖11是表示通過客戶終端10發(fā)送對于通過應(yīng)答過濾器61發(fā)送的應(yīng)答100的請 求的場合的本實施形式的安全強化裝置60的處理過程的流程圖。圖12是表示通過請求過濾器63接收到訂貨受理請求的請求的一例的圖。圖13是表示通過請求過濾器63發(fā)送的請求200的一例的圖。
具體實施例方式下面參照附圖,說明本發(fā)明的實施形式。圖1是用于說明連接本實施形式的安全強化裝置的網(wǎng)絡(luò)系統(tǒng)的圖。如圖1所示,客戶終端10以及應(yīng)用服務(wù)器(Web應(yīng)用服務(wù)器)20與網(wǎng)絡(luò)30連接。在客戶終端10上,利用應(yīng)用服務(wù)器20的客戶軟件動作??蛻糗浖缡荳eb瀏
IrWSB 見益。應(yīng)用服務(wù)器20對于客戶終端10提供各種Web應(yīng)用。客戶終端10通過利用由應(yīng)用服務(wù)器20提供的Web應(yīng)用的用戶(使用者)操作。 這里,說明用戶使用客戶終端10利用由應(yīng)用服務(wù)器20提供的Web應(yīng)用的場合的客戶終端 10以及應(yīng)用服務(wù)器20之間的通信。在該場合,在客戶終端10以及應(yīng)用服務(wù)器20之間,例如根據(jù)用戶的操作從在終端 10上運行的Web瀏覽器對于應(yīng)用服務(wù)器20發(fā)送請求。另外,從通過應(yīng)用服務(wù)器20提供的 Web應(yīng)用向客戶終端10返回(發(fā)送)對于該請求的應(yīng)答。進而,在有對于從Web應(yīng)用發(fā)送 的應(yīng)答的請求的場合,從Web瀏覽器發(fā)送該請求。這樣,通過在Web瀏覽器以及Web應(yīng)用之 間收發(fā)請求以及應(yīng)答,對于用戶實現(xiàn)通過該Web應(yīng)用的各種服務(wù)。另外,在上述Web瀏覽器 以及Web應(yīng)用之間收發(fā)的請求以及應(yīng)答中包含各種參數(shù)。如上述在客戶終端10上運行的Web瀏覽器以及通過應(yīng)用服務(wù)器20提供的Web應(yīng) 用之間收發(fā)請求以及應(yīng)答。但是在以下的說明中,為避免繁瑣,假定是客戶終端10以及應(yīng) 用服務(wù)器20收發(fā)請求以及應(yīng)答。另外,在圖1中對于客戶終端10以及應(yīng)用服務(wù)器20以外的客戶終端以及應(yīng)用服 務(wù)器作了省略,但是,在網(wǎng)絡(luò)30上連接多個客戶終端以及應(yīng)用服務(wù)器。在網(wǎng)絡(luò)30上連接計算機40。計算機40連接硬盤驅(qū)動器那樣的外部存儲裝置50。 該外部存儲裝置50存儲通過計算機40執(zhí)行的程序51。計算機40以及外部存儲裝置50構(gòu) 成安全強化裝置(Web應(yīng)用安全強化裝置)60。安全強化裝置60可通過網(wǎng)絡(luò)30連接客戶終端10以及應(yīng)用服務(wù)器20。安全強化 裝置60具有中繼在上述客戶終端10以及應(yīng)用服務(wù)器20之間通信的請求以及應(yīng)答的功能。圖2是以在圖1中表示的安全強化裝置60為主表示功能結(jié)構(gòu)的框圖。安全強化 裝置60包含應(yīng)答過濾器61、對話管理部62以及請求過濾器63。在本實施形式中,假定應(yīng) 答過濾器61、對話管理部62以及請求過濾器63通過圖1中表示的計算機40執(zhí)行在外部存儲裝置50中存儲的程序51來實現(xiàn)。該程序51可在計算機可讀取的存儲介質(zhì)中預(yù)先存儲 后進行分發(fā)。另外,該程序51也可以通過網(wǎng)絡(luò)30下載到計算機40。另外,安全強化裝置60具有過濾規(guī)則存儲部52以及對話對象存儲部53。在本實施形式中,過濾規(guī)則存儲部52以及對話對象存儲部53,例如存儲在外部存儲裝置50中。另外,如上述,安全強化裝置60在客戶終端10以及應(yīng)用服務(wù)器20之間中繼請求 以及應(yīng)答。在過濾規(guī)則存儲部52中,例如,預(yù)先存儲表示有泄漏或者篡改的可能性的參數(shù)的 條件的過濾規(guī)則。在過濾規(guī)則存儲部52中存儲的過濾規(guī)則,用于從(通過)上述的應(yīng)用服 務(wù)器20 (提供的Web應(yīng)用)發(fā)送的應(yīng)答中檢測參數(shù)。關(guān)于該過濾規(guī)則的數(shù)據(jù)結(jié)構(gòu)的詳情后 面敘述。在對話對象存儲部53中存儲與從應(yīng)用服務(wù)器20發(fā)送的應(yīng)答對應(yīng)的對話對象。應(yīng)答過濾器61從應(yīng)用服務(wù)器20接收與根據(jù)用戶的操作從用戶終端10發(fā)送的請 求對應(yīng)的應(yīng)答。如上所述,應(yīng)答中包含參數(shù)。在應(yīng)答中包含的參數(shù),例如包含對于的應(yīng)答的 請求的發(fā)送目的地URL (Uniform Resource Location...在本說明書中把發(fā)送目的地URL 記為“連接目的地識別信息”)、該參數(shù)的參數(shù)類型以及參數(shù)名。應(yīng)答過濾器61,從接收到的應(yīng)答檢測與通過在過濾規(guī)則存儲部52中存儲的過濾 規(guī)則表示的條件一致的參數(shù)。此時,應(yīng)答過濾器61根據(jù)在接收到的應(yīng)答中包含的URL、參數(shù) 類型以及參數(shù)名執(zhí)行檢測處理。應(yīng)答過濾器61,在與接受到的應(yīng)答對應(yīng)的對話對象中存儲檢測到的參數(shù)(與通過 在過濾規(guī)則存儲部52中存儲的過濾規(guī)則表示的條件一致的參數(shù))。應(yīng)答過濾器61通過對 話管理部62執(zhí)行存儲處理。如后述,與接受到的應(yīng)答對應(yīng)的對話對象被存儲在對話對象存 儲部53中。應(yīng)答過濾器61在刪除了檢出的參數(shù)的應(yīng)答中嵌入通過后述的對話管理部62發(fā)行 的對話ID。應(yīng)答過濾器61對于客戶終端10發(fā)送嵌入了通過對話管理部62發(fā)行的對話ID的應(yīng)答。 對話管理部62執(zhí)行對于對話對象存儲部53的各種處理。對話管理部62,在通過應(yīng)答過濾器61從應(yīng)答中檢出與通過在過濾規(guī)則存儲部52 中存儲的過濾規(guī)則表示的條件一致的參數(shù)的場合,判定在過濾規(guī)則存儲部52中是否存儲 有與該應(yīng)答對應(yīng)的對話對象。亦即,對話管理部62判定是否生成了與通過應(yīng)答過濾器61 接受到的應(yīng)答對應(yīng)的對話對象。對話管理部62,在未生成與通過應(yīng)答過濾器61接受到的應(yīng)答對應(yīng)的對話對象的 場合,生成與該應(yīng)答對應(yīng)的對話對象。該生成的對話對象,被存儲在對話對象存儲部53中。對話管理部62,當生成與通過應(yīng)答過濾器61接受到的應(yīng)答對應(yīng)的對話對象時,發(fā) 行用于唯一識別該對話對象的獨自的對話ID (對話識別信息)。該發(fā)行的對話ID,被存儲 在通過對話管理部62生成的對話對象(通過該對話ID識別的對話對象)中。另外,對話管理部62如后述執(zhí)行在對話對象存儲部53中存儲的對話對象的廢棄 處理。請求過濾器63如上述從客戶終端10接收通過應(yīng)答過濾器61發(fā)送的對于應(yīng)答的請求。該接受到的請求例如是根據(jù)用戶的操作對于應(yīng)用服務(wù)器20發(fā)送的請求。另外,在該 接受到的請求中,包含在通過應(yīng)答過濾器61發(fā)送的應(yīng)答中嵌入的對話ID (通過對話管理部 62發(fā)行的對話ID)。 請求過濾器63,從對話對象存儲部53中讀入通過在接受到的請求中包含的對話 ID識別的對話對象(存儲有該對話ID的對話對象)。請求過濾器63,當讀入了通過在接受到的請求中包含的對話ID識別的對話對象 時,從該請求中刪除該對話ID。請求過濾器63,在接受到的請求內(nèi)恢復(fù)在讀入的對話對象中存儲的參數(shù)。當在接 受到的請求內(nèi)恢復(fù)了在對話對象中存儲的參數(shù)時,通過對話管理部62廢棄該對話對象。請求過濾器63對于應(yīng)用服務(wù)器20發(fā)送恢復(fù)了參數(shù)的請求。另外,請求過濾器63僅在在接收到的請求中包含通過對話管理部62發(fā)行的對 話ID(在通過應(yīng)答過濾器61發(fā)送的應(yīng)答中嵌入的對話ID)的場合工作。例如在客戶終端 10 (上運行的Web瀏覽器)以及(通過)應(yīng)用服務(wù)器20 (提供的應(yīng)用)之間最初在從該客 戶終端10發(fā)送的請求中不包含通過對話管理部62發(fā)行的對話ID。在接收到這樣的請求的 場合,請求過濾器63,不執(zhí)行特別的處理,直接向應(yīng)用服務(wù)器20中繼該請求。此時,例如也可以是預(yù)先準備用于檢查在請求中包含的參數(shù)(請求參數(shù))的值的 規(guī)則、請求過濾器63根據(jù)該規(guī)則過濾該參數(shù)的值的結(jié)構(gòu)。下面說明本實施形式的安全強化裝置60的動作。這里,參照圖3,說明為說明安 全強化裝置60的動作而使用的通過應(yīng)用服務(wù)器20提供的web應(yīng)用的概要。假定這里說明 的web應(yīng)用是接收來自用戶的商品的訂貨的受理服務(wù)。另外,在圖3 (中表示的web應(yīng)用) 中,表示用于說明安全強化裝置60的動作的最小限度的內(nèi)容。如圖3所示,首先,客戶終端10例如指定URL、向(通過)應(yīng)用服務(wù)器20 (提供的 Web應(yīng)用)發(fā)送請求(訂貨請求)(步驟Si)。此時,用戶可以從在客戶終端10上運行的 Web瀏覽器指定URL。接著,應(yīng)用服務(wù)器20,作為對于通過客戶終端10發(fā)送的請求的應(yīng)答向該客戶終端 10返回訂貨畫面(步驟S2)。這里,圖4表示作為應(yīng)答向客戶終端10返回的訂貨畫面在該客戶終端10上顯示 的場合的一例。在圖4表示的例子中,在訂貨畫面中,顯示商品名、該商品的單價、訂購該商 品的數(shù)(訂購數(shù))的輸入欄(輸入格式)、發(fā)送按鈕以及取消按鈕。當顯示圖4表示的訂貨畫面時,操作客戶終端10的用戶,從在該客戶終端10上運 行的Web瀏覽器輸入訂購數(shù),按壓(點擊)發(fā)送按鈕。由此,包含訂貨內(nèi)容(訂購數(shù))的請 求(訂貨受理請求)從客戶終端10對于應(yīng)用服務(wù)器20發(fā)送(步驟S3)。在(通過)應(yīng)用服務(wù)器20 (提供的Web應(yīng)用)中根據(jù)從客戶終端10發(fā)送的請求 執(zhí)行訂貨的受理處理。由此,作為對于從客戶終端10發(fā)送的請求的應(yīng)答,向客戶終端10返 回訂貨結(jié)束畫面(步驟S4)。這里,圖5表示作為應(yīng)答向客戶終端10返回的訂貨結(jié)束畫面在該客戶終端10上 顯示的場合的一例。在圖5表示的例子中,在訂貨結(jié)束畫面中,顯示商品名、該商品的單價、 在上述訂貨畫面中輸入的訂購數(shù)以及請求金額。另外,從商品的單價以及訂購數(shù)計算在訂 貨結(jié)束畫面中顯示的請求金額,。
在以下的說明中,假定在客戶終端10以及應(yīng)用服務(wù)器20之間收發(fā)上述圖3表示 的請求以及應(yīng)答進行說明。亦即,本實施形式的安全強化裝置60中繼圖3表示的請求以及
應(yīng)答。首先,參照圖6的流程圖,說明在通過應(yīng)用服務(wù)器20發(fā)送應(yīng)答的場合本實施形式 的安全強化裝置60的處理過程。這里,說明通過應(yīng)用服務(wù)器20發(fā)送在上述圖3中說明了 的訂貨畫面的應(yīng)答的場合。該場合,在安全強化裝置60中包含的應(yīng)答過濾器61中,根據(jù)在過濾規(guī)則存儲部52 中預(yù)先存儲的(已設(shè)定的)過濾規(guī)則執(zhí)行過濾處理。首先,應(yīng)答過濾器61接收通過應(yīng)用服務(wù)器20發(fā)送的應(yīng)答(步驟Sll)。在該應(yīng)答 中,例如包含對于該應(yīng)答的請求的發(fā)送目的地URL以及參數(shù)。該URL,例如根據(jù)用戶的操作 從Web瀏覽器指定。另外,在參數(shù)中,包含該參數(shù)的參數(shù)類型、參數(shù)名以及參數(shù)值。這里,圖7表示通過應(yīng)答過濾器61接收的訂貨畫面的應(yīng)答的一例。順另外,在實 際的應(yīng)答的內(nèi)容中表示說明所需要的最小限度的內(nèi)容。在圖7表示的應(yīng)答100中,第一行的“SESSI0N_ID”,表示對于從客戶終端10發(fā)送 的請求應(yīng)用服務(wù)器20發(fā)行的對話ID。在(通過)應(yīng)用服務(wù)器20 (提供的Web應(yīng)用)以及 客戶終端10(上運行的Web瀏覽器)之間,使用該對話ID實現(xiàn)通信的同步。在該第一行中, “Cookie”是參數(shù)類型,“SESSI0N_ID”是參數(shù)名,“012”是參數(shù)值。亦即,在第一行中顯示包 含參數(shù)類型“Cookie”、參數(shù)名“SESSI0N_ID”以及參數(shù)值“012”的參數(shù)。第二行的“Content-length”以字節(jié)單位表示其后接續(xù)的數(shù)據(jù)的長度。另外,在本 實施例中,把換行代碼計數(shù)為1個文字求數(shù)據(jù)長度。第四行中包含的“action =“http://hostname/order, do””,表示在上述圖4的訂 貨畫面中點擊發(fā)送按鈕時的數(shù)據(jù)的發(fā)送目的地URL "http://hostname/order, do”。第8 行 第 10 行的 “input type = “hidden””稱為 Hidden 參數(shù)。該 Hidden 參 數(shù)作為信息向客戶終端10發(fā)送,但是在該Web瀏覽器中的畫面上不顯示。因此,有時安裝 Hidden參數(shù)以使嵌入不對用戶表示(不顯示)但是希望在畫面間移交的信息,而成為信息 的泄漏或者篡改等的對象。另外,在第8行的Hidden參數(shù)中,“Hidden”是參數(shù)類型,“SCREEN_ID”是參數(shù)名, “s001”是參數(shù)值。亦即在第8行中,表示包含參數(shù)類型“Hidden”、參數(shù)名“SCREEN_ID”以 及參數(shù)值“sOOl”的參數(shù)(Hidden參數(shù))。在第9行的Hidden參數(shù)中,“Hidden”是參數(shù)類型,“USER_ID”是參數(shù)名,“taro” 是參數(shù)值。亦即在第9行中,表示包含參數(shù)類型“Hidden”、參數(shù)名“USER_ID”以及參數(shù)值 "taro"的參數(shù)(Hidden參數(shù))。另外,在第10行的Hidden參數(shù)中,“Hidden”是參數(shù)類型,“TOICE”是參數(shù)名, “12000”是參數(shù)值。亦即在第10行中,表示包含參數(shù)類型“Hidden”、參數(shù)名“PRICE”以及 參數(shù)值“12000”的參數(shù)(Hidden參數(shù))。另夕卜,在參數(shù)類型中,在上述的“Cookie”以及“Hidden”以外存在“GET”等。以下在上述的步驟Sll中,對于接收到圖7表示的應(yīng)答100的情況進行說明。再次返回圖6說明。應(yīng)答過濾器61,當接收到應(yīng)答100時,讀入在過濾規(guī)則存儲部 52中存儲的過濾規(guī)則(步驟S12)。此時,應(yīng)答過濾器61讀入在過濾規(guī)則存儲部52中存儲的過濾規(guī)則中的一個。這里,圖8表示在過濾規(guī)則存儲部52中存儲的過濾規(guī)則的一例。如圖8所示,(通 過)過濾規(guī)則(表示的條件),至少包含URL模式、參數(shù)類型以及參數(shù)名。在本說明書中, URL模式是“接續(xù)目的地識別模式”的一例,例如通過正規(guī)表現(xiàn)等的表記方法給出。在圖8表示的例子中,在過濾規(guī)則存儲部52中存儲過濾規(guī)則521 526。過濾規(guī)則521包含URL模式“.*/order Y. do. *”、參數(shù)類型“COOKIE”以及參數(shù)名 “SESSI0N_ID”。過濾規(guī)則522包含URL模式“.*/order Y. do. *”、參數(shù)類型“HIDDEN”以及參數(shù)名 “SCREEN_ID”。過濾規(guī)則523包含URL模式“.*/order Y. do. *”、參數(shù)類型“HIDDEN”以及參數(shù)名 “USER_ID”。
過濾規(guī)則524包含URL模式“.*/order Y. do. *”、參數(shù)類型“HIDDEN”以及參數(shù)名 “PRICE”。過濾規(guī)則525包含URL模式“.*/userinfo Y. do. *”、參數(shù)類型“GET”以及參數(shù)名 "CLASS,,。另外,過濾規(guī)則526包含URL模式“.*/order Y. do. *”、參數(shù)類型“GET”以及參數(shù) 名"ADDRESS”。再次返回圖6進行說明。另外,在上述步驟S12中對于應(yīng)答過濾器61讀入了圖8 表示的過濾規(guī)則521進行說明。應(yīng)答過濾器61,判定在上述步驟Sll接收到的應(yīng)答100中包含的URL是否與構(gòu)成 讀入的過濾規(guī)則521的URL模式一致(步驟S13)。在過濾規(guī)則521中包含的URL模式是“.*/order Y. do. *”。這表示以任意的字符 串開始、包含字符串“/order, do”、以任意的字符串結(jié)束的字符串(URL)的模式。另外,在任 意的字符串中包含空字符串。另一方面,在應(yīng)答100中包含的URL是“http://hostname/ order, do,,。在該場合,應(yīng)答過濾器61判定在應(yīng)答100中包含的URL與在過濾規(guī)則521中包含 的URL模式一致(步驟S13的YES)。接著,應(yīng)答過濾器61判定在應(yīng)答100中是否存在包含在讀入的過濾規(guī)則521中包 含的參數(shù)類型以及參數(shù)名的參數(shù)(與該參數(shù)類型以及參數(shù)名一致的參數(shù))(步驟S14)。在過濾規(guī)則521中包含的參數(shù)類型是“C00KIE”,參數(shù)名是“SESSI0N_ID”。另一方 面,在圖7表示的應(yīng)答100的第一行中存在包含參數(shù)類型"Cookie(COOKIE) ”以及參數(shù)名 “SESSI0N_ID” 的參數(shù)。在該場合,應(yīng)答過濾器61判定在應(yīng)答100中存在包含在過濾規(guī)則521中包含的參 數(shù)類型以及參數(shù)名的參數(shù)(步驟S14的YES)。在該場合,應(yīng)答過濾器61從應(yīng)答100中把包含在過濾規(guī)則521中包含的參數(shù)類型 以及參數(shù)名的參數(shù)(圖7中應(yīng)答100的第一行的參數(shù))作為與過濾規(guī)則521 —致的參數(shù)檢
出ο在從應(yīng)答100中檢出與過濾規(guī)則521 —致的參數(shù)的場合,對話管理部62,判定與 該應(yīng)答100對應(yīng)的對話對象是否生成完畢(步驟S15)。對話管理部62參照對話對象存儲部53執(zhí)行判定處理。對話對象如后述,例如在從應(yīng)答100中最初檢出參數(shù)時生成,并存儲 在對話對象存儲部53中。這里,通過應(yīng)答過濾器61檢出的參數(shù),因為是從應(yīng)答100檢出的最初的參數(shù),所以 不生成與該應(yīng)答100對應(yīng)的對話對象。因此,對話管理部62判定為與應(yīng)答100對應(yīng)的對話 對象未生成完畢(步驟S15的NO)。
在判定為對話對象未生成完畢的場合,對話管理部62生成與應(yīng)答100對應(yīng)的對話 對象(步驟S16)。對話管理部62在對話對象存儲部53中存儲生成的對話對象。對話管理部62發(fā)行用于唯一識別生成的對話對象(在對話對象存儲部53中存儲 的對話對象)的對話ID (步驟S17)。這里,通過對話管理部62發(fā)行的對話ID例如假定是 “3jUZ0UAwk”。該對話ID,與上述通過應(yīng)用服務(wù)器20發(fā)行的對話ID “012”比較,是難以預(yù) 測的堅固的對話ID。通過應(yīng)用服務(wù)器20發(fā)行的對話ID,存儲在通過該對話ID唯一識別的 對話對象中。接著,應(yīng)答過濾器61,在對話對象存儲部53中存儲的對話對象中存儲檢出的參數(shù) (與過濾規(guī)則521 —致的參數(shù))(步驟S18)。該對話對象是與在上述步驟S16生成的應(yīng)答 100對應(yīng)的對話對象。另外,在對話對象中存儲的參數(shù)中,包含參數(shù)類型、參數(shù)名以及參數(shù) 值。這里,因為圖7表示的應(yīng)答100的第一行是Cookie參數(shù),所以作為參數(shù)類型,在對話對 象中存儲“COOKIE (Cookie) ”。另外,作為參數(shù)名,在對話對象中存儲“SESSI0N_ID = 012”的 “=”左側(cè)的“SESSI0N_ID”。作為參數(shù)值,在對話對象中存儲“SESSI0N_ID = 012”的“=” 右側(cè)的“012”。應(yīng)答過濾器61,從應(yīng)答100中刪除檢出的參數(shù)(步驟三9)。這里,從圖7表示的 應(yīng)答100中刪除字符串“SESSI0N_ID = 012”。這里,判定是否對于在過濾規(guī)則存儲部52中存儲的全部過濾規(guī)則執(zhí)行了上述步 驟S12及以后的處理(步驟S20)。在判定為對于全部過濾規(guī)則未執(zhí)行處理的場合(步驟S20的N0),返回步驟S12重
復(fù)處理。另外,在上述步驟S13判定為在應(yīng)答100中包含的URL與在過濾規(guī)則中包含的URL 模式不一致的場合,返回步驟S12重復(fù)處理。另外,在步驟S14判定為在過濾規(guī)則中包含的 包含參數(shù)類型以及參數(shù)名的參數(shù)在應(yīng)答100中不存在的場合,也返回步驟S12重復(fù)處理。這里,因為關(guān)于在對話對象存儲部53中存儲的過濾規(guī)則521執(zhí)行了步驟S12及以 后的處理,所以接著關(guān)于過濾規(guī)則522執(zhí)行處理。這里,簡單說明關(guān)于過濾規(guī)則522的步驟S12及以后的處理。在過濾規(guī)則522中包含的URL模式是“.*/orderY.do. *”。另一方面,在應(yīng)答100 中包含的 URL 是“http://hostname/order, do”。因此,在步驟S13判定為在應(yīng)答100中包含的URL與在過濾規(guī)則存儲部52中包含 的URL模式一致。另外,在過濾規(guī)則522中包含的參數(shù)類型是“HIDDEN”,參數(shù)名是“SCREEN_ID”。另 一方面,在應(yīng)答100的第8行中存在包含參數(shù)類型“Hidden (HIDDEN) ”以及參數(shù)名“SCREEN_ ID”的參數(shù)(Hidden參數(shù))。因此,在步驟S14判定為在過濾規(guī)則522中包含的包含參數(shù)類型以及參數(shù)名的參數(shù)在應(yīng)答100中存在。因此,包含在過濾規(guī)則522中包含的參數(shù)類型以及參數(shù)名的參數(shù)(圖7中表示的 應(yīng)答100的第8行的參數(shù)),作為與過濾規(guī)則522 —致的參數(shù)從應(yīng)答100中檢出。此時,與應(yīng)答100對應(yīng)的對話對象已經(jīng)生成完畢。因此,在步驟S17判定為與應(yīng)答 100對應(yīng)的對話對象已經(jīng)生成完畢。在該場合,不執(zhí)行步驟S16以及步驟S17的處理,執(zhí)行 步驟S18的處理。在步驟S18,把檢出的參數(shù)(與過濾規(guī)則522—致的參數(shù))存儲在于對話對象存儲 部53內(nèi)存儲的對話對象(與應(yīng)答100對應(yīng)的對話對象)中。另外,在步驟S19,從應(yīng)答100中刪除檢出的參數(shù)。這樣,對于在過濾規(guī)則存儲部52中存儲的全部過濾規(guī)則順序執(zhí)行步驟S12及以下 的處理。當對于在過濾規(guī)則存儲部52中存儲的全部過濾規(guī)則執(zhí)行處理時,在與應(yīng)答100對 應(yīng)的對話對象中,存儲從該應(yīng)答100中檢出的全部參數(shù)(例如與過濾規(guī)則522 526 —致 的參數(shù))。另外,雖然省略了詳細的說明,不過在圖7表示的應(yīng)答100中,存在與圖8表示的 過濾規(guī)則521 526中過濾規(guī)則521 524 —致的參數(shù),但是不存在與過濾規(guī)則525 526 一致的參數(shù)。亦即,在對于過濾規(guī)則521 526的全部執(zhí)行步驟S12及以下的處理的場合, 在與應(yīng)答100對應(yīng)的對話對象中存儲與過濾規(guī)則521 524 —致的參數(shù)。另外,在雖然在圖7表示應(yīng)答100中不存在,但是即使在參數(shù)類型是“GET”的過濾 規(guī)則525 (或者526)中,如果在應(yīng)答100中存在該參數(shù)類型“GET”以及參數(shù)名“CLASS” (或 者“ADDRESS”)一致的參數(shù)(GET參數(shù))則檢出該參數(shù),在對話對象中存儲。在應(yīng)答100中 包含的 URL 例如是 “http//hostname/order, do ? SCREEN_ID = sOOl” 的場合,在對話對 象中存儲把參數(shù)類型作為“GET”、把“SCREEN_ID = sOOl”的“=”的左側(cè)(SCREEN_ID)作為 參數(shù)名、把該“=”的右側(cè)(sOOl)作為參數(shù)值的參數(shù)。這里,圖9表示與應(yīng)答100對應(yīng)的對話對象的數(shù)據(jù)結(jié)構(gòu)的一例。如圖9所示,在對話對象中,至少存儲內(nèi)部種類、參數(shù)。在該參數(shù)中,包含參數(shù)類 型、參數(shù)名以及參數(shù)值。內(nèi)部種類,表示對話對象內(nèi)部的參數(shù)的種類。在內(nèi)部種類中,包含“SESID”以及 “PARAM”?!癝ESID”表示通過對話管理部62發(fā)行的對話ID。“PARAM”表示通過應(yīng)答過濾器 61檢出的參數(shù)(與過濾規(guī)則一致的參數(shù))。在圖9表示的例子中,在對話對象中,存儲內(nèi)部種類“SESSID”、參數(shù)類型 “COOKIE”、參數(shù)名“FILTER_ID”以及參數(shù)值“3juz0uAwk”。由此,表示通過對話管理部62發(fā) 行的對話ID的參數(shù)類型是“C00KIE”,參數(shù)名是“FILTER_ID”,參數(shù)值是“3 juzOuAwk”通過該對話管理部62發(fā)行的對話ID的參數(shù)類型,例如根據(jù)在應(yīng)答100的管理中 使用的信息(ID等)的參數(shù)類型來決定。這里,因為在應(yīng)答100中例如存在“Set-Cookie”, 所以通過對話管理部62發(fā)行的對話ID的參數(shù)類型成為“Cookie”。作為通過對話管理部62發(fā)行的對話ID的參數(shù)名,使用與在通過應(yīng)用服務(wù)器20提 供的Web應(yīng)用中使用的參數(shù)名不重復(fù)的參數(shù)名。另外,作為通過對話管理部62發(fā)行的對話ID的參數(shù)值,使用與通過應(yīng)用服務(wù)器20 發(fā)行的對話ID(在應(yīng)答100中包含的對話ID)比較難于預(yù)測的堅固的值。
同樣,在對話對象中,存儲內(nèi)部種類“PARAM”、參數(shù)類型“COOKIE”、參數(shù)名 “SESSI0N_ID”以及參數(shù)值“012”。由此表示從應(yīng)答100檢出的參數(shù)的參數(shù)類型是“COOKIE”、 參數(shù)名是“SESSI0N_ID”以及參數(shù)值“012”是“012”。從該應(yīng)答100中檢出的參數(shù)是與圖8 中表示的過濾規(guī)則521 —致的參數(shù)。 在對話對象中,存儲內(nèi)部種類“PARAM”、參數(shù)類型“HIDDEN”、參數(shù)名“SESSI0N_ID” 以及參數(shù)值“sOOl”。由此表示從應(yīng)答100檢出的參數(shù)的參數(shù)類型是“HIDDEN”,參數(shù)名是 “SESSI0N_ID”以及參數(shù)值是“sOOl”。從該應(yīng)答100中檢出的參數(shù)是與圖8中表示的過濾 規(guī)則522 —致的參數(shù)。在對話對象中,存儲內(nèi)部種類“PARAM”、參數(shù)類型“HIDDEN”、參數(shù)名“USER_ID ” 以及參數(shù)值“taro”。由此表示從應(yīng)答100檢出的參數(shù)的參數(shù)類型是“HIDDEN”,參數(shù)名是 “USER_ID”以及參數(shù)值是“taro”。從該應(yīng)答100中檢出的參數(shù)是與圖8中表示的過濾規(guī)則
523一致的參數(shù)。另外,在對話對象中,存儲內(nèi)部種類“PARAM”、參數(shù)類型“HIDDEN”、參數(shù)名“PRICE ” 以及參數(shù)值“12000”。由此表示從應(yīng)答100檢出的參數(shù)的參數(shù)類型是“HIDDEN”,參數(shù)名是 “PRICE”以及參數(shù)值是“12000”。從該應(yīng)答100中檢出的參數(shù)是與圖8中表示的過濾規(guī)則
524一致的參數(shù)。再次返回圖6,在步驟S20判定為對于全部過濾規(guī)則執(zhí)行完上述步驟S12及以下 的處理的場合,應(yīng)答過濾器61在應(yīng)答100中嵌入通過對話管理部62發(fā)行的對話ID(步 驟S21)。具體說,把通過對話管理部62發(fā)行的對話ID作為應(yīng)答100的Cookie參數(shù) "Set-Cookie :FILTER_SID = 3juz0uAwk”嵌入。另外,通過對話管理部62發(fā)行的對話ID 的嵌入方式,也可以是Cookie以外的方式,作為Hidden參數(shù)、GET參數(shù)嵌入。需要使與圖9 表示的內(nèi)部種類“SESSID”的參數(shù)類型一致。這里,在上述的步驟S19從應(yīng)答100中刪除參數(shù)。因此,在上述步驟Sll接收到的 應(yīng)答100和刪除了參數(shù)后的應(yīng)答100中,該應(yīng)答100的數(shù)據(jù)長度縮短。因此,應(yīng)答過濾器61 把應(yīng)答100中的表示數(shù)據(jù)長度的“content-iength”(的值)更新為與上述參數(shù)的刪除對應(yīng) 的適當?shù)闹?步驟S22)。應(yīng)答過濾器61對于終端10發(fā)送更新了“Content-length”的應(yīng)答100 (步驟S23)。這里,圖10表示通過應(yīng)答過濾器61發(fā)送的應(yīng)答100的一例。這里,適當比較圖7 的應(yīng)答(處理前的應(yīng)答)100進行說明。在圖10表示的應(yīng)答100中,第一行的“FILTER_SID = 3juz0uAwk”是通過對話管 理部62發(fā)行的對話ID。亦即,在圖10表示的應(yīng)答100中,圖7表示的應(yīng)答100的第一行的 “SESSION-ID”被替換為通過對話管理部62發(fā)行的對話ID。由此,即使是應(yīng)用服務(wù)器20發(fā)行了脆弱的對話ID(圖7中表示的應(yīng)答100中的“SESSION-ID = 012”)的場合,通過替換 為難于預(yù)測的堅固的對話ID(圖10中表示的應(yīng)答中的“FILTER_SID = 3juzOuAwk”),例如 能夠防止濫用對話ID的冒充等。另外,在圖10表示的應(yīng)答100中,第二行的“Content-length”由應(yīng)答過濾器61更 新為刪除參數(shù)后的數(shù)據(jù)長度。在圖10表示的例子中根據(jù)參數(shù)的刪除把“Content-length” 更新為“221”。另外,在圖10表示的應(yīng)答100中,與圖7表示的應(yīng)答100比較,刪除了 Hidden參數(shù)(圖7中表示的應(yīng)答100的第8行 第10行)。亦即,對于通過應(yīng)用服務(wù)器20提供的Web應(yīng)用的畫面轉(zhuǎn)移來說是必要的、但是對 于在客戶終端10上運行的Web瀏覽器在Hidden參數(shù)中包含不需要的信息的場合,因為該 信息不向客戶終端10發(fā)送,所以可以防止該信息的泄漏或者篡改。具體說,在向客戶終端 10發(fā)送的圖10中表示的應(yīng)答100中,因為例如刪除了圖7中表示的應(yīng)答100的第10行的 參數(shù)(PRICE參數(shù)),所以能夠防止價格信息的篡改等。另外,在上述步驟S20中在判定為對于全部過濾規(guī)則已執(zhí)行上述步驟S12及以下 的處理的場合,對于執(zhí)行步驟S21的處理進行了說明,但是在與該過濾規(guī)則一致的參數(shù)在 應(yīng)答100內(nèi)不存在(亦即一個參數(shù)也檢測不出)的場合結(jié)束處理。下面參照圖11的流程圖,說明如上述通過客戶終端10發(fā)送對于通過應(yīng)答過濾器發(fā)送的應(yīng)答的請求的場合的本實施形式的安全強化裝置60的處理過程。這里,說明通過客 戶終端10發(fā)送在上述圖3中已說明的訂貨受理請求的請求的場合。首先,在安全強化裝置60中包含的請求過濾器63接收通過客戶終端10發(fā)送的請求(步驟S31)。在該請求中,包含在通過上述的應(yīng)答過濾器61發(fā)送的應(yīng)答100中嵌入的對 話ID (通過對話管理部62發(fā)行的對話ID)。這里,圖12表示通過請求過濾器63接收到訂貨受理請求的請求的一例。圖12表 示的請求200,在上述圖4表示的訂貨畫面中通過用戶操作客戶終端10在按下該訂貨畫面 的發(fā)送按鈕的場合從該客戶終端10發(fā)送。圖12表示的請求200的第一行,是包含從客戶終端10 (上運行的Web瀏覽器)發(fā) 送的對話ID的Cookie。請求200的第一行的“FILTER_SID = 3 juzOuAwk”,是在通過應(yīng)答 過濾器61發(fā)送的應(yīng)答100中嵌入的(更換的)對話ID。請求200的第二行的“Content-length”,用字節(jié)單位表示其后接續(xù)的數(shù)據(jù)的數(shù)據(jù)長度。另外,請求200的第四行,是表示從在客戶終端10上運行的Web瀏覽器輸入的 訂購數(shù)以及按下了圖4中的訂貨畫面的發(fā)送按鈕這一事實的參數(shù)。請求200的第四行的 "ORDER = 10”,表示要求訂購10個。下面,對于在上述的步驟S31接收圖12表示的請求200 —事進行說明。再次返回圖11,請求過濾器63,取得在接收到的請求200中包含的對話ID(步驟 S32)。請求過濾器63,作為對話ID從請求200中取得“FILTER_SID = 3 juzOuAwk”。在該 "FILTER_SID = 3 juzOuAwk,,中,"FILTER_SID,,是參數(shù)名,“3 juzOuAwk,,是參數(shù)值。接著,請求過濾器63從對話對象存儲部53中讀入與已取得的對話ID對應(yīng)的對話 對象(步驟S33)。請求過濾器63讀入與內(nèi)部種類“SESSID”對應(yīng)起來存儲了已取得的對話 ID的參數(shù)名以及參數(shù)值的對話對象。亦即,讀入與下述這樣的參數(shù)名以及參數(shù)值一致的對 話對象,該參數(shù)名以及參數(shù)值是通過請求過濾器63取得的對話ID的參數(shù)名以及參數(shù)值與 內(nèi)部種類“ SESSID ”對應(yīng)的參數(shù)名以及參數(shù)值。具體說,讀入與內(nèi)部種類“SESSID”對應(yīng)存儲參數(shù)類型“COOKIE”、從請求200取得 的“FILTER_SID = 3 juzOuAwk” 的參數(shù)名 “FILTER_SID” 以及參數(shù)值“3 juzOuAwk” 的對話對 象。亦即從對話對象存儲部53讀入上述圖9中表示的對話對象。請求過濾器63從該請求200中刪除在接收到的請求200中包含的對話ID (步驟S34)。此時,刪除與讀入的對話對象的內(nèi)部種類“SESSID”對應(yīng)的參數(shù)類型、參數(shù)名以及參 數(shù)值一致的項目。亦即因為與“SESSID”對應(yīng)的參數(shù)類型是“COOKIE”,所以從該請求200中 刪除圖12中表示的請求200的第一行的Cookie參數(shù)“FILTER_SID = 3juz0uAwk” 。請求過濾器63,在讀入的對話對象內(nèi)取得與內(nèi)部種類“PARAM”對應(yīng)存儲的參數(shù) (參數(shù)類型、參數(shù)名以及參數(shù)值)(步驟S35)。此時,請求過濾器63通過對話管理部62取 得參數(shù)。與內(nèi)部種類“PARAM”對應(yīng)起來在對話對象中存儲的參數(shù),是在通過請求過濾器63 接收的請求200內(nèi)恢復(fù)(再構(gòu)成)的參數(shù)。請求過濾器63取得在讀入的對話對象中存儲的參數(shù)中的一個。這里,假定從圖9 表示的對話對象中取得與內(nèi)部種類“PARAM”對應(yīng)在對話對象內(nèi)存儲的(包含)參數(shù)類型 “COOKIE”、參數(shù)名“SESSI0N_ID”以及參數(shù)值“012” (的參數(shù))。請求過濾器63在請求200內(nèi)恢復(fù)取得的包含參數(shù)類型“COOKIE”、參數(shù)名 “SESSI0N_ID”以及參數(shù)值“012”的參數(shù)。在該場合,因為參數(shù)類型是“C00KIE”,所以把參數(shù)名“SESSI0N_ID”作為“=”的左 側(cè)、把參數(shù)值“012”作為該“=”的右側(cè)形成的字符串SESSI0N_ID = 012”作為Cookie參 數(shù)在請求200中恢復(fù)。接著判定在通過請求過濾器63讀入的對話對象中存儲的全部參數(shù)是否已在請求 200內(nèi)恢復(fù)(步驟S37)。亦即判定與內(nèi)部種類“PARAM”對應(yīng)在對話對象內(nèi)存儲的全部參數(shù) 是否已恢復(fù)。在判定為在對話對象中存儲的全部參數(shù)未在請求200內(nèi)恢復(fù)的場合(步驟S37的 N0),返回步驟S35重復(fù)處理。亦即在對話對象中存儲的全部參數(shù)恢復(fù)之前一直重復(fù)處理。這里,在圖9表示的對話對象中應(yīng)該在請求200內(nèi)恢復(fù)的參數(shù),如上述是與內(nèi)部種 類“PARAM”對應(yīng)的參數(shù)。亦即在圖9表示的對話對象中存在4個應(yīng)該在請求200內(nèi)恢復(fù)的 參數(shù)。在請求過濾器63中,恢復(fù)這些參數(shù),作為對于Web應(yīng)用的請求再構(gòu)成。下面,說明在上述步驟S35取得與內(nèi)部種類“PARAM”對應(yīng)在對話對象中存儲的參 數(shù)類型“HIDDEN”、參數(shù)名“SCREEN_ID”以及參數(shù)值“s001”的場合。在該場合,因為參數(shù)類 型是“HIDDEN”,所以把參數(shù)名“SCREEN_ID”作為“=,,的左側(cè)、把參數(shù)值“ s001 ”作為該“=,, 的右側(cè)形成的字符串“SCREEN_ID = sOOl”作為Hidden參數(shù)在請求200內(nèi)恢復(fù)。下面,說明在步驟S35取得與內(nèi)部種類“PARAM”對應(yīng)在對話對象中存儲的參數(shù)類 型“HIDDEN”、參數(shù)名“USER_ID”以及參數(shù)值“taro”的場合。在該場合,因為參數(shù)類型是 “HIDDEN”,所以把參數(shù)名“USER_ID”作為“=”的左側(cè)、把參數(shù)值“taro”作為該“=”的右 側(cè)形成的字符串“USER_ID = taro”作為Hidden參數(shù)在請求200內(nèi)恢復(fù)。另外,說明在步驟S35取得與內(nèi)部種類“PARAM”對應(yīng)在對話對象中存儲的參數(shù) 類型“HIDDEN”、參數(shù)名“PRICE”以及參數(shù)值“12000”的場合。在該場合,因為參數(shù)類型是 “HIDDEN”,所以把參數(shù)名“PRICE”作為“=”的左側(cè)、把參數(shù)值“12000”作為該“=”的右側(cè) 形成的字符串“PRICE = 12000”作為Hidden參數(shù)在請求200內(nèi)恢復(fù)。另外,雖然未存儲在圖9表示的對話對象中,但是在取得參數(shù)類型是“GET”的參 數(shù)的場合,作為GET參數(shù)通過在URL上附加被恢復(fù)。例如在取得參數(shù)類型“GET”、參數(shù)名 “SCREEN_ID” 以及參數(shù)值“sOOl” 的場合,例如設(shè)想 URL 是“http//sampleshost/order. do ? ORDER = 10” 的場合。在該場合,像 “http//sampleshost/order. do ? ORDER =10&SCREEN_ID = sOOl”那樣恢復(fù) GET 參數(shù)。
在如上那樣地執(zhí)行恢復(fù)處理、判定為與內(nèi)部種類“PARAM”對應(yīng)在對話對象中存儲 的全部參數(shù)已在請求200內(nèi)恢復(fù)的場合(步驟S37的YES),請求過濾器63從對話對象存儲 部53中廢棄讀入的對話對象(步驟S38)。此時,請求過濾器63通過對話管理部62廢棄對 話對象。如上述在請求200中恢復(fù)了參數(shù)。因此,在上述步驟S31在接收到的請求200和 恢復(fù)了參數(shù)后的請求200中,請求200的數(shù)據(jù)長度增長。因此,請求過濾器63把表示請求 200中的數(shù)據(jù)長度的“Contenet-length” (的值)更新為與上述的參數(shù)的恢復(fù)對應(yīng)的適當 的值(步驟S39)。請求過濾器63對于應(yīng)用服務(wù)器200發(fā)送更新了 “Contenet-length”的請求 200 (步驟 S40)。這里,圖13表示通過請求過濾器63發(fā)送的請求200的一例。這里,適當與圖12 表示的請求(處理前的請求)200比較進行說明。在圖13表示的請求200中,在第一行內(nèi)恢復(fù)了 Cookie參數(shù)。這是基于與內(nèi)部種 類“PARAM”對應(yīng)在對話對象內(nèi)存儲的參數(shù)類型“COOKIE”、參數(shù)名“SESSI0N_ID”以及參數(shù)值 “012”恢復(fù)Cookie參數(shù)的結(jié)果。另外,在圖13表示的請求200中,在第四行內(nèi)恢復(fù)Hidden參數(shù)?!癝CREEN_ ID = s001”,是基于圖9表示的與內(nèi)部種類“PARAM”對應(yīng)在對話對象內(nèi)存儲的參數(shù)類 型“HIDDEN”、參數(shù)名“ SCREEN_ID ”以及參數(shù)值“ s001 ”恢復(fù)Hidden參數(shù)的結(jié)果。“USER_ ID = taro”,是基于圖9表示的與內(nèi)部種類“PARAM”對應(yīng)在對話對象內(nèi)存儲的參數(shù)類型 “HIDDEN”、參數(shù)名“USER_ID”以及參數(shù)值“taro”恢復(fù)Hidden參數(shù)的結(jié)果。另外,"I3RICE =12000”,是基于圖9表示的與內(nèi)部種類“PARAM”對應(yīng)在對話對象內(nèi)存儲的參數(shù)類型 “HIDDEN”、參數(shù)名“PRICE”以及參數(shù)值“ 12000”恢復(fù)Hidden參數(shù)的結(jié)果。這樣通過向應(yīng)用服務(wù)器20發(fā)送參數(shù)被恢復(fù)了的請求200,即使在通過該應(yīng)用服務(wù) 器20提供的Web應(yīng)用已經(jīng)結(jié)束開發(fā)而開始運用的場合,也不會對于該Web應(yīng)用給予影響。如上所述在本實施形式中,在從應(yīng)用服務(wù)器20發(fā)送的應(yīng)答中包含的參數(shù)中,在對 話對象內(nèi)臨時存儲與在過濾規(guī)則存儲部52中存儲的過濾規(guī)則一致的參數(shù)。另外,在本實施 形式中,代替通過應(yīng)用服務(wù)器20發(fā)行的對話ID而嵌入難于預(yù)測的堅固的獨自的對話ID,而 且向客戶終端10發(fā)送刪除了在該對話對象中存儲的參數(shù)的應(yīng)答。另外,在本實施形式中, 在嵌入了獨自的對話ID而且對于參數(shù)被刪除了的應(yīng)答從客戶終端10發(fā)送請求的場合,在 該請求中恢復(fù)在對話對象中存儲的參數(shù),對于應(yīng)用服務(wù)器20發(fā)送。由此,在本實施形式中,在應(yīng)答中在客戶終端10上運行的Web瀏覽器中不使用、但 是在通過應(yīng)用服務(wù)器20提供的web應(yīng)用的畫面間需要移交的、有信息泄漏或者篡改的可能 的參數(shù)(例如價格信息或者個人信息),不向客戶終端10發(fā)送。因此,在本實施形式中,因 為能夠防止在來自應(yīng)用服務(wù)器20的應(yīng)答中包含的參數(shù)的泄漏以及篡改,所以在通過該應(yīng) 用服務(wù)器20提供的Web應(yīng)用中能夠安全地繼續(xù)對話。進而,在本實施形式中,因為不用修改已經(jīng)開發(fā)的Web應(yīng)用的程序就可以實現(xiàn),所 以即使在該Web應(yīng)用的運用開始后問題才顯現(xiàn)出來那樣的場合也能夠不變更運轉(zhuǎn)中的Web 應(yīng)用的安裝解決問題。
另外,在本實施形式中,說明了在一個應(yīng)答中包含一種輸入格式的情況,但是即使 例如在一個應(yīng)答中包含多種輸入格式的場合,通過與對話ID —起嵌入該格式的識別符,也 能夠?qū)τ诒緦嵤┬问降陌踩珡娀b置60的結(jié)構(gòu)不加變更而容易地實現(xiàn)。另外,在通過本實施形式的安全強化裝置60的應(yīng)答過濾器61向客戶終端10發(fā)送 應(yīng)答后,監(jiān)視從客戶終端10發(fā)送的對于該應(yīng)答的請求,在預(yù)定的期間(時間)內(nèi)不從該客 戶終端10發(fā)送該請求(亦即通過安全強化裝置60的請求過濾器63不接受該請求)的場 合,也可以采用廢棄(亦即超時處理)與在對話對象存儲部53中存儲的與該應(yīng)答對應(yīng)的對 話對象的結(jié)構(gòu)。由此,在對話對象中存儲參數(shù)、發(fā)送應(yīng)答的場合,盡管不發(fā)送對于該應(yīng)答的 請求,但是也可以避免積累該對話對象這樣的事態(tài)。另外,在本實施形式中,對于在客戶終端10以及應(yīng)用服務(wù)器20之間安全強化裝置 60中繼請求以及應(yīng)答進行了說明,但是也可以是該安全強化裝置60(的各功能)被包含在 應(yīng)用服務(wù)器20內(nèi)的結(jié)構(gòu)。另外,本申請發(fā)明不限于上述實施形式一成不變,而在實施階段在不脫離其要義 的范圍內(nèi)可以將結(jié)構(gòu)要素進行變形來具體化。另外通過適當組合在上述實施形式中公開的 多種結(jié)構(gòu)要素能夠形成各種發(fā)明。例如,也可以從在實施形式中表示的全部結(jié)構(gòu)要素中刪 除若干結(jié)構(gòu)要素。
權(quán)利要求
一種安全強化裝置,其可通信地與通過用戶操作的客戶終端以及對于該客戶終端提供應(yīng)用的應(yīng)用服務(wù)器連接,其特征在于,具有規(guī)則存儲單元,其預(yù)先存儲表示有泄漏或者篡改的可能性的參數(shù)的條件的規(guī)則;應(yīng)答接收單元,其從所述應(yīng)用服務(wù)器接收應(yīng)答,該應(yīng)答包含對于根據(jù)所述用戶的操作從所述客戶終端發(fā)送的為利用所述應(yīng)用的請求的參數(shù);檢測單元,其從所述接收到的應(yīng)答檢測與通過在所述規(guī)則存儲單元中存儲的規(guī)則表示的條件一致的參數(shù);生成單元,其在從所述接收到的應(yīng)答中檢測到與在所述規(guī)則中表示的條件一致的參數(shù)的場合,生成與該應(yīng)答對應(yīng)的對話對象;對話對象存儲單元,其存儲所述生成的對話對象;發(fā)行單元,其發(fā)行用于唯一識別所述生成的對話對象的對話識別信息;存儲處理單元,其將所述檢測到的參數(shù)與所述已發(fā)行的對話識別信息對應(yīng)起來,存儲在所述對話對象存儲單元中存儲的對話對象中;參數(shù)刪除單元,其當將所述檢測到的參數(shù)存儲在所述對話對象中時,從所述接收到的應(yīng)答中刪除該參數(shù);嵌入單元,其在刪除了在所述對話對象中存儲的參數(shù)的應(yīng)答中嵌入所述已發(fā)行的對話識別信息;應(yīng)答發(fā)送單元,其對于所述客戶終端發(fā)送嵌入了所述已發(fā)行的對話識別信息的應(yīng)答;請求接收單元,其在發(fā)送嵌入了所述已發(fā)行的對話識別信息的應(yīng)答后,從所述客戶終端接收對于包含該對話識別信息的該應(yīng)答的請求;讀入單元,其從所述對話對象存儲單元中讀入通過在由所述請求接收單元接收到的請求中包含的對話識別信息識別的對話對象;對話識別信息刪除單元,其從請求中刪除在通過所述請求接收單元接收到的該請求中包含的對話識別信息;恢復(fù)單元,其在通過所述對話識別信息刪除單元刪除了對話識別信息的請求中恢復(fù)在所述讀入的對話對象中存儲的參數(shù);和請求發(fā)送單元,其對于所述應(yīng)用服務(wù)器發(fā)送恢復(fù)了所述參數(shù)的請求。
2.根據(jù)權(quán)利要求1所述的安全強化裝置,其特征在于,還具有廢棄單元,其在刪除了所述對話識別信息的請求中恢復(fù)了在所述讀入的對話對 象中存儲的參數(shù)的場合,廢棄該對話對象。
3.根據(jù)權(quán)利要求1所述的安全強化裝置,其特征在于,還具有廢棄單元,其在對于所述客戶終端發(fā)送了嵌入了所述發(fā)行的對話識別信息的應(yīng) 答后,在預(yù)定的期間內(nèi)未從客戶終端接收到對于該發(fā)送的應(yīng)答的請求的場合,廢棄在所述 對話對象存儲單元中存儲的對話對象。
4.根據(jù)權(quán)利要求1所述的安全強化裝置,其特征在于,通過在所述規(guī)則存儲單元中存儲的規(guī)則表示的條件,包含連接目的地識別模式、參數(shù) 類型以及參數(shù)名,所述接收到的應(yīng)答還包含涉及對于該應(yīng)答的請求的發(fā)送目的地的連接目的地識別信息 在所述接收到的應(yīng)答中包含的參數(shù),包含該參數(shù)的參數(shù)類型以及參數(shù)名, 所述檢測單元包含下述的單元判定在所述接收到的應(yīng)答中包含的連接目的地識別信息是否與在通過在所述規(guī)則存儲單元中存儲的規(guī)則表示的條件中包含的連接目的地識別模式一致的單元;在判定為在所述接收到的應(yīng)答中包含的連接目的地識別信息與所述連接目的地識別 模式一致的場合,判定在所述接收到的應(yīng)答中是否包含有下述的參數(shù)的單元,所述參數(shù)包 含在通過在所述規(guī)則存儲單元中存儲的規(guī)則表示的條件中包含的參數(shù)類型以及參數(shù)名;和 在判定為在所述接收到的應(yīng)答中包含有包含在通過在所述規(guī)則存儲單元中存儲的規(guī) 則表示的條件中包含的參數(shù)類型以及參數(shù)名的參數(shù)的場合,從該應(yīng)答中檢出該參數(shù)的單兀。
全文摘要
本發(fā)明提供一種安全強化裝置。應(yīng)答過濾器(61)從應(yīng)答中檢測與過濾規(guī)則一致的參數(shù)。應(yīng)答過濾器(61)將檢出的參數(shù)與對話ID對應(yīng)起來存儲在對話對象中。應(yīng)答過濾器(61)刪除檢出的參數(shù),向客戶終端(10)發(fā)送嵌入了對話ID的應(yīng)答。請求過濾器(63)從對于從客戶終端(10)接收到的應(yīng)答的請求中刪除對話ID,在該請求中恢復(fù)在通過在請求中包含的對話ID識別的對話對象中存儲的參數(shù),向應(yīng)用服務(wù)器(20)發(fā)送。
文檔編號H04L29/06GK101800748SQ20101011245
公開日2010年8月11日 申請日期2010年2月4日 優(yōu)先權(quán)日2009年2月6日
發(fā)明者小田原育也 申請人:株式會社東芝;東芝解決方案株式會社