摘要:隨著計算機網絡技術在人們的生活中應用的越來越廣泛。尤其當這種應用還逐漸包括了資金的支付、商務信息的傳送等等方面的時候,這些網絡上傳遞著的信息就很容易被不法分子乘機利用,為自己謀取個人不正當的利益。基于這種情況,人們研發了數字證書技術,以此來為網絡之中傳輸的數據保駕護航。數字證書技術的應用能夠讓用戶在網絡中傳輸的數據得到有效的保護,使得不法分子難以通過網絡將數據進行截取并修改。本文將基于C#語言,利用SqlServer技術,介紹數字證書的應用系統,即數字證書管理系統,為闡述數字證書在網絡安全中的應用進行一個具體實現。
關鍵詞:數字證書;網絡安全;數字證書管理系統
1引言
網絡技術的迅猛發展,使得我們大踏步地進入了一個前所未有的信息化時代。在信息化的時代背景下,人與人之間依靠網絡這一新型媒介進行信息傳遞的數量、頻率和速度都有了超大規模的提高。隨著網絡逐步成為人們傳遞和獲取信息的主流媒介,信息在網絡上進行傳遞時的安全與否就成了人們日漸關心的話題。
隨著信息化建設的展開,計算機網絡已經成為了各行各業不可或缺的效率助手,也為現在的交流、溝通、資金的流動提供了更快捷方便的模式。但是,網絡卻經常是不安全的,在網絡中傳輸的數據往往存在著被截獲、修改的可能。而被截獲修改后的數據一旦被有心之人拿去加以利用,則可能產生不可預料的后果。而本文就是基于數字證書實現一個數字證書的應用管理系統,來體現數字證書應用到網絡安全中的作用。
2數字證書的概念
Hash算法具備“通過私鑰對一段數據進行加密后,只有對應的公鑰能夠進行解密,通過公鑰進行加密后,只有配對的私鑰才能解密”的特性,而數字簽名就是基于的這個原理,來對待傳遞的信息摘要進行加密。
用戶A能夠在自己的電腦上通過自己的私鑰對要傳輸的數據進行加密,而接收到數據的用戶B可以利用用戶A的公鑰對A發送的數據進行簽名校驗,從而判斷該段數據是否是用戶A發送的,并且該段數據沒有被經過修改。
3系統設計
3.1 系統的設計思想
管理性軟件都是通過計算機將人從繁瑣、重復、枯燥的工作、生活中解脫出來,便于人們處理更多的其他有意義的事情。所以,其管理類軟件需要遵循以下幾點特性:
完整性:即設計的程序其在功能上是完善的,不同的模塊之間彼此是獨立的但是同時也是相互關聯的。其程序最終能實現最后的管理類工作。
簡單性:一個優秀的系統必須具備操作簡單,容易上手。所以,程序的設計應該盡量遵循主流的軟件的設計方式,能夠讓用戶即使第一次使用也能夠快速熟悉系統。
穩定性:開發的系統應該運行穩定,不會因為特殊的情況就導致程序崩潰,即使出現異常,也應該能夠將錯誤的異常暴露出來。
3.2 系統結構設計
本系統在程序的實現上,采用的是將界面、應用邏輯、數據庫處理、數據庫連接操作等進行相關的封裝,這種封裝能夠在開發中將相關的功能集中在同樣的類模塊中,從而實現更方便的處理。
程序主要包括表現層、業務層、數據層。其中,表現層主要是接收用戶的操作處理,獲取用戶操作的動作或輸入結果。而業務層則是對用戶的操作或輸入的數據進行邏輯處理,處理完后,將相關數據更新到數據庫中。最終,數據庫將對應的結果反饋到界面。
3.3系統詳細設計
系統在設計上主要分為了證書申請、申請管理、證書管理、證書應用模塊。模塊在業務層都是彼此獨立的。但是,在數據層都通過相同的處理接口進行相應的處理。而界面則根據不同的功能進行不同的顯示。下面將對每個模塊進行詳細介紹。
3.3.1 證書申請
證書申請就是申請的用戶通過填寫相關的個人信息,最終提交到數據庫后臺,最終用于證書生成的輸入信息。
證書申請主要是用戶輸入相關的申請信息,其申請的信息如果格式正確,就會被寫入數據庫中,為證書生成提供數據。
3.3.2 申請管理
證書申請管理是對用戶申請的證書進行生成或拒絕的管理,其具體處理邏輯如圖。
證書生成時,首先通過讀取數據庫中的申請信息,然后調用C#中makecert.exe進程,實現證書的生成。當證書生成后,通過查詢到證書存儲區域查詢出相關的證書信息保存到X509Store對象中,然后通過Export將證書導出為.cert文件。最終,將導出的結果保存到數據庫中,用于證書的管理和應用。
3.4.3證書管理
證書的管理主要是實現對數據庫中證書的激活以及廢除。其主要操作是通過更新數據庫證書的狀態,實現對數據庫中證書的廢除和激活。對證書的管理只是將該證書的狀態是否可用更新到數據庫中。
3.4.4證書應用
對于生成的證書,要應用到實際中,但是該系統只是模擬了證書的應用,實現了對利用證書實現了對數據的加密,然后利用證書實現了對數據的解密校驗。
4結論
論文系統介紹了數字證書在網絡安全中的應用。其主要包括如下:
首先,從系統原理著手。分析了數字證書系統的基本原理和背景。從而從設計的角度,采用模塊化的思想,對系統前期進行了細致的分析和設計。
然后,根據前期已經進行的設計和分析,采用了C#開發語言,其代碼實現上采用分層的處理邏輯,利用C#相應的控件,并結合Windows API的編程,最終實現了系統的具體功能。
與此同時,在系統的設計上盡量多地去考慮了用戶操作,使得系統功能更加明確,用戶操作更加簡便。在實現上,對每一步操作進行返回值的判斷與處理,讓系統能夠盡早發現錯誤而對用戶進行提示,防止出現無法返回的錯誤。
限制于自身的開發經驗以及完成周期,整個系統肯定還是存在著一些需要打磨改進的方面。除去界面以及一些處理邏輯的優化,在系統的可擴展性和運行效率上還有可以雕琢的地方。
參考文獻:
[1]施昊華,張朝輝編著.UML面向對象結構設計與應用[M].國防工業出版社,2013.
[2](美)NadirGulzar著,陳曉燕,丁炎炎譯.實用J2EE應用程序體系結構[M].清華大學出版社,2013.
[3]鄺孔武,王曉敏編著.信息系統分析與設計[M].清華大學出版社,2012.
[4](美)JamesRumbaugh等著,姚淑珍,唐發根等譯.UML參考手冊[M].機械工業出版社,2011.
[5]楊玨等編著.JSP網絡開發技術[M].人民郵電出版社,2011.
作者簡介:張圣龍(1996.08.24)男,漢,湖北荊州,武漢東湖學院計算機應用技術。