5安全传输平台总体设计
5.1 方案特点
- 规范化:严格遵循各种相关规范设计。
- 独立性:系统各子系统间互相独立,在保持系统间接口的前提下,各系统间的升级互不干扰。
- 最小耦合性:各子系统进行严格功能分解,每个子系统负责单纯的功能,互不干扰。
- 开放性:系统遵循开放的业界标准。
- 兼容性:兼容各种硬件平台、软件平台、密码设备。
- 灵活性:充分考虑未来业务、技术上的需求,在业务和技术变化时,可平滑升级。
5.2方案架构
5.2.1方案原理
- 第三方应用app,通过外联接口加密、解密数据。
- 外联接口通过共享内存查找网点密钥。
- 密钥协商服务器和密钥协商客户端协商密钥,写共享内存。密钥协商客户端可以是linux平台应用程序、也可以是win平台应用程序。
- 密钥协商服务器配置终端(SecMngAdmin)管理接入的网点应用,完成网点生命周期管理;密钥协商服务器配置终端(SecMngAdmin)可以进行历史密钥管理、审计管理等等。
- 每一个网点都进行编号。
5.2.2方案部署效果图
5.2.3方案模块关系
5.3方案子系统
5.3.1方案子系统
编号 | 子系统 | 软件平台 | 主要技术点 | 备注 |
01 | 统一数据库访问组件libicdbapi | Linux | 1封装proc访问oracle数据库 2基于数据库连接池 3 linux下线程互斥和同步 | 接口的封装和设计 |
02 | 统一通讯SocketApi组件 | Linux、Win | 1封装Linux和Win下基本SocketApi 2基于socket 连接池 3 win下和linux下的线程互斥和同步 4 win下和linux下异构通讯 | 接口的封装和设计 |
03 | 统一报文编解码组件 Libmessagereal | Linux、win | 1接口的封装和设计 2 win和linux源码的移植 3win和linux平台下动态库的设计与实现 xml json html DER | 接口的封装和设计 |
04 | 统一共享内存读写组件 | Linux、win | 1接口的封装和设计 2 win和linux进程间通信机制IPC(共享内存、消息队列) | 接口的封装和设计 |
05 | 密钥协商服务程序SecMngServer | Linux | 1 linux服务器框架编写 2各种动态库的集成 3 linux业务流的编写和调试 | Linux服务程序系统开发 |
06 | 密钥协商客户端程序SecMngClient | Linux、win | 1 linux客户端编写 2 Win客户端编写 3各种动态库的集成 4 linux和win业务流的编写和调试 | Linux信息系统开发 Win信息系统开发 |
07 | 密钥协商服务配置管理终端SecMngServerAdmin | Win | 1MFC框架、视图切分和切换 2各种win动态库的集成 3 win和linux的对接和调试 4 win下odbc驱动连接数据库 | Win信息系统开发 |
08 | 外联接口AppInterface | Linux、win | 1接口的封装和设计 | 接口设计与实现 |
09 | 对称密钥加解密接口 | Linux、win | 1安全基础知识 | 使用第三方接口 |
10 | 安全传输平台数据库脚本 | Oracle | 1 sql脚本 2 oracle数据库的安装、启动、关闭基本管理 3安全传输平台sql脚本的实施 | 信息系统数据库解决方案 |
5.3.2总体流程
- 安装数据库,部署安全传输平台sql脚本方案
- 密钥协商服务器器配置终端SecMngServerAdmin,添加网点信息,配置后台服务器启动参数
- 启动密钥协商服务器(SecMngServer)后台服务程序
- 启动密钥协商客户端程序(SecMngClinet),发起协商密钥
- 第三方信息系统,通过外联接口(AppInterface),加解密
5.3.3学员分组
1)通用组件 1人
2)后台框架和业务流 1人
3)后台配置管理(MFC)1人
4)前台框架和业务流(MFC)1人
5)外联接口 1人
4人+1人;项目经理协调!
5.3.4学员产品成果
编号 名称 平台 描述 其他
编号 | 软件名称 | 软件平台 | 产品名称 | 其他 |
01 | Commdbapi(linux)(Linux) CommMsgEncodeDecode(linux win) Mysql(limux) Socket(win linux) 共享内存(win linux) | Linux | ||
02 | Secmngserver(linux) Secmngclient(linux) | |||
03 | SecmngserverAdmin | |||
04 | Secmngclient(win) | |||
05 | AppInterface(win、linux) |