首先,分析了密碼在信息系統(tǒng)應(yīng)用安全和數(shù)據(jù)安全方面的保障作用和應(yīng)用場景,并從技術(shù)和管理兩個維度歸納總結(jié)了密碼技術(shù)在實際應(yīng)用過程中面臨的復(fù)雜度高、專業(yè)性強等問題。其次,為解決密碼技術(shù)應(yīng)用問題,借鑒中間件技術(shù),提出了基于密碼中間件的密碼泛在化保障體系。再次,分層次介紹了密碼中間件體系各組成部分的軟件形態(tài)、核心功能和技術(shù)路線。最后,對密碼中間件進行效能分析。研究表明,密碼中間件讓密碼技術(shù)能夠無縫融入信息系統(tǒng)建設(shè)過程,可有效促進密碼技術(shù)的廣泛應(yīng)用,使密碼成為構(gòu)筑網(wǎng)絡(luò)信息系統(tǒng)免疫體系和網(wǎng)絡(luò)信任體系的基石。
1、密碼應(yīng)用的價值
1.1密碼保障的場景
在信息系統(tǒng)的應(yīng)用安全和數(shù)據(jù)安全方面,密碼的保障能力主要體現(xiàn)在機密性、完整性、真實性和不可否認(rèn)性4個方面。其中,依賴的密碼關(guān)鍵技術(shù)主要包括對稱加密、數(shù)字信封、數(shù)據(jù)摘要、數(shù)字簽名等。
機密性保障主要面向信息系統(tǒng)的數(shù)據(jù)傳輸、數(shù)據(jù)存儲等應(yīng)用場景,主要基于對稱加密、數(shù)據(jù)信封等密碼技術(shù)實現(xiàn)。例如,在電子郵件發(fā)送場景中,利用數(shù)字信封技術(shù)對郵件附件進行機密性保護;在即時通信、視頻通話等場景中,利用通信雙方共享密鑰對聊天信息進行加密保護,防止第三方竊聽。
完整性保障主要面向信息系統(tǒng)的關(guān)鍵信息標(biāo)識的防篡改場景,主要基于雜湊算法提取數(shù)據(jù)摘要、消息鑒別碼(Message authentication code,MAC)摘要等方式實現(xiàn)。例如,網(wǎng)絡(luò)上下載的軟件通常會標(biāo)識該軟件的信息摘要算法5(Message-Digest Algorithm 5,MD5)值,防止被病毒或木馬破壞。
真實性保障主要面向信息系統(tǒng)認(rèn)證鑒權(quán)、消息來源的可靠性驗證等場景,通常采用數(shù)字簽名、雙方共享密鑰的對稱加密、MAC運算等密碼技術(shù)實現(xiàn)。例如,在目前應(yīng)用比較廣泛的電子合同場景中,基于合同簽訂雙方的數(shù)字簽名可保證在線簽訂合同的真實可靠,并和紙質(zhì)合同具備等同的法律效應(yīng)。
不可否認(rèn)保障主要面向合同簽訂、責(zé)任界定等應(yīng)用場景,主要采用數(shù)字簽名技術(shù)實現(xiàn)。例如,在電子蓋章等應(yīng)用場景中,通常在線簽章中內(nèi)含了對當(dāng)前頁面內(nèi)容的數(shù)字簽名,簽章完成也表示對當(dāng)前合同條款的認(rèn)可、確認(rèn)和不可抵賴。
綜上所述,密碼技術(shù)對信息系統(tǒng)實現(xiàn)的保障能力以及常見應(yīng)用場景如表1所示。
表 1? 保障場景與密碼技術(shù)

1.2密碼保障系統(tǒng)的組成
一個常見的密碼保障系統(tǒng)至少要包括密碼服務(wù)和密鑰管理兩個部分。
密碼服務(wù)主要面向信息系統(tǒng)提供對稱、非對稱、雜湊等密碼運算能力,通常以軟件開發(fā)工具包(Software Development Kit,SDK)形式供信息系統(tǒng)調(diào)用。密碼服務(wù)的物理形態(tài)可以為硬件設(shè)備或軟件系統(tǒng)。
密鑰管理負(fù)責(zé)密碼服務(wù)所用密鑰的產(chǎn)生、分發(fā)、更新、歸檔、銷毀等密鑰生命周期的管理,確保密碼服務(wù)保障過程中密鑰的安全性、有效性、可靠性。密碼管理的物理形態(tài)通常也可以為硬件設(shè)備或軟件系統(tǒng)。
信息系統(tǒng)在集成密碼過程中出現(xiàn)的密碼應(yīng)用問題也主要體現(xiàn)在密碼服務(wù)和密鑰管理兩個方面。在密碼服務(wù)方面主要為密碼使用過程中的技術(shù)復(fù)雜度、改造適配工作等方面的問題。在密碼管理方面主要體現(xiàn)為密鑰分配、密鑰管理等密碼管理方面的問題。
2、密碼應(yīng)用的問題
2.1密碼應(yīng)用的技術(shù)問題
在應(yīng)用密碼服務(wù)層面,密碼服務(wù)能力通常以SDK接口形式提供給信息系統(tǒng)調(diào)用,SDK開發(fā)商通常為密碼技術(shù)和密碼產(chǎn)品廠商,其提供的接口通常從密碼技術(shù)的維度進行分類和定義,與應(yīng)用廠商實際的信息保護需求不匹配,往往還需要應(yīng)用系統(tǒng)開發(fā)商將多個服務(wù)口組合調(diào)用后才能滿足其保護要求。例如,國密標(biāo)準(zhǔn)中的GM/T 0018—2012《密碼設(shè)備應(yīng)用接口規(guī)范》、GM/T 0016—2012《智能密碼鑰匙密碼應(yīng)用接口規(guī)范》,通常從密碼技術(shù)的維度將接口分為設(shè)備管理、密鑰管理、對稱算法、非對稱算法等,但應(yīng)用廠商實際需要的通常為存儲加密、傳輸加密等服務(wù)接口。此外,應(yīng)用廠商為實現(xiàn)數(shù)據(jù)存儲加密的功能,需要了解具體的密碼知識和理解各個接口的定義,再將多個接口組合后才能實現(xiàn)所需要的密碼保護功能。在密碼服務(wù)SDK接口層面,目前主流的密碼服務(wù)接口仍然以C接口的形式提供,但目前應(yīng)用系統(tǒng)主流為Java語言開發(fā)的瀏覽器/服務(wù)器(Browser/Server B/S)架構(gòu),對密碼服務(wù)SDK的實際需求是服務(wù)器端Java接口、客戶端Java Script(JS)接口。密碼服務(wù)需求與實際供給的不匹配,給應(yīng)用廠商帶來大量額外的二次封裝工作。
在密碼技術(shù)實現(xiàn)過程中,由于應(yīng)用系統(tǒng)廠商專業(yè)密碼知識的不足,也出現(xiàn)了一些用錯密碼、濫用密碼的典型情況。例如,采用序列算法保護存儲數(shù)據(jù);大數(shù)據(jù)量的文件數(shù)據(jù)采用電碼本(Electronic Code Book,ECB)模式保護;網(wǎng)絡(luò)包加密未采用認(rèn)證加密(Authenticated Encryption with Associated Data,AEAD)模式且未自行處理網(wǎng)絡(luò)包校驗,導(dǎo)致無法驗證解密后數(shù)據(jù)的完整性;采用非對稱算法加密存儲數(shù)據(jù)等。以上情況雖然使用了密碼技術(shù),但由于加密強度不足也帶來了一定的數(shù)據(jù)安全風(fēng)險。還有部分應(yīng)用因為采用了不合適的算法模式導(dǎo)致加解密性能低下,嚴(yán)重影響應(yīng)用系統(tǒng)性能。
信息系統(tǒng)建設(shè)通常早于密碼保障系統(tǒng)建設(shè),在實際生產(chǎn)環(huán)境中通常也存在大量存量應(yīng)用需要采用密碼技術(shù)進行安全性改造。在新建應(yīng)用系統(tǒng)方面,行業(yè)主流的應(yīng)用系統(tǒng)基本上也沒有預(yù)留密碼保障擴展機制,需要應(yīng)用廠商針對密碼技術(shù)進行適配改造。這些適配和改造的復(fù)雜性和工作量也是影響密碼技術(shù)推進的重要阻礙之一。
2.2密碼應(yīng)用的管理問題
在現(xiàn)代密碼體制中,加密算法是可以公開的,但一旦密鑰丟失,密碼算法保護的信息則面臨較大的被竊取的風(fēng)險,密鑰管理對于信息系統(tǒng)的安全和機密至關(guān)重要。信息系統(tǒng)在集成密碼技術(shù)過程中的主要管理問題也集中在應(yīng)用密鑰的產(chǎn)生、使用、更新等密鑰管理方面。
首先,密鑰的產(chǎn)生必須保證具備較強的隨機性和足夠的長度,否則密鑰的強度難以保障,采用該密鑰保護的信息也存在被暴力破解的風(fēng)險。其次,針對密鑰的使用過程,也需要根據(jù)應(yīng)用場景設(shè)計合理的密鑰管理體系來保障加密密鑰的安全。例如,針對網(wǎng)盤文件的加密場景,通常采用數(shù)據(jù)保護密鑰、密鑰保護密鑰兩級密鑰體系,金融行業(yè)采用三級密鑰體系等。最后,在密鑰更新管理方面,也必須根據(jù)實際的應(yīng)用場景設(shè)計合理的密鑰更新策略,例如,即時通信場景,通常采用一次一密的會話密鑰保障通信的安全性。
以上密鑰的管理問題通常涉及實體認(rèn)證、密鑰體制、通信加密等多種有關(guān)密碼協(xié)議和密鑰管理等領(lǐng)域的專業(yè)知識,對應(yīng)用廠商來說專業(yè)性過強、難度較大,這也對應(yīng)用廠商使用密碼技術(shù)帶來了極大的挑戰(zhàn)。
綜上所述,密碼技術(shù)和密碼管理的專業(yè)性和復(fù)雜度問題、密碼技術(shù)與信息系統(tǒng)的融合度不足等問題,導(dǎo)致密碼技術(shù)出現(xiàn)“不好用、用不好、用不對”等情況,嚴(yán)重阻礙了密碼技術(shù)對網(wǎng)絡(luò)空間安全泛在化保障的推進。
3、密碼泛在化保障方案
3.1密碼中間件技術(shù)
中間件是位于系統(tǒng)軟件之上,連接不同軟件實體的支撐軟件。它是獨立的系統(tǒng)級軟件,連接操作系統(tǒng)層和應(yīng)用程序?qū)?,將不同操作系統(tǒng)提供應(yīng)用的接口標(biāo)準(zhǔn)化,協(xié)議統(tǒng)一化,屏蔽具體操作的細(xì)節(jié)。
為解決上述密碼技術(shù)應(yīng)用的問題,本文借鑒中間件技術(shù),將密碼保障以密碼中間件的形式提供給信息系統(tǒng)。一方面,屏蔽具體的密碼算法、密碼協(xié)議和密鑰管理細(xì)節(jié),讓信息系統(tǒng)使用密碼技術(shù)時無須關(guān)心具體的專業(yè)知識;另一方面,將獨立的中間件模塊與信息系統(tǒng)進行透明化集成,減少信息系統(tǒng)額外的適配改造工作。從而讓密碼技術(shù)真正成為信息系統(tǒng)網(wǎng)絡(luò)與信息安全的基礎(chǔ)支撐。
按照信息系統(tǒng)軟件架構(gòu)層次,本文將密碼中間件由下至上分為文件加密中間件、數(shù)據(jù)庫加密中間件、傳輸加密中間件、密碼服務(wù)中間件。密碼中間件橫向接受密碼中間件管理系統(tǒng)的密碼服務(wù)調(diào)度、密鑰管理和狀態(tài)監(jiān)管。基于密碼中間件的密碼泛在化保障體系設(shè)計如圖1所示。

圖1基于中間件的密碼泛在化保障設(shè)計
3.1.1文件加密中間件
文件加密中間件位于文件系統(tǒng)層次,它作為獨立的中間件模塊為應(yīng)用系統(tǒng)存儲的電子文件提供透明化存儲加解密能力。
文件加密中間件可基于Linux內(nèi)核提供的用戶空間文件系統(tǒng)(Filesystem in User Space,F(xiàn)USE)框架實現(xiàn)?;贔USE擴展文件加密模塊,插入FUSE框架邏輯內(nèi),在電子文件讀取、寫入過程中實現(xiàn)加解密邏輯,達(dá)到寫入加密和讀取解密的效果。
文件加密中間件對接密碼中間件管理系統(tǒng),由中間件管理系統(tǒng)實現(xiàn)電子文件加解密過程中的密碼服務(wù)調(diào)度和密鑰分配功能。
3.1.2數(shù)據(jù)庫加密中間件
數(shù)據(jù)庫加密中間件位于數(shù)據(jù)庫驅(qū)動層次,它作為獨立的中間件模塊寄存到應(yīng)用軟件內(nèi)部邏輯中,為應(yīng)用系統(tǒng)存儲到數(shù)據(jù)庫的數(shù)據(jù)提供透明化加解密能力。
數(shù)據(jù)庫加密中間件可基于面向切面加密(Aspect Oriented Encryption,AOE)數(shù)據(jù)庫的切面式加密技術(shù),面向Java數(shù)據(jù)庫的連接(Java Data Base Connectivity,JDBC)、開放數(shù)據(jù)庫互聯(lián)(Open Database Connectivity,ODBC)驅(qū)動實現(xiàn)數(shù)據(jù)庫加密插件。通過數(shù)據(jù)庫加密中間件攔截結(jié)構(gòu)化查詢語言(Structure Query Language,SQL)語句,針對數(shù)據(jù)庫表、列等數(shù)據(jù)庫操作提供細(xì)粒度數(shù)據(jù)加解密服務(wù)。
數(shù)據(jù)庫加密中間件以數(shù)據(jù)庫驅(qū)動形式寄存到軟件系統(tǒng)服務(wù)器側(cè),實現(xiàn)的安全防護路徑更短、更靠近應(yīng)用側(cè),整體安全性更好,對數(shù)據(jù)庫數(shù)據(jù)保護的粒度更細(xì),可到字段、行級別。
數(shù)據(jù)庫加密中間件對接密碼中間件管理系統(tǒng),由中間件管理系統(tǒng)實現(xiàn)對數(shù)據(jù)庫加密中間件的加密粒管控、密碼服務(wù)調(diào)度和密鑰分配功能。
3.1.3傳輸加密中間件
傳輸加密中間件位于傳輸協(xié)議層次,它作為獨立的中間件模塊代理應(yīng)用系統(tǒng)web服務(wù),基于安全套接字層/傳輸層安全(Secure Socket Layer/Transport Layer Security,SSL/TLS)協(xié)議構(gòu)建應(yīng)用層傳輸加密通道,為web應(yīng)用提供傳輸加密保護能力。
傳輸加密中間件可基于web服務(wù)反向代理實現(xiàn),它包括部署在應(yīng)用系統(tǒng)服務(wù)器側(cè)的服務(wù)端模塊和部署在終端軟件側(cè)的客戶端模塊兩部分,通過在服務(wù)端模塊和客戶端模塊之間構(gòu)建傳輸加密通道,為應(yīng)用系統(tǒng)提供透明化傳輸加密功能。針對B/S應(yīng)用,客戶端可直接通過安全瀏覽器與服務(wù)端模塊建立安全通道,不再單獨部署客戶端模塊。
傳輸加密中間件對接密碼中間件管理系統(tǒng),由中間件管理系統(tǒng)實現(xiàn)傳輸中間件所保護的web服務(wù)配置,以及所需密碼服務(wù)調(diào)度和密鑰分配功能。
3.1.4密碼服務(wù)中間件
密碼服務(wù)中間件作為最上層中間件,位于軟件接口層次,作為獨立SDK為應(yīng)用系統(tǒng)提供更加靈活、通用的密碼運算服務(wù)能力。
相對于通用的密碼服務(wù)SDK,密碼服務(wù)中間件主要實現(xiàn)兩個方面的能力。
(1)面向業(yè)務(wù)場景的高層次保護接口。密碼服務(wù)中間件作為承上啟下的模塊,對下銜接密碼設(shè)備,對上服務(wù)應(yīng)用系統(tǒng)。它面向應(yīng)用系統(tǒng)提供“傻瓜式”密碼保障接口,例如存儲加密、郵件附件加密、即時消息加密等接口,屏蔽具體密碼技術(shù)和密鑰管理細(xì)節(jié),實現(xiàn)“一行代碼”的密碼服務(wù)調(diào)用。
(2)跨語言和平臺支撐能力。密碼服務(wù)中間件針對現(xiàn)有主流軟件,直接提供C、Java、JS等多種開發(fā)語言接口,讓應(yīng)用系統(tǒng)使用密碼技術(shù)時更方便、直接。
密碼服務(wù)中間件對接密碼中間件管理系統(tǒng),由密碼中間件管理系統(tǒng)實現(xiàn)場景化服務(wù)接口中密碼服務(wù)調(diào)度、密鑰分配等密碼技術(shù)細(xì)節(jié)管理功能。
3.1.5密碼中間件管理系統(tǒng)
密碼中間件管理系統(tǒng)主要針對應(yīng)用系統(tǒng)使用密碼過程中的密碼管理問題提供解決措施。它通過集中統(tǒng)一的管理策略為文件加密中間件、數(shù)據(jù)庫加密中間件、傳輸加密中間件、密碼服務(wù)中間件提供密碼服務(wù)分配、密鑰管理、中間件管理等功能。
密碼服務(wù)分配功能主要針對中間件所需的密碼服務(wù)能力實現(xiàn)策略化配置和動態(tài)調(diào)度機制,包括各類中間件所調(diào)用的密碼機、算法類型、算法模式等。
密鑰管理功能主要實現(xiàn)各類中間件所需數(shù)據(jù)保護密鑰的管理,包括密鑰全局唯一、系統(tǒng)唯一、文件唯一性等密鑰分配策略,以及密鑰保護的方式、密鑰更新的周期等,保障數(shù)據(jù)加密密鑰的安全性、可靠性、可維護性。
中間件管理功能主要實現(xiàn)各類密碼中間件的狀態(tài)監(jiān)控、參數(shù)配置等管理功能。
此外,密碼中間件管理可綜合密碼服務(wù)和密鑰管理規(guī)則,依照應(yīng)用場景維度產(chǎn)生具體的管理模板,簡化密碼管理。例如,密碼中間件管理可針對電子郵件、即時通信、網(wǎng)盤等常見應(yīng)用實現(xiàn)常用密碼管理模板,從而為新建信息系統(tǒng)提供密碼服務(wù)的一鍵化分配和實施。
3.2效能分析
通過獨立的密碼中間件軟件為信息系統(tǒng)各個層面的應(yīng)用和數(shù)據(jù)安全提供密碼保障能力,將具體的密碼實現(xiàn)和密碼管理細(xì)節(jié)進行封裝,為應(yīng)用系統(tǒng)提供透明化數(shù)據(jù)保護能力、便捷易用的密碼服務(wù)接口,減少和避免應(yīng)用系統(tǒng)改造,從而解決了信息系統(tǒng)使用密碼過程中的復(fù)雜性、專業(yè)性問題,讓密碼技術(shù)真正“用起來、用得對、用得好”,有效提升了密碼泛在化保障能力。
4、結(jié)語
本文分析了密碼技術(shù)在信息系統(tǒng)應(yīng)用和數(shù)據(jù)安全方面的保障作用和典型場景,通過深入分析密碼應(yīng)用中的典型密碼技術(shù)和密碼管理問題后提出解決方案,設(shè)計了基于密碼中間件的密碼泛在化保障體系,并按照軟件架構(gòu)層級分別闡述了各類密碼中間件的關(guān)鍵技術(shù),以及集中統(tǒng)一的中間件管理系統(tǒng)。從而為密碼泛在化保障提供解決思路,讓密碼技術(shù)作為網(wǎng)絡(luò)空間安全DNA能夠無縫融入信息系統(tǒng)建設(shè)過程,成為構(gòu)筑網(wǎng)絡(luò)信息系統(tǒng)安全體系和信任體系的基石。
審核編輯:郭婷
-
Linux
+關(guān)注
關(guān)注
88文章
11592瀏覽量
217393 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
10043瀏覽量
90554
原文標(biāo)題:基于中間件的密碼泛在化保障技術(shù)研究
文章出處:【微信號:AI智勝未來,微信公眾號:AI智勝未來】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
ROS 傳感器模塊的通用架構(gòu)設(shè)計與跨中間件擴展實踐
深入剖析RabbitMQ高可用架構(gòu)設(shè)計
STM32U575VGT6在cubeMX中沒有FATFS中間件,是不支持嗎?
Kafka生產(chǎn)環(huán)境應(yīng)用方案
RabbitMQ消息隊列解決方案
中科創(chuàng)達(dá)與ETAS推出預(yù)集成多域中間件解決方案
STM32MP131C CbueMX中間件無RTOS選項是怎么回事?
2024年AI開發(fā)者中間件工具生態(tài)全面總結(jié)
負(fù)載箱在電力系統(tǒng)測試中的應(yīng)用與優(yōu)勢
恩智浦強化汽車和工業(yè)物聯(lián)網(wǎng)業(yè)務(wù):6.25 億美元收購中間件企業(yè) TTTech Auto
零念科技PowerD-Sch中間件獲ISO 26262 ASIL D級認(rèn)證
東方通聯(lián)合openEuler社區(qū)即將開啟云原生開源中間件 Meetup北京站
對稱加密技術(shù)在實際應(yīng)用中如何保障數(shù)據(jù)安全?
DDS通信中間件——DCPS規(guī)范(下)
望獲實時Linux-虛擬化PLC解決方案

基于中間件技術(shù)的密碼在實際應(yīng)用中的系統(tǒng)保障方案
評論