摘要:本論文詳細系統地闡述了數據集中工程(簡稱DCC)前端系統的設計思想和實現方法、交易驅動器的功能原理和軟件整體結構。本文讓讀者能夠從總體上了解DCC前端系統的結構和功能實現,為DCC前端系統的開發推廣維護提供一定的參考。
關鍵詞:數據集中工程 前端系統設計
1 數據集中工程前端系統的設計
數據集中工程的總體目標是將原來各省分行獨自處理保存的業務數據上收到總行數據中心,從而實現帳務數據、核心業務的集中處理,以滿足未來業務發展的需要。
按照數據集中工程的總體規劃,建立總行數據中心(在北京、上海兩地分別建立兩個數據中心,并互聯以滿足業務的需要),各分行原有的帳務數據和核心業務系統功能全部上收至總行數據中心的DCC主機;為了將各省分行的交易包括總行統一的業務和各分行特色性業務接入到總行DCC主機,總行統一開發大前置系統部署于各個分行,前端系統通過大前置系統將各分行的交易發送到總行數據中心DCC主機。
前端軟件系統按結構設計分為前端平臺系統、前端核心系統和前端特色業務系統三部分。
1.1 前端平臺系統:包括操作系統、數據庫、中間件等平臺軟件。其配置標準為:
1.2 前端核心系統指在支行網點運行的,應用于柜員工作站的全行統一的業務系統。它通過網絡系統與前置機進行數據交互,完成交易的處理功能。包括柜員工作站軟件、授權/消息服務程序、通訊服務程序、前端數據庫四大部分。
1.3 前端特色業務系統是指由前臺實現的核心業務系統以外的業務功能。
2 數據集中工程前端系統的實現
數據集中工程前端系統的核心是前端核心系統,主要業務是由柜員工作站軟件和授權/消息服務程序完成的。由于決大多數業務根據其特點可以分類,具有統一的模式,因此每一類業務可以采用統一的模板來分類處理,在不同的模板存儲不同的參數,形成各種交易。前端應用系統的設計是通過使用兩種類型的源代碼文件(過程文件和資源文件),存儲每個交易的具體交易參數為交易模板,構造交易驅動器來描述同一類的交易流程,突現流程概念,從交易模板獲取具體交易參數,實現具體交易功能。
交易驅動器是一個前端交易流程控制程序,完成從交易初始化到交易結束之間各個功能模塊的動態調用,大部分的交易可以由一個通用的交易驅動器實現,特殊交易可以編寫特殊的交易驅動器前端應用系統需要實現的功能由交易驅動器、資源和過程以及其它手工編制的程序部件和功能函數配合完成。交易驅動器的主要功能是根據交易的信息,調度交易所需資源和過程實現一般交易的處理流程。
3 前端系統的安全模塊和安全規范
數據集中工程(簡稱DCC)是一個三層結構(前端/渠道、前置系統、DCC主機)的分布式系統,在跨物理系統進行數據傳輸時,毫無疑問會涉及到數據保密的問題。如何合理、可靠、高效地實現數據傳輸的保密,是前端系統在和前置系統連接時必須考慮的重要問題。
前置系統在考慮和前端的安全問題時,是以三級密鑰體系和動態交換工作密鑰的安全機制為基礎,并在其上進行了擴展增強,最終形成了數據集中下的前置系統和前端系統的安全規范。
3.1 三級密鑰體系 密鑰如何管理、分發等問題歷來是分布式系統的安全體系下的重點和難點。DCC的安全體系在充分考慮加密的強度的同時,還需要考慮管理維護的簡便性,以及和DCC主機的安全機制兼容等問題。經過充分對比論證,制定了目前的以masterkey作為基礎密鑰加密保護basekey和workkey,basekey用于身份認證和動態交換workkey,workkey用于加/解密和MAC校驗保護交易數據的三級密鑰體系結構。
在此密鑰體系下,針對通訊節點而設置的masterkey和basekey都是通過非計算機網絡的其它渠道(如密碼信封)分發的,不存在因網絡傳輸泄密的問題。masterkey在存儲時是通過安全模塊采用固定的密鑰加密保護的,basekey則是通過明文的masterkey加密保護存儲的;針對通訊節點而動態交換的workkey是由masterkey加密保護存放的。
3.2 身份認證和密鑰同步 對于前置系統來說,如何鑒別某個和它連接的外部系統通訊節點是否合法呢?由于我們在前置系統上登記了所有合法的和它連接的通訊節點號(即前置系統的所有對等通訊節點號),以及和這些通訊節點中的每一個約定的basekey,而這些信息是通過非網絡的方式約定的,可被我們認為是保密的,可靠的。因此,我們可以是此為依據來鑒別某個通訊節點的合法性。
一個通訊節點在和前置系統進行所有的交易前,必須首先向前置系統申請密鑰同步(對workkey進行同步,后續的交易數據將以此密鑰進行加密,MAC保護傳輸),在進行密鑰同步的同時,前置系統可以對發起密鑰同步的通訊節點的身份進行:雙方按照約定的算法,申請密鑰同步的通訊節點用basekey加密其通訊節點號,而前置系統則使用basekey解密,如果解得的通訊節點號與所用的basekey組合后得到的(通訊節點號、basekey)對在前置系統的安全數據庫中能夠找到匹配項,則說明該通訊節點合法,身份認證通過,前置系統通訊節點的密鑰服務器為該通訊節點動態產生workkey,刷新安全環境(數據庫和共享內存中的緩存)中的workkey,并將其用basekey加密后返回給該通訊節點。
申請密鑰同步的通訊節點在接收到前置系統通訊節點的密鑰服務器返回的workkey后,先使用basekey解密,得到workkey明文后,再用本通訊節點的masterkey加密并存放到安全環境(數據庫和共享內存中的緩存)中。
身份認證和密鑰同步可通過隨安全模塊發布的工具程序來進行,無需再做什么開發工作,僅需要對安全模塊進行正確的配置即可。
3.3 安全API 安全API是安全模塊把安全加/解密,MAC校驗功能開放給其它需要安全通訊功能的應用程序使用的接口。它定義了應用程序的開發模型和編程接口。
3.4 安全模塊的運轉機制 安全模塊主要由安全工具和安全API兩部分構成,這兩部分在建立安全通訊環境的過程中起到了不同作用。運行在不同的通訊節點上的安全工具程序密鑰申請客戶端applykey和密鑰分發服務器keyserver互配合,來完成workkey密鑰的同步功能;在此之前,還需要通過inst_node、setmkey工具來添加一個本地通訊節點和設置它的masterkey,通過addpeernode工具來設置該通訊節點的對等通訊節點的basekey,通過sec_init啟動并初始化安全環境。
在sec_init初始化安全環境成功之后,使用安全API的應用程序就可以運行進行數據的加/解密了。但是只有在本地通訊節點和它的對等通訊節點的workkey正確同步之后,數據的加/解密才能正確進行,否則,將會導致數據加/解密錯誤。
安全工具程序和安全API是相輔相成,不可分割的。安全工具程序是構建安全子系統的基礎,它創建和維護安全API得以運行的安全環境;安全API則為應用程序使用安全子系統的數據保護功能提供了標準編程接口。
4 結束語
DCC項目的完成對我行的業務發展意義重大。它最重要的價值在于:一是在業務發展方面,統一了會計核算和柜面業務應用版本;統一了業務和數據標準,支持業務的規范管理,共享客戶基本信息;形成了總行對實時交易風險的監控能力;支持對新產品的快速開發和統一產品與服務的推出;提高跨區域交易和清算的服務質量,加速全行的頭寸管理和資金調度;支持后臺集中運行的業務模式。二是在技術發展方面,將改善全行柜面業務應用系統分散、低水平重復開發的狀況;降低數據分散處理的運行成本和維護成本;基本形成全行統一的技術體系。前端系統是我行其他業務的基石,因此前端系統的正常高效的運轉是我行業務發展的必要保證。