ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:366.02KB ,
资源ID:11399988      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11399988.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(安全产品手机客户端技术方案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

安全产品手机客户端技术方案.docx

1、安全产品手机客户端技术方案安全产品SVN手机客户端技术方案 修订历史版本日期作 者审 核说 明1.020010-7-29许榆晗刘忠柱根据HS项目需求提供的技术方案1. 范围本方案适应HS公司委托青犀科技有限公司开发的安全产品SVN手机客户端。本方案主要描述SVN手机客户端产品的系统功能、性能、接口、网络、协议及安全等机制的原理和解决方案。本方案可作为委托方和被委托方评估其项目合作可行性的技术性输入文档,读者为系统架构师、技术专家、项目经理、需求分析师及其利益相关者。2. 引用标准、协议VRPVPNSVNSSLSSL VPNOpen SSL虚拟网卡3. 定义VRP: (Versatile Rou

2、ting Platform 通用路由平台),是HW公司具有完全自主知识产权的网络操作系统,可以运行在多种硬件平台之上并拥有一致的网络界面、用户界面和管理界面,为用户提供了灵活丰富的应用解决方案。VPN: (Virtual Private Network 虚拟专有网络),被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展,可以把它理解为虚拟出来的企业内部专线。SVN: HS安全接入网关-系列产品名称,具备优秀的系统安全性和可靠性,是企业VPN网络建设的最佳方案之一。SSL: (Secure Sockets

3、 Layer),它是由Netscape公司开发的一套Internet数据安全协议,当前版本为3.0。它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于内、外部应用来说,使用SSL可保证信息的真实性、完整性和保密性。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。 SSL VPN: 指采用SSL (Security Socket Layer)协议来实现远程接入的一种新型VPN技术,与复杂的IPSec VPN相比,SSL通过简单易用的方法实现信息远程连通。Open SSL: 为网络通信提供安全及数据完整性的一种安全协议,囊括了

4、主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。整个Open SSL软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。虚拟网卡: 用软件模拟网络环境,能够模拟成有 VPN 的网卡,可以直接从公司外部连接到内部的 VPN 服务器上,进而存取公司内的各项服务。4. 背景互联网Internet的迅速普及,企业信息化建设的日益完善,企业面对远程接入的需求越来越丰富,如何安全、便捷、高效的实现企业内网IT信息系统的安全访问,使得企业分支机构、出差员工、合作伙伴、客户等能够及时地获取所需的重要信息,成为企业IT部门进一步提升

5、IT效率面临的关键问题之一。 HS公司针对上述问题推出大容量高可靠SSL/IPSec VPN安全接入网关SVN3000。SVN3000通过支持SSL VPN功能为企业出差员工、合作伙伴、企业客户等终端,提供安全易用、易管理的远程接入方式。同时支持IPSec VPN功能,支持低成本的远程分支机构间互联。SVN3000基于HS专业的高可靠硬件平台,采用专业实时的操作系统,具备优秀的系统安全性和可靠性,是企业VPN网络建设的最佳方案之一。 SVN架构图而随着当今全球移动业务异常迅速的发展,实现移动终端的安全接入、移动通信的安全传输是智能移动终端普及和移动业务扩展的重要环节。以保证移动数据安全交换为目

6、的,针对移动终端接入企业内网所面临的安全问题,HS提出了安全移动解决方案:SVN手机客户端-通过支持SSL VPN功能为企业分支机构、出差员工、合作伙伴、企业客户等终端,提供安全易用、易管理的远程接入方式。在不用改变现有网络结构,通过强有力的访问控制能力,达到使移动用户轻松访问公司内部核心资源的目的。SSL/IPSec VPN4.1. 系统架构图SVN手机客户端系统采用了分层的架构。从高到低分为三层:应用程序层APP、操作系统适配层SCOS、底层操作系统OS和物理层。系统架构图核心适配层SCOS屏蔽了不同操作系统之间的差异,对外暴露统一的接口,使上层用户不必关心底层的实现细节,而将精力专注于本

7、身的应用。4.2. 系统分析 5. Symbian平台5.1. Symbian平台介绍平台架构图5.2. 业务功能需求答复序号功能需求Symbian功能青犀答复(S60 V3、V5)1底层适配-任务管理是生成、删除任务等,同时支持上层的任务调度算法满足参考Windows API:CreateThreadTerminateThreadSuspendThreadResumeThreadGetCurrentThreadIdSetThreadPriorityGetThreadPriority3底层适配-内存管理、分配是提供内存分配和管理接口满足4底层适配-信号量是参考Windows API:满足Cre

8、ateSemaphore /创建信号量CloseHandle /关闭信号量ReleaseSemaphore /把信号量加1WaitForSingleObject /等待信号量5底层适配-等待队列wait queue是任务挂接在等待队列上,配合信号量一起使用。等任务被阻塞在semaphore上,则先挂接到wait queue上;等唤醒后,再从wait queue上剔除。满足6底层适配-时钟,系统时间是得到cputick,此tick的精度要求为每秒109次方cputick满足参考Windows API:GetSystemTimeAsFileTime得到100-nano second级别的系统时间7

9、底层适配-缓冲区队列是满足8底层适配-消息包是普通消息,紧急消息(插到队列前部),立即消息(直接回调)满足9底层适配-文件系统是文件操作,目录操作满足10底层适配-Socket API封装是支持阻塞、非阻塞以及所有选项。满足参考Windows API:包括但不限于:accept() bind() closesocket() connect()getpeername() getsockname() getsockopt() htonl()htons() inet_addr() inet_ntoa() ioctlsocket()listen() ntohl() ntohs() recv()recv

10、from() select() send() sendto()setsockopt() shutdown() socket() gethostname()gethostbyaddr() gethostbyname()getprotobyname() getprotobynumber()getservbyname() getservbyport()14底层适配-SSL通信是提供Openssl相同的接口满足15底层适配-字符集转换是Gbk,utf8,big5,宽字符,窄字符等的互转,支持Unicode编译模式满足14底层适配-线程优先级管理是 Sleep、满足开启、关闭thread抢占的功能(可选

11、)15虚拟网卡否提供类似于OpenVPN的虚拟网卡特性16路由管理接口否提供路由管理接口17SVN L3VPN客户端功能否提供与HS SVN网关对接的SSL VPN网络扩展客户端功能以及组件库(支持与第三方程序集成),网络扩展特性即根据访问控制策略控制基于IP业务的第三方应用软件进行VPN加密访问5.3. 技术实现方案5.3.1. 代码移植将5.3.2. 基础模块封装5.3.3. 线程管理5.3.4. 信号量管理5.3.5. 消息队列5.3.6. Socket封装5.3.7. Open SSL接口封装5.4. 开发计划迭代一8月,完成需求定义与讨论技术方案设计,完成接口封装和PC端代码移植,配

12、合8月底演示任务。迭代二9月,稳定、优化,继续未完成的需求。保证9月底给出更加稳定版本。迭代三10月,对Demo版本进行优化,调试,完成遗留需求,对产品进行商用化。迭代四11月,对Demo版本进行优化,调试,对产品进行商用化。迭代五12月,调试产品,解决BUG,保证产品商用化,配合验收。6. iPhnoe平台IPhone系统采用了分层的架构。从架构图看,iPhone分为四层,从高层到低层分别是应用程序交互层、媒体库服务、系统核心服务和BSD UNIX核心层。系统分层的架构6.1. 应用程序本项目中应用程序包括移植HS SCOS移植到iPhone平台组件、SVN客户端在iPhone平台上的实现和

13、SSL业务运行代码。6.1.1. 应用程序框架开发人员以封装SCOS平台接口的API、移植SVN代码为主;应用程序实现以SVN客户端框架设计为主,以MVC开发模式为辅,代码结果大体分为如下几个模块: 视图(Views):用来构建应用程序。 委托管理器(Delegate Providers):提供界面以及控件的事件委托处理机制。 资源管理器(Resource Manager):提供非代码资源的访问。 通知管理器 (Notification Center):在状态栏中显示自定义的提示信息。6.2. 系统运行库iPhone OS包含大量framework库,为开发者提供简洁易用的核心功能,以下是一些

14、核心库: Uikit framework:系统自带的功能全面丰富的UI控件集。 CoreData:对各种数据类型进行支持,包括自行设计。 Foundation:iPhone OS的基础性框架,提供各类基础性程序结构。 CFNetwork: 系统自带的网络模块 libssl:提供自带的open ssl支持 libstdc+:提供对大量纯C代码库,IO支持。 SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。6.3. iPhone开发工具6.3.1. xcode+SDK手机开发者可以使用iPhone SDK开发iPhone应用程序,iPhone应用程序使用Object-C语言

15、编写并运行在模拟器或手机上。SDK版本较近的有3.13 , 3.2 , 4.0。6.4. 业务功能点详述6.4.1. 任务管理&线程优先级管理功能描述:生成、删除任务等,同时支持上层的任务调度算法。技术实现:此功能利用系统自带NSThread线程函数,可以封装接口实现此功能。系统同样提供初始化线程init ,启动线程start,暂停线程stop,设置线程优先级setThreadPriority等函数。难点:此接口实现为重中之重,对接口代码的内存管理,异步处理,各类线程管理都有着较高的要求。需要投入较多时间反复测试应用。6.4.2. 内存管理、分配功能描述:提供内存分配和管理接口。技术实现:此功

16、能利用系统自带内存管理机制实现。iPhone OS系统提供alloc,release,autorelease等等强大的内存管理机制,并且兼容C语法。6.4.3. 信号量功能描述:多线程情况下,提供对象操作的控制技术实现:此功能已经自带synchronized关键字,来提供类似信号量的一个功能。我们将会利用此功能,来封装一个信号量的函数接口。难点:信号量的标准操作,与iPhone自带的synchronized的功能点都在于信号的控制,但是侧重点一个在于判断信号数值来选择性执行线程代码,一个在于直接用synchronized直接锁定代码块。6.4.4. 等待队列wait queue功能描述:任务挂

17、接在等待队列上,配合信号量一起使用。等任务被阻塞在semaphore上,则先挂接到wait queue上;等唤醒后,再从wait queue上剔除。技术实现:此功能系统自带NSOperationQueue极其类似功能要求,能够配合信号量将阻塞的入列,并且唤醒再执行。需要重新封装部分功能接口,此功能点将会与线程,信号量,同时开发完成。难点:此等待队列实现机制难点在于,如何跟封装后的线程类进行衔接操作。6.4.5. 时钟,系统时间功能描述:得到cputick,此tick的精度要求为每秒109次方cputick参考Windows API:GetSystemTimeAsFileTime得到100-na

18、no second级别的系统时间技术实现:此功能系统自带NSDate可以实现读取系统时间,硬件所能达到的精度为50100 milliseconds。6.4.6. 缓冲区队列功能描述:FIFO的功能实现缓冲区。技术实现:此功能系统暂无类似功能,需要使用代码移植实现。实现流程图如下。缓冲区队列实现流程图6.4.7. 消息包队列功能描述:普通消息,紧急消息(插到队列前部),立即消息(直接回调)技术实现:此功能系统暂无类似功能,由于Microsoft消息队列功能是用来保证进程间通信,而在iPhone上只需要实现线程间通信即可。所以需要使用代码移植实现线程间消息包队列功能。满足普通消息机制,并且实现紧急

19、消息及立即消息。iPhone编程,支持纯C代码实现。因而可以借鉴linux IPC实现机制代码。消息包设计流程图如下:消息包设计流程图重点:此功能实现重点在于代码的重用性,保证消息队列稳定,高效运行。6.4.8. 文件系统功能描述:文件操作,目录操作技术实现:此功能系统提供相当多的API,例如NSFile,NSDictionary,等等,提供全部的文件系统,文件创建访问修改等等操作。6.4.9. Socket API封装SSL通信功能描述:支持阻塞、非阻塞以及所有选项。支持UDP,TCP全操作。技术实现:此功能系统提供NSStream, CFNetowork,BSD TCP/IP各类操作,基本

20、可以完成全部的操作。我们将把系统自带的stream流式SOCKET接口,转为标准SOCKET操作接口。其中,我们将同时实现SSL/TLS等功能。难点:此模块难点在于,如何将一个优化后简洁的流式IO操作的SOCKET,变为标准socket接口。另外socket默认支持的ssl若与HS 方要求不一致,将需要另开发openssl组件。6.4.10. 字符集转换功能描述:Gbk,utf8,big5,宽字符,窄字符等的互转,支持Unicode编译模式技术实现:此功能系统提供encode各类转换器,支持UTF8,GBK,BIG5等等数百中字符集,各类转化。我们将会标准化实现各类字符集转换。6.4.11.

21、SVN L3VPN客户端功能功能描述:提供与HS SVN网关对接的SSL VPN网络扩展客户端功能以及组件库(支持与第三方程序集成),网络扩展特性即根据访问控制策略控制基于IP业务的第三方应用软件进行VPN加密访问技术实现:此功能将在以上接口完成后实现,开发以移植HS WINDOWS的VPN客户端为主,部分修改逻辑代码来满足要求。难点:移植的windows客户端,很有可能使用较多的MFC库,win32库,我们将本着效率与质量兼顾的原则,部分由iPhone的自带UIKIT实现界面部分,部分移植win32的业务逻辑功能。7. BlackBerry平台考虑到BlackBerry平台的特殊性(开发语言

22、、平台机制等),HS 在Win32平台已经实现的这套代码不适宜直接porting到BlackBerry。所以BlackBerry平台上的SVN客户端需要在遵循已有协议的基础上重新实现。我司根据需求和对产品的理解,拟构建结构如下:BlackBerry平台SVN客户端结构图7.1. Socket相关接口初始化、绑定、属性设置及获取、发送、接收、关闭等OSAL_SockInit()OSAL_Accept()OSAL_Bind()OSAL_CloseSocket()OSAL_Connect()OSAL_Getpeername()OSAL_Getsockname()OSAL_Getsockopt()OS

23、AL_Inet_addr()OSAL_Inet_ntoa()OSAL_Ioctlsocket()OSAL_Listen()OSAL_Recv()OSAL_Recvfrom()OSAL_Select()OSAL_Send()OSAL_Sendto()OSAL_Shutdown()OSAL_Socket()OSAL_Getsockopt()OSAL_Setsockopt()OSAL_GetHostname()OSAL_GetHostbyaddr()OSAL_Gethostbyname()OSAL_Getprotobyname()OSAL_Getprotobynumber()OSAL_Getserv

24、byname()OSAL_Getservbyport()7.2. 开发计划迭代一2010-8-1 2010-8-31 BlackBerry平台完成V-Socket雏形迭代二2010-9-1 2010-9-18 稳定、优化迭代一版本,保证9月底的Demo演示迭代三2010-9-19 2010-10-15 在Demo版本基础上进行优化、调试和功能完善迭代四2010-10-6 2010-11-30 解决验收测试发现的问题 7.3. 功能模块BlackBerry平台的系统架构图如下:BlackBerry系统架构图我们在BlackBerry平台的开发须跟据平台的架构和特性来构建。即作为客户端的Mid-L

25、ayer部分,V-Socket须以Jar包方式提供给最上层AP使用。其功能模块和接口分解如下:1、 线程池:J2ME中没有像在JDK中的那样的现成(包util.concurrent)的线程池直接调用,需要自行实现2、 V-Socket层的同步和异步接口:需要对V-Socket层的接口分别进行同步及异步的实现3、 数据包的拆分、分解、重组:对于发送给服务器的数据包需要添加TCP头数据、IP头数据;对于服务器返回的数据包需要拆分后取出实际数据包返回给应用层使用4、 SocketConnention及SSL30Connection连接VPN网关:数据通信最终是通过客户端的Socket/SSL连接到V

26、PN网关的实现思路:1、 根据JDK的Socket相关源代码以及MIDP/CLDC的SocketConnection相关源代码进行Java语言描述的Socket的调用封装。2、 参考现有的Windows上实现的C语言代码及相关开源代码。对数据包进行拆分、分解和重组。通过手机客户端的SocketConnection及SSL30Connection连接进行公网环境的接入。7.4. 关键点流程7.4.1. 登录(Login)流程Login登录流程7.4.2. 连接建立流程Open建立连接流程 三次握手7.4.3. 数据发送流程Send发送数据流程7.4.4. 数据接收流程Receive接收数据流程7

27、.4.5. 连接关闭流程Close关闭连接流程8. 质量与网络安全8.1. 质量保证8.1.1. 性能要求 监视系统的运行状况,如响应速度,单位时间的处理量。 界面操作不应有明显的延迟:迅速的响应用户的操作。 客户端运行时不能影响手机的其他正常功能,如电话等。8.1.2. 配置要求系统配置方案如下表配置项配置内容软件配置1、 支持Symbian、iPhone、BlackBerry平台2、 提供中文版本硬件配置1、Symbian V3、V5系列手机, iPhone、BlackBerry手机系统动态库1可以提供给其他第三方厂商使用。 8.1.3. 质量保证方案系统质量保证解决方案如下表:类型缺陷内容解决方案可靠性1、 没有内存泄露2、 没有界面僵死现象3、 链路中断不会引起程序死机4、 对系统异常要进行处理1.程序采用规范的异常处理机制2.关注系统的运行状况,如响应速度,单位时间的处理量3.程序对链路中断处理可维护性

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1