新四季網

軟體進程間安全通信系統的製作方法

2023-10-06 09:46:44 1

專利名稱:軟體進程間安全通信系統的製作方法
技術領域:
本發明涉及計算機信息安全領域,尤其涉及一種進程間安全的交換數據信息的軟體進程間的安全通信系統。
背景技術:
在現代基於很多種原因,軟體使用多進程的架構實現,比如由於模塊化,權限分擔等。在進程間安全的交換數據信息是一種非常基本的需求。許多軟體設計利用傳統的進程間通信技術來達到此目的,比如信號,套接字,郵件槽,共享內存,信號量等。
在有些情況下,進程間的需要高級別的安全通信。比如當將具有版權的內容在進程間進行拷貝。傳統的進程間通信方法暴露在很多威脅面前,比如競爭條件,中間人攻擊等等。一個安全的通信路徑需要在進行內容交換前建立起來。所以,非常需要安全的進行認證和密鑰交換的方法。
鑑於以上的幾種問題,一種新的效果好、安全性能高的一種軟體進程間安全通信系統的發明是勢在必行的。發明內容
本發明要解決的技術問題是現有的進程間的安全通信的級別較低,仍然有許多問題,比如競爭條件,中間人攻擊等等。
本發明的目的是針對上述問題,提出一種利用系統驅動層來進行認證和密鑰交換的方法,即一個安全的通信路徑在進行內容交換前被建立起來、安全的進行認證和密鑰交換的方法。
為了達到上述目的,本發明提供了一種軟體進程間安全通信系統,
一種軟體進程間安全通信系統,其包括需要進行密鑰交換的若干進程,其中發送數據的一方定義為源進程,接受數據的一方定義為終進程,其特徵在於源進程與終進程間的進程間認證和密鑰交換共享一個秘密的數據,所述該數據被用來生成密鑰,所述生成的密鑰將實時的加密兩段進程的數據。
所述需要進行密鑰交換的進程間通過系統驅動對對方進行認證,在認證過程中, 進程間沒有直接的與安全相關的通信。
所述進程與驅動之間的命令,使用作業系統接口。
所述命令由安全模塊發送,驅動層不發送命令,根據命令的格式從命令中解析出數據,或者寫入數據到命令的緩衝區中。
所述進程各方保存有各自的公鑰、私鑰用以對發送的數據進行籤名;進程各方保存對方的公鑰用以對籤名進行驗證。
所述進行認證和密鑰交換的流程還包括
標識數據的順序連接;
源進程利用源進程的私鑰對數據進行籤名;
終進程利用終進程的私鑰對數據進行籤名;利用源進程的公鑰對源進程的籤名進行驗證;利用終進程的公鑰對終進程的籤名進行驗證。所述數據的傳輸從認證驅動到發送命令的進程,進而從認證驅動獲獲取隨機數標識,改標識用以標記和對方進程互換的密鑰。所述數據的傳輸從發送命令的進程到認證驅動,進而發送一段數據到認證驅動, 包括要發送的數據,密鑰標識,和籤名。所述數據的傳輸從認證驅動到發送命令的進程,進而,從認證驅動獲取一段數據, 包括對方進程想要發送的數據,密鑰標識,和對方進程的籤名。所述進行認證和密鑰交換的流程還包括源進程通過得到命令的到一個密鑰標識;源進程通過發送命令發送互換數據;源進程調用終進程接口,終進程在接收到這一調用時開始進行終進程這段的步驟,如下4-7,終進程首先進行任何其他相關的準備工作;終進程通過得到命令得到一個密鑰標識;終進程讀取源進程的互換數據;終進程通過發送命令發送互換數據;初始化安全通信接口返回,源進程此時認為終進程已經準備好進行安全通信;源進程通過讀取命令讀取源進程的互換數據;終進程計算共享密鑰;源進程計算共享密鑰;利用共享密鑰,源進程和終進程可以加密任意的需要加密的IPC信息,從而實現安全的進程間通信。本發明的有益效果是1.作業系統系統驅動更加難以攔截和調試,增加了軟體方案的安全性。同時由於系統驅動層的命令攔截更加困難,中間人攻擊的可能性被大大的降低。2.由於共享密鑰在運行時確定,它可以被用作被認證過的兩個進程未來的進程間通信的會話密鑰,或者用於加密會話密鑰的根密鑰。這種方法區別於使用事先分享好的密鑰,可以加強軟體系統的安全性。


通過以下對本發明的實施例結合其附圖的描述,可以進一步理解其發明的目的、 具體結構特徵和優點。其中,附圖為圖1為本發明進程間密鑰交換流程示意圖;圖2為本發明命令傳遞示意圖;圖3為本發明進程間建立一條安全的通信通道的示意圖。圖4為本發明實施例的操作流程示意圖。
具體實施例方式本發明是應用在計算機信息安全領域,尤其涉及一種進程間安全的交換數據信息的軟體進程間的安全通信系統,是在對現有的軟體進程間的安全通信系統的基礎上作出的重大改進,具有非常重要的實踐意義。本發明介紹了一種利用系統驅動層來進行認證和密鑰交換的方法。首先,把通信的進程發送數據的一方和接受數據的一方簡稱為源進程和終進程。 進程間認證和密鑰交換的目的是為了共享一個秘密的數據,然後該數據被用來生成的密鑰,這個生成的密鑰將實時的加密兩段進程的數據。如圖1所示,在這一模型中,許多認證算法可以使用。下面使用橢圓曲線密鑰交換算法(Elliptic curve Diffie-Hellman)來描述一個進程認證和密鑰交換的流程。如圖1所示,本發明的目的是為源進程(數據發送進程)和終進程(數據接受進程)安全的IPC(進程間通信)和安全的數據傳輸提供密鑰分享機制。在一種典型的設計場景中有源進程,終進程,認證驅動3方。雙方進程在運行時通過一系列與認證驅動的命令 (具體由圖2、圖3所示)來進行認證和密鑰交換,此後,利用所交換的密鑰,對IPC和數據傳輸進行加密傳輸(具體的加密格式可以任意)。如圖2所示,需要進行密鑰交換的兩個進程通過系統驅動對對方進行認證,在認證過程中,進程間沒有任何直接的與安全相關的通信。進程與驅動之間命令,使用作業系統接口。在windows中,使用DeviceIoControl,在Linux中,使用ioctl接口。所有的命令都是由安全模塊發送,驅動層不會發送命令,根據命令的格式從命令中解析出數據,或者寫入數據到命令的緩衝區中。圖例3示例了一個在進程間建立一條安全的通信通道的過程。如下將以此為例詳細介紹認證和密鑰交換的流程雙方進程將保存有各自的公鑰、私鑰對用以對發送的數據進行籤名。進程雙方保存對方的公鑰用以對籤名進行驗證。其中Al |B標識A數據和B數據的順序連接。Sign_src (DATA)表示源進程利用源進程的私鑰對DATA數據進行籤名。Sign_sin (DATA)表示終進程利用終進程的私鑰對DATA數據進行籤名。Verify_src (DATA (Sign_src (DATA)))表示利用源進程的公鑰對源進程的籤名進行驗證。Verify_sin (DATA (Sign_sin (DATA)))表示利用終進程的公鑰對終進程的籤名進行驗證。認證驅動命令列表
權利要求
1.一種軟體進程間安全通信系統,其包括需要進行密鑰交換的若干進程,其中發送數據的一方定義為源進程,接受數據的一方定義為終進程,其特徵在於源進程與終進程間的進程間認證和密鑰交換共享一個秘密的數據,所述該數據被用來生成密鑰,所述生成的密鑰將實時的加密兩段進程的數據。
2.根據權利要求1所述的一種軟體進程間安全通信系統,其特徵在於所述需要進行密鑰交換的進程間通過系統驅動對對方進行認證,在認證過程中,進程間沒有直接的與安全相關的通信。
3.根據權利要求1所述的一種軟體進程間安全通信系統,其特徵在於所述進程與驅動之間的命令,使用作業系統接口。
4.根據權利要求3所述的一種軟體進程間安全通信系統,其特徵在於所述命令由安全模塊發送,驅動層不發送命令,根據命令的格式從命令中解析出數據,或者寫入數據到命令的緩衝區中。
5.根據權利要求1所述的一種軟體進程間安全通信系統,其特徵在於所述進程各方保存有各自的公鑰、私鑰用以對發送的數據進行籤名;進程各方保存對方的公鑰用以對籤名進行驗證。
6.根據權利要求5所述的一種軟體進程間安全通信系統,其特徵在於所述進行認證和密鑰交換的流程還包括標識數據的順序連接;源進程利用源進程的私鑰對數據進行籤名;終進程利用終進程的私鑰對數據進行籤名;利用源進程的公鑰對源進程的籤名進行驗證;利用終進程的公鑰對終進程的籤名進行驗證。
7.根據權利要求1所述的一種軟體進程間安全通信系統,其特徵在於所述數據的傳輸從認證驅動到發送命令的進程,進而從認證驅動獲取隨機數標識,該標識用以標記和對方進程互換的密鑰。
8.根據權利要求7所述的一種軟體進程間安全通信系統,其特徵在於所述數據的傳輸從發送命令的進程到認證驅動,進而發送一段數據到認證驅動,包括要發送的數據,密鑰標識,和籤名。
9.根據權利要求8所述的一種軟體進程間安全通信系統,其特徵在於所述數據的傳輸從認證驅動到發送命令的進程,進而,從認證驅動獲取一段數據,包括對方進程想要發送的數據,密鑰標識,和對方進程的籤名。
10.根據權利要求9所述的一種軟體進程間安全通信系統,其特徵在於所述進行認證和密鑰交換的流程還包括源進程通過得到命令的到一個密鑰標識;源進程通過發送命令發送互換數據;源進程調用終進程接口,終進程在接收到這一調用時開始進行終進程這段的步驟,如下,終進程首先進行任何其他相關的準備工作;終進程通過得到命令得到一個密鑰標識;終進程讀取源進程的互換數據; 終進程通過發送命令發送互換數據;初始化安全通信接口返回,源進程此時認為終進程已經準備好進行安全通信; 源進程通過讀取命令讀取源進程的互換數據; 終進程計算共享密鑰; 源進程計算共享密鑰;利用共享密鑰,源進程和終進程可以加密任意的需要加密的IPC信息,從而實現安全的進程間通信。
全文摘要
本發明提供了一種軟體進程間安全通信系統,其包括需要進行密鑰交換的若干進程,其中發送數據的一方定義為源進程,接受數據的一方定義為終進程,其源進程與終進程間的進程間認證和密鑰交換共享一個秘密的數據,所述該數據被用來生成密鑰,所述生成的密鑰將實時的加密兩段進程的數據;本發明的有益效果是作業系統系統驅動更加難以攔截和調試,增加了軟體方案的安全性;同時由於系統驅動層的命令攔截更加困難,中間人攻擊的可能性被大大的降低。由於共享密鑰是在運行時確定的,它可以被用作被認證過的兩個進程未來的進程間通信的會話密鑰,或者用於加密會話密鑰的根密鑰,這種方法區別於使用事先分享好的密鑰,可以更加有效的加強軟體系統的安全性。
文檔編號H04L29/06GK102497267SQ20111040382
公開日2012年6月13日 申請日期2011年12月7日 優先權日2011年12月7日
發明者張磊 申請人:絢視軟體科技(上海)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀