專利名稱:基于pstn的安全通信分布式數(shù)據(jù)提取方法及實(shí)現(xiàn)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)系統(tǒng)遠(yuǎn)程監(jiān)管技術(shù)領(lǐng)域,具體涉及一種基于PSTN(公共交換電話網(wǎng)) 的安全通信分布式遠(yuǎn)程數(shù)據(jù)提取方法及實(shí)現(xiàn)系統(tǒng)。
技術(shù)背景1.加密技術(shù)加密技術(shù)分兩類對稱加密和非對稱加密。非對稱加密(RSA, DSA, DH asy醒etric cryptography)的原理如下使用一個必須對未經(jīng)授權(quán)的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和 私鑰都在數(shù)學(xué)上相關(guān)聯(lián);用公鑰加密的數(shù)據(jù)只能用私鑰解密,而用私鑰簽名的數(shù)據(jù)只能用 公鑰驗(yàn)證。公鑰可以提供給任何人;公鑰用于對要發(fā)送到私鑰持有者的數(shù)據(jù)進(jìn)行加密。兩 個密鑰對于通信會話都是唯一的。公鑰加密算法也稱為不對稱算法,原因是需要用一個密 鑰加密數(shù)據(jù)而需要用另一個密鑰來解密數(shù)據(jù)。對稱算法的根本原理就是單向函數(shù),f (a) =b,但是用b很難得到a。可以危及用此類型密碼加密的數(shù)據(jù)的一個方法是,對每個可能的密鑰執(zhí)行窮舉搜索。 根據(jù)用于執(zhí)行加密的密鑰大小,即使使用最快的計(jì)算機(jī)執(zhí)行這種搜索,也極其耗時,因此 難以實(shí)施。使用較大的密鑰將使解密更加困難。雖然從理論上說加密不會使對手無法檢索 加密的數(shù)據(jù),但這確實(shí)極大增加了這樣做的成本。如果執(zhí)行徹底搜索來檢索只在幾天內(nèi)有 意義的數(shù)據(jù)需要花費(fèi)三個月的時間,那么窮舉搜索的方法是不實(shí)用的。公鑰加密具有更大的密鑰空間(或密鑰的可能值范圍),因此不大容易受到對每個可能 密鑰都進(jìn)行嘗試的窮舉攻擊。由于不必保護(hù)公鑰,因此它易于分發(fā)。公鑰算法可用于創(chuàng)建 數(shù)字簽名以驗(yàn)證數(shù)據(jù)發(fā)送方的身份。公鑰加密通常用于加密一個私鑰算法將要使用的密鑰 和IV。傳輸密鑰和IV后,會話的其余部分將使用私鑰加密。根據(jù)編程實(shí)現(xiàn)的具體技術(shù),在已有的基礎(chǔ)平臺實(shí)現(xiàn)中,微軟的.NET通過抽象基類 (System.Security.Crytography.AsymmetricAlgorithm)提供下列非對稱(公鑰/私鑰)加密算 法 DSACryptoServiceProvider RSACryptoServiceProvider但是,調(diào)用上述基類在程序中實(shí)現(xiàn)非對稱加密屬于軟加密,在具體實(shí)現(xiàn)中與具體應(yīng)用相綁定,限制了加密應(yīng)用的通用性及靈活性。2.通過Internet/Intranet的數(shù)據(jù)提取及遠(yuǎn)程傳輸在工控系統(tǒng)等較為成熟的工業(yè)監(jiān)控應(yīng)用中,數(shù)據(jù)的提取可以做到支持從被監(jiān)控端向上 "推"數(shù)據(jù)及從監(jiān)控端向下"拉"數(shù)據(jù)兩種方式。但是在企業(yè)級財(cái)務(wù)監(jiān)管應(yīng)用當(dāng)中,當(dāng)前 的B/S系統(tǒng)大都僅支持客戶端數(shù)據(jù)上傳至服務(wù)器的功能,自服務(wù)器主動向客戶端提取數(shù)據(jù) 的功能較為少見;特別是在以財(cái)務(wù)軟件為代表的客戶端,數(shù)據(jù)具有一定敏感性,不宜接入 Internet,這種"拉"數(shù)據(jù)的實(shí)現(xiàn)會變得更為復(fù)雜。例如, 一個監(jiān)察業(yè)務(wù)系統(tǒng),要到物理 上分散在不同地點(diǎn)的多個被監(jiān)察財(cái)務(wù)軟件的數(shù)據(jù)庫中(多種數(shù)據(jù)庫選型)實(shí)時、按需提取 監(jiān)管部門需要的數(shù)據(jù)時,目前主流的Web應(yīng)用系統(tǒng)就只能采取要求被監(jiān)管財(cái)務(wù)系統(tǒng)用戶主 動向監(jiān)管系統(tǒng)申報(bào)的"推"數(shù)據(jù)方式,這遠(yuǎn)遠(yuǎn)不能滿足財(cái)務(wù)監(jiān)管部門主動向各財(cái)務(wù)機(jī)客戶 端提取數(shù)據(jù)(包括科目、憑證等)的要求。在這種"推數(shù)據(jù)"方式下,數(shù)據(jù)傳輸通常是通 過Internet網(wǎng)絡(luò)完成,Internet是分組交換網(wǎng),采用這種傳輸方式,要求監(jiān)控端及被監(jiān) 控端都以某種方式接入到Internet。從而會帶來如下問題(1)網(wǎng)絡(luò)安全需要一個重量級的解決方案,比如監(jiān)控端(服務(wù)器端)要采用包括防 火墻、入侵檢測(防御)等在內(nèi)的網(wǎng)絡(luò)安全體系,實(shí)現(xiàn)復(fù)雜,且成本高;(2) 被監(jiān)控端必須以某種方式接入Internet;如果有明確業(yè)務(wù)需求要求被監(jiān)控端(如 財(cái)務(wù)軟件)不得接入Internet,則問題無法解決;(3) 若被監(jiān)控端允許接入Internet,則須具有一個可以訪問的Internet IP地址,如 通過專線、VPN、 modem、 ADSL等方式接入;為滿足監(jiān)控端實(shí)時采集數(shù)據(jù)的要求,被監(jiān)控端 須24小時在線,這樣,上述方式不同程度的存在高成本的問題;在VPN、 modem、 ADSL等 方式下,還存在著一旦一次連接因故障中斷,則重新連接后IP地址動態(tài)發(fā)生變化,從而 造成監(jiān)控端無法尋址的問題。與Internet不同,PSTN (公共交換電話網(wǎng))是一種全球語音通信電路交換網(wǎng)絡(luò),擁 有多達(dá)8億左右的用戶。最初它是一種固定線路的模擬電話網(wǎng),當(dāng)前PSTN幾乎全部采用 數(shù)字電話網(wǎng)并且包括移動和固定電話?;赑STN的傳輸方法是通過電話線路和上網(wǎng)專用 設(shè)備(如調(diào)制解調(diào)器等)與電腦配合實(shí)現(xiàn)的一種數(shù)據(jù)傳輸方式。調(diào)制解調(diào)器(即Modem), 是計(jì)算機(jī)與電話線之間進(jìn)行信號轉(zhuǎn)換的裝置,由調(diào)制器和解調(diào)器兩部分組成,調(diào)制器是把 計(jì)算機(jī)的數(shù)字信號(如文件等)調(diào)制成可在電話線上傳輸?shù)穆曇粜盘柕难b置,在接收端, 解調(diào)器再把聲音信號轉(zhuǎn)換成計(jì)算機(jī)能接收的數(shù)字信號。通過調(diào)制解調(diào)器和電話線就可以實(shí) 現(xiàn)計(jì)算機(jī)之間的數(shù)據(jù)通信。 發(fā)明內(nèi)容本發(fā)明的目的在于提供一種基于PSTN的能夠確保傳輸過程中數(shù)據(jù)完整性和安全性的 分布式數(shù)據(jù)提取方法和實(shí)現(xiàn)系統(tǒng)。本發(fā)明針對財(cái)務(wù)監(jiān)管及監(jiān)控等企業(yè)級應(yīng)用領(lǐng)域,提出了一種基于PSTN安全通信的分 布式數(shù)據(jù)提取方法及實(shí)現(xiàn)系統(tǒng)。本發(fā)明給出了分布式數(shù)據(jù)提取中間件的工作步驟及組成, 使用PSTN、 Modem及固定電話號碼進(jìn)行設(shè)備通訊及尋址,設(shè)計(jì)中心加密器及節(jié)點(diǎn)加密模塊 進(jìn)行用戶認(rèn)證及安全傳輸;根據(jù)該方法實(shí)現(xiàn)的系統(tǒng),可對物理上分散在多臺電腦上的多個 財(cái)務(wù)軟件進(jìn)行實(shí)時遠(yuǎn)程監(jiān)管或監(jiān)控。針對監(jiān)控監(jiān)管業(yè)務(wù)領(lǐng)域中,有些設(shè)備因存放敏感數(shù)據(jù)不宜于連接到Internet (如財(cái)務(wù) 系統(tǒng),下文均以財(cái)務(wù)機(jī)為例)的情況,本發(fā)明提出了利用PSTN (公共傳輸電話網(wǎng))進(jìn)行服 務(wù)器端到客戶端的主動尋址及安全通信的一種解決方案。這種監(jiān)控監(jiān)管領(lǐng)域的數(shù)據(jù)提取有 兩個特點(diǎn)1、由監(jiān)控端(服務(wù)器端)主動發(fā)起,2、由監(jiān)控端所決定的被監(jiān)控端(客戶端) 應(yīng)具有相對固定的編址方式,且能保證實(shí)時在線;在通常情況下,財(cái)務(wù)機(jī)不暴露在Internet 上。只有在需要提取財(cái)務(wù)機(jī)數(shù)據(jù)的時候,采用Modem撥固定電話號碼的方式進(jìn)行尋址,從 而與指定的財(cái)務(wù)機(jī)建立連接。再通過數(shù)據(jù)提取中間件提取財(cái)務(wù)機(jī)中的數(shù)據(jù)。該實(shí)現(xiàn)系統(tǒng)可以做到以遠(yuǎn)程的方式,在保證被監(jiān)察/監(jiān)管財(cái)務(wù)軟件的宿主機(jī)安全(不 被非法入侵、非法訪問)的情況下,從物理上部署在多臺不同計(jì)算設(shè)備上的不同財(cái)務(wù)軟件 (用友、金蝶、博科、新中大等)的不同軟件版本中,自動或者被動的提取財(cái)務(wù)數(shù)據(jù)(包 括科目、憑證等)的功能,并以符合國家商業(yè)秘密標(biāo)準(zhǔn)的加密算法進(jìn)行傳輸過程中的加密, 保證涉及到商業(yè)秘密的財(cái)務(wù)數(shù)據(jù)在傳輸過程中不被非法截獲破解或篡改。本方法及實(shí)現(xiàn)系統(tǒng)的目標(biāo)1. 監(jiān)管/監(jiān)控程序可根據(jù)需要,隨時向多個被監(jiān)管/監(jiān)控端發(fā)出提取數(shù)據(jù)指令。2. 保證被監(jiān)管/監(jiān)控程序運(yùn)行的宿主機(jī)不被非法入侵或訪問。3. 保證數(shù)據(jù)傳輸過程的數(shù)據(jù)完整性、安全性。4. 數(shù)據(jù)提取中間件能夠適應(yīng)多種Web業(yè)務(wù)應(yīng)用,可以和J2EE應(yīng)用、ASP.NET應(yīng)用共 同工作。5. 部署方便,對服務(wù)器要求盡可能低。6. 適應(yīng)性強(qiáng),可以適用于多種網(wǎng)絡(luò)環(huán)境和財(cái)務(wù)軟件。7. 接口清晰易用,Web應(yīng)用可以方便的和數(shù)據(jù)提取應(yīng)用進(jìn)行通信,包括發(fā)布指令,獲 取數(shù)據(jù)和查詢狀態(tài)。8. 支持多種數(shù)據(jù)庫后端。 本發(fā)明不使用信息系統(tǒng)中通常使用的將終端設(shè)備接入Internet,利用Internet進(jìn)行設(shè)備尋址的方式,而是提出使用Modem (調(diào)制解調(diào)器)設(shè)備在PSTN (公共傳輸電話網(wǎng))進(jìn) 行設(shè)備尋址,并通過證書確認(rèn)訪問權(quán)限,使用非對稱加密技術(shù)對傳輸數(shù)據(jù)進(jìn)行加密,形成 從設(shè)備尋址到安全通信的一個解決方案。本發(fā)明中,Modem的用途不再是接入到Internet上的設(shè)備,而是數(shù)字終端設(shè)備(服務(wù) 器、PC機(jī)等計(jì)算機(jī)設(shè)備)與PSTN網(wǎng)絡(luò)的一種聯(lián)通設(shè)備,數(shù)字終端設(shè)備之間使用固定電話 號碼進(jìn)行尋址,通過PSTN網(wǎng)絡(luò)進(jìn)行點(diǎn)到點(diǎn)(端到端)通信。在通過固定電話號碼尋址成 功并建立連接之后,使用中心加密器及節(jié)點(diǎn)加密模塊在數(shù)字設(shè)備間傳送證書,進(jìn)行訪問權(quán) 限確認(rèn),保證設(shè)備間通信的合法性,并使用非對稱加密技術(shù)對傳輸?shù)闹噶罴皵?shù)據(jù)進(jìn)行加密, 以保證數(shù)據(jù)的傳輸安全性。進(jìn)一步地,通過輪詢方式,支持一個中心數(shù)字終端設(shè)備(中心 節(jié)點(diǎn))對多個被監(jiān)控(監(jiān)管)數(shù)字終端設(shè)備(子節(jié)點(diǎn))的星狀拓?fù)浣Y(jié)構(gòu)。其原理如圖l所 示。總體上,實(shí)現(xiàn)系統(tǒng)可以分為尋址及安全通信模塊、分布式數(shù)據(jù)提取模塊兩大部分。尋 址及安全通信模塊由中心節(jié)點(diǎn)數(shù)字設(shè)備(如服務(wù)器等)、N個子節(jié)點(diǎn)數(shù)字設(shè)備(如財(cái)務(wù)機(jī)等)、 撥號設(shè)備(如調(diào)制解調(diào)設(shè)備)、中心加密器、加密模塊、證書密鑰管理器等部分組成;分 布式數(shù)據(jù)提取模塊由數(shù)據(jù)整合組件(DI組件)、客戶端應(yīng)用組件(CA組件)、數(shù)據(jù)提取組件 (DEC組件)、業(yè)務(wù)數(shù)據(jù)庫和財(cái)務(wù)數(shù)據(jù)庫等部分組成,見圖3所示。下面分別做具體描述。 尋址及安全通信模塊實(shí)現(xiàn)系統(tǒng)中,中心節(jié)點(diǎn)數(shù)字設(shè)備(即監(jiān)察端服務(wù)器)3通過監(jiān)控端調(diào)制解調(diào)設(shè)備(Modem) 2,經(jīng)由PSTN電話網(wǎng)絡(luò)1和被監(jiān)控端調(diào)制解調(diào)設(shè)備8發(fā)起向子節(jié)點(diǎn)數(shù)字設(shè)備(財(cái)務(wù)機(jī)等) 9尋址,在尋址成功、建立連接后,監(jiān)控端的中心節(jié)點(diǎn)數(shù)字設(shè)備3調(diào)用中心加密器4向被 監(jiān)控端的子節(jié)點(diǎn)數(shù)字設(shè)備9發(fā)送證書,以進(jìn)行通信的身份驗(yàn)證。證書驗(yàn)證的方式,保證了 即使其他第三方非法地對被監(jiān)控的子節(jié)點(diǎn)數(shù)字設(shè)備進(jìn)行了尋址及連接,由于沒有證書,也 無法與被監(jiān)控子節(jié)點(diǎn)進(jìn)行通信,杜絕非法訪問。在數(shù)據(jù)傳輸?shù)臅r候,本發(fā)明提出使用國家 商業(yè)密碼管理委員會認(rèn)可的加密算法,對傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解密,以保證數(shù)據(jù)在遠(yuǎn)程 傳輸?shù)耐暾约鞍踩?。加密采用非對稱加密技術(shù)。中心節(jié)點(diǎn)數(shù)字設(shè)備和各個子節(jié)點(diǎn)數(shù)字 設(shè)備都有自己的公私鑰證書,公私鑰證書由證書密鑰管理中心發(fā)放(設(shè)計(jì)服務(wù)器端公鑰變 更時,對財(cái)務(wù)機(jī)端的更新策略)。首先發(fā)送方(中心節(jié)點(diǎn)數(shù)字設(shè)備)生成一個臨時的會話 密鑰,并用該密鑰加密明文,生成密文模塊,發(fā)送方再獲取接收方的公鑰證書(各財(cái)務(wù)機(jī) 密鑰以LDAP形式存在服務(wù)器中),對這個會話密鑰進(jìn)行加密,加密的會話密鑰和密文一起 傳送給接收方;接收方通過自己的私鑰證書對加密的會話密鑰進(jìn)行解密,再用得到的會話 密鑰解密密文,從而得到需要的數(shù)據(jù)。反向的數(shù)據(jù)傳輸采用同樣的機(jī)制進(jìn)行。證書及密鑰的發(fā)放及維護(hù)由獨(dú)立的證書密鑰管理器進(jìn)行;證書密鑰管理器將子節(jié)點(diǎn)數(shù)字設(shè)備9的證書 及密鑰直接存儲在相應(yīng)的加密模塊中,中心加密器4的證書及密鑰則由證書密鑰管理器存 儲在密鑰卡中,通過讀卡器被中心加密器4調(diào)用。 本項(xiàng)目尋址安全通信模塊物理部署圖如圖2所示。 分布式數(shù)據(jù)提取模塊分布式數(shù)據(jù)提取模塊的邏輯結(jié)構(gòu)主要包括計(jì)算功能部分,由數(shù)據(jù)整合組件(DI)、 客戶端應(yīng)用組件(CA)、數(shù)據(jù)提取組件(DEC)等組成;互聯(lián)部分,由分布式通信程序(Server) 及分布式通信程序(Client)等部分組成。數(shù)據(jù)整合服務(wù)組件(DI)運(yùn)行在監(jiān)控/監(jiān)管端,負(fù)責(zé)與使用該中間件的其他業(yè)務(wù)系統(tǒng)、 遠(yuǎn)端的被監(jiān)控系統(tǒng)的客戶端應(yīng)用組件(CA)等進(jìn)行交互,包括接受其他業(yè)務(wù)系統(tǒng)傳來的關(guān)于 提取數(shù)據(jù)的參數(shù),將該參數(shù)遠(yuǎn)程傳輸給被監(jiān)控端的客戶端應(yīng)用,接收客戶端應(yīng)用(CA)傳回 的已提取數(shù)據(jù),并將之寫入其他業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)的一致性;客戶端應(yīng)用組件(CA)運(yùn)行在被監(jiān)控/監(jiān)管的客戶端,其主要作用是完成與遠(yuǎn)程服務(wù) 器的交互,即解決分布式中間件的網(wǎng)絡(luò)傳輸問題,將相關(guān)參數(shù)、數(shù)據(jù)在DEC組件與DI組 件之間進(jìn)行傳遞。CA組件可支持在兩種不同的模式下a) 被動型客戶端(Waiter模式),也稱拉數(shù)據(jù)。此種客戶端工作模式下,CA組件不 需要被監(jiān)控節(jié)點(diǎn)的操作用戶干預(yù),自動運(yùn)行,接受來自遠(yuǎn)程DI組件的指令,執(zhí)行提取數(shù) 據(jù)的操作,并調(diào)用適當(dāng)?shù)木W(wǎng)絡(luò)操作將操作結(jié)果返回遠(yuǎn)程DI組件。b) 主動型客戶端(R印orter模式),亦稱推數(shù)據(jù)。此種客戶端不會自動運(yùn)行,需要客 戶手工啟動,然后啟動一次數(shù)據(jù)提取的操作,并聯(lián)系DI組件,將數(shù)據(jù)發(fā)送到DI組件。CA組件和DI組件之間通過網(wǎng)絡(luò)行通信,可支持PSTN/Internet/Intranet等多種網(wǎng)絡(luò)。 其中a) 客戶端能夠通過特定的網(wǎng)絡(luò),以TCP/IP協(xié)議與DI組件進(jìn)行通信。b) DI能夠通過上述網(wǎng)絡(luò)被訪問。DI通過Modem撥號(或者通過Internet網(wǎng)絡(luò),在 被監(jiān)控節(jié)點(diǎn)允許連接到公網(wǎng),且有固定公網(wǎng)IP的前提下)連接到CA組件,并且向CA組 件發(fā)送指令,啟動數(shù)據(jù)提取。DEC設(shè)計(jì)為一個組件(具體實(shí)現(xiàn)可由DotNet開發(fā)成C0M+組件),須與被監(jiān)控/監(jiān)管的 軟件運(yùn)行在同一物理計(jì)算資源上,用于從各種被監(jiān)控系統(tǒng)(如財(cái)務(wù)軟件等)的數(shù)據(jù)庫中直 接提取監(jiān)控?cái)?shù)據(jù)(如財(cái)務(wù)數(shù)據(jù)等)。該組件被客戶端應(yīng)用組件調(diào)用,根據(jù)客戶端應(yīng)用組件 傳來的參數(shù),在被監(jiān)控/監(jiān)管數(shù)據(jù)庫中抽取相應(yīng)的字段值,進(jìn)行封裝后傳回客戶端應(yīng)用, 當(dāng)前的封裝標(biāo)準(zhǔn)是以XML文檔的方式。具體來說監(jiān)控和監(jiān)管(服務(wù)器)端部署以下部分a. 數(shù)據(jù)整合組件DI,b. 分布式通信程序(Server),C.業(yè)務(wù)數(shù)據(jù)庫;被監(jiān)控端(財(cái)務(wù)機(jī)端)部署以下部分a. CA組件,b. 分布式通信程序(Client),c. DEC組件(含數(shù)據(jù)提取程序、測試工具、配置工具)12。在具體實(shí)現(xiàn)中,分布式通信程序(Server)可并入DI組件中,分布式通信程序(Client) 可并入CA組件中。工作時,數(shù)據(jù)整合組件DI負(fù)責(zé)發(fā)指令給CA組件,并將CA組件回傳的 數(shù)據(jù)進(jìn)行處理后與調(diào)用系統(tǒng)的數(shù)據(jù)進(jìn)行同步;客戶端應(yīng)用(CA)接收DI組件的指令后調(diào) 用DEC組件,并將DEC組件回傳的數(shù)據(jù)進(jìn)行必要處理轉(zhuǎn)發(fā)給DI組件?;谏鲜鰧?shí)現(xiàn)系統(tǒng)的數(shù)據(jù)提取的操作步驟如下前提DI組件5和業(yè)務(wù)應(yīng)用組件13可以訪問同一個業(yè)務(wù)數(shù)據(jù)庫16; DI組件5規(guī)定一 個特定的數(shù)據(jù)庫規(guī)范,業(yè)務(wù)應(yīng)用組件13須滿足此規(guī)范,通過業(yè)務(wù)器數(shù)據(jù)庫16發(fā)布指令以 及獲取數(shù)據(jù)。拉數(shù)據(jù)型第一步啟動監(jiān)控服務(wù)器端的DI組件5,輪詢業(yè)務(wù)數(shù)據(jù)庫6;若在業(yè)務(wù)數(shù)據(jù)庫6中未 發(fā)現(xiàn)符合要求的數(shù)據(jù)提取記錄,則轉(zhuǎn)第一步;第二步若在業(yè)務(wù)數(shù)據(jù)庫6中發(fā)現(xiàn)符合要求的數(shù)據(jù)提取記錄,則讀取該記錄,分解該記 錄的參數(shù),根據(jù)參數(shù)進(jìn)行査詢,獲得一個待尋址的電話號碼及起止日期、科目號、憑證號 等提取參數(shù);第三歩DI組件5調(diào)用Modem2,撥打待尋址的電話號碼,經(jīng)由PSTN電話網(wǎng)絡(luò)1,發(fā)起 到某指定CA組件13的連接,若撥號失敗,則轉(zhuǎn)回第三步,若三次調(diào)用均失敗,則終止并 報(bào)錯;第四步撥號成功,DI組件3調(diào)用中心加密器4,向指定CA組件13所在的子節(jié)點(diǎn)數(shù)字 設(shè)備4的加密模塊14發(fā)送證書驗(yàn)證,子節(jié)點(diǎn)數(shù)字設(shè)備9的加密模塊14調(diào)用DI組件的公 鑰進(jìn)行驗(yàn)證,若驗(yàn)證失敗,轉(zhuǎn)回第三步;第五步證書驗(yàn)證成功,DI組件5調(diào)用中心加密器4生成會話密鑰,將提取參數(shù)用該 會話密鑰加密生成密文,將會話密鑰及密文用CA組件13的公鑰加密,發(fā)送給指定CA組 件13所在的加密模塊14;第六步指定的CA組件13所在的加密模塊14接收信息,調(diào)用自己的私鑰進(jìn)行解碼, 若失敗,轉(zhuǎn)第三步;第七步解碼成功,得到提取參數(shù),轉(zhuǎn)發(fā)給CA組件13,啟動數(shù)據(jù)提??;第八步若CA組件13提取數(shù)據(jù)失敗,轉(zhuǎn)第三步;若成功,將提取到的數(shù)據(jù)封裝成指定格式(如XML文檔),返回到該CA組件13所在的加密模塊14;第九步該CA組件13所在的加密模塊14調(diào)用DI組件5傳輸?shù)臅捗荑€,進(jìn)行加密, 并將加密后的密文用自己的私鑰再進(jìn)行加密,返回至DI組件5端的中心加密器4,中心加 密器4調(diào)用該CA組件13的公鑰進(jìn)行解密,并調(diào)用會話密鑰將密文解碼成明文,轉(zhuǎn)發(fā)到DI 組件5;第十步DI組件5將接收到的明文按照指定數(shù)據(jù)格式寫入業(yè)務(wù)數(shù)據(jù)庫,中斷連接,結(jié)束。推數(shù)據(jù)型中心節(jié)點(diǎn)數(shù)字設(shè)備端(監(jiān)察端)3啟動DI組件5,偵聽一個指定的端口;若在該端 口發(fā)現(xiàn)報(bào)告者(R印orter)的主動連接請求,則接受該請求并接收傳送的數(shù)據(jù),判斷該數(shù) 據(jù)是否已是明文,若否,調(diào)用中心加密器進(jìn)行解碼,將明文以規(guī)定的數(shù)據(jù)格式寫入業(yè)務(wù)數(shù) 據(jù)庫;子節(jié)點(diǎn)數(shù)字設(shè)備端(被監(jiān)察端)9用戶啟動DEC組件12,選中自定義數(shù)據(jù),DEC組件 12將自動進(jìn)行數(shù)據(jù)封裝、調(diào)用加密模塊加密、并經(jīng)Modem8尋址中心節(jié)點(diǎn)數(shù)字設(shè)備端3的 電話號碼,建立連接后將加密后的封裝數(shù)據(jù)發(fā)送到中心節(jié)點(diǎn)數(shù)字設(shè)備端特定端口。
圖1為PSTN尋址及安全通信原理圖。圖2為安全通信部分物理部署圖。圖3為分布式數(shù)據(jù)提取中間件及安全通信系統(tǒng)結(jié)構(gòu)中標(biāo)號1為PSTN電話網(wǎng)絡(luò),2為監(jiān)控端調(diào)制解調(diào)設(shè)備(Modem), 3為中心節(jié)點(diǎn)數(shù) 字設(shè)備(監(jiān)察端服務(wù)器等),4為中心加密器,5為數(shù)據(jù)整合組件(DI組件),6為業(yè)務(wù)數(shù) 據(jù)庫,7為其他業(yè)務(wù)應(yīng)用,8為被監(jiān)控端調(diào)制解調(diào)設(shè)備(Modem), 9為子節(jié)點(diǎn)數(shù)字設(shè)備(如 財(cái)務(wù)機(jī)等),10為子節(jié)點(diǎn)應(yīng)用模塊,11為被監(jiān)察的財(cái)務(wù)系統(tǒng)數(shù)據(jù)庫,12為數(shù)據(jù)提取組件(記 為DEC), 13為客戶端應(yīng)用組件(簡稱CA組件),14為加密模塊(被監(jiān)控端),15為財(cái)務(wù) 機(jī)的公鑰,16為密鑰卡,17為讀卡器,18為證書密鑰管理器,19為監(jiān)察端公鑰。
具體實(shí)施方式
本發(fā)明的實(shí)施需要監(jiān)控端與被監(jiān)控端均有固定電話號碼,已通過Modem及固定電話接 線將數(shù)字設(shè)備(運(yùn)行分布式數(shù)據(jù)提取中間件及財(cái)務(wù)軟件等的宿主機(jī),包括服務(wù)器、PC機(jī)等)接入PSTN網(wǎng)絡(luò),且要求保持接入暢通,即電話線一直接入在Modem上,Modem—直接入在數(shù)字設(shè)備上,這樣,監(jiān)控端可以根據(jù)需要,實(shí)時發(fā)起尋址及連接;此外,要求分布式提取中間件的DI、 CA、 DEC等組件分別運(yùn)行在相應(yīng)宿主機(jī)上,要提取的不同財(cái)務(wù)軟件,不同軟件版本在DEC支持的范圍之內(nèi)。本發(fā)明所提出的方法及實(shí)現(xiàn)系統(tǒng),已經(jīng)在上??萍夹姓O(jiān)察系統(tǒng)、松江國有資產(chǎn)監(jiān)管系統(tǒng)等信息系統(tǒng)中使用。以松江國有資產(chǎn)監(jiān)管系統(tǒng)中的使用為例調(diào)用本發(fā)明中數(shù)據(jù)提取系統(tǒng)的是松江國有資產(chǎn)監(jiān)管系統(tǒng),共享的數(shù)據(jù)庫是該業(yè)務(wù)系 統(tǒng)的數(shù)據(jù)庫,該系統(tǒng)由一臺Web數(shù)據(jù)庫及一臺數(shù)據(jù)庫服務(wù)器組成,DI組件及分布式通訊程 序(Server)部署在Web服務(wù)器上;被監(jiān)察的系統(tǒng)是23家國有企業(yè)的財(cái)務(wù)系統(tǒng),分別部 署在23家不同的企業(yè)財(cái)務(wù)室中,在每臺財(cái)務(wù)機(jī)上均部署了 CA組件、DEC組件、分布式通 訊程序(client)。在本應(yīng)用中,數(shù)據(jù)提取采取拉數(shù)據(jù)型, 一次典型的完整數(shù)據(jù)提取及安全通信運(yùn)行過程 描述如下1、 松江國有資產(chǎn)監(jiān)管系統(tǒng)將要提取數(shù)據(jù)的參數(shù),包括哪家公司(子節(jié)點(diǎn)編號)、 監(jiān)察的起止時間段、科目編號、憑證編號等待抽取數(shù)據(jù)的相關(guān)參數(shù)等寫入業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫 的一條記錄,并將該記錄的標(biāo)志位置1; DI從該數(shù)據(jù)庫中輪詢時發(fā)現(xiàn)該標(biāo)志位為1的記錄, 將該標(biāo)志位置0,并讀取記錄獲得相應(yīng)參數(shù);2、 DI在獲取到一次數(shù)據(jù)提取任務(wù)后,查詢子節(jié)點(diǎn)編碼庫,獲得子節(jié)點(diǎn)編址(電 話號碼),發(fā)起一次連接(進(jìn)行一次固定電碼撥號);3、 尋址成功后,建立其一條基于PSTN的通信鏈路,DI向該子節(jié)點(diǎn)上部署的加密 模塊發(fā)送證書,進(jìn)行驗(yàn)證,若驗(yàn)證不通過,則以后對該子節(jié)點(diǎn)的任何訪問都將被拒絕,驗(yàn) 證通過后,獲得調(diào)用該子節(jié)點(diǎn)的CA運(yùn)行權(quán);DI端的加密程序?qū)㈦S機(jī)生成一個密鑰(經(jīng)過 國家商業(yè)密碼管理局認(rèn)可的SCB2通用算法),將待提取數(shù)據(jù)的相關(guān)參數(shù)用該隨機(jī)密鑰加密 成密文,再調(diào)用子節(jié)點(diǎn)的公鑰,將隨機(jī)得到的密鑰及生成的密文進(jìn)行加密,傳送給指定子 節(jié)點(diǎn)的加密模塊,該加密模塊接收到后,調(diào)用存儲的CA組件公鑰進(jìn)行解密,將解密后的 參數(shù)及指令傳遞給CA組件;4、 CA組件將相應(yīng)參數(shù)及指令傳送給DEC組件;5、 DEC組件執(zhí)行相應(yīng)指令,將指定參數(shù)的數(shù)據(jù)從該公司的財(cái)務(wù)數(shù)據(jù)庫中抽取出, 按照指定格式,封裝成XML文檔,轉(zhuǎn)發(fā)給CA;6、 CA組件接收到XML文檔,調(diào)用收到的隨機(jī)密鑰(使用符合國家商業(yè)密碼管理委員會認(rèn)可的秘碼)進(jìn)行加密,生成密文,再將該密文及隨機(jī)密鑰以該子節(jié)點(diǎn)的加密模塊 中的私鑰,進(jìn)行加密封裝,傳遞給監(jiān)控端的DI組件;7、 監(jiān)控端的DI組件接收到傳回的加密數(shù)據(jù),調(diào)用該子節(jié)點(diǎn)的公鑰進(jìn)行解密,將 解密后的數(shù)據(jù)再用隨機(jī)密鑰進(jìn)行拆封裝,按照指定格式寫入業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)庫表中;8、 一次尋址、認(rèn)證、抽取數(shù)據(jù)、安全通信結(jié)束,DI組件執(zhí)行下一個數(shù)據(jù)提取任務(wù)。
權(quán)利要求
1、一種基于PSTN的安全通信分布式數(shù)據(jù)提取方法,其特征在于使用調(diào)制解調(diào)器作為數(shù)字終端設(shè)備與PSTN網(wǎng)絡(luò)的聯(lián)通設(shè)備,數(shù)字終端設(shè)備之間使用固定電話號碼進(jìn)行尋址,通過PSTN網(wǎng)絡(luò)進(jìn)行點(diǎn)到點(diǎn)通信;在通過固定電話號碼尋址成功并建立連接之后,使用中心加密器及節(jié)點(diǎn)加密模塊在數(shù)字設(shè)備間傳送證書,進(jìn)行訪問權(quán)限確認(rèn),保證設(shè)備間通信的合法性,并使用非對稱加密技術(shù)對傳輸?shù)闹噶罴皵?shù)據(jù)進(jìn)行加密,以保證數(shù)據(jù)的傳輸安全性;并通過輪詢方式,支持一個中心數(shù)字終端設(shè)備對多個被監(jiān)控?cái)?shù)字終端設(shè)備的星狀拓?fù)浣Y(jié)構(gòu)。
2、 一種基于PSTN的安全通信分布式數(shù)據(jù)提取方法的實(shí)現(xiàn)系統(tǒng),其特征在于系統(tǒng)分 為尋址及安全通信模塊、分布式數(shù)據(jù)提取模塊兩大部分;其中,尋址及安全通信模塊由中 心節(jié)點(diǎn)數(shù)字設(shè)備、N個子節(jié)點(diǎn)數(shù)字設(shè)備、撥號設(shè)備、調(diào)制解調(diào)設(shè)備、中心加密器、加密模 塊、證書密鑰管理器組成;分布式數(shù)據(jù)提取模塊由數(shù)據(jù)整合組件亦稱DI組件、客戶端應(yīng) 用組件亦稱CA組件、數(shù)據(jù)提取組件亦稱DEC組件、業(yè)務(wù)數(shù)據(jù)庫和財(cái)務(wù)數(shù)據(jù)庫組成;尋址及安全通信模塊中,中心節(jié)點(diǎn)數(shù)字設(shè)備(3)通過監(jiān)控端調(diào)制解調(diào)設(shè)備(2)經(jīng)由 PSTN電話網(wǎng)絡(luò)(1)和被監(jiān)控端調(diào)制解調(diào)設(shè)備(8)發(fā)起向子節(jié)點(diǎn)數(shù)字設(shè)備(9)尋址,在尋址成 功、建立連接后,監(jiān)控端的中心節(jié)點(diǎn)數(shù)字設(shè)備(3)調(diào)用中心加密器(4)向被監(jiān)控端的子節(jié)點(diǎn) 數(shù)字設(shè)備(9)發(fā)送證書,以進(jìn)行通信的身份驗(yàn)證;分布式數(shù)據(jù)提取模塊中,數(shù)據(jù)整合服務(wù)組件運(yùn)行在監(jiān)控/監(jiān)管端,負(fù)責(zé)與使用該中間 件的其他業(yè)務(wù)系統(tǒng)、遠(yuǎn)端的被監(jiān)控系統(tǒng)的客戶端應(yīng)用組件進(jìn)行交互,包括接受其他業(yè)務(wù)系 統(tǒng)傳來的關(guān)于提取數(shù)據(jù)的參數(shù),將該參數(shù)遠(yuǎn)程傳輸給被監(jiān)控端的客戶端應(yīng)用,接收客戶端 應(yīng)用傳回的己提取數(shù)據(jù),并將之寫入其他業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)的一致性;客戶端應(yīng)用組件運(yùn)行在被監(jiān)控/監(jiān)管的客戶端,其主要作用是完成與遠(yuǎn)程服務(wù)器的交 互,即解決分布式中間件的網(wǎng)絡(luò)傳輸問題,將相關(guān)參數(shù)、數(shù)據(jù)在DEC組件與DI組件之間 進(jìn)行傳遞;CA組件可支持在兩種不同的模式下a) 被動型客戶端,也稱拉數(shù)據(jù),此種客戶端工作模式下,CA不需要被監(jiān)控節(jié)點(diǎn)的操 作用戶干預(yù),自動運(yùn)行,接受來自遠(yuǎn)程DI的指令,執(zhí)行提取數(shù)據(jù)的操作,并調(diào)用適當(dāng)?shù)?網(wǎng)絡(luò)操作將操作結(jié)果返回遠(yuǎn)程DI;b) 主動型客戶端,亦稱推數(shù)據(jù),此種客戶端不會自動運(yùn)行,需要客戶手工啟動,然 后啟動一次數(shù)據(jù)提取的操作,并聯(lián)系DI組件,將數(shù)據(jù)發(fā)送到DI組件;CA組件和DI組件之間通過網(wǎng)絡(luò)進(jìn)行通信,可支持PSTN/Internet/Intranet多種網(wǎng)絡(luò), 其中a) 客戶端能夠通過特定的網(wǎng)絡(luò),以TCP/IP協(xié)議與DI組件進(jìn)行通信;b) DI組件通過上述網(wǎng)絡(luò)被訪問。DI通過Modem撥號連接到Wisp,并且向Wisp發(fā)送 指令,啟動數(shù)據(jù)提??;DEC組件與被監(jiān)控/監(jiān)管的軟件運(yùn)行在同一物理計(jì)算資源上,用于從各種被監(jiān)控系統(tǒng)的 數(shù)據(jù)庫中直接提取監(jiān)控?cái)?shù)據(jù);該組件被客戶端應(yīng)用組件調(diào)用,根據(jù)客戶端應(yīng)用組件傳來的 參數(shù),在被監(jiān)控/監(jiān)管數(shù)據(jù)庫中抽取相應(yīng)的字段值,進(jìn)行封裝后傳回客戶端應(yīng)用,當(dāng)前的 封裝標(biāo)準(zhǔn)是以XML文檔的方式。
3、 根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于中心節(jié)點(diǎn)數(shù)字設(shè)備和各個子節(jié)點(diǎn)數(shù)字設(shè)備 都有自己的公私鑰證書,公私鑰證書由證書密鑰管理中心發(fā)放;首先中心節(jié)點(diǎn)數(shù)字設(shè)備生 成一個臨時的會話密鑰,并用該密鑰加密明文,生成密文模塊,發(fā)送方再獲取接收方的公 鑰證書,對這個會話密鑰進(jìn)行加密,加密的會話密鑰和密文一起傳送給接收方;接收方通 過自己的私鑰證書對加密的會話密鑰進(jìn)行解密,再用得到的會話密鑰解密密文,從而得到 需要的數(shù)據(jù);反向的數(shù)據(jù)傳輸采用同樣的機(jī)制進(jìn)行;證書及密鑰的發(fā)放及維護(hù)由獨(dú)立的證 書密鑰管理器進(jìn)行;證書密鑰管理器將子節(jié)點(diǎn)數(shù)字設(shè)備的證書及密鑰直接存儲在相應(yīng)的加 密模塊中,中心加密器(4)的證書及密鑰則由證書密鑰管理器存儲在密鑰卡中,通過讀卡 器被中心加密器調(diào)用。
4、 基于權(quán)利要求2或3所述系統(tǒng)的數(shù)據(jù)提取的操作步驟如下前提DI組件5和業(yè)務(wù)應(yīng)用組件(13)可以訪問同一個業(yè)務(wù)數(shù)據(jù)庫(16) ; DI組件(5)規(guī) 定一個特定的數(shù)據(jù)庫規(guī)范,業(yè)務(wù)應(yīng)用組件(13)須滿足此規(guī)范,通過業(yè)務(wù)器數(shù)據(jù)庫(16)發(fā)布 指令以及獲取數(shù)據(jù);拉數(shù)據(jù)型第一歩啟動監(jiān)控服務(wù)器端的DI組件(5),輪詢業(yè)務(wù)數(shù)據(jù)庫(6);若在業(yè)務(wù)數(shù)據(jù)庫(6) 中未發(fā)現(xiàn)符合要求的數(shù)據(jù)提取記錄,則轉(zhuǎn)第一步;第二步若在業(yè)務(wù)數(shù)據(jù)庫(6)中發(fā)現(xiàn)符合要求的數(shù)據(jù)提取記錄,則讀取該記錄,分解該 記錄的參數(shù),根據(jù)參數(shù)進(jìn)行査詢,獲得一個待尋址的電話號碼及起止日期、科目號、憑證 號等提取參數(shù);第三步DI組件(5)調(diào)用監(jiān)控端調(diào)制解調(diào)器(2),撥打待尋址的電話號碼,經(jīng)由PSTN電 話網(wǎng)絡(luò)(l),發(fā)起到某指定CA組件(13)的連接,若撥號失敗,則轉(zhuǎn)回第三歩,若三次調(diào)用 均失敗,則終止并報(bào)錯;第四歩撥號成功,DI組件(3)調(diào)用中心加密器(4),向指定CA組件(13)所在的子節(jié)點(diǎn) 數(shù)字設(shè)備(4)的加密模塊(14)發(fā)送證書驗(yàn)證,子節(jié)點(diǎn)數(shù)字設(shè)備(9)的加密模塊(14)調(diào)用DI組件的公鑰進(jìn)行驗(yàn)證,若驗(yàn)證失敗,轉(zhuǎn)回第三步;第五步證書驗(yàn)證成功,DI組件(5)調(diào)用中心加密器(4)生成會話密鑰,將提取參數(shù)用 該會話密鑰加密生成密文,將會話密鑰及密文用CA組件(13)的公鑰加密,發(fā)送給指定CA 組件(13)所在的加密模塊(14);第六步指定的CA組件(13)所在的加密模塊(14)接收信息,調(diào)用自己的私鑰進(jìn)行解碼, 若失敗,轉(zhuǎn)第三步;第七步解碼成功,得到提取參數(shù),轉(zhuǎn)發(fā)給CA組件(13),啟動數(shù)據(jù)提?。坏诎瞬饺鬋A組件(13)提取數(shù)據(jù)失敗,轉(zhuǎn)第三步;若成功,將提取到的數(shù)據(jù)封裝成指 定格式,返回到該CA組件(13)所在的加密模塊(14);第九步該CA組件(13)所在的加密模塊(14)調(diào)用DI組件(5)傳輸?shù)臅捗荑€,進(jìn)行加 密,并將加密后的密文用自己的私鑰再進(jìn)行加密,返回至DI組件(5)端的中心加密器(4), 中心加密器(4)調(diào)用該CA組件(13)的公鑰進(jìn)行解密,并調(diào)用會話密鑰將密文解碼成明文, 轉(zhuǎn)發(fā)到DI組件((5));第十步DI組件(5)將接收到的明文按照指定數(shù)據(jù)格式寫入業(yè)務(wù)數(shù)據(jù)庫,中斷連接,結(jié)束;推數(shù)據(jù)型中心節(jié)點(diǎn)數(shù)字設(shè)備端(3)啟動DI組件(5),偵聽一個指定的端口;若在該端口發(fā)現(xiàn) 報(bào)告者的主動連接請求,則接受該請求并接收傳送的數(shù)據(jù),判斷該數(shù)據(jù)是否已是明文,若 否,調(diào)用中心加密器進(jìn)行解碼,將明文以規(guī)定的數(shù)據(jù)格式寫入業(yè)務(wù)數(shù)據(jù)庫;子節(jié)點(diǎn)數(shù)字設(shè)備端(9)用戶啟動DEC組件(12),選中自定義數(shù)據(jù),DEC組件(12)將自動 進(jìn)行數(shù)據(jù)封裝、調(diào)用加密模塊加密、并經(jīng)被監(jiān)控端調(diào)制解調(diào)器(8)尋址中心節(jié)點(diǎn)數(shù)字設(shè)備 端(3)的電話號碼,建立連接后將加密后的封裝數(shù)據(jù)發(fā)送到中心節(jié)點(diǎn)數(shù)字設(shè)備端特定端口。
全文摘要
本發(fā)明屬于計(jì)算機(jī)系統(tǒng)遠(yuǎn)程監(jiān)管技術(shù)領(lǐng)域,具體是一種基于PSTN的安全通信分布式數(shù)據(jù)提取方法及實(shí)現(xiàn)系統(tǒng)。本發(fā)明中,用戶可從服務(wù)器端發(fā)起連接指令,對接入PSTN網(wǎng)絡(luò)的多個客戶機(jī)進(jìn)行尋址,并使用證書確認(rèn)對客戶端的合法訪問,在尋址成功后利用分布式數(shù)據(jù)提取中間件實(shí)時提取多個客戶端上的數(shù)據(jù)并進(jìn)行封裝,并對傳輸過程中的數(shù)據(jù)及指令進(jìn)行加密。實(shí)現(xiàn)系統(tǒng)包括尋址及安全通信模塊、分布式數(shù)據(jù)提取模塊兩部分,前者由中心節(jié)點(diǎn)數(shù)字設(shè)備、N個子節(jié)點(diǎn)數(shù)字設(shè)備、調(diào)制解調(diào)設(shè)備、中心加密器等組成;后者由數(shù)據(jù)整合組件、客戶端應(yīng)用組件和數(shù)據(jù)提取組件等組成。本方法和實(shí)現(xiàn)系統(tǒng)能夠確保傳輸過程中數(shù)據(jù)的完整性和安全性。
文檔編號H04L9/30GK101321209SQ20081003920
公開日2008年12月10日 申請日期2008年6月19日 優(yōu)先權(quán)日2008年6月19日
發(fā)明者葉南榮, 毅 焦, 葛孝堃, 磊 袁 申請人:上海軟中信息技術(shù)有限公司