欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:76272467       资源大小:1.87MB        全文页数:33页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    青犀科技有限公司技术方案安全产品 SVN 手机客户端青犀科技有限公司修订历史版本日期作 者审 核说 明1.0 20010-7-29 许榆晗刘忠柱根据 HS项目需求提供的技术方案青犀科技有限公司目录1.范围 .12.引用标准、协议.23.定义 .34.背景 .44.1.系统架构图 .54.2.系统分析 .65.Symbian 平台 .75.1.Symbian 平台介绍 .75.2.业务功能需求答复.75.3.技术实现方案 .11 5.3.1.代码移植 .11 5.3.2.基础模块封装.11 5.3.3.线程管理 .12 5.3.4.信号量管理 .12 5.3.5.消息队列 .12 5.3.6.Socket 封装.12 5.3.7.Open SSL 接口封装.12 5.4.开发计划 .12 6.iPhnoe 平台 .14 6.1.应用程序 .14 6.1.1.应用程序框架.14 6.2.系统运行库 .15 6.3.iPhone 开发工具 .15 6.3.1.xcode+SDK.15 6.4.业务功能点详述.16 6.4.1.任务管理&线程优先级管理.16 6.4.2.内存管理、分配.16 6.4.3.信号量 .16 6.4.4.等待队列wait queue.16 6.4.5.时钟,系统时间.17 6.4.6.缓冲区队列 .17 6.4.7.消息包队列 .18 6.4.8.文件系统 .18 6.4.9.Socket API 封装 SSL 通信.19 6.4.10.字符集转换 .19 6.4.11.SVN L3VPN客户端功能 .19 7.BlackBerry 平台.19 7.1.Socket 相关接口.20 7.2.开发计划 .21 7.3.功能模块 .22 青犀科技有限公司7.4.关键点流程 .23 7.4.1.登录(Login)流程.23 7.4.2.连接建立流程.24 7.4.3.数据发送流程.25 7.4.4.数据接收流程.26 7.4.5.连接关闭流程.27 7.5.质量保证 .28 7.5.1.性能要求 .28 7.5.2.配置要求 .28 7.5.3.质量保证方案.28 1 青犀科技有限公司1.范围本方案适应 HS 公司委托青犀科技有限公司开发的安全产品SVN 手机客户端。本方案主要描述SVN 手机客户端产品的系统功能、性能、接口、网络、协议及安全等机制的原理和解决方案。本方案可作为委托方和被委托方评估其项目合作可行性的技术性输入文档,读者为系统架构师、技术专家、项目经理、需求分析师及其利益相关者。2 青犀科技有限公司2.引用标准、协议VRP VPN SVN SSL SSL VPN Open SSL 虚拟网卡3 青犀科技有限公司3.定义VRP:(Versatile Routing Platform 通用路由平台),是HW 公司具有完全自主知识产权的网络操作系统,可以运行在多种硬件平台之上并拥有一致的网络界面、用户界面和管理界面,为用户提供了灵活丰富的应用解决方案。VPN:(Virtual Private Network 虚拟专有网络),被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展,可以把它理解为虚拟出来的企业内部专线。SVN:HS 安全接入网关-系列产品名称,具备优秀的系统安全性和可靠性,是企业VPN网络建设的最佳方案之一。SSL:(Secure Sockets Layer),它是由Netscape公司开发的一套Internet 数据安全协议,当前版本为3.0。它包括:服务器认证、客户认证(可选)、SSL 链路上的数据完整性和SSL 链路上的数据保密性。对于内、外部应用来说,使用SSL 可保证信息的真实性、完整性和保密性。SSL 协议位于TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL VPN:指采用 SSL(Security Socket Layer)协议来实现远程接入的一种新型VPN 技术,与复杂的IPSec VPN 相比,SSL通过简单易用的方法实现信息远程连通。Open SSL:为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。整个Open SSL 软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。虚拟网卡:用软件模拟网络环境,能够模拟成有VPN 的网卡,可以直接从公司外部连接到内部的VPN 服务器上,进而存取公司内的各项服务。4 青犀科技有限公司4.背景互联网 Internet的迅速普及,企业信息化建设的日益完善,企业面对远程接入的需求越来越丰富,如何安全、便捷、高效的实现企业内网IT 信息系统的安全访问,使得企业分支机构、出差员工、合作伙伴、客户等能够及时地获取所需的重要信息,成为企业IT 部门进一步提升IT效率面临的关键问题之一。HS 公司针对上述问题推出大容量高可靠SSL/IPSec VPN 安全接入网关SVN3000。SVN3000通过支持SSL VPN功能为企业出差员工、合作伙伴、企业客户等终端,提供安全易用、易管理的远程接入方式。同时支持IPSec VPN功能,支持低成本的远程分支机构间互联。SVN3000基于 HS专业的高可靠硬件平台,采用专业实时的操作系统,具备优秀的系统安全性和可靠性,是企业 VPN网络建设的最佳方案之一。SVN架构图而随着当今全球移动业务异常迅速的发展,实现移动终端的安全接入、移动通信的安全传输是智能移动终端普及和移动业务扩展的重要环节。以保证移动数据安全交换为目的,针对移动终端接入企业内网所面临的安全问题,HS 提出了安全移动解决方案:SVN 手机客户端-通过支持SSL VPN 功能为企业分支机构、出差员工、合作伙伴、企业客户等终端,提供安全易用、易管理的远程接入方式。在不用改变现有网络结构,通过强有力的访问控制能力,达到使移动用户轻松访问公司内部核心资源的目的。5 青犀科技有限公司SSL/IPSec VPN 4.1.系统架构图SVN 手机客户端系统采用了分层的架构。从高到低分为三层:应用程序层APP、操作系统适配层SCOS、底层操作系统OS和物理层。SVN客户端框架SCOS功能模块 1功能模块 2功能模块 3功能模块 4Client TierWindows OSSymbian OSOther OSPCPhysical Tier手机设备其他设备Adapt Tier系统架构图6 青犀科技有限公司核心适配层SCOS 屏蔽了不同操作系统之间的差异,对外暴露统一的接口,使上层用户不必关心底层的实现细节,而将精力专注于本身的应用。4.2.系统分析7 青犀科技有限公司5.Symbian 平台5.1.Symbian 平台介绍平台架构图5.2.业务功能需求答复序号功能需求Symbian 功能青犀答复(S60 V3、V5)1 底层适配-任务管理是生成、删除任务等,同时支持上层的任务调度算法满足参考 Windows API:CreateThread TerminateThread 8 青犀科技有限公司SuspendThread ResumeThread GetCurrentThreadId SetThreadPriority GetThreadPriority 3 底层适配-内存管理、分配是提供内存分配和管理接口满足4 底层适配-信号量是参考 Windows API:满足CreateSemaphore/创建信号量CloseHandle/关闭信号量ReleaseSemaphore/把信号量加1 WaitForSingleObject/等待信号量5 底层适配-等待队列 wait queue是任务挂接在等待队列上,配合信号量一起使用。等任务被阻塞在semaphore上,则先挂接到wait queue 上;等唤醒后,再从wait queue 上剔除。满足6 底 层 适 配-时钟,系统时间是得到 cputick,此 tick 的精度要求为每秒109 次方cputick满足9 青犀科技有限公司参考 Windows API:GetSystemTimeAsFileTime得到 100-nano second 级别的系统时间7 底层适配-缓冲区队列是满足8 底层适配-消息包是普通消息,紧急消息(插到队列前部),立即消息(直接回调)满足9 底层适配-文件系统是文件操作,目录操作满足10 底层适配-Socket API 封装是支持阻塞、非阻塞以及所有选项。满足参考 Windows API:10 青犀科技有限公司包括但不限于:accept()bind()closesocket()connect()getpeername()getsockname()getsockopt()htonl()htons()inet_addr()inet_ntoa()ioctlsocket()listen()ntohl()ntohs()recv()recvfrom()select()send()sendto()setsockopt()shutdown()socket()gethostname()gethostbyaddr()gethostbyname()getprotobyname()getprotobynumber()getservbyname()getservbyport()14 底 层 适 配-SSL通信是提供 Openssl 相同的接口满足15 底层适配-字符集转换是Gbk,utf8,big5,宽字符,窄 字 符 等 的 互 转,支 持Unicode 编译模式满足14 底层适配-线程优先级管理是Sleep、满足开启、关闭 thread 抢占的功能(可选)15 虚拟网卡否提供类似于OpenVPN 的虚拟网卡特性11 青犀科技有限公司16 路由管理接口否提供路由管理接口17 SVN L3VPN客户端功能否提供与 HS SVN 网关对接的SSL VPN网络扩展客户端功能以及组件库(支持与第三方程序集成),网络扩展特性即根据访问控制策略控制基于IP 业务的第三方应用软件进行VPN 加密访问5.3.技术实现方案5.3.1.代码移植将5.3.2.基础模块封装12 青犀科技有限公司5.3.3.线程管理5.3.4.信号量管理5.3.5.消息队列5.3.6.Socket 封装5.3.7.Open SSL 接口封装5.4.开发计划迭代一8 月,完成需求定义与讨论技术方案设计,完成接口封装和PC端代码移植,配合8 月底演示任务。迭代二9 月,稳定、优化,继续未完成的需求。保证9 月底给出更加稳定版本。迭代三10 月,对 Demo 版本进行优化,调试,完成遗留需求,对产品进行商用化。迭代四11 月,对 Demo 版本进行优化,调试,对产品进行商用化。迭代五12 月,调试产品,解决BUG,保证产品商用化,配合验收。13 青犀科技有限公司14 青犀科技有限公司6.iPhnoe 平台IPhone 系统采用了分层的架构。从架构图看,iPhone 分为四层,从高层到低层分别是应用程序交互层、媒体库服务、系统核心服务和BSD UNIX核心层。系统分层的架构6.1.应用程序本项目中应用程序包括移植HS SCOS 移植到 iPhone 平台组件、SVN 客户端在iPhone平台上的实现和SSL 业务运行代码。6.1.1.应用程序框架开发人员以封装SCOS 平台接口的API、移植 SVN 代码为主;应用程序实现以SVN 客15 青犀科技有限公司户端框架设计为主,以MVC 开发模式为辅,代码结果大体分为如下几个模块:视图(Views):用来构建应用程序。委托管理器(Delegate Providers):提供界面以及控件的事件委托处理机制。资源管理器(Resource Manager):提供非代码资源的访问。通知管理器(Notification Center):在状态栏中显示自定义的提示信息。6.2.系统运行库iPhone OS 包含大量framework 库,为开发者提供简洁易用的核心功能,以下是一些核心库: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语言编写并运行在模拟器或手机上。SDK 版本较近的有3.13,3.2,4.0。16 青犀科技有限公司6.4.业务功能点详述6.4.1.任务管理&线程优先级管理功能描述:生成、删除任务等,同时支持上层的任务调度算法。技术实现:此功能利用系统自带NSThread 线程函数,可以封装接口实现此功能。系统同样提供初始化线程init,启动线程start,暂停线程stop,设置线程优先级setThreadPriority 等函数。难点:此接口实现为重中之重,对接口代码的内存管理,异步处理,各类线程管理都有着较高的要求。需要投入较多时间反复测试应用。6.4.2.内存管理、分配功能描述:提供内存分配和管理接口。技 术 实现:此 功能 利用系统 自带 内存 管理 机制实现。iPhone OS 系统提供alloc,release,autorelease等等强大的内存管理机制,并且兼容C 语法。6.4.3.信号量功能描述:多线程情况下,提供对象操作的控制技术实现:此功能已经自带synchronized 关键字,来提供类似信号量的一个功能。我们将会利用此功能,来封装一个信号量的函数接口。难点:信号量的标准操作,与iPhone 自带的synchronized 的功能点都在于信号的控制,但是侧重点一个在于判断信号数值来选择性执行线程代码,一个在于直接用synchronized 直接锁定代码块。6.4.4.等待队列wait queue 功能描述:任务挂接在等待队列上,配合信号量一起使用。等任务被阻塞在semaphore上,则先挂接到wait queue 上;等唤醒后,再从wait queue 上剔除。技术实现:此功能系统自带NSOperationQueue 极其类似功能要求,能够配合信号量将阻塞的入列,并且唤醒再执行。需要重新封装部分功能接口,此功能点将会与线程,信号量,同时开发完成。难点:此等待队列实现机制难点在于,如何跟封装后的线程类进行衔接操作。17 青犀科技有限公司6.4.5.时钟,系统时间功能描述:得到cputick,此 tick 的精度要求为每秒109 次方 cputick 参考 Windows API:GetSystemTimeAsFileTime 得到 100-nano second 级别的系统时间技术实现:此功能系统自带NSDate 可以实现读取系统时间,硬件所能达到的精度为 50100 milliseconds。6.4.6.缓冲区队列功能描述:FIFO 的功能实现缓冲区。技术实现:此功能系统暂无类似功能,需要使用代码移植实现。实现流程图如下。缓冲区队列实现流程图18 青犀科技有限公司6.4.7.消息包队列功能描述:普通消息,紧急消息(插到队列前部),立即消息(直接回调)技术实现:此功能系统暂无类似功能,由于Microsoft 消息队列功能是用来保证进程间通信,而在iPhone 上只需要实现线程间通信即可。所以需要使用代码移植实现线程间消息包队列功能。满足普通消息机制,并且实现紧急消息及立即消息。iPhone 编程,支持纯C 代码实现。因而可以借鉴linux IPC实现机制代码。消息包设计流程图如下:消息包设计流程图重点:此功能实现重点在于代码的重用性,保证消息队列稳定,高效运行。6.4.8.文件系统功能描述:文件操作,目录操作技术实现:此功能系统提供相当多的API,例如 NSFile,NSDictionary,等等,提供全部的文件系统,文件创建访问修改等等操作。19 青犀科技有限公司6.4.9.Socket API封装 SSL通信功能描述:支持阻塞、非阻塞以及所有选项。支持UDP,TCP 全操作。技术实现:此功能系统提供NSStream,CFNetowork,BSD TCP/IP 各类操作,基本可以完成全部的操作。我们将把系统自带的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.SVN L3VPN客户端功能功能描述:提供与HS SVN 网关对接的SSL VPN 网络扩展客户端功能以及组件库(支持与第三方程序集成),网络扩展特性即根据访问控制策略控制基于IP 业务的第三方应用软件进行VPN 加密访问技术实现:此功能将在以上接口完成后实现,开发以移植HS WINDOWS的 VPN客户端为主,部分修改逻辑代码来满足要求。难点:移植的windows 客户端,很有可能使用较多的MFC 库,win32 库,我们将本着效率与质量兼顾的原则,部分由iPhone 的自带 UIKIT 实现界面部分,部分移植 win32 的业务逻辑功能。7.BlackBerry 平台考虑到 BlackBerry 平台的特殊性(开发语言、平台机制等),HS 在 Win32 平台已经实现的这套代码不适宜直接porting 到 BlackBerry。所以BlackBerry 平台上的 SVN 客户端需要在遵循已有协议的基础上重新实现。我司根据需求和对产品的理解,拟构建结构如下:20 青犀科技有限公司BlackBerry 平台 SVN 客户端结构图7.1.Socket相关接口初始化、绑定、属性设置及获取、发送、接收、关闭等OSAL_SockInit()OSAL_Accept()OSAL_Bind()OSAL_CloseSocket()OSAL_Connect()OSAL_Getpeername()OSAL_Getsockname()OSAL_Getsockopt()OSAL_Inet_addr()OSAL_Inet_ntoa()OSAL_Ioctlsocket()OSAL_Listen()OSAL_Recv()OSAL_Recvfrom()OSAL_Select()OSAL_Send()APP 应用程序V-Socket 系统Socket 接口封装Socket 调用、SSL 连接VPN 网关Server 服务器公网环 境21 青犀科技有限公司OSAL_Sendto()OSAL_Shutdown()OSAL_Socket()OSAL_Getsockopt()OSAL_Setsockopt()OSAL_GetHostname()OSAL_GetHostbyaddr()OSAL_Gethostbyname()OSAL_Getprotobyname()OSAL_Getprotobynumber()OSAL_Getservbyname()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 解决验收测试发现的问题22 青犀科技有限公司7.3.功能模块BlackBerry 平台的系统架构图如下:BlackBerry 系统架构图我们在BlackBerry平台的开发须跟据平台的架构和特性来构建。即作为客户端的Mid-Layer 部分,V-Socket 须以 Jar 包方式提供给最上层AP 使用。其功能模块和接口分解如下:1、线程池:J2ME 中没有像在JDK 中的那样的现成(包 util.concurrent)的线程池直接调用,需要自行实现2、V-Socket 层的同步和异步接口:需要对V-Socket 层的接口分别进行同步及异步的实现3、数据包的拆分、分解、重组:对于发送给服务器的数据包需要添加TCP 头数据、IP 头数据;对于服务器返回的数据包需要拆分后取出实际数据包返回给应用层使用4、SocketConnention 及 SSL30Connection 连接VPN 网关:数据通信最终是通过客户端的Socket/SSL 连接到 VPN 网关的实现思路:1、根据 JDK 的 Socket 相关源代码以及MIDP/CLDC的 SocketConnection 相关源代码进行Java语言描述的Socket 的调用封装。2、参考现有的Windows 上实现的C 语言代码及相关开源代码。对数据包进行拆分、分解和重组。通过手机客户端的SocketConnection 及 SSL30Connection 连接进行公网环境的23 青犀科技有限公司接入。7.4.关键点流程7.4.1.登录(Login)流程Login 登录流程APP 应用程序调用 V-Socket 的 Login 接口V-Socket 系统Socket Login 接口Socket 调用、SSL 连接VPN 网关Server 服务器公网环境返 回 客 户端的 IP 地址24 青犀科技有限公司7.4.2.连接建立流程Open 建立连接流程三次握手APP 应用程序调用 V-Socket 的 Open 接口V-Socket 系统Socket Open 接口Socket 调用、SSL 连接VPN 网关Server 服务器公网环境Hello ACK ACK 25 青犀科技有限公司7.4.3.数据发送流程Send发送数据流程APP 应用程序调用 V-Socket 的 Send接口V-Socket 系统Socket Send接口Socket 调用、SSL 连接VPN 网关Server 服务器公网环境对 数 据 包添加TCP头、IP 头26 青犀科技有限公司7.4.4.数据接收流程Receive 接收数据流程APP 应用程序调用 V-Socket 的 Receive 接口V-Socket 系统Socket Receive 接口Socket 调用、SSL 连接VPN 网关Server 服务器公网环境取 出 实 际数 据 返 回给应用27 青犀科技有限公司7.4.5.连接关闭流程Close 关闭连接流程APP 应用程序调用 V-Socket 的 Close 接口V-Socket 系统Socket Close 接口Socket 调用、SSL 连接VPN 网关Server 服务器公网环境关闭Socket连接28 青犀科技有限公司8.质量与网络安全8.1.质量保证8.1.1.性能要求监视系统的运行状况,如响应速度,单位时间的处理量。界面操作不应有明显的延迟:迅速的响应用户的操作。客户端运行时不能影响手机的其他正常功能,如电话等。8.1.2.配置要求系统配置方案如下表配置项配置内容软件配置1、支持 Symbian、iPhone、BlackBerry平台2、提供中文版本硬件配置1、Symbian V3、V5 系列手机,iPhone、BlackBerry手机系统动态库1 可以提供给其他第三方厂商使用。8.1.3.质量保证方案系统质量保证解决方案如下表:类型缺陷内容解决方案29 青犀科技有限公司可靠性1、没有内存泄露2、没有界面僵死现象3、链路中断不会引起程序死机4、对系统异常要进行处理1.程序采用规范的异常处理机制2.关注系统的运行状况,如响应速度,单位时间的处理量3.程序对链路中断处理可维护性

    注意事项

    本文(安全产品手机客户端技术方案.pdf)为本站会员(索****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开