專利名稱:網(wǎng)絡(luò)上傳送數(shù)據(jù)的加密和解密的系統(tǒng)、裝置和方法
網(wǎng)絡(luò)上傳送數(shù)據(jù)的加密和解密的系統(tǒng)、裝置和方法
背景技術(shù):
因特網(wǎng)和萬(wàn)維網(wǎng)允許公司和組織把文檔中的服務(wù)比如數(shù)字形式的網(wǎng)絡(luò)應(yīng)用提供給商戶和個(gè)人,他們可以用個(gè)人計(jì)算機(jī)和網(wǎng)絡(luò)瀏覽器接入和利用這些服務(wù)。使這樣的文檔和確切地說(shuō)應(yīng)用通過(guò)網(wǎng)絡(luò)可用,典型情況下被稱為軟件即服務(wù)(SaaS)。以SaaS的形式可以提供的應(yīng)用的某些實(shí)例是電子郵件、即時(shí)通信、效能工具、客戶關(guān)系管理、企業(yè)資源規(guī)劃、人力資源應(yīng)用、博客、社交網(wǎng)站等。這個(gè)模型具有固有的安全風(fēng)險(xiǎn)。用戶數(shù)據(jù),比如消息、客戶記錄和公司財(cái)務(wù),存儲(chǔ)在遠(yuǎn)程服務(wù)器上,用戶數(shù)據(jù)提供者無(wú)法控制。在遠(yuǎn)程服務(wù)器上存儲(chǔ)個(gè)人或公司信息使數(shù)據(jù)擁有者暴露于許多風(fēng)險(xiǎn)中,并且意味著該信息的擁有者必須信任擁有宿主該信息的計(jì)算機(jī)系統(tǒng)的實(shí)體以及連接信息擁有者和該宿主系統(tǒng)的網(wǎng)絡(luò)。例如,通常公知的會(huì)計(jì)軟件解決方案要求其客戶傳遞會(huì)計(jì)信息以存儲(chǔ)在解決方案 提供商的服務(wù)器上。在這樣的系統(tǒng)中,客戶必須向解決方案提供商委托會(huì)計(jì)信息,從而放棄了對(duì)其保密性和完整性的一定程度的控制。在某些軟件應(yīng)用中,使用各種加密方案,使得不具有適當(dāng)解密方法或密鑰的任何人對(duì)這些數(shù)據(jù)無(wú)法理解。例如,應(yīng)用提供商可以授權(quán)和/或要求信息擁有者使用安全套接層(SSL)加密或另一種方法來(lái)加密在客戶機(jī)與主機(jī)之間傳送的數(shù)據(jù)。這就防止了因特網(wǎng)服務(wù)提供商(ISP)和其他潛在的偷聽者看到傳送期間的數(shù)據(jù)本身。數(shù)據(jù)在到達(dá)主機(jī)中的應(yīng)用后相應(yīng)地解密,托管應(yīng)用提供商可以觀察和操作擁有者的未加密數(shù)據(jù)。不過(guò),這種方法使敏感數(shù)據(jù)暴露于托管應(yīng)用提供商。7,165,175號(hào)美國(guó)專利描述了選擇性地加密客戶機(jī)與服務(wù)器之間通過(guò)網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)的多個(gè)部分的裝置和方法。所述裝置包括解析裝置,用于分離數(shù)據(jù)的第一部分和數(shù)據(jù)的第二部分;加密裝置,用于僅僅加密數(shù)據(jù)的第一部分;以及合并裝置,用于把加密的數(shù)據(jù)的第一部分與數(shù)據(jù)的第二部分合并。所述裝置進(jìn)一步包括被安裝在客戶機(jī)的解密裝置,用于對(duì)加密的數(shù)據(jù)部分解密。PCT專利公開號(hào)W001/047205公開了使用下載的軟件對(duì)象的加強(qiáng)計(jì)算機(jī)網(wǎng)絡(luò)加密。這份申請(qǐng)描述的方法和系統(tǒng)用于保護(hù)經(jīng)過(guò)將網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī)鏈接到遠(yuǎn)程客戶機(jī)計(jì)算機(jī)的公共網(wǎng)絡(luò)比如萬(wàn)維網(wǎng)的傳輸中所包含的高度敏感財(cái)務(wù)和其他數(shù)據(jù)。通過(guò)對(duì)網(wǎng)絡(luò)服務(wù)器與客戶機(jī)之間的一切敏感通信確定期望的(通常是強(qiáng)的)特定加密標(biāo)準(zhǔn),以及通過(guò)從網(wǎng)絡(luò)服務(wù)器向客戶機(jī)自動(dòng)下載而向客戶機(jī)“推送”加密到這樣的標(biāo)準(zhǔn)的能力,并且在客戶機(jī)的網(wǎng)絡(luò)瀏覽器、軟件對(duì)象內(nèi)執(zhí)行,以進(jìn)行依據(jù)選定標(biāo)準(zhǔn)的加密/解密任務(wù),即使客戶機(jī)一開始不具有強(qiáng)加密能力也不難確保這樣的強(qiáng)加密。對(duì)托管SaaS應(yīng)用使用這些方式的一個(gè)問(wèn)題是,這樣的應(yīng)用要求操作信息如數(shù)據(jù),為了使其可用于通過(guò)網(wǎng)絡(luò)進(jìn)行操作,是未加密的,以便允許由應(yīng)用提供商操作信息,從而使數(shù)據(jù)暴露于應(yīng)用提供商,以及以其他方式使得在操作期間數(shù)據(jù)易遭受安全問(wèn)題。
連同附圖根據(jù)以下詳細(xì)說(shuō)明,本發(fā)明的以上和其他的目的、特征和優(yōu)點(diǎn)將變得更加顯而易見。在附圖中,類似的附圖標(biāo)記在不同的圖中始終表示類似要素。圖I展示了包括根據(jù)本發(fā)明實(shí)施例的中間模塊及其環(huán)境的系統(tǒng);圖2展示了根據(jù)本發(fā)明實(shí)施例,從客戶機(jī)終端到網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)流;圖3展示了根據(jù)本發(fā)明實(shí)施例,從網(wǎng)絡(luò)節(jié)點(diǎn)到客戶機(jī)終端的數(shù)據(jù)流;圖4展示了根據(jù)本發(fā)明實(shí)施例的加密數(shù)據(jù)的方法,允許服務(wù)器端搜索和索引加密的數(shù)據(jù);圖5展示了標(biāo)準(zhǔn)化過(guò)程和包括句子的輸入文本的實(shí)例;圖6展示了根據(jù)本發(fā)明實(shí)施例,處理單詞的實(shí)例;
圖7展示了根據(jù)本發(fā)明實(shí)施例的加密數(shù)據(jù)的方法,允許服務(wù)器端分選加密的數(shù)據(jù);圖8展示了根據(jù)本發(fā)明實(shí)施例,產(chǎn)生次序保存函數(shù)的方法;圖9展示了根據(jù)本發(fā)明實(shí)施例,使用三個(gè)不同關(guān)鍵字的三個(gè)所產(chǎn)生的次序保存加密函數(shù)的實(shí)例;圖10示意地展示了在本發(fā)明實(shí)施例中,啟用加密的用戶數(shù)據(jù)搜索的數(shù)據(jù)流。
具體實(shí)施例方式在以下的詳細(xì)說(shuō)明中,為了提供對(duì)本發(fā)明的徹底理解,闡述了很多特定細(xì)節(jié)。不過(guò),本領(lǐng)域的技術(shù)人員將理解,沒(méi)有這些特定細(xì)節(jié)也可以實(shí)踐本發(fā)明。在其他實(shí)例中,為了避免使本發(fā)明難以理解,未對(duì)眾所周知的方法、過(guò)程和組件進(jìn)行詳細(xì)介紹。常規(guī)數(shù)據(jù)流參考圖1,它展示了一個(gè)系統(tǒng),包括根據(jù)本發(fā)明實(shí)施例的中間模塊200及其環(huán)境,以及從工作站230的客戶機(jī)模塊到網(wǎng)絡(luò)節(jié)點(diǎn)260的應(yīng)用服務(wù)提供商的數(shù)據(jù)流。中間模塊200可以包括攔截模塊210和數(shù)據(jù)保護(hù)模塊220。中間模塊200可運(yùn)行地連接到客戶機(jī)終端230如可信工作站,以及經(jīng)由網(wǎng)絡(luò)比如公共網(wǎng)絡(luò)250連接到網(wǎng)絡(luò)節(jié)點(diǎn)260如應(yīng)用服務(wù)提供商。應(yīng)當(dāng)理解,圖I是本發(fā)明的示范實(shí)施例,而其他網(wǎng)絡(luò)配置也是可能的。例如,可信工作站230和中間模塊200可以彼此遠(yuǎn)離,例如在可信工作站鏈接上運(yùn)行地連接。例如,可信工作站230可以被連接到包括用于多個(gè)機(jī)構(gòu)的多個(gè)中間模塊,并且在公共網(wǎng)絡(luò)上調(diào)解它們與一個(gè)或多個(gè)應(yīng)用服務(wù)提供商的數(shù)據(jù)通信量。應(yīng)當(dāng)認(rèn)識(shí)到,在本申請(qǐng)從始至終都對(duì)中間模塊進(jìn)行引用,不過(guò),該模塊可以駐留在客戶機(jī)設(shè)備上、在網(wǎng)關(guān)服務(wù)器處,如在與客戶機(jī)設(shè)備相關(guān)聯(lián)的前提下,或在與可信客戶機(jī)設(shè)備和不可信服務(wù)器通信的分開的服務(wù)器處。因此,例如,攔截模塊和/或數(shù)據(jù)保護(hù)模塊可以被安裝在可信工作站上,可作為瀏覽器插件、可作為操作系統(tǒng)驅(qū)動(dòng)程序或模塊、可作為軟件庫(kù)以及可作為另一個(gè)軟件組件。在另一個(gè)實(shí)例中,可以將中間模塊正好放置在不可信應(yīng)用程序的前端,在此對(duì)該不可信應(yīng)用程序的全部訪問(wèn)都經(jīng)過(guò)該中間模塊。在又一個(gè)實(shí)例中,中間模塊可以是分開的服務(wù)器,客戶機(jī)模塊向它傳送輸入數(shù)據(jù),它又將處理的數(shù)據(jù)傳送到不可信服務(wù)器。
可信工作站230可以是客戶機(jī)計(jì)算機(jī),其上已經(jīng)安裝了客戶機(jī)組件240,它可以與中間模塊互動(dòng)。客戶機(jī)組件240可以是在網(wǎng)絡(luò)瀏覽器中運(yùn)行的網(wǎng)絡(luò)應(yīng)用程序HTML形式,而網(wǎng)絡(luò)節(jié)點(diǎn)260可以是SaaS提供商的HTTP網(wǎng)絡(luò)服務(wù)器。客戶機(jī)組件240可以包括API客戶機(jī)軟件,以及作為補(bǔ)充或作為替代,遠(yuǎn)程訪問(wèn)網(wǎng)絡(luò)節(jié)點(diǎn)260的任何其他方法。終端用戶能夠使用客戶機(jī)組件240輸入、檢索和操作試圖傳遞給網(wǎng)絡(luò)節(jié)點(diǎn)260的數(shù)據(jù),或者從其檢索的數(shù)據(jù)。終端用戶可以包括利用軟件代理(如網(wǎng)絡(luò)瀏覽器)的使用人和使用客戶機(jī)API的自動(dòng)代理。中間模塊200的攔截模塊210可以攔截或以其他方式接收來(lái)自可信工作站230的輸入(未處理)文本,以及提供輸入文本給數(shù)據(jù)保護(hù)模塊220進(jìn)行處理。攔截模塊210可以攔截在客戶機(jī)組件240與網(wǎng)絡(luò)節(jié)點(diǎn)260之間流動(dòng)的數(shù)據(jù),能夠修改它,并且能夠干擾正常的數(shù)據(jù)流動(dòng)。例如,攔截模塊可以觸發(fā)鑒別會(huì)話以便確定終端用戶能夠訪問(wèn)在網(wǎng)絡(luò)節(jié)點(diǎn)260中存儲(chǔ)的數(shù)據(jù)。攔截模塊210可以是網(wǎng)絡(luò)代理服務(wù)器(或者由其執(zhí)行)。
數(shù)據(jù)保護(hù)模塊220可以接收輸入文本并且選擇性地進(jìn)行處理。未被選擇為要處理的輸入文本可以作為未處理的文本被傳送到網(wǎng)絡(luò)節(jié)點(diǎn)260進(jìn)行操作和/或存儲(chǔ)在存儲(chǔ)系統(tǒng)270中,實(shí)質(zhì)上未進(jìn)行處理或者比選擇進(jìn)行處理的文本進(jìn)行更少的處理。對(duì)于要處理的文本,數(shù)據(jù)保護(hù)模塊220可以處理輸入文本以提供處理的文本,可以將其在公共網(wǎng)絡(luò)250上提供給不可信應(yīng)用服務(wù)提供商260用于存儲(chǔ)、操作等。所以,根據(jù)本發(fā)明的實(shí)施例,應(yīng)用服務(wù)提供商260可以從而不接收未處理的文本,而是存儲(chǔ)和操作處理的文本。正如以下介紹,處理可以包括應(yīng)用搜索和/分選啟用的加密模式,從而提供加密的文本數(shù)據(jù)。根據(jù)本發(fā)明的實(shí)施例,處理可以選擇性地加密文本,選擇將哪種輸入文本以處理的形式傳送到應(yīng)用服務(wù)提供商260,以及將哪種輸入文本以未處理的形式傳送。應(yīng)當(dāng)理解,中間模塊200可以包括一臺(tái)或多臺(tái)服務(wù)器、一臺(tái)或多臺(tái)工作站、一臺(tái)或多臺(tái)個(gè)人計(jì)算機(jī)、一臺(tái)或多臺(tái)便攜式計(jì)算機(jī)、一個(gè)或多個(gè)媒體播放器、一個(gè)或多個(gè)個(gè)人數(shù)據(jù)附件、一個(gè)或多個(gè)集成電路,以及/或者一個(gè)或多個(gè)印刷電路板、專用硬件及其組合。數(shù)據(jù)流干預(yù)中間模塊200可以包括或提供對(duì)加密和/或解密進(jìn)行補(bǔ)充或與其不相關(guān)的功能,并且可以改變客戶的可信工作站230與服務(wù)器的不可信應(yīng)用260之間的正常消息流。這樣的補(bǔ)充功能可以具有對(duì)加密造成的服務(wù)器端功能損失進(jìn)行補(bǔ)償?shù)男Ч?。根?jù)本發(fā)明的實(shí)施例,中間模塊可以接收來(lái)自客戶機(jī)設(shè)備的輸入數(shù)據(jù)、攔截所述輸入數(shù)據(jù)等,如防止或以其他方式不允許輸入數(shù)據(jù)被傳送到服務(wù)器,并且中間模塊可以對(duì)輸入數(shù)據(jù)提供否則服務(wù)器將要提供的相關(guān)功能。例如,中間模塊可以根據(jù)該功能的結(jié)果產(chǎn)生至少一條給客戶機(jī)設(shè)備的消息。根據(jù)本發(fā)明的某些實(shí)施例,中間模塊可以從所述客戶機(jī)設(shè)備獲得對(duì)所述至少一條消息的響應(yīng),根據(jù)所述響應(yīng),處理該輸入文本以得到處理的輸入文本,并且將處理的輸入文本傳送到服務(wù)器。例如,服務(wù)器可以一般性地檢查輸入文本的拼寫并且向用戶提供反饋消息,例如,指出拼寫錯(cuò)誤的詞和建議的校正。不過(guò),當(dāng)服務(wù)器接收的文本被加密時(shí),根據(jù)本發(fā)明的實(shí)施例,服務(wù)器在沒(méi)有解密處理的文本情況下,可能無(wú)法執(zhí)行拼寫檢查。所以根據(jù)本發(fā)明的實(shí)施例,中間模塊可以提供補(bǔ)充的功能,例如,對(duì)輸入文本進(jìn)行拼寫檢查,并且可以向用戶提供反饋消息,如對(duì)輸入數(shù)據(jù)進(jìn)行拼寫檢查的結(jié)果,比如出錯(cuò)消息、建議的拼寫校正或者沒(méi)有檢測(cè)出錯(cuò)誤的消息。在本發(fā)明的一個(gè)實(shí)施例中,這樣的補(bǔ)充功能可以包括替換服務(wù)器端的搜索功能,例如,通過(guò)存儲(chǔ)用戶數(shù)據(jù)(或其一部分)的副本以及響應(yīng)由客戶機(jī)做出的搜索請(qǐng)求在中間模塊中對(duì)其進(jìn)行搜索。在本發(fā)明的實(shí)施例中,這樣的補(bǔ)充功能可以包括先觸發(fā)客戶機(jī)與中間模塊之間的鑒別會(huì)話再允許用戶數(shù)據(jù)被加密和解密。在本發(fā)明的實(shí)施例中,這樣的補(bǔ)充功能可以包括對(duì)輸入數(shù)據(jù)格式檢查,并且如果合適,例如,假若輸入數(shù)據(jù)是第一格式,則請(qǐng)求客戶機(jī)以不同于第一格式的第二格式發(fā)送信息。這樣的接收的和/或請(qǐng)求的格式可以包括,例如,(a)輸入文本的增量編碼格式,其中僅僅傳送與輸入文本的已知版本的差異,(b)輸入文本的完全版本,(C)在特定文檔格式中包含的輸入文本,或其組合。例如,輸入數(shù)據(jù)可能以增量編碼的格式接收,而中間模塊可以請(qǐng)求以完全輸入文本格式的輸入數(shù)據(jù)。特定文檔格式的其他實(shí)例包括但是不限于HF、D0C、 HTML 等。根據(jù)本發(fā)明的實(shí)施例,可以將處理的文本存儲(chǔ)在存儲(chǔ)系統(tǒng)270中例如網(wǎng)絡(luò)節(jié)點(diǎn)260,并且在公共網(wǎng)絡(luò)250上遠(yuǎn)程地操作。正如以下介紹,該處理可以使得在處理的文本上可以啟用搜索和/或分選,其方式由可信用戶和/或不可信服務(wù)器應(yīng)用為透明的或未察覺(jué)至IJ,在應(yīng)用服務(wù)提供商處不必解密處理的數(shù)據(jù)。在以下的介紹中,存儲(chǔ)系統(tǒng)270有時(shí)由數(shù)據(jù)庫(kù)表示;不過(guò)應(yīng)當(dāng)認(rèn)識(shí)到,存儲(chǔ)系統(tǒng)270可以是任何適合的數(shù)字存儲(chǔ)架構(gòu),并且可以被存儲(chǔ)在任何適合的硬件上,如獨(dú)立冗余磁盤陣列(RAID)等。所以,正如圖I的展示性數(shù)據(jù)流所示,可信工作站230可以提供未處理的輸入數(shù)據(jù)比如“Acme Corp. ”,由應(yīng)用服務(wù)提供商260使用。輸入文本可以在中間模塊200例如由攔截模塊210攔截,并且由數(shù)據(jù)保護(hù)模塊220處理。數(shù)據(jù)保護(hù)模塊220可以將輸入文本處理為一個(gè)或多個(gè)被稱為令牌的個(gè)別文本單位,并且控制可能被加密的數(shù)據(jù),示意地顯示為處理的數(shù)據(jù)“DHF0EFRGEJIC”,并且在網(wǎng)絡(luò)250上將處理的數(shù)據(jù)發(fā)送到不可信應(yīng)用服務(wù)提供商260,在此它可以由用戶操作以及/或者存儲(chǔ)在數(shù)據(jù)庫(kù)270中。應(yīng)當(dāng)理解,“DHF0EFRGEJIC”是示意性的,任何適合的加密算法都可以使用,例如,導(dǎo)致任何符號(hào)集。正如以下介紹,根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以使用非拉丁字符或符號(hào),例如朝文或中文符號(hào)。對(duì)圖2進(jìn)行參考,它展示了根據(jù)本發(fā)明實(shí)施例,從客戶終端230到應(yīng)用服務(wù)提供商260的廣義數(shù)據(jù)流。終端用戶可以提供未被加密的輸入文本(明碼通信報(bào)文)。輸入數(shù)據(jù)可以從客戶終端230向網(wǎng)絡(luò)節(jié)點(diǎn)250傳送,并且被攔截模塊210攔截。攔截模塊210可以將輸入文本提供給數(shù)據(jù)保護(hù)模塊220,它處理輸入數(shù)據(jù)以提供處理的數(shù)據(jù),其中所述處理包括加密輸入文本的至少一部分。處理的數(shù)據(jù)然后可以被發(fā)送到攔截模塊210,它又將其在公共網(wǎng)絡(luò)250上傳送。處理的數(shù)據(jù)可以由網(wǎng)絡(luò)節(jié)點(diǎn)260接收,由某應(yīng)用如SaaS應(yīng)用操作,并且存儲(chǔ)在數(shù)據(jù)庫(kù)270中。應(yīng)當(dāng)理解,輸入數(shù)據(jù)可以是要存儲(chǔ)在存儲(chǔ)系統(tǒng)270中的新的或更新后的數(shù)據(jù),它也可以是為實(shí)時(shí)操作而提供給SaaS應(yīng)用程序的任何數(shù)據(jù),例如某命令如搜索命令的一個(gè)或多個(gè)參數(shù)。對(duì)圖3進(jìn)行參考,它展示了根據(jù)本發(fā)明實(shí)施例,從網(wǎng)絡(luò)節(jié)點(diǎn)260到客戶終端230的數(shù)據(jù)流。這樣的過(guò)程可以由用戶在工作站230啟動(dòng),方式為作出檢索或搜索請(qǐng)求。所請(qǐng)求的參數(shù),如要被搜索的項(xiàng)可以經(jīng)過(guò)處理,正如以上連同圖2的介紹,而在網(wǎng)絡(luò)節(jié)點(diǎn)260的應(yīng)用可以搜索或分選處理的數(shù)據(jù),有可能基于所提供的處理的參數(shù)。網(wǎng)絡(luò)節(jié)點(diǎn)260可以檢索處理的數(shù)據(jù),例如響應(yīng)檢索或搜索請(qǐng)求,其中處理的數(shù)據(jù)可以包括某些加密的部分。處理的數(shù)據(jù)可以在公共網(wǎng)絡(luò)250上向客戶機(jī)終端230發(fā)送。攔截模塊210可以攔截處理的數(shù)據(jù),并且將其提供給數(shù)據(jù)保護(hù)模塊220,以便識(shí)別處理的數(shù)據(jù)內(nèi)的任何加密數(shù)據(jù)。任何識(shí)別出的加密數(shù)據(jù)都可以被解密,并且提供給攔截模塊210以恢復(fù)數(shù)據(jù)通信。攔截模塊210可以將未處理的數(shù)據(jù)(解密后的明文數(shù)據(jù))轉(zhuǎn)發(fā)給客戶機(jī)組件240以便向用戶顯示。通常的令牌化和標(biāo)準(zhǔn)化可以請(qǐng)求在網(wǎng)絡(luò)節(jié)點(diǎn)260上運(yùn)行的應(yīng)用來(lái)搜索已存儲(chǔ)的數(shù)據(jù)并返回結(jié)果。圖10示意地展示了在本發(fā)明實(shí)施例中,啟動(dòng)加密的用戶數(shù)據(jù)搜索的數(shù)據(jù)流。首先,客戶機(jī)240可以輸入數(shù)據(jù)并且通過(guò)中間模塊200對(duì)不可信應(yīng)用260作出幾次存儲(chǔ)請(qǐng)求。中間模塊加密用戶輸入,使得每個(gè)可搜索的字都被映射到加密的可搜索字上,使得每個(gè)輸入的可搜索字都具有一個(gè)嚴(yán)格對(duì)應(yīng)的加密的可搜索字。加密的可搜索字在加密 前可以被標(biāo)準(zhǔn)化。例如,在圖10中,字“BAD”、“Bad”和“bad”全部被加密為加密的字“cccc”,所以搜索“bad”提供了包含“BAD”和“Bad”的結(jié)果。在圖10中,字“the”和“a”被認(rèn)為是不可搜索的,所以不產(chǎn)生單獨(dú)的加密的可搜索的令牌。相反,字“dog”和“cat”分別映射為加密的可搜索字“eeee”和“bbbb”。對(duì)可搜索字和不可搜索字保持大小寫標(biāo)記的信息被包含在加密令牌“ZZZytuv”和“ZZZabcd”中。對(duì)圖4進(jìn)行參考,它是根據(jù)本發(fā)明實(shí)施例,設(shè)計(jì)為啟動(dòng)服務(wù)器端搜索和/或索引用戶文本數(shù)據(jù)的數(shù)據(jù)處理方法100的示意性展示。方法100可以由中間模塊,例如由以上介紹的數(shù)據(jù)保護(hù)模塊應(yīng)用。應(yīng)當(dāng)理解,接收處理的數(shù)據(jù)并將其轉(zhuǎn)換為未處理的數(shù)據(jù)的方法本質(zhì)上可以是所介紹方法的反向方法。方法100在階段110由接收輸入消息開始,例如由客戶機(jī)終端與網(wǎng)絡(luò)節(jié)點(diǎn)之間運(yùn)行地連接的中間模塊。在階段111,本方法可以識(shí)別出輸入消息內(nèi)將被處理的各個(gè)數(shù)據(jù)單元。例如,輸入消息可以包括名字段、姓字段以及文檔體字段。在階段112,本方法可以對(duì)所有被識(shí)別的數(shù)據(jù)單元迭代,首先在階段113獲得未處理的數(shù)據(jù)單元,然后選擇是否處理所獲得的數(shù)據(jù)單元。處理的數(shù)據(jù)單元可以被單獨(dú)地或共同地處理。在階段114,本方法然后可以判斷是否處理該輸入數(shù)據(jù)。未被修改的輸入數(shù)據(jù)被保留(階段130)。在階段115,本方法可以確定輸入數(shù)據(jù)單元文本是否以及/或者哪些部分應(yīng)當(dāng)處理。例如,輸入文本中不宜進(jìn)行加密的部分可能包括搜索連接符比如“OR”、“AND”,或者專用的重要文本標(biāo)記,比如“ {important} ”或者“Olocation”,表明要對(duì)數(shù)據(jù)進(jìn)行的特殊種類的服務(wù)器處理。對(duì)于要被處理的輸入文本,本方法進(jìn)至階段116,在其中輸入文本被分解成稱為令牌的各個(gè)文本單位(從輸入文本確定令牌的過(guò)程本文稱為令牌化)。應(yīng)當(dāng)認(rèn)識(shí)到,令牌化是可選的,并且方法100可以包括(a)將全部輸入數(shù)據(jù)一起加密為單個(gè)令牌,(b)分開地加密被確定為適于加密的輸入數(shù)據(jù),以提供多個(gè)處理的令牌,其中每個(gè)處理的令牌表示一段輸入文本,或者(C)上述的組合。本方法然后可以進(jìn)至階段117,其中某些輸入令牌可以被識(shí)別為不宜搜索。例如,確定每個(gè)獨(dú)立字的準(zhǔn)則可以是預(yù)定義字的列表、字頻列表比如英語(yǔ)詞典頻率列表中的閾值字頻、字的長(zhǎng)度或其組合。在階段118,本方法可以從可搜索輸入令牌提取對(duì)搜索不重要的信息,例如字母的大小寫、字母的區(qū)分標(biāo)志、連字符的分離、統(tǒng)一碼字符組合或分解(正如由統(tǒng)一碼標(biāo)準(zhǔn)所定義)。提取的信息可以存儲(chǔ)在分開的位置以備后期使用,并且可以被放置在稱為控制令牌的輸出令牌中。文本令牌可以被轉(zhuǎn)換為不包含所提取信息的標(biāo)準(zhǔn)化的形式。本文稱這個(gè)過(guò)程為標(biāo)準(zhǔn)化。應(yīng)當(dāng)認(rèn)識(shí)到,標(biāo)準(zhǔn)化是可選的,并且可以以任何適當(dāng)?shù)姆绞竭M(jìn)行。在階段119,本方法可以獲得要加密的全部信息單位的位表達(dá),包括可搜索令牌、從可搜索令牌提取的信息以及輸入的其他部分,以使用密碼加密程序加密它。信息單位可以被分類為可搜索的或不可搜索的。不可搜索的信息單位可以被組合或分開。輸入文本中可搜索令牌的次序可以改變,并且可以將原始次序的表示添加到不可搜索的信息單位。 在階段120,本方法可以使用密碼加密程序比如AES或DES加密信息單位。在階段121,本方法可以將加密的位表達(dá)轉(zhuǎn)換為輸出文本單位,包括取自字符集的字符序列,例如,一個(gè)或多個(gè)統(tǒng)一碼的預(yù)定義連續(xù)部分,正如以下更詳細(xì)的介紹。這種字符集可以事先定義以幫助解密。在階段122,輸入消息中的輸入數(shù)據(jù)單元可以用在階段121獲得的輸出文本替換。本發(fā)明可以繼續(xù)對(duì)全部識(shí)別的輸入單位應(yīng)用階段112-122,然后將處理的消息傳送到承擔(dān)服務(wù)器應(yīng)用的網(wǎng)絡(luò)節(jié)點(diǎn)(階段131)。令牌化正如以上介紹,數(shù)據(jù)處理方法可以包含令牌化,它又可以包含許多步驟。應(yīng)當(dāng)理解,連同以下令牌化展示所介紹的某些步驟是可選的。不僅如此,還應(yīng)當(dāng)理解,去令牌化,即把令牌化的處理的數(shù)據(jù)轉(zhuǎn)換為未處理的數(shù)據(jù),本質(zhì)上可以是所介紹方法的反向方法。為了啟動(dòng)在加密的用戶數(shù)據(jù)上的搜索,輸入文本在稱為令牌化的過(guò)程中可以被分為許多段。保存各個(gè)可搜索項(xiàng)的段被稱為(未處理的)輸入令牌,其中輸入令牌典型情況下是完整字。不是令牌的輸入段被添加到某信息集,它被稱為不可搜索信息集。這樣的段可以包括標(biāo)點(diǎn)符號(hào)、空格字符和其他字符。連同令牌化,可以將幾個(gè)字組合為單一令牌,單個(gè)字也可以被分離為兩個(gè)或多個(gè)構(gòu)成令牌。例如,若干復(fù)合字如“whiteboard”可以被分解為分別可搜索的令牌“white”和“board”。例如,諸如中文或日文的語(yǔ)言通常不使用空格或另一種獨(dú)特字符在書面文本中使字分開,從而單一中文輸入文本可以被分解為幾個(gè)輸入令牌。這樣的組合或分解的指示可以被添加到不可搜索的信息集。令牌化可以包括檢測(cè)字的形態(tài)變異,將輸入令牌修改為標(biāo)準(zhǔn)化的形式,以及將原始輸入令牌的指示添加到不可搜索的信息集。例如,字的形態(tài)不變式可以包括名詞的單復(fù)數(shù)形式(“word”、“words”)、動(dòng)詞變化(“cry”、“cried”、“crying”)等。令牌化可以包括檢測(cè)不太可能被搜索的字,并從可搜索的輸入令牌集中將其去除并添加到不可搜索的信息集。例如,這樣的檢測(cè)可以使用(a)預(yù)定義的字集,(b)詞典保存字頻率列表和某閾值頻率,頻率高于此閾值頻率的字被認(rèn)為是不可搜索的,(C)可搜索字的最小和/或最大長(zhǎng)度,或者(d)它們的任何組合。令牌化可以支持服務(wù)器端的搜索和/或索引,它們忽略了某些字符特性,比如字母大小寫、變音符、連字符或統(tǒng)一碼字符的組 合/分解。例如,搜索文本時(shí)搜索“ToKeN”和“tOkEn”可以產(chǎn)生相同的結(jié)果,使得包含字“token”的變形的一切字符串都出現(xiàn)在搜索結(jié)果中。支持這樣的屬性不敏感的搜索的執(zhí)行方式可以是(I)將每個(gè)輸入字符都轉(zhuǎn)換為單一的規(guī)范形式,(2)產(chǎn)生原始字符的指示,以及(3)將這種指示添加到不可搜索的信息集。例如,令牌化可以支持在服務(wù)器端的大小寫不敏感的搜索,方式為將輸入令牌字符轉(zhuǎn)換為單一大小寫(如小寫),并且將原始字母的大小寫指示添加到不可搜索的信息集。例如,搜索期間可以忽略變音標(biāo)記,忽略添加的、去除的或修改的變音標(biāo)記,如“E”或“E”或“E”。例如,搜索“ cafe ”將匹配用戶數(shù)據(jù)比如“Cafe ”、“CAFE”、“ cAfe,,或itQdLfen。系統(tǒng)可以將所有這些字的實(shí)例都轉(zhuǎn)換為標(biāo)準(zhǔn)化的形式“cafe”,將原始變音符的指示添加到不可搜索的信息集。例如,系統(tǒng)可以支持連字符不敏感的搜索(例如,daBmon和daemon)。系統(tǒng)可以將連字符轉(zhuǎn)換為標(biāo)準(zhǔn)的形式,比如收斂的“Se”轉(zhuǎn)換為“ae”,產(chǎn)生原始連字符的指示,并且將其添加到不可搜索的信息集。對(duì)圖6進(jìn)行參考,它展示了對(duì)字“Caf6”的處理。輸入文本被剝?nèi)チ舜髮懞妥円舴?,并且轉(zhuǎn)換為令牌“cafe”。相關(guān)聯(lián)的控制令牌表明第一個(gè)字母是大寫,而第四個(gè)字母具有重音符。根據(jù)本發(fā)明的某些實(shí)施例,字母可以被假設(shè)為小寫且沒(méi)有變音符,使得控制令牌不必表明小寫或沒(méi)有變音符。文本置標(biāo)和擴(kuò)充信息根據(jù)本發(fā)明的實(shí)施例,處理輸入文本可以包括檢測(cè)應(yīng)用特定文本的至少一條處理指令,并且可以或者將這些處理指令添加到非確定地轉(zhuǎn)換的文本,或者將這種信息在處理的文本中保持為明碼通信報(bào)文,使得不可信服務(wù)器可以應(yīng)用與這種文本擴(kuò)充信息有關(guān)的任何種類的處理。例如,HTML是文本擴(kuò)充,它可以通過(guò)在文本中嵌入HTML標(biāo)記向用戶文本添加格式信息。本系統(tǒng)可以處理輸入HTML標(biāo)記,通過(guò)以下方式中的至少一個(gè)(1)將HTML標(biāo)記添加到不可搜索的信息,(2)在輸出的處理的文本中包括輸入HTML標(biāo)記而不加密以允許服務(wù)器端的處理,(3)將HTML標(biāo)記視為正常的文本,如對(duì)HTML標(biāo)記應(yīng)用任何在非HTML標(biāo)記輸入文本上執(zhí)行的處理。根據(jù)本發(fā)明的某些實(shí)施例,在輸入文本中檢測(cè)到至少一條處理指令后,中間模塊可以決定不變換所述至少一條處理指令。根據(jù)本發(fā)明的某些實(shí)施例,在輸入文本中檢測(cè)到至少一條處理指令后,中間模塊可以決定不確定地變換所述至少一條處理指令。系統(tǒng)可以向不可搜索的信息集添加背景信息,比如時(shí)間、用戶或者在產(chǎn)生處理的文本時(shí)系統(tǒng)已知的其他信息。例如,根據(jù)本發(fā)明的實(shí)施例,系統(tǒng)可以向加密的令牌添加自定義指示,比如“important”或“sensitive”,使得在解密時(shí)這些指示可以被注意到,可以產(chǎn)生指示對(duì)輸入信息進(jìn)行解密的事件,并且例如通過(guò)向日志文件添加記錄而處理這個(gè)事件。令牌排序
處理輸入文本可以包括改變處理的文本內(nèi)輸入令牌的次序。改變次序時(shí),可以產(chǎn)生令牌次序指示以表明輸入令牌在原始輸入文本中的次序,并且可以將其添加到不可搜索的信息集。額外令牌處理輸入文本可以包括產(chǎn)生要在輸出文本中包括的至少一個(gè)虛假或誘餌額外令牌。這樣的誘餌令牌可以使得加密文本對(duì)統(tǒng)計(jì)分析更穩(wěn)健??梢园搭A(yù)期的目標(biāo)統(tǒng)計(jì)分布添加額外的誘餌令牌,以便偽裝引誘令牌并使通過(guò)統(tǒng)計(jì)分析的解密更困難。只有在獲得對(duì)密鑰的訪問(wèn)權(quán)限之后,這至少一個(gè)額外令牌才能與在所述處理的文本中包括的其他令牌可區(qū)另IJ。例如,英語(yǔ)字頻率可以用作誘餌令牌目標(biāo)分布的模型。令牌化過(guò)程不可搜索的信息集可以被安排在一個(gè)或多個(gè)不可搜索的令牌(本文也稱為控制令牌)中,它可以被包括在處理的輸出文本中??刂屏钆瓶梢员环旁跇?biāo)準(zhǔn)化輸入令牌集之前、 在標(biāo)準(zhǔn)化輸入令牌集之后,也能夠置于標(biāo)準(zhǔn)化輸入令牌集之內(nèi)。不可搜索的信息集可以全部或部分地被加密,然后包括在處理的輸出文本中。在加密之前,可以得到不可搜索的信息集和可搜索令牌的位表達(dá)。獲得這樣的位表達(dá)可以包括以一定的編碼和壓縮模式壓縮和編碼輸入數(shù)據(jù)。可以產(chǎn)生檢錯(cuò)指示并將其添加到不可搜索的信息集。例如,可以計(jì)算輸入文本的校驗(yàn)和并添加到不可搜索的信息集。獲得的輸入令牌的位表達(dá)以及可能的不可搜索的信息集然后可以被整個(gè)或部分地加密??伤阉鬏斎肓钆频募用芸梢詫?duì)每個(gè)可搜索輸入令牌的實(shí)例提供單一加密形式。不可搜索輸入信息的加密可以對(duì)同一信息集的每個(gè)實(shí)例提供單一或多個(gè)加密形式。多個(gè)加密形式可以提供更好的安全性,但是在沒(méi)有解密用戶數(shù)據(jù)的情況下可能使得某些服務(wù)器端的操作困難或不可能。多個(gè)加密形式可以使用在加密形式中嵌入的密碼精髓的至少一位。使用適合的編碼模式,加密形式然后可以被轉(zhuǎn)換為文本形式。這樣的編碼模式可以提供以下性質(zhì)中的至少一個(gè)(a)分離加密的令牌以允許不可信服務(wù)器應(yīng)用確定處理的文本內(nèi)的可搜索單位,(b)使用不使不可信服務(wù)器應(yīng)用確定可搜索單位的字符集(例如,字符“ + ”可能被不可信服務(wù)器應(yīng)用用來(lái)分離字,所以可能不適于編碼加密的令牌;例如,英文和希伯來(lái)語(yǔ)字符都使用可以使應(yīng)用分離兩個(gè)集的序列),(C)提供壓縮的表達(dá)使得服務(wù)器端的長(zhǎng)度限制不太可能得到滿足,以及(d)使用中間模塊中的高效算法進(jìn)行編碼和譯碼。根據(jù)本發(fā)明的某些實(shí)施例,處理的文本可以包括從預(yù)定義字符集中選擇的字符串,例如,包括統(tǒng)一碼字符集的至少一個(gè)連續(xù)子集的字符集。在某些實(shí)施例中,所述至少一個(gè)連續(xù)子集可以包括字母字符種類、數(shù)字字符種類或雙方中的字符。在某些實(shí)施例中,選為在處理的文本中使用的字符可以從統(tǒng)一碼字符集的多個(gè)連續(xù)子集當(dāng)中選擇,例如,可以選擇統(tǒng)一碼字符集的兩個(gè)、三個(gè)、四個(gè)或五個(gè)分離子集。在某些實(shí)施例中,子集的數(shù)量可以多于一個(gè)并少于或等于十個(gè)統(tǒng)一碼字符集的子集。在本發(fā)明的某些實(shí)施例中,統(tǒng)一碼字符集的子集可以是一個(gè)或多個(gè)子集,選自朝鮮漢加字母、中文、日文和朝鮮(CJK)象形文字以及其組合。所以,例如朝鮮文字符可以用于使用UTF-16編碼存儲(chǔ)用戶輸入的服務(wù)器應(yīng)用。由于朝鮮文字符表現(xiàn)了統(tǒng)一碼字符集內(nèi)僅僅包含字母字符的單一范圍,所以它們具有高效的編碼和譯碼實(shí)施。例如,為了同樣的理由可以使用中文字符集,但是具有比朝鮮文更大的范圍;不過(guò),使用中文字符集在分別搜索和/或索引每個(gè)單獨(dú)中文字符的服務(wù)器應(yīng)用中可能不適合。例如,可能修改的BASE64編碼可以用于使用UTF-8編碼存儲(chǔ)用戶輸入的服務(wù)器應(yīng)用。BASE64編碼自身包含字符“ + ”和“/”,它們可以使得服務(wù)器應(yīng)用程序推斷,單一的加密令牌具有一個(gè)或多個(gè)加密的字。例如,可以使用空格字符分離加密的令牌。例如在電子郵件地址字段中不期望空格字符時(shí),可以使用另一個(gè)字符比如句點(diǎn)”分離加密的令牌。當(dāng)從不可信服務(wù)器發(fā)送處理的輸出文本時(shí),處理的輸出文本可以包括在正在中間模塊接收的未加密文本中。為了觸發(fā)解密,系統(tǒng)可以產(chǎn)生處理的文本中統(tǒng)計(jì)上重要的特征。例如,系統(tǒng)可以包括在檢測(cè)未加密文本內(nèi)加密的文本時(shí)要搜索的處理的文本中的罕見字符或字符組合。根據(jù)本發(fā)明的某些實(shí)施例,可以將處理的輸出文本安排在不止一個(gè)輸出令牌中, 使得輸出令牌不超過(guò)一定的長(zhǎng)度限制。例如,對(duì)第一個(gè)輸出令牌可以施加50個(gè)字符的長(zhǎng)度限制,而對(duì)隨后的輸出令牌可以施加1000個(gè)字符的長(zhǎng)度限制。組合確定性與非確定性的加密本發(fā)明的某些實(shí)施例可以使用輸入文本的確定性和非確定性的變換或者確定性與非確定性的組合。本發(fā)明的實(shí)施例可以決定是確定性地還是非確定性地或確定性與非確定性組合地變換輸入數(shù)據(jù)(或其若干部分),然后根據(jù)這樣的決定,使用至少一個(gè)密鑰確定性地或非確定性地或確定性與非確定性組合地變換輸入文本從而得到處理的文本,并且將處理的文本傳送到服務(wù)器。正如本文所使用的,對(duì)輸入文本的非確定性變換是一種變換,其結(jié)果可以是多個(gè)可能的輸出之一。對(duì)輸入文本的確定性變換是一種變換,它可以包括僅僅一個(gè)可能的輸出。典型情況下,為確定可能的輸出或若干輸出,兩種類型的變換都可以使用或取決于密鑰。根據(jù)本發(fā)明的實(shí)施例,可以獲得確定性的令牌表達(dá),如方式為應(yīng)用取決于密鑰的可逆加密,或者使用利用密鑰的不可逆加密??梢垣@得不確定性的令牌表達(dá),如方式為應(yīng)用使用密鑰的對(duì)稱加密算法,或者使用公共私有密鑰對(duì)的私有密鑰作為密鑰應(yīng)用不對(duì)稱加密算法,或者取決于密鑰的其他可逆變換。在本發(fā)明的某些實(shí)施例中,服務(wù)器可以提供對(duì)先前輸入的輸入文本的搜索功能。中間模塊可以在這樣的情況下選擇確定性地變換在輸入文本內(nèi)的各個(gè)可搜索令牌。這樣的確定性變換可以允許包含處理的可搜索項(xiàng)的未來(lái)搜索查詢?cè)诜?wù)器被正確地處理。輸入文本的若干部分可以被非確定性地變換,例如為了提供增強(qiáng)的安全性。根據(jù)本發(fā)明的實(shí)施例,輸入文本的若干部分可以被確定性地變換,以便允許要求輸入文本的若干部分的重現(xiàn)實(shí)例之間精確匹配的服務(wù)器端功能。例如,假若服務(wù)器可以比較輸入文本的多個(gè)修訂版,其中每個(gè)修訂版都稍微不同于其各自的在前修訂版,服務(wù)器可以提供按字或按行的差異分析。所以,在這樣的實(shí)例中,輸入文本的確定性變換字或行允許在服務(wù)器上這樣的精確匹配的語(yǔ)義分析。例如,在本發(fā)明的實(shí)施例中處理輸入文本的步驟可以包括(I)以不確定性方式將某些或全部輸入文本加密為一個(gè)或多個(gè)處理的令牌,(2)以確定性方式(如輸入文本的令牌化、標(biāo)準(zhǔn)化等之后)產(chǎn)生輸入文本的某些或全部適當(dāng)輸入令牌所對(duì)應(yīng)的處理的令牌,以及(3)把非確定性地和確定性地變換的處理的數(shù)據(jù)都包括在輸出的處理的文本中,用于傳送和在網(wǎng)絡(luò)節(jié)點(diǎn)存儲(chǔ)。根據(jù)本發(fā)明的某些實(shí)施例,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換輸入文本可以基于所述字是不是字集合的成員。以這種方式,例如,要使其可用于搜索的輸入令牌可以被確定性地變換,從而能夠?qū)@樣的字搜索。根據(jù)搜索對(duì)某記錄定位后,處理的輸入文本,可能包括確定性地和非確定性地變換的處理的數(shù)據(jù),可以被返回作為搜索結(jié)果。相反,未使之可用于搜索的輸入令牌不需要被確定性地變換。
在本發(fā)明的某些實(shí)施例中,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換輸入文本可以基于字的長(zhǎng)度。因此,例如,可以基于輸入文本的字的長(zhǎng)度決定非確定性地變換所述字。因此,例如,在本發(fā)明實(shí)施例的實(shí)例中,短字如包含少于三個(gè)字符的字可以被非確定性地變換,而更長(zhǎng)的字如具有三個(gè)或更多字符的字可以被確定性地變換。所以,以這樣的模式,具有少于最少數(shù)量字符的短字可能不可搜索。在本發(fā)明的某實(shí)施例中,可以使用第一密鑰執(zhí)行非確定性的變換,而可以使用第二密鑰執(zhí)行確定性的變換。在本發(fā)明的某些實(shí)施例中,第一密鑰和第二密鑰可以是相同的。在本發(fā)明的其他實(shí)施例中,第一和第二密鑰可以是不同的。在本發(fā)明的某些實(shí)施例中,如果輸出文本的整體長(zhǎng)度超過(guò)了長(zhǎng)度限制,可以丟棄或去除一個(gè)或多個(gè)確定性地產(chǎn)生的令牌。在本發(fā)明的某些實(shí)施例中,可以做出不變換至少一部分輸入文本的決定。應(yīng)當(dāng)認(rèn)識(shí)到,根據(jù)本發(fā)明實(shí)施例的檢索處理的文本的過(guò)程可以以本質(zhì)上相反的方式運(yùn)行。也就是說(shuō),處理的文本可以在中間模塊接收,并且適合的逆處理可以被應(yīng)用到處理的文本以便獲得原始輸入文本。在本發(fā)明的某些實(shí)施例中,原始輸入文本可以被發(fā)送或以其他方式提供給客戶機(jī)設(shè)備,例如顯示或提供給用戶或運(yùn)行該客戶機(jī)設(shè)備的應(yīng)用程序。搜索隊(duì)列的處理在中間模塊接收的輸入文本可以是搜索查詢,包括用于搜索的至少一個(gè)搜索項(xiàng)。搜索查詢輸入文本可以由中間模塊處理以便(a)便利網(wǎng)絡(luò)節(jié)點(diǎn)處的正確搜索功能,以及(b )在網(wǎng)絡(luò)節(jié)點(diǎn)將其發(fā)送回客戶機(jī)時(shí),啟動(dòng)中間模塊的搜索查詢的解密。搜索查詢一般在網(wǎng)絡(luò)節(jié)點(diǎn)以與處理其他輸入文本相同的方式被處理,并且可以應(yīng)用進(jìn)一步的處理階段。在本發(fā)明的實(shí)施例中,變換輸入文本的步驟可以包括使用第一密鑰確定性地變換在搜索查詢中的至少一個(gè)搜索項(xiàng),產(chǎn)生至少一個(gè)確定性地變換的搜索項(xiàng)。所以,將處理的輸入文本傳送到服務(wù)器的步驟可以包括向服務(wù)器傳送多個(gè)確定性地變換的搜索項(xiàng)。在本發(fā)明的某些實(shí)施例中,在搜索查詢中的多個(gè)搜索項(xiàng)可以被分開對(duì)待和變換。在本發(fā)明的某些實(shí)施例中,處理的搜索查詢可以包括本質(zhì)上僅僅確定性地變換的搜索項(xiàng),其中確定性的變換可以是可逆的變換。網(wǎng)絡(luò)節(jié)點(diǎn)可以搜索處理的項(xiàng),并且可以將結(jié)果集返回給客戶機(jī)。中間模塊可以使用處理的搜索項(xiàng)以便得到原始輸入文本。在本發(fā)明的某些實(shí)施例中,變換搜索查詢可以進(jìn)一步包括使用第二密鑰非確定性地變換本質(zhì)上的整個(gè)搜索查詢,以產(chǎn)生非確定性地變換的文本,以及使用邏輯析取算子(如“0R”算子)組合該至少一個(gè)確定性地變換的搜索項(xiàng)和非確定性地變換的文本,以得到組合的處理的文本,其中將處理的輸入文本傳送到服務(wù)器包括將組合的處理的文本傳送到服務(wù)器。網(wǎng)絡(luò)節(jié)點(diǎn)可以搜索處理的搜索項(xiàng)以及搜索析取的非確定性地處理的文本,根據(jù)確定性地變換的搜索項(xiàng)獲得(或未能找到)結(jié)果,并且對(duì)非確定性地變換的文本沒(méi)有獲得結(jié)果。搜索的結(jié)果因此可以返回對(duì)處理的搜索項(xiàng)搜索的結(jié)果。使用根據(jù)本發(fā)明實(shí)施例的以上方法,中間模塊可以從網(wǎng)絡(luò)節(jié)點(diǎn)接收非確定性地變換的文本,然后從其獲得搜索查詢的原始輸入文本。處理的文本的知識(shí)庫(kù)某些網(wǎng)絡(luò)節(jié)點(diǎn)服務(wù)器可以返回被截?cái)嗟乃阉鹘Y(jié)果以響應(yīng)查詢或其他請(qǐng)求。例如,假若搜索查詢的結(jié)果是100個(gè)字符的字段,該服務(wù)器就可以返回該字段的僅僅前20個(gè)字符,并且如果該用戶選擇了找到的記錄,該服務(wù)器將提供整個(gè)字段。根據(jù)本發(fā)明的實(shí)施例,中間模塊應(yīng)當(dāng)能夠在這樣的約束內(nèi)工作。根據(jù)本發(fā)明的實(shí)施例,其中服務(wù)器攔截處理的文本的若干單位,這些單位可以是處理的文本內(nèi)的各個(gè)令牌、處理的文本整體或者兼而有之。
根據(jù)本發(fā)明的實(shí)施例,解決這個(gè)問(wèn)題的方式可以為在中間模塊處或由中間模塊管理或以其他方式控制或可訪問(wèn)的存儲(chǔ)設(shè)備處提供處理的文本的知識(shí)庫(kù)。在解密階段期間系統(tǒng)可以先試圖從這樣的截?cái)嗷謴?fù)再獲得原始輸入文本,方式如下(1)在加密階段中間模塊可以在可信存儲(chǔ)器存儲(chǔ)完整的處理的文本單位,如不經(jīng)由不可信服務(wù)器及其相關(guān)聯(lián)的存儲(chǔ)設(shè)備,(2)從服務(wù)器發(fā)送并在中間模塊處接收被截?cái)嗟奶幚淼奈谋緯r(shí),查詢?cè)摽尚糯鎯?chǔ)器單元以確定其中是否存在著匹配或?qū)?yīng)于截?cái)嗟奶幚淼奈谋締挝坏囊粋€(gè)或多個(gè)非截?cái)嗟奶幚淼奈谋締挝唬?3)如果存在,中間模塊用對(duì)應(yīng)的完整的處理的文本單位取代截?cái)嗟奶幚淼奈谋締挝?,以獲得恢復(fù)的處理的文本,(4)恢復(fù)的處理的文本由逆處理方法(如使用密鑰的解密)處理以獲得原始輸入文本。然后,在需要時(shí)可以向客戶機(jī)設(shè)備提供原始輸入文本即未處理的文本。在本發(fā)明的某些實(shí)施例中,在知識(shí)庫(kù)中存儲(chǔ)的內(nèi)容可以是與處理的文本相關(guān)聯(lián)的至少一個(gè)完整的處理的元素。例如,處理的元素可以是所述整個(gè)處理的文本或者處理的文本中包含的某字或其他部分。應(yīng)當(dāng)認(rèn)識(shí)到,可以將使用知識(shí)庫(kù)的系統(tǒng)和方法應(yīng)用于來(lái)自客戶機(jī)設(shè)備的任何適當(dāng)?shù)恼?qǐng)求,包括例如搜索請(qǐng)求、記錄請(qǐng)求或報(bào)告請(qǐng)求。使用誘餌的不可信服務(wù)器變換的檢測(cè)不可信服務(wù)器往往可以對(duì)處理的用戶數(shù)據(jù)的若干實(shí)例應(yīng)用大量變換的一種或多種。這樣的變換可以被可信工作站上駐留的客戶機(jī)組件所期望,但是對(duì)于本文介紹的中間模塊可能是未知的。所以,根據(jù)本發(fā)明的實(shí)施例,中間模塊可以利用若干方法推斷對(duì)處理的用戶數(shù)據(jù)應(yīng)用的變換類型。根據(jù)本發(fā)明的一個(gè)實(shí)施例,中間模塊可以在已知位置對(duì)加密的用戶數(shù)據(jù)添加額外的信息(本文稱為誘餌)。在中間模塊接收處理的用戶數(shù)據(jù)時(shí)可以使用誘餌,以便推斷對(duì)處理的用戶數(shù)據(jù)應(yīng)用的變換類型??梢允褂谜T餌的變換的非限制性實(shí)例是某些字符編碼模式和HTML標(biāo)記消除的應(yīng)用。例如,不可信服務(wù)器可以對(duì)在那里接收的加密用戶數(shù)據(jù)應(yīng)用多種以及可能組合的編碼模式。在中間模塊從不可信服務(wù)器接收加密的文本時(shí),可以以不可信服務(wù)器應(yīng)用程序使用的大量編碼模式之一對(duì)加密的文本編碼,以便與可信工作站上駐留的客戶機(jī)組件通信。編碼模式可以在也可以不在服務(wù)器產(chǎn)生的消息中指示。典型情況下,客戶機(jī)組件可以知曉服務(wù)器組件,并且可以確實(shí)地知道所使用的編碼模式。不過(guò),中間模塊可以不知曉在加密文本的每個(gè)實(shí)例中使用的特定編碼。然而,在向客戶機(jī)組件提供解密的用戶數(shù)據(jù)之前解密用戶數(shù)據(jù)時(shí),根據(jù)本發(fā)明實(shí)施例的中間模塊應(yīng)當(dāng)能夠使用在服務(wù)器中應(yīng)用的和客戶機(jī)期望的相同的編碼模式。也就是說(shuō),如果中間模塊不知道由不可信服務(wù)器和可信工作站所使用的編碼模式,在中間模塊的處理和去處理中信息可能變得迷惑或混淆。為了便利編碼模式檢測(cè),中間模塊可以向加密文本添加已知的預(yù)定字符作為編碼誘餌。編碼誘餌可以與加密用戶數(shù)據(jù)一起由服務(wù)器編碼,再提供給客戶機(jī)組件碼。當(dāng)中間模塊檢測(cè)到加密令牌時(shí),可以檢查編碼誘餌以推斷編碼加密文本的實(shí)例所使用的編碼模式種類。所以,中間模塊可以使用所推斷的編碼模式編碼在處理的消息中加密的文本。編碼模式的非限制性實(shí)例包括(i)UTF-8編碼,(ii)使用HTML轉(zhuǎn)義序列然后是UTF-8的編碼;以及(iii)使用JavaScript轉(zhuǎn)義序列,然后再次使用JavaScript轉(zhuǎn)義序列,然后執(zhí)行Latin-I編碼(AKA IS0-8859-1)的編碼。例如,JavaScript轉(zhuǎn)義典型情況下通過(guò)以反斜線符號(hào)和另一個(gè)字符替換若干字符操作;例如,換行字符以反斜線符號(hào)和字符“η”也就是序列“\η”替換。
在本發(fā)明的某些實(shí)施例中,誘餌可以用于檢測(cè)至少一種變換,包括以匹配的替換字符或替換字符串如一個(gè)或多個(gè)轉(zhuǎn)義字符替換處理的文本中的至少一個(gè)可變換的字符。本文提供了使用由尖括號(hào)“〈”和反斜線符號(hào)“\”組成的編碼誘餌的實(shí)例。用戶可以輸入字符串“This’ is a quote”。這被加密為例如“QIFJDJNZOP”。在加密期間,誘餌被附加到某加密的令牌,使得“QIFJDJNZ0P”變?yōu)椤啊碶QIFJDJNZ0P”,其中〈\是誘餌。服務(wù)器可以接收加密的字符串,并且將該字符串以JavaScript文件發(fā)送給客戶機(jī)。在JavaScript文件中,服務(wù)器僅僅需要轉(zhuǎn)義反斜線符號(hào),而不轉(zhuǎn)義尖括號(hào)。所以,發(fā)送到客戶機(jī)的消息包括“〈\\QIFJDJNZ0P”,其中該誘餌的原始反斜線符號(hào)使用另一個(gè)反斜線符號(hào)被轉(zhuǎn)義。當(dāng)中間模塊檢測(cè)到消息中由原始尖括號(hào)和轉(zhuǎn)義反斜線符號(hào)前導(dǎo)的加密令牌時(shí),它可以推斷該令牌是JavaScript轉(zhuǎn)義的。于是,中間模塊可以將該輸入QIFJDJNZOP解密為“This’ is aquote”。不過(guò),已經(jīng)推斷出該客戶機(jī)期待JavaScript轉(zhuǎn)義的文本后,該模塊然后可以使用JavaScript轉(zhuǎn)義編碼解密的字符串,如通過(guò)轉(zhuǎn)義該引語(yǔ)以便產(chǎn)生“This\’is a quote”。解密的引語(yǔ)因此使用了從該編碼誘餌推斷的編碼規(guī)則。該解密的和編碼的字符串然后被轉(zhuǎn)發(fā)給客戶機(jī)??梢允褂谜T餌的另一個(gè)實(shí)例是HTML變換,它的HTML標(biāo)記的去除是特殊的情況。不可信服務(wù)器可以接收以HTML置標(biāo)擴(kuò)充的文本,產(chǎn)生去除了全部或某些HTML置標(biāo)后的若干接收文本的實(shí)例,并且可以向客戶機(jī)組件返回這些實(shí)例。在這樣的情況下,中間模塊可以在處理的用戶數(shù)據(jù)中包括HTML置標(biāo)誘餌。接收處理的用戶數(shù)據(jù)時(shí)中間模塊可以去除HTML置標(biāo)誘餌,并且按其存在或不存在推斷是否可以從解密的用戶數(shù)據(jù)中去除HTML置標(biāo),并且從而可以在向客戶機(jī)組件返回的消息中保留或去除解密后的HTML置標(biāo)。應(yīng)當(dāng)認(rèn)識(shí)到,在某些實(shí)施例中,可以將多片誘餌添加到處理的文本以便檢測(cè)由不可信服務(wù)器應(yīng)用的多種變換或編碼模式。長(zhǎng)度限制在本發(fā)明的某些實(shí)施例中,可以變換輸入文本的多個(gè)分開的部分,其中所述輸入文本多個(gè)部分的至少一個(gè)包括不多于最大數(shù)量的字符,例如通過(guò)截?cái)鄬?duì)應(yīng)部分。在本發(fā)明的某些實(shí)施例中,可以變換輸入文本的多個(gè)分開的部分,其中所述輸入文本的多個(gè)部分的每部分都包括不多于最大數(shù)量的字符,例如通過(guò)截?cái)鄬?duì)應(yīng)部分。令牌化實(shí)例對(duì)圖5進(jìn)行參考,它展示了對(duì)包括句子“This sentence has FIVE words ! ”的輸入文本的標(biāo)準(zhǔn)化和令牌化。輸入文本510包括句子“This sentence has FIVE words ! ”。該句子可以被令牌化為以下輸入令牌“ThiS”、“sentenCe”、“haS”、“FIVE”、“WOrdS”和“! ”??梢詷?biāo)準(zhǔn)化這些輸入令牌以便提供標(biāo)準(zhǔn)化的輸入令牌和元數(shù)據(jù)。標(biāo)準(zhǔn)化的輸入令牌具有以下格式“This,,、“sentence,,、“has,,、“fiVe,,、“Words,m“! ”。與“sentence”相關(guān)聯(lián)的元數(shù)據(jù)是“小寫體”。與“FIVE”相關(guān)聯(lián)的元數(shù)據(jù)是“大寫體”。與“words”相關(guān)聯(lián)的元數(shù)據(jù)是“小寫體”和“復(fù)數(shù)”。下一步,本方法可以檢測(cè)公共輸入令牌,包括字“This”、“has”和不是字的“! ”。這些輸入令牌可以以非確定性的方式加密,如它們可以以(“*”表示的)精髓加密。
本方法可以檢測(cè)非公共輸入令牌“word”、“ sentence”和“five”。這些字可以以確定性的方式加密。輸入令牌的次序可以被改變,從而可以產(chǎn)生次序元數(shù)據(jù)。次序元數(shù)據(jù)、大小寫元數(shù)據(jù)和復(fù)數(shù)元數(shù)據(jù)都可以包括在控制令牌530中。分選支持在許多SaaS應(yīng)用中常見的文本處理特征是由特定字段的詞典編輯次序或其他屬性分選記錄。所以由保留次序的加密過(guò)程提供處理的文本可能是有益的??梢詫?shí)施許多保留次序方式的任何一種。例如,通過(guò)以下方法的任何一種能夠獲得次序保留(i)在攔截模塊上保留所有記錄的列表,需要時(shí)執(zhí)行站點(diǎn)特定的排序。這種方法幾乎要求在表達(dá)和數(shù)據(jù)管理中都復(fù)制每臺(tái)服務(wù)器的功能;(ii)向服務(wù)器提供API以便查詢特定字符串的分選次序;或者(iii)創(chuàng)建詞典編輯地可分選的表達(dá),它保留了實(shí)際的分選次序而在網(wǎng)絡(luò)節(jié)點(diǎn)中沒(méi)有任何修改。根據(jù)本發(fā)明的加密方法可以保留輸入文本記錄的次序,方式為應(yīng)用以下階段及其組合(I)將輸入數(shù)據(jù)轉(zhuǎn)換為數(shù)字值(如果還不是數(shù)字),(2)對(duì)數(shù)字值應(yīng)用次序保留變換以獲得輸出數(shù)字值,(3)從輸出數(shù)字值獲得詞典編輯地可分選的表達(dá),以及(4)使用在處理的輸出文本中的詞典編輯可分選的表達(dá),或者作為前綴字符串(在文本數(shù)據(jù)中)或者作為整個(gè)輸出數(shù)據(jù)。次序保留的變換可以是單調(diào)增加的函數(shù)。次序保留函數(shù)可以使用能夠從隨機(jī)源產(chǎn)生的私有密鑰,以便參數(shù)化其功能。對(duì)共同分選為某集的每個(gè)輸入集都可以產(chǎn)生私有密鑰。根據(jù)本發(fā)明的實(shí)施例,產(chǎn)生次序信息,正如以下進(jìn)一步的介紹,可以包括對(duì)輸入文本應(yīng)用次序保留、依賴密鑰的函數(shù)。根據(jù)本發(fā)明的某些實(shí)施例,可以根據(jù)輸入文本的截?cái)喟姹井a(chǎn)生次序信息。根據(jù)本發(fā)明再進(jìn)一步的實(shí)施例,可以根據(jù)在輸入文本中的多個(gè)截?cái)嘧?,以它們?cè)谳斎胛谋局谐霈F(xiàn)的次序產(chǎn)生次序信息。根據(jù)本發(fā)明的某些實(shí)施例,中間模塊可以通過(guò)應(yīng)用次序保留的變換來(lái)處理輸入文本,其中次序保留的變換包括根據(jù)輸入文本產(chǎn)生次序信息,次序信息表示根據(jù)整序規(guī)則在一組可能的輸入文本內(nèi)輸入文本的相對(duì)次序,變換該輸入文本以獲得處理的文本,以及將處理的文本傳送到服務(wù)器。根據(jù)本發(fā)明的某些實(shí)施例,可以將次序信息與所述處理的輸入文本相關(guān)聯(lián)地發(fā)送到服務(wù)器,方式為將次序信息作為前綴添加到處理的輸入數(shù)據(jù),并且將組合的次序信息和處理的輸入數(shù)據(jù)傳送到服務(wù)器。為了降低與次序保留加密模式相關(guān)聯(lián)的安全風(fēng)險(xiǎn),產(chǎn)生保留次序的輸出時(shí),中間設(shè)備可以僅僅考慮輸入數(shù)據(jù)的簡(jiǎn)化部分。簡(jiǎn)化輸入以便獲得輸入數(shù)據(jù)的簡(jiǎn)化部分可以包括(a)忽略某些字比如“the”、“a”,(b)忽略在每個(gè)字中出現(xiàn)在字內(nèi)一定位置處或后面的全部字符,如忽略在“zebra”中的字符“ra”,(c)忽略在該記錄內(nèi)的最后的若干字,Cd)縮小次序保留函數(shù)的輸入域,(e)忽略某些字符特性比如字母的大小寫或(f)其組合。圖7展示了根據(jù)本發(fā)明實(shí)施例的方法170的多個(gè)階段,可以用于獲得要在所述處理的文本中包括的文本數(shù)據(jù)的次序保留表達(dá)。在階段171,可以接收要加密的輸入文本。在階段172,可以從輸入文本中丟棄某些字。在階段173,可以丟棄某些字符特性,比如字母的大小寫、變音符、連字符號(hào)或其他字符特性。在階段174,根據(jù)加密模式的預(yù)定參數(shù)可以截?cái)嗳舾奢斎胱郑灾劣诳梢詠G棄來(lái)自輸入字的最后的若干字符。在階段175,可以丟棄輸入文本的最后某些字。所以,執(zhí)行一個(gè)或多個(gè)可選階段 172、173、174和175可以產(chǎn)生簡(jiǎn)化后的輸入文本。在階段176,(可選地簡(jiǎn)化的)輸入文本可以被轉(zhuǎn)換為數(shù)字值以便獲得輸入數(shù)字值。在階段177,可以對(duì)輸入數(shù)字值應(yīng)用次序保留函數(shù)以獲得輸出數(shù)字值。在階段178,可以從輸出數(shù)字值獲得次序保留的表達(dá)。最后,在階段179,可以將次序保留的表達(dá)或者作為處理的文本的前綴或者整個(gè)加密數(shù)據(jù)而放置。在展示了階段172-176的應(yīng)用的以下實(shí)例中,輸入文本“The Green Zebra”的輸入數(shù)字值可以計(jì)算如下(i)接收一組輸入令牌“The Green Zebra”;(ii)忽略不相關(guān)的輸入令牌“the”以提供相關(guān)的輸入令牌“Green Zebra”,(iii)標(biāo)準(zhǔn)化相關(guān)的輸入令牌以提供“green zebra”;( iv)例如根據(jù)用戶定義,選擇每個(gè)輸入令牌的僅僅前三個(gè)字母,以提供六個(gè)相關(guān)的字符“gre zeb”;( V)根據(jù)輸入令牌中每個(gè)字母的位置的權(quán)重,計(jì)算如表I中所示的其數(shù)字值;以及(Vi )對(duì)字母數(shù)值進(jìn)行求和以提供輸入令牌集的數(shù)字值,它是O.296199790068345。權(quán)重W可以表示將字母表的規(guī)模A進(jìn)行字符位置P的負(fù)乘方,即W=A_P。對(duì)于英文文本,字母表規(guī)模是26。
權(quán)利要求
1.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間傳送的數(shù)據(jù)的方法,包括 獲得從所述客戶機(jī)設(shè)備到中間模塊的輸入文本; 在所述中間模塊處理所述輸入文本以獲得處理的文本,其中,所述處理包括 決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本;以及 根據(jù)所述決定,使用至少一個(gè)密鑰確定性地或非確定性地或確定性與非確定性組合地變換所述輸入文本以獲得處理的文本;以及向所述服務(wù)器傳送處理的文本。
2.根據(jù)權(quán)利要求I的方法,進(jìn)一步包括對(duì)于所述輸入文本的至少一部分,確定不變換所述輸入文本的一部分。
3.根據(jù)權(quán)利要求I的方法,進(jìn)一步包括 在所述中間模塊接收處理的文本;以及 對(duì)所述處理的文本應(yīng)用逆處理以獲得原始輸入文本。
4.根據(jù)權(quán)利要求3的方法,進(jìn)一步包括向所述客戶機(jī)設(shè)備發(fā)送所述原始輸入文本。
5.根據(jù)權(quán)利要求I的方法,其中,變換所述輸入文本的所述步驟包括 使用第一密鑰非確定性地變換基本上全部輸入文本以產(chǎn)生非確定性地變換的文本;以及 使用第二密鑰確定性地變換所述輸入文本中的多個(gè)輸入令牌的每一個(gè)以產(chǎn)生相應(yīng)的多個(gè)確定性地變換的令牌, 其中,向所述服務(wù)器傳送所述處理的輸入文本包括向所述服務(wù)器傳送所述非確定性地變換的文本和所述多個(gè)確定性地變換的令牌。
6.根據(jù)權(quán)利要求5的方法,其中,所述第一密鑰與所述第二密鑰相同。
7.根據(jù)權(quán)利要求5的方法,其中,確定性地變換所述輸入文本包括對(duì)所述輸入文本執(zhí)行不可逆變換。
8.根據(jù)權(quán)利要求I的方法,其中, 所述輸入文本是包括至少一個(gè)搜索項(xiàng)的搜索查詢, 變換所述輸入文本包括使用第一密鑰確定性地變換所述至少一個(gè)搜索項(xiàng)以產(chǎn)生相應(yīng)的至少一個(gè)確定性地變換的搜索項(xiàng),以及 向所述服務(wù)器傳送所述處理的輸入文本包括向所述服務(wù)器傳送所述至少一個(gè)確定性地變換的搜索項(xiàng)。
9.根據(jù)權(quán)利要求8的方法,其中, 變換所述輸入文本進(jìn)一步包括 使用第二密鑰非確定性地變換基本上全部輸入文本以產(chǎn)生非確定性地變換的文本;以及 使用邏輯析取算子組合所述至少一個(gè)確定性地變換的搜索項(xiàng)和所述非確定性地變換的文本以獲得組合的處理的文本, 向所述服務(wù)器傳送所述處理的輸入文本包括向所述服務(wù)器傳送所述組合的處理的文本。
10.根據(jù)權(quán)利要求9的方法,其中,確定性地變換所述輸入文本包括對(duì)所述輸入文本執(zhí)行可逆變換。
11.根據(jù)權(quán)利要求I的方法,其中,所述處理的文本包括從處理的文本字符集選擇的字符的字符串,所述處理的文本字符集包括統(tǒng)一碼字符集的至少一個(gè)連續(xù)子集。
12.根據(jù)權(quán)利要求11的方法,其中,所述至少一個(gè)連續(xù)子集包括字母或數(shù)字字符種類的字符,或者字母和數(shù)字字符種類的字符。
13.根據(jù)權(quán)利要求11的方法,其中,所述至少一個(gè)連續(xù)子集包括在統(tǒng)一碼字符集的一個(gè)與十個(gè)子集范圍之間。
14.根據(jù)權(quán)利要求11的方法,其中,所述至少一個(gè)連續(xù)子集選自統(tǒng)一碼字符集,包括朝鮮漢加字母、中文、日文和朝鮮(CJK)象形文字以及其組合。
15.根據(jù)權(quán)利要求I的方法,其中,變換所述輸入文本包括變換所述輸入文本的多個(gè)分開的部分,所述輸入文本的所述多個(gè)部分的至少一個(gè)包括不多于最大數(shù)量的字符。
16.根據(jù)權(quán)利要求I的方法,其中,確定性地變換所述輸入文本包括 通過(guò)對(duì)所述輸入文本應(yīng)用至少一條標(biāo)準(zhǔn)化規(guī)則,標(biāo)準(zhǔn)化所述輸入文本的至少一部分以獲得至少一個(gè)標(biāo)準(zhǔn)化的輸入部分; 確定性地變換所述至少一個(gè)標(biāo)準(zhǔn)化的輸入部分以獲得至少一個(gè)變換的標(biāo)準(zhǔn)化的輸入部分;以及 在所述處理的輸入文本中包括所述至少一個(gè)變換的標(biāo)準(zhǔn)化的輸入部分。
17.根據(jù)權(quán)利要求16的方法,其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括字母大小寫轉(zhuǎn)換。
18.根據(jù)權(quán)利要求16的方法,其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將具有變音標(biāo)記的字符替換為沒(méi)有變音標(biāo)記的匹配字符。
19.根據(jù)權(quán)利要求16的方法,其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將連字符替換為其相應(yīng)組成字符。
20.根據(jù)權(quán)利要求16的方法,其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將所述輸入文本中包含的至少一個(gè)字替換為與所述至少一個(gè)字匹配的形態(tài)變異。
21.根據(jù)權(quán)利要求16的方法,其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將所述輸入文本中包含的至少一個(gè)字替換為多個(gè)字。
22.根據(jù)權(quán)利要求I的方法,其中,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本進(jìn)一步包括根據(jù)所述輸入文本的字是否為字集合的成員決定非確定性地變換所述字。
23.根據(jù)權(quán)利要求I的方法,其中,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本進(jìn)一步包括根據(jù)所述輸入文本的字的長(zhǎng)度決定非確定性地變換所述字。
24.根據(jù)權(quán)利要求I的方法,其中,變換所述輸入文本進(jìn)一步包括改變所述處理的文本的部分的次序。
25.根據(jù)權(quán)利要求I的方法,其中,變換所述輸入文本進(jìn)一步包括在所述處理的文本中包括至少一個(gè)額外令牌,只有在獲得對(duì)密鑰的訪問(wèn)權(quán)限之后,所述至少一個(gè)額外令牌才能與在所述處理的文本中包括的其他令牌區(qū)別。
26.根據(jù)權(quán)利要求I的方法,其中,所述中間模塊是安裝在所述客戶機(jī)設(shè)備中的軟件插入模塊。
27.根據(jù)權(quán)利要求I的方法,其中,所述中間模塊是連接到所述客戶機(jī)設(shè)備和所述服務(wù)器的中間服務(wù)器計(jì)算機(jī)。
28.根據(jù)權(quán)利要求I的方法,其中,所述輸入文本包括文本信息和與處理所述文本信息的方式相關(guān)的至少一條指令,所述方法進(jìn)一步包括 處理所述至少一條指令以獲得至少一條處理的指令; 在所述處理的文本中包括所述至少一條處理的指令;以及 在所述處理的文本中包括指示,指明處理的文本內(nèi)所述處理的指令的存在和位置。
29.根據(jù)權(quán)利要求28的方法,其中,所述至少一條處理指令包括HTML置標(biāo)。
30.根據(jù)權(quán)利要求2的方法,其中,確定不變換所述輸入文本的一部分進(jìn)一步包括 檢測(cè)所述輸入文本中包含的至少一條處理指令,所述處理指令與處理所述輸入文本的方式相關(guān);以及 決定不變換所述至少一條處理指令。
31.根據(jù)權(quán)利要求I的方法,其中,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本包括 檢測(cè)所述輸入文本中包含的至少一條處理指令,所述處理指令與處理所述輸入文本的方式相關(guān);以及 決定非確定性地變換所述至少一條處理指令。
32.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間傳送的數(shù)據(jù)的系統(tǒng),包括 中間模塊,被配置為 獲得輸入文本; 處理所述輸入文本以獲得處理的文本,其中,所述中間模塊被配置為通過(guò)下列處理來(lái)處理所述輸入文本 決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本;以及 根據(jù)所述決定,使用至少一個(gè)密鑰確定性地或非確定性地或確定性與非確定性組合地變換所述輸入文本以獲得處理的文本;以及向所述服務(wù)器傳送處理的文本。
33.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為確定不變換所述輸入文本的至少一部分。
34.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為 從所述服務(wù)器接收處理的文本;以及 對(duì)所述處理的文本應(yīng)用逆處理以獲得原始輸入文本。
35.根據(jù)權(quán)利要求34的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為向所述客戶機(jī)設(shè)備發(fā)送所述原始輸入文本。
36.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為通過(guò)下列處理變換所述輸入文本 使用第一密鑰非確定性地變換基本上全部輸入文本以產(chǎn)生非確定性地變換的文本;以及 使用第二密鑰確定性地變換所述輸入文本中的多個(gè)輸入令牌的每一個(gè)以產(chǎn)生相應(yīng)的多個(gè)確定性地變換的令牌, 其中,所述中間模塊被配置為通過(guò)向所述服務(wù)器傳送所述非確定性地變換的文本和所述多個(gè)確定性地變換的令牌,向所述服務(wù)器傳送所述處理的輸入文本。
37.根據(jù)權(quán)利要求36的系統(tǒng),其中,所述第一密鑰與所述第二密鑰相同。
38.根據(jù)權(quán)利要求36的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為通過(guò)對(duì)所述輸入文本執(zhí)行不可逆變換,確定性地變換所述輸入文本。
39.根據(jù)權(quán)利要求32的系統(tǒng),其中, 所述輸入文本是包括至少一個(gè)搜索項(xiàng)的搜索查詢, 所述中間模塊被配置為通過(guò)使用第一密鑰確定性地變換所述至少一個(gè)搜索項(xiàng)以產(chǎn)生相應(yīng)的至少一個(gè)確定性地變換的搜索項(xiàng)來(lái)變換所述輸入文本,以及 所述中間模塊進(jìn)一步通過(guò)向所述服務(wù)器傳送所述至少一個(gè)確定性地變換的搜索項(xiàng),向所述服務(wù)器傳送所述處理的輸入文本。
40.根據(jù)權(quán)利要求39的系統(tǒng),其中, 所述中間模塊進(jìn)一步通過(guò)下列處理變換所述輸入文本 使用第二密鑰非確定性地變換基本上全部輸入文本以產(chǎn)生非確定性地變換的文本;以及 使用邏輯析取算子組合所述至少一個(gè)確定性地變換的搜索項(xiàng)和所述非確定性地變換的文本以獲得組合的處理的文本, 所述中間模塊被配置為通過(guò)向所述服務(wù)器傳送所述組合的處理的文本,向所述服務(wù)器傳送所述處理的輸入文本。
41.根據(jù)權(quán)利要求40的系統(tǒng),其中,所述中間模塊被配置為通過(guò)對(duì)所述輸入文本執(zhí)行可逆變換來(lái)確定性地變換所述輸入文本。
42.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述處理的文本包括從處理的文本字符集選擇的字符的字符串,所述處理的文本字符集包括統(tǒng)一碼字符集的至少一個(gè)連續(xù)子集。
43.根據(jù)權(quán)利要求42的系統(tǒng),其中,所述至少一個(gè)連續(xù)子集包括字母或數(shù)字字符種類的字符,或者字母和數(shù)字字符種類的字符。
44.根據(jù)權(quán)利要求42的系統(tǒng),其中,所述至少一個(gè)連續(xù)子集包括在統(tǒng)一碼字符集的一個(gè)與十個(gè)子集范圍之間。
45.根據(jù)權(quán)利要求42的系統(tǒng),其中,所述至少一個(gè)連續(xù)子集選自統(tǒng)一碼字符集,包括朝鮮漢加字母、中文、日文和朝鮮(CJK)象形文字以及其組合。
46.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被配置為通過(guò)變換所述輸入文本的多個(gè)分開的部分來(lái)變換所述輸入文本,所述輸入文本的所述多個(gè)部分的至少一個(gè)包括不多于最大數(shù)量的字符。
47.根據(jù)權(quán)利要求42的系統(tǒng),其中,所述中間模塊被配置為通過(guò)下列處理確定性地變換所述輸入文本 通過(guò)對(duì)所述輸入文本應(yīng)用至少一條標(biāo)準(zhǔn)化規(guī)則,標(biāo)準(zhǔn)化所述輸入文本的至少一部分以獲得至少一個(gè)標(biāo)準(zhǔn)化的輸入部分; 確定性地變換所述至少一個(gè)標(biāo)準(zhǔn)化的輸入部分以獲得至少一個(gè)變換的標(biāo)準(zhǔn)化的輸入部分;以及在所述處理的輸入文本中包括所述至少一個(gè)變換的標(biāo)準(zhǔn)化的輸入部分。
48.根據(jù)權(quán)利要求47的系統(tǒng),其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括字母大小寫轉(zhuǎn)換。
49.根據(jù)權(quán)利要求47的系統(tǒng),其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將具有變音標(biāo)記的字符替換為沒(méi)有變音標(biāo)記的匹配字符。
50.根據(jù)權(quán)利要求47的系統(tǒng),其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將連字符替換為其相應(yīng)組成字符。
51.根據(jù)權(quán)利要求47的系統(tǒng),其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將所述輸入文本中包含的至少一個(gè)字替換為與所述至少一個(gè)字匹配的形態(tài)變異。
52.根據(jù)權(quán)利要求47的系統(tǒng),其中,所述至少一條標(biāo)準(zhǔn)化規(guī)則包括將所述輸入文本中包含的至少一個(gè)字替換為多個(gè)字。
53.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被配置為通過(guò)根據(jù)所述輸入文本的字是否為字集合的成員決定非確定性地變換所述字,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本。
54.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被配置為通過(guò)根據(jù)所述輸入文本的字的長(zhǎng)度決定非確定性地變換所述字,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本。
55.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被配置為通過(guò)改變所述處理的文本的部分的次序來(lái)進(jìn)一步變換所述輸入文本。
56.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被配置為通過(guò)在所述處理的文本中包括至少一個(gè)額外令牌來(lái)變換所述輸入文本,只有在獲得對(duì)密鑰的訪問(wèn)權(quán)限之后,所述至少一個(gè)額外令牌才能與在所述處理的文本中包括的其他令牌區(qū)別。
57.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊是安裝在所述客戶機(jī)設(shè)備中的軟件插入模塊。
58.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊是連接到所述客戶機(jī)設(shè)備和所述服務(wù)器的中間服務(wù)器計(jì)算機(jī)。
59.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述輸入文本包括文本信息和與處理所述文本信息的方式相關(guān)的至少一條指令,所述中間模塊被進(jìn)一步配置為 處理所述至少一條指令以獲得至少一條處理的指令; 在所述處理的文本中包括所述至少一條處理的指令;以及 在所述處理的文本中包括指示,指明處理的文本內(nèi)所述處理的指令的存在和位置。
60.根據(jù)權(quán)利要求59的系統(tǒng),其中,所述至少一條處理指令包括HTML置標(biāo)。
61.根據(jù)權(quán)利要求33的系統(tǒng),其中,所述中間模塊被配置為通過(guò)下列處理確定不變換所述輸入文本的一部分 檢測(cè)所述輸入文本中包含的至少一條處理指令,所述處理指令與處理所述輸入文本的方式相關(guān);以及 決定不變換所述至少一條處理指令。
62.根據(jù)權(quán)利要求32的系統(tǒng),其中,所述中間模塊被配置為通過(guò)下列處理決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本 檢測(cè)所述輸入文本中包含的至少一條處理指令,所述處理指令與處理所述輸入文本的方式相關(guān);以及 決定非確定性地變換所述至少一條處理指令。
63.一種在包括服務(wù)器和客戶機(jī)設(shè)備的系統(tǒng)中使用的方法,其中,在響應(yīng)對(duì)其中存儲(chǔ)的文本數(shù)據(jù)的請(qǐng)求時(shí),所述服務(wù)器適于返回處理的文本,該處理的文本包含所請(qǐng)求的文本數(shù)據(jù)的至少一個(gè)截?cái)嗟脑?,所述方法包? 獲得從所述客戶機(jī)設(shè)備到中間模塊的多個(gè)輸入文本; 在所述中間模塊處理所述多個(gè)輸入文本以獲得相應(yīng)的多個(gè)處理的文本; 在所述中間模塊管理的存儲(chǔ)設(shè)備中分別存儲(chǔ)所述多個(gè)處理的文本的至少一個(gè)完整的處理的元素; 向所述服務(wù)器傳送所述多個(gè)處理的文本; 一經(jīng)請(qǐng)求,在所述中間模塊接收從所述服務(wù)器返回的處理的文本,該處理的文本包含所請(qǐng)求的處理的記錄的至少一個(gè)截?cái)嗟脑兀? 在所述存儲(chǔ)設(shè)備中搜索與每個(gè)所述截?cái)嗟脑仄ヅ涞闹辽僖粋€(gè)處理的元素;以及 使用所述至少一個(gè)完整的處理的元素獲得未處理的輸入文本。
64.根據(jù)權(quán)利要求63的方法,進(jìn)一步包括向所述客戶機(jī)設(shè)備提供所述未處理的文本。
65.根據(jù)權(quán)利要求63的方法,其中,所述處理的元素包括處理的文本或處理的文本中包含的字。
66.根據(jù)權(quán)利要求65的方法,其中,所述請(qǐng)求是來(lái)自由搜索請(qǐng)求、記錄請(qǐng)求和報(bào)告請(qǐng)求組成的組中的至少一個(gè)請(qǐng)求。
67.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間傳送的數(shù)據(jù)的系統(tǒng),其中,在響應(yīng)對(duì)其中存儲(chǔ)的文本數(shù)據(jù)的請(qǐng)求時(shí),所述服務(wù)器適于返回處理的文本,該處理的文本包含所請(qǐng)求的文本數(shù)據(jù)的至少一個(gè)截?cái)嗟脑兀鱿到y(tǒng)包括 中間模塊,被配置為 獲得多個(gè)輸入文本; 處理所述多個(gè)輸入文本以獲得相應(yīng)的多個(gè)處理的文本; 使所述多個(gè)處理的文本的至少一個(gè)完整的處理的元素分別存儲(chǔ)在所述中間模塊管理的存儲(chǔ)設(shè)備中; 向服務(wù)器傳送所述多個(gè)處理的文本; 一經(jīng)請(qǐng)求,在所述中間模塊接收從所述服務(wù)器返回的處理的文本,該處理的文本包含所請(qǐng)求的處理的記錄的至少一個(gè)截?cái)嗟脑兀? 在所述存儲(chǔ)設(shè)備中搜索與每個(gè)所述截?cái)嗟脑仄ヅ涞闹辽僖粋€(gè)處理的元素;以及 使用所述至少一個(gè)完整的處理的元素獲得未處理的輸入文本。
68.根據(jù)權(quán)利要求67的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為向所述客戶機(jī)設(shè)備提供所述未處理的文本。
69.根據(jù)權(quán)利要求67的系統(tǒng),其中,所述處理的元素包括處理的文本或處理的文本中包含的字。
70.根據(jù)權(quán)利要求69的系統(tǒng),其中,所述請(qǐng)求是來(lái)自由搜索請(qǐng)求、記錄請(qǐng)求和報(bào)告請(qǐng)求組成的組中的至少一個(gè)請(qǐng)求。
71.—種在包括服務(wù)器和客戶機(jī)設(shè)備的系統(tǒng)中使用的方法,其中,所述服務(wù)器適于通過(guò)應(yīng)用多個(gè)變換中的至少一個(gè)變換從所述客戶機(jī)設(shè)備接收的文本,該方法包括 在中間模塊接收從所述客戶機(jī)設(shè)備輸入的文本; 在所述中間模塊處理所述輸入文本以獲得處理的文本,其中,所述處理包括在所述處理的文本中包括誘餌; 向所述服務(wù)器傳送處理的文本; 一經(jīng)請(qǐng)求,在所述中間模塊從所述服務(wù)器接收變換的處理的文本,所述服務(wù)器已經(jīng)對(duì)所述處理的文本應(yīng)用了所述多個(gè)變換中的至少一個(gè)以獲得所述變換的處理的文本;以及根據(jù)處理的文本與變換的處理的文本之間的對(duì)比由所述中間模塊確定所述服務(wù)器所應(yīng)用的所述變換中的至少一個(gè)。
72.根據(jù)權(quán)利要求71的方法,進(jìn)一步包括 對(duì)所述處理的文本應(yīng)用逆變換以獲得未處理的輸入文本;以及 根據(jù)所述至少一個(gè)確定的變換修改所述未處理的輸入文本。
73.根據(jù)權(quán)利要求72的方法,進(jìn)一步包括 向所述客戶機(jī)設(shè)備發(fā)送所述修改的未處理的輸入文本。
74.根據(jù)權(quán)利要求71的方法,其中, 所述多個(gè)變換中的至少一個(gè)變換包括將所述處理的輸入文本中的至少一個(gè)可變換字符替換為匹配的替換字符或替換字符串;以及 在所述處理的文本中包括誘餌包括在所述處理的文本中包括所述至少一個(gè)可變換字符。
75.根據(jù)權(quán)利要求74的方法,進(jìn)一步包括 對(duì)所述處理的文本應(yīng)用逆變換以獲得未處理的輸入文本;以及通過(guò)將所述未處理的輸入文本中的所述至少一個(gè)可變換字符替換為所述匹配的替換字符或替換字符串來(lái)修改所述未處理的輸入文本。
76.根據(jù)權(quán)利要求75的方法,進(jìn)一步包括 向所述客戶機(jī)設(shè)備發(fā)送所述修改的未處理的輸入文本。
77.根據(jù)權(quán)利要求71的方法,其中, 所述多個(gè)變換中的至少一個(gè)變換包括略去所述處理的輸入文本中的HTML標(biāo)簽;以及 在所述處理的文本中包括誘館包括在所述處理的文本中包括HTML標(biāo)簽。
78.根據(jù)權(quán)利要求77的方法,進(jìn)一步包括 對(duì)所述處理的文本應(yīng)用逆變換以獲得未處理的輸入文本; 通過(guò)略去其中包含的HTML標(biāo)簽來(lái)修改所述未處理的輸入文本;以及 向所述客戶機(jī)設(shè)備發(fā)送所述修改的未處理的輸入文本。
79.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間傳送的數(shù)據(jù)的系統(tǒng),其中,所述服務(wù)器適于通過(guò)應(yīng)用多個(gè)變換中的至少一個(gè)變換從所述客戶機(jī)設(shè)備接收的文本,所述系統(tǒng)包括 中間模塊,被配置為 接收輸入文本; 通過(guò)在所述處理的文本中包括誘餌來(lái)處理所述輸入文本以獲得處理的文本; 向服務(wù)器傳送處理的文本; 一經(jīng)請(qǐng)求,從所述服務(wù)器接收變換的處理的文本,所述服務(wù)器已經(jīng)對(duì)所述處理的文本應(yīng)用了所述多個(gè)變換中的至少一個(gè)以獲得所述變換的處理的文本;以及 根據(jù)處理的文本與變換的處理的文本之間的對(duì)比確定所述服務(wù)器所應(yīng)用的所述變換中的至少一個(gè)。
80.根據(jù)權(quán)利要求79的系統(tǒng),其中,所述中間模塊被進(jìn)一步配置為 對(duì)所述處理的文本應(yīng)用逆變換以獲得未處理的輸入文本;以及 根據(jù)所述至少一個(gè)確定的變換,修改所述未處理的輸入文本。
81.根據(jù)權(quán)利要求80的系統(tǒng),其中所述中間模塊被進(jìn)一步配置為 向所述客戶機(jī)設(shè)備發(fā)送所述修改的未處理的輸入文本。
82.根據(jù)權(quán)利要求79的系統(tǒng),其中, 所述多個(gè)變換中的至少一個(gè)變換包括將所述處理的輸入文本中的至少一個(gè)可變換字符替換為匹配的替換字符或替換字符串;以及 所述中間模塊通過(guò)在所述處理的文本中包括所述至少一個(gè)可變換字符來(lái)處理所述輸入文本以獲得處理的文本。
83.根據(jù)權(quán)利要求82的系統(tǒng),其中所述中間模塊被進(jìn)一步配置為 對(duì)所述處理的文本應(yīng)用逆變換以獲得未處理的輸入文本;以及 通過(guò)將所述未處理的輸入文本中的所述至少一個(gè)可變換字符替換為所述匹配的替換字符或替換字符串來(lái)修改所述未處理的輸入文本。
84.根據(jù)權(quán)利要求83的系統(tǒng),其中所述中間模塊被進(jìn)一步配置為 向所述客戶機(jī)設(shè)備發(fā)送所述修改的未處理的輸入文本。
85.根據(jù)權(quán)利要求79的系統(tǒng),其中, 所述多個(gè)變換中的至少一個(gè)變換包括略去所述處理的輸入文本中的HTML標(biāo)簽;以及所述中間模塊通過(guò)在所述處理的文本中包括HTML標(biāo)簽來(lái)處理所述輸入文本以獲得處理的文本。
86.根據(jù)權(quán)利要求85的系統(tǒng),其中所述中間模塊被進(jìn)一步配置為 對(duì)所述處理的文本應(yīng)用逆變換以獲得未處理的輸入文本; 通過(guò)略去其中包含的HTML標(biāo)簽來(lái)修改所述未處理的輸入文本;以及 >向所述客戶機(jī)設(shè)備發(fā)送所述修改的未處理的輸入文本。
87.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間的數(shù)據(jù)的方法,包括 在中間模塊獲得輸入文本; 通過(guò)應(yīng)用次序保留變換在所述中間模塊處理所述輸入文本,所述次序保留變換包括根據(jù)所述輸入文本產(chǎn)生次序信息,所述次序信息根據(jù)排序規(guī)則指明一組可能的輸入文本內(nèi)所述輸入文本的相對(duì)次序;以及 變換所述輸入文本以獲得處理的文本;以及 向所述服務(wù)器傳送處理的文本。
88.根據(jù)權(quán)利要求87的方法,進(jìn)一步包括通過(guò)將次序信息作為前綴添加到處理的輸入數(shù)據(jù),以及將組合的次序信息和處理的輸入數(shù)據(jù)傳送到服務(wù)器,將次序信息與所述處理的輸入文本相關(guān)聯(lián)地發(fā)送到所述服務(wù)器。
89.根據(jù)權(quán)利要求87的方法,其中,根據(jù)所述輸入文本的截?cái)喟姹井a(chǎn)生所述次序信息。
90.根據(jù)權(quán)利要求89的方法,其中,根據(jù)所述輸入文本中的多個(gè)截?cái)嘧郑云湓谒鲚斎胛谋局谐霈F(xiàn)的次序產(chǎn)生所述次序信息。
91.根據(jù)權(quán)利要求87的方法,其中,產(chǎn)生所述次序信息包括對(duì)所述輸入文本應(yīng)用次序保留的、取決于密鑰的函數(shù)。
92.根據(jù)權(quán)利要求91的方法,其中,所述次序保留的函數(shù)采用數(shù)值單調(diào)增加的函數(shù),并且應(yīng)用所述次序保留的函數(shù)包括 根據(jù)所述輸入文本的至少一部分獲得輸入數(shù)字值; 提供輸入范圍和輸出范圍; 根據(jù)密鑰將所述輸入和輸出范圍劃分為兩個(gè)輸入范圍和兩個(gè)輸出范圍; 根據(jù)哪個(gè)輸入范圍包括輸入數(shù)字值從所述劃分的范圍選擇一對(duì)輸入和輸出范圍; 迭代地重復(fù)所述劃分和選擇步驟直到所述輸出范圍小于預(yù)定的參數(shù),所述輸出范圍是最終輸出范圍;以及 返回處于所述最終輸出范圍內(nèi)的輸出數(shù)字值。
93.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間的數(shù)據(jù)的系統(tǒng),包括 中間模塊,被配置為 獲得輸入文本; 通過(guò)應(yīng)用次序保留變換來(lái)處理所述輸入文本,所述次序保留變換包括 根據(jù)所述輸入文本產(chǎn)生次序信息,所述次序信息根據(jù)排序規(guī)則指明一組可能的輸入文本內(nèi)所述輸入文本的相對(duì)次序;以及 變換所述輸入文本以獲得處理的文本;以及 向所述服務(wù)器傳送處理的文本。
94.根據(jù)權(quán)利要求93的系統(tǒng),其中,所述中間模塊通過(guò)下列處理來(lái)將次序信息與所述處理的輸入文本相關(guān)聯(lián)地發(fā)送到所述服務(wù)器 將次序信息作為前綴添加到處理的輸入數(shù)據(jù),以及 將組合的次序信息和處理的輸入數(shù)據(jù)傳送到服務(wù)器。
95.根據(jù)權(quán)利要求93的系統(tǒng),其中,所述中間模塊要根據(jù)所述輸入文本的截?cái)喟姹井a(chǎn)生所述次序信息。
96.根據(jù)權(quán)利要求95的系統(tǒng),其中,所述中間模塊要根據(jù)所述輸入文本中的多個(gè)截?cái)嘧?,以其在所述輸入文本中出現(xiàn)的次序產(chǎn)生所述次序信息。
97.根據(jù)權(quán)利要求93的系統(tǒng),其中,所述中間模塊通過(guò)對(duì)所述輸入文本應(yīng)用次序保留的、取決于密鑰的函數(shù)來(lái)產(chǎn)生所述次序信息。
98.根據(jù)權(quán)利要求97的系統(tǒng),其中,所述次序保留的函數(shù)采用數(shù)值單調(diào)增加的函數(shù),并且所述中間模塊通過(guò)下列處理來(lái)應(yīng)用所述次序保留的函數(shù) 根據(jù)所述輸入文本的至少一部分獲得輸入數(shù)字值; 提供輸入范圍和輸出范圍; 根據(jù)密鑰將所述輸入和輸出范圍劃分為兩個(gè)輸入范圍和兩個(gè)輸出范圍; 根據(jù)哪個(gè)輸入范圍包括輸入數(shù)字值從所述劃分的范圍選擇一對(duì)輸入和輸出范圍; 迭代地重復(fù)所述劃分和選擇步驟直到所述輸出范圍小于預(yù)定的參數(shù),所述輸出范圍是最終輸出范圍;以及 返回處于所述最終輸出范圍內(nèi)的輸出數(shù)字值。
99.一種在包括服務(wù)器、客戶機(jī)設(shè)備和中間模塊的系統(tǒng)中使用的方法,其中,所述服務(wù)器被配置為對(duì)所述客戶機(jī)設(shè)備提供的輸入數(shù)據(jù)提供至少一個(gè)函數(shù),以及所述中間模塊被配置為從所述客戶機(jī)設(shè)備接收輸入數(shù)據(jù),將所述輸入數(shù)據(jù)變換為處理的數(shù)據(jù)和向所述服務(wù)器傳送所述處理的數(shù)據(jù),所述方法包括 在所述中間模塊從客戶機(jī)設(shè)備接收輸入數(shù)據(jù); 在所述中間模塊攔截所述輸入數(shù)據(jù)而不向所述服務(wù)器傳送所述輸入數(shù)據(jù); 由所述中間模塊對(duì)所述輸入數(shù)據(jù)提供函數(shù);以及 根據(jù)所述函數(shù)的結(jié)果,由所述中間模塊產(chǎn)生到所述客戶機(jī)設(shè)備的至少一條消息。
100.根據(jù)權(quán)利要求99的方法,進(jìn)一步包括 在所述中間模塊從所述客戶機(jī)設(shè)備獲得對(duì)所述至少一條消息的響應(yīng); 根據(jù)所述響應(yīng),處理所述輸入文本以獲得處理的輸入文本;以及 向所述服務(wù)器傳送處理的輸入文本。
101.根據(jù)權(quán)利要求99的方法,其中,所述函數(shù)是拼寫檢查函數(shù),以及所述消息是所述拼寫檢查函數(shù)對(duì)所述輸入數(shù)據(jù)的結(jié)果。
102.根據(jù)權(quán)利要求99的方法,其中,所述函數(shù)是對(duì)所述輸入數(shù)據(jù)的格式檢查函數(shù),所述輸入數(shù)據(jù)為第一格式,以及所述消息是以與所述第一格式不同的第二格式提供所述輸入數(shù)據(jù)的請(qǐng)求。
103.根據(jù)權(quán)利要求102的方法,其中,所述第一格式為增量編碼格式,以及所述第二格式為完全輸入文本格式。
104.根據(jù)權(quán)利要求99的方法,其中,所述中間模塊是安裝在所述客戶機(jī)設(shè)備中的軟件插入模塊。
105.根據(jù)權(quán)利要求99的方法,其中,所述中間模塊是連接到所述客戶機(jī)設(shè)備和所述服務(wù)器的中間服務(wù)器計(jì)算機(jī)。
106.一種用于保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間的數(shù)據(jù)的系統(tǒng),包括 中間模塊,被配置為從客戶機(jī)設(shè)備接收輸入數(shù)據(jù),將所述輸入數(shù)據(jù)變換為處理的數(shù)據(jù)和向服務(wù)器傳送所述處理的數(shù)據(jù),其中,所述服務(wù)器被配置為對(duì)向其提供的數(shù)據(jù)提供至少一個(gè)函數(shù),所述中間模塊被進(jìn)一步配置為 從客戶機(jī)設(shè)備接收所述輸入數(shù)據(jù); 攔截所述輸入數(shù)據(jù)而不向所述服務(wù)器傳送所述輸入數(shù)據(jù); 對(duì)所述輸入數(shù)據(jù)提供所述至少一個(gè)函數(shù);以及 根據(jù)所述函數(shù)的結(jié)果,產(chǎn)生到所述客戶機(jī)設(shè)備的至少一條消息。
107.根據(jù)權(quán)利要求106的系統(tǒng),其中所述中間模塊被進(jìn)一步配置為 從所述客戶機(jī)設(shè)備獲得對(duì)所述至少一條消息的響應(yīng); 根據(jù)所述響應(yīng),處理所述輸入文本以獲得處理的輸入文本;以及 向所述服務(wù)器傳送處理的輸入文本。
108.根據(jù)權(quán)利要求106的系統(tǒng),其中,所述函數(shù)是拼寫檢查函數(shù),以及所述消息是所述拼寫檢查函數(shù)對(duì)所述輸入數(shù)據(jù)的結(jié)果。
109.根據(jù)權(quán)利要求106的系統(tǒng),其中,所述函數(shù)是對(duì)所述輸入數(shù)據(jù)的格式檢查函數(shù),所述輸入數(shù)據(jù)為第一格式,以及所述消息是以與所述第一格式不同的第二格式提供所述輸入數(shù)據(jù)的請(qǐng)求。
110.根據(jù)權(quán)利要求109的系統(tǒng),其中,所述第一格式為增量編碼格式,以及所述第二格式為完全輸入文本格式。
111.根據(jù)權(quán)利要求106的系統(tǒng),其中,所述中間模塊是安裝在所述客戶機(jī)設(shè)備中的軟件插入1吳塊。
112.根據(jù)權(quán)利要求106的系統(tǒng),其中,所述中間模塊是連接到所述客戶機(jī)設(shè)備和所述服務(wù)器的中間服務(wù)器計(jì)算機(jī)。
全文摘要
一種方法和系統(tǒng),用于通過(guò)下列處理保護(hù)在客戶機(jī)設(shè)備與服務(wù)器之間傳送的數(shù)據(jù)在中間模塊獲得輸入文本,處理所述輸入文本以獲得處理的文本,決定是確定性地還是非確定性地還是確定性與非確定性組合地變換所述輸入文本,以及根據(jù)該決定,使用至少一個(gè)密鑰相應(yīng)地變換所述輸入文本以獲得處理的文本;以及向所述服務(wù)器傳送處理的文本。本發(fā)明的其他實(shí)施例和特征包括(獨(dú)立地或一起)搜索處理的文本、允許通過(guò)應(yīng)用次序保留的變換分選處理的文本的記錄、在所述中間模塊管理的存儲(chǔ)設(shè)備中存儲(chǔ)完整的處理的元素、由所述中間模塊代替所述服務(wù)器提供對(duì)所述輸入數(shù)據(jù)的函數(shù)以及處理來(lái)處理的文本以便由所述中間模塊確定由所述服務(wù)器對(duì)輸入文本應(yīng)用的變換。
文檔編號(hào)G06F21/00GK102782692SQ201080063784
公開日2012年11月14日 申請(qǐng)日期2010年12月30日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者A·拉哈夫, B·馬特茲科爾, M·塔爾 申請(qǐng)人:沃蒂夫有限公司