MAX144是美国MAXIM公司生产的新型双通道12位串行模数转换器,它具有自动关断和快速唤醒功能,且内部集成有时钟电路,采样/保持电路;同时具有转换速率高、功耗低等优点,特别适合于由电池供电且对体积和精度有较高要求的智能仪器仪表产品。MAX144的主要特点如下:
单电源供电电压范围为+2.7~+5.25V;
带有两路模拟信号输入通道CH0和CH1其模拟信号电压范围为0~VREF;
采样频率最高可达108ksps;
功耗低,当VDD为3.6V,且在采样频率达到最大值108ksps时,功耗仅3.2mW;
具有与SPI/QSPI/MICROWIRE兼容的串行接口。
2引脚功能
MAX144采用DIP8封装形式,其引脚功能如下:
VDD:正电源端,+2.7~+5.25V;
CH0/CH1:模拟信号输入通道;
GND:模拟地/数字地;
REF:外部参考电压输入,用作模数转换基准电压;
CS/SHDN:该脚为低电平时,为片选输入;为高电平时,为掉电模式输入;
DOUT:串行数据输出端;
SCLK:串行时钟输入端。
3使用说明
3.1模拟信号输入
MAX144的两个模拟输入通道CH0与CH1可连接到两个不同的信号源上。上电复位后,MAX144将自动对CH0通道的模拟信号进行A/D转换,转换完毕又自动切换到CH1通道,并对CH1通道模拟信号进行A/D转换,之后交替地在CH0和CH1通道间进行切换和转换。输出数据中包含的一个通道标志位CHID用以确定该数据为哪一通道转换得到。如果只有一路模拟信号,可以将CH0与CH1连接在一起作为一个输入通道,但输出的数据中仍包含有通道标志位CHID。
图2
MAX144内部有模拟输入保护电路,因而容许输入信号在GND-300mV到VDD+300mV范围内变化,如果要求的转换精度较高,则输入信号不得大于VDD+50mV且不能小于GND-50mV。
3.2时钟模式和工作时序
将CS/SHDN设置为低电平可启动A/D转换过程,在CS/SHDN的下降沿,内部采样/保持电路将进入采样模式,此时如果SCLK为高电平,则选择内部时钟模式;若为低电平则选择外部时钟模式。图2给出了内部和外部时钟模式的时序图。当串行时钟频率小于100kHz或大于2.17MHz时,应选择内部时钟模式。当工作于外部时钟模式时,由于外部时钟不仅要移出数据,而且要驱动模数转换,因此,A/D转换必须在140μs内完成,否则采样/保持电路中电容上电压的降低可能导致转换结果精度的降低。转换结束后,内部振荡电路被关闭,DOUT变为高电平,此时即可读取转换数据。
3.3输出数据格式
表1为内部和外部时钟模式下的串行输出数据格式。由表1可知,串行数据输出格式是高位在前,低位在后。读取一个转换数据至少需要16个时钟周期,前三位始终为高电平(内部时钟模式时还包括EOC位),第四位是通道标志位CHID,CHID为0表示CH0通道,即数据为CH0通道转换所得;CHID为1表示CH1通道,即数据为CH1通道转换所得;接下来就是12位的A/D转换数据,最高有效位在前,每一位数据在SCLK上升沿被移出;转换结束后,CS/SHDN变为高电平,此时DOUT呈高阻抗状态。
表1MAX14的数据输出格式
SCLKCYCLE1234567……141516Dout(外部)EOC11CHIDD11D10D9……D2D1D0Dout(内部)111CHIDD11D10D9……D2D1D04MAX144在水平调整仪中的应用
图3是MAX144成功应用于水平调整仪的实例。该水平调整仪有两路模拟信号,需要对这两路模拟信号进行交替的转换,并根据转换结果对两个方向交替的信号进行水平调整,MAX144正好可以满足此要求。模拟信号经过放大和滤波后连接到MAX144的CH0和CH1端口。
由于模拟信号电压范围为0~2.0V因此可将MAX144的参考基准电压设置为2.048V这样可以提高转换精度,也便于转换后数据的后续处理,2.048V的基准电压可由REF191提供。MAX144与单片机的接口十分简单,只需三根I/O线即可,该电路采用内部时钟模式,单片机通过编程产生串行时钟,并按时序读出数据,其A/D转换子程序如下:
SETBP1.5
SETBP1.7
CLRP1.5;启动A/D转换
NOP
NOP
NOP
NOP;延时4μs,唤醒时间至少2.5μs
CLRP1.7;开始采样
JNBP1.6$;等待A/D转换结束
MOVR7,#8;读取高8位存于R3中
H8SETBP1.7
MOVCP1.6;读一位数据
RLCA;数据位移入A
CLRP1.7
DJNZR7,H8
MOVR3,A
MOVR7,#8;读取低8位存于R2中
L8SETBP1.7
MOVCP1.6;读一位数据
RLCA;数据位移入A
CLRP1.7
DJNZR7,L8
MOVR2,A
RET
图3
转换后的数据(16位)可以存于R3R2中,通过标志位CHID可以区分CH0和CH1通道,然后将高4位屏蔽即可得到实际的A/D转换数据。
关键词:即时通信;安全;加密
0引言
即时通信(InstantMessenger,简称IM),是一种基于互联网的即时交流消息的业务,是一个终端服务,允许两人或多人使用网络即时的传递文字信息、文件、语音与视频交流。即时通信的行业应用主要包括:个人即时通信、商务即时通信、企业即时通信、行业即时通信、网页即时通信、泛即时通信、免费即时通信等方面。
即时通信除了能加强网络之间的信息沟通外,最主要的是可以将网站信息与聊天用户直接连接在一起。即时通信工具对于用户来说交流非常方便。但是当用户使用各种即时通信工具与对方交换数据时,双方的聊天信息有可能被监听,与合作伙伴交换的数据可能被窃取,例如通过即时通信工具泄露银行卡号、密码等。
1简单即时通信开发的安全模型
QQ、MSN、RTX、Skype、GTalk等即时通信工具均基于UDP(用户数据报协议)进行通信。UDP是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
UDP为应用程序提供多对多的通信,UDP在进行通信的应用的数量上面,具有更大的灵活性。多个应用可以向一个接收方发送报文,一个发送方也可以向多个接收方发送报文。UDP可以使用底层网络的广播和组播设施交付报文,UDP提供的是不可靠交付语义,报文可能丢失、重复或者失序,而发送方是得不到通知的;缺乏流控制、报文模式,当有数据交付的时候,必须制定报文边界。
即时通信大部分的模式采用C/S结构,如图1所示为简单即时通信结构。
该结构不同于传统的客户端/服务器结构,用户首先从即时消息IM服务器上获取好友列表,建立点对点的联系,然后用户(客户端1)和其好友(客户端2)之间采用点对点方式发送信息:在无法直接点对点联系时,则用服务器中转的方式完成。
在简单即时通信工具使用过程中,若不增加安全性措施,通信双方的对话内容有可能被监听,以至于重要信息的泄露,为此,我们可以考虑,在简单即时通信工具的基础上增加加密等安全措施,使对话双方信息得以保护,加强数据的机密性。图2所示的是对通信信息进行加密的系统结构。
2系统处理流程
基于客户端/服务器结构的简单即时通信工具,应该具备的基本功能分为两部分:(1)客户端功能:包括注册登录、用户基本信息管理、获取好友列表、即时聊天等:(2)服务器功能主要是针对客户端提出的各种服务请求予以相应,包括注册回应、登录回应、用户信息管理响应等。如图3所示的是系统的处理流程图。
通过图3我们可以看到,在实现即时聊天过程中,对于发送的消息在发送之前进行加密处理后,以密文形式传输:当收到消息后,需要进行解密处理,恢复明文信息。
3加密算法的选择
在实际应用中,可选用的加密算法有很多种。众所周知,与密码体制对应的算法有对称密码算法和非对称密码算法,对称加密算法易于理解,便于实现,密钥长度决定了加密算法的安全性:非对称密码算法多应用于数字签名、身份认证等,非对称密码算法相对于对称密码算法有更高的安全性,但是也存在着不可回避的加密解密耗时长的问题。
图4为对称密码体制的保密通信模型。对于即时通信工具对话双方的通信信息进行加密,对称加密算法可以被认为是首选,并且很多网络交互系统都采用对称加密算法对数据进行加密。对称加密体质要求加密与解密使用同一个共享密钥,解密是加密的逆运算,由于通信双方共享同一个密钥,这就要求通信双方必须在通信前商定该密钥,并妥善保存该密钥。典型的对称加密算法有数据加密标准DES、三重DES——DESede、高级数据加密标准AES、国际数据加密标准IDEA等。
用户(客户端1)和其好友(客户端2),想要完成一次消息传递的步骤为:
(1)由用户(客户端1)和其好友(客户端2)约定密钥,由约定构建者构建密钥;
(2)由密钥构建者通过安全通道向另一方公布密钥;
(3)由消息发送方使用密钥对数据加密;
(4)由消息发送发将加密数据发送给消息接收者;
(5)由消息接收方使用密钥对加密数据解密。
用户(客户端1)和其好友(客户端2)第一次通信时需要通过以上五步完成,在后续对话过程中,不需要重复步骤(1)和步骤(2)。
关键词:即时通讯IM;通讯模式P2P;服务器中转模式;Jabber;MSNP;SIP
0引言
即时通讯(IM)现在已经成为了继电子邮件(E-mail)和Web之后的第三大互联网应用技术。IM具有实时性、在线性与文本交互性等特征,满足了人们在日常生活与办公环境中交流与协作的需要。随着计算机和通讯技术的飞速发展,电子政务正在成为当今信息化最重要的领域之一。我国已经将电子政务建设作为国家重要战略之一。近年来,在各级政府的重视和推动下,政府部门计算机普及率和信息化程度逐年提高,很多日常业务已经上网运行,如办公自动化、各种业务处理系统、政府门户网站等。随着我国电子政务建设的逐步深入,对新技术新模式的消化吸收能力也在逐步增强。目前,作为互联网时代最重要的三种技术E-mail、Web、IM中的前两种已经在电子政务中得到了很好的运用,发挥了很好的社会和经济效益。在IM技术已经逐渐成熟和普及时,研究IM技术在电子政务中的应用,并设计和开发符合政府部门公务交流的IM系统,将进一步推进我国电子政务的发展,对提高政府部门的办事效率,降低办事成本,增强政府与民众交流和沟通将具有十分重要的意义。
1主流即时通讯系统分析
目前主流的即时通讯系统有微软公司的MSNMessenger、Google公司的GoogleTalk,腾讯公司的QQ等。这些IM系统按照其不同的设计和运营策略,分为开放型和封闭型两类。MSNMessenger和腾讯QQ是封闭型IM系统的典型代表,它们都由专业公司运营,采用私有协议通讯。GoogleTalk是开放型IM系统的代表,采用Jabber架构,源代码公开,并可以和任何基于Jabber的IM系统互通。本文选择了MSNMessenger和GoogleTalk分别作为封闭型和开放型IM系统的典型研究对象,并重点从他们所采用的通讯模式,通讯协议及认证方式等三方面,与政府部门即时信息交流实际需求的差异进行了分析和对比。其他的IM系统基本可参照这两类来进行比较。
1.1GoogleTalk(Jabber)
GoogleTalk是Google公司开发和运营的IM系统,采用Jabber架构,通讯模式是典型的基于服务器转发的IM系统,结构类似于一个分布式邮件服务器,主要包括三个组成部分:Jabber客户端,Jabber服务器和网关。Jabber服务器主要实现路由客户端、服务器、其他IM系统之间的XML数据流的传输路径。Router是一个Jabber服务器的中心组件,所有的组件都与Router通讯,由Router来决定消息交换的路径。
1.2MSN(MSNP和SIP)
MSNMessenger同时支持MSNP协议的通讯模式和SIP协议框架的通讯模式。MSNMessenger在处理内部用户的即时通讯是采用MSNP协议定义的通讯模式,在和外部符合SOP协议的通讯系统交流时,采用SIP通讯模式。
MSNP协议定义的MSN内部基本通讯模式采用服务器转发模式,其通讯模式包含四个组成部分:MSN客户端、DispatchServer分配服务(简称DS)、NotificationServer通知服务(简称NS)、SwitchboardServer接线服务(简称SS)。DS指导用户转向合适的NS,均衡服务器负荷;NS维系会话过程,包括用户列表,分组信息,自己和好友状态改变,请求对话和发送文件;ss是用户之间对话的网关。
SIP的通讯模式是一种典型的P2P结构的通讯模式。SIP通过服务器来实现用户状态信息的传递和用户的定位,并通过P2P方式来进行数据传输。SIP的通讯模式中包含四个组成部分:SIP客户端、SIP服务器、重定向服务器、SIP注册服务器。
2主流IM系统在电子政务应用中的不足
2.1不能适应特殊的网络环境
MSN和GoogleTalk在用户验证、通讯、离线消息处理等过程中都高度依赖Internet网络接入条件,而国内政府部门的内部网络和Internet的很多通讯端口是被关闭的,为满足特殊网络环境下的IM,我们需要一种可以灵活部署,适应多种网络连接模式的IM系统。
2.2不能满足安全性要求
目前主流IM在身份认证、信息传输、信息记录等安全性设计方面还不能满足政府部门使用IM通讯进行公务活动的要求。身份认证方面,各IM软件为迅速扩展用户数,都采用匿名制用户注册制,用户几乎可以随意注册,无法适应政府公务活动中对严肃性的要求。在传输模式方面,采用P2P通讯方式的,服务器端无法记录用户的通讯信息;采用服务器转发模式的,用户的通讯信息由商业公司纪录和管理,很多还是国外公司,无法满足政府部门对信息安全性的要求。政府部门需要一个采用实名制用户管理,并能够在政府部门控制的主机系统中记录通讯信息的公务IM系统。
2.3对多协议通讯的支持不够
MSN等IM软件由于各开发商的商业目的考虑,都各自为政,自成体系,从用户到数据传输都无法实现互联互通。用户为实现和不同对象的通讯需要安装多套客户端软件,并且不断在各套软件之间切换。为改善用户的操作体验,我们需要通过单一客户端就可以让用户和本系统用户及MSN、GoogleTalk等各种其他IM用户通讯的IM系统。
2.4功能有局限
商用IM系统为扩大用户规模,其设计的功能通用性比较强,但往往无法兼顾一些特殊应用环境中的具体需求,特别是在政府部门的公务应用中的功能需求,例如有权限控制的一对多系统消息发送功能(例如由一个政府系统的牵头部门向该系统内的所有用户发送统一的通知类消息等)、政府部门列表的树状组织结构展示功能等。
3关键技术的改进和设计
3.1通讯模式设计
3.1.1通讯模式
为使IM系统满足政府部门公务交流的实际需求,在本IM通讯系统中采用了P2P和服务器中转相结合的通讯模式。P2P模式主要用来实现同一网段(主要指内部网络)的用户之间传送消息。服务器中转模式用于在不同的网段(内外网用户)、不同协议(如内部用户需要和MSN或GoogleTalk用户)及不同应用(内部消息需要转到手机短消息方式发送)之间进行通讯。用户之间的通讯完全通过服务器进行存储转发,同时服务器负责记录通讯的信息,以便在必要时进行核查。
3.1.2组件设计
通讯模式的设计从结构上包含四个组成部分:IM客户端、登录服务器、连接服务器、网关服务器。登录服务器实现用户认证、连接服务器的分配等功能;连接服务器负责用户的状态管理、好友列表管理、离线消息管理等并负责服务器之间的信息同步,可以由多台服务器进行负载均衡。登录服务器会根据用户管理策略,将用户按照所在IP区段进行划分,每一个连接服务器都存储着由登录服务器划分后的用户好友信息。网关服务器负责消息在不同网段和不同协议之间的中转和路由。当用户的通讯请求到达网关服务器后,网关服务器负责判断是否需要进行协议转换或直接调用其它应用服务(如运营商提供的短消息发送服务),同时连接数据库服务器,记录用户通讯的信息,并提供信息查询功能。
3.1.3消息流设计
消息流如图1所示。其中用户A、B为政府炔客络的用户,C是Internet网络用户。A和B之间处于同一网段,彼此通讯采用P2P方式,A和C处于不同网段,之间用网闸隔离,网闸设定内外网的网关服务器之间可以互相通讯。
通讯方式-A和B的P2P通讯过程描述。
A1:A向登录服务器发出认证请求。
A2:登录服务器向内部的统一认证服务器(该服务器同时为内网中的其他应用提供认证服务)验证用户的合法性,
A3:返回认证通过的令牌,并分配适合的连接服务器给A用户。
A4:更新各服务器中的活动用户列表。
A5:A用户访问连接服务器,得到好友列表(包括B用户)、在线状态和所处网段及采用的协议等信息。
A6:A用户和B用户进行P2P通讯,服务器不再干预。
通讯方式二A和C的服务器中转通讯过程描述。
A1-A5:部分与P2P方式相同。
A7:连接服务器负责将A用户的请求转发到指定网关服务器。
A8:网关服务器通过网闸将请求转发到Internet网段的网关服务器(该服务器同时担任登录服务器和连接服务器的角色)。
A9:Internet网段的网关服务器将A用户的通讯请求转发给B用户。
3.2协议转换网关设计
为解决本IM系统与外部各主流IM运营商之间的互联互通问题,采用协议转换网关的方式来进行协议之间的转换。协议转换网关是网关服务器的核心组件。
3.2.1模式说明
根据政府部门实际网络环境的不同要求,协议转换网关的运作模式分为直通模式和同步模式两种。直通模式适用于内部网关服务器可直接访问外部网络的情况。网关同步模式适用于内外网络之间只允许网关服务器之间进行通讯的情况,在内外网段分别部署网关服务器,由内(外)部网关将通讯信息同步到对端网关后,再由对端网关负责和其他协议的IM运营商系统进行通讯。
3.2.2协议对照表
协议转换网关以协议对照表方式维护私有协议和其他协议之间对照关系。格式如表1所示。
3.3身份认证方式
为确保用户实名使用系统,在对用户的身份认证中利用杭州市电子政务系统的统一实名制用户验证系统进行身份确认,该系统以身份证号码为开户帐号,能够确保用户身份的惟一性和可辨别性。该系统使用SUN的IdentityServer作为认证管理服务器,用户及服务信息存储在SUN的DirectoryServer。IdentityServer的实例部署在SUNApplicationServer的Web容器内,以http(或https)的方式提供身份管理服务、认证服务、策略服务、会话服务等,客户程序与IdentityServer之间通过XML格式传递请求与回应。