APP下载

中国科学技术大学: 应用Web service建设校园通信基础平台

2015-12-22夏玉良刘少勇徐兵

中国教育网络 2015年7期
关键词:接收者公钥加密

文/夏玉良 刘少勇 徐兵

中国科学技术大学: 应用Web service建设校园通信基础平台

文/夏玉良 刘少勇 徐兵

建设平台的主要目的是为校园应用系统提供简单易用的编程接口,方便应用系统使用平台支持的通信方式与用户通信。

现代通信方式在校园中的应用越来越广泛,以Email和Sms的普及率和利用率最高。校园中,越来越多的系统通过这些方式联系用户。早期应用系统各自为战,为了使用Email和Sms,既要解决技术问题,还要收集用户的Email地址和手机号码。

发送Email可利用标准的smtp协议,在Email系统中为应用系统设置了允许发送邮件的规则即可,比较简单。但是发送Sms就比较复杂,没有统一的标准或协议,每个系统先要采购Sms的设备和服务,再根据具体情况实现Sms的收发。如果要使用新的通信方式,应用系统就需要完成相应的建设工作和对接程序。这种分散建设的方法不仅造成人力和资源上的浪费,而且不利于学校统一管理。

图1 校园通信基础平台总体结构

为促进各应用系统对现代通信方式的利用,降低接入难度,节约资源,达到统一管理的目的,建设通信基础平台,集中建设和管理通信基础设施,向校园应用系统提供服务,是合理的解决方法。

本文提出了建设校园通信基础平台(以下简称平台)。平台对具体的通信方式进行封装,通过Web service对校园信息化应用提供标准易用的编程接口。平台与数据中心对接,获取校园用户的通信地址(如Email地址、手机号码等),提出了按人发送信息的方法。平台采用公钥技术建立了安全系统,并且建立了可配置的风险控制措施,以保证安全。校园业务应用系统可以利用平台提供的服务使用现代通信方式与用户联系。

Web service的特点

Web service具有很多新特性,这些新特性正是Web service的吸引力所在:

1.完好的封装性。Web服务是部署在Web上的对象,具备对象的良好封装性,使用者能且仅能看到该对象提供的功能列表。

2.松散耦合性。Web服务的实现发生变更时,只要调用界面不变,客户端不受任何影响。这种特性使得Web服务的升级更新成本非常小。

3.高度可集成能力。由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协议描述规范,屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可通过标准协议互操作,实现了在当前环境下最高的可集成性。

这些新特性使得Web service得到了快速发展,同时也得到了各种软件开发环境的广泛支持。因此,平台采用Web service实现平台的API。

校园通信基础平台

平台对通信系统进行了封装。理论上,平台可以接入多种不同的通信系统。每加入一种新的通信系统,平台上实现通信系统的驱动,并定义新的通信类型即可。平台已经实现Email和Sms两种利用率最高的通信方式。

平台与数据中心对接,获取校园用户的通信地址数据,如Email地址和手机号码等。由于有数据的支持,平台向应用系统提供了按人发送信息的接口。这样以来,应用系统无需知道用户的通信地址,就可以向用户发送信息。例如,应用系统可以给张三发送Email,而无需知道张三的Email地址。这样做的好处,一可以统一管理用户的通信地址,而无需在每个系统中分散存放,节省了数据维护的工作量;二可以保护用户隐私,减小用户数据泄密的风险。

平台通过Web service向应用系统提供标准易用的接口,通信系统的建设、管理、运维以及对接细节,都由平台统一完成,大大降低了应用系统使用各种通信方式的难度,应用系统只需要按照平台提供的标准方法,接入平台,就可使用平台支持的各种通信方式。由于Web service的普及率和支持率都已经很高,常用的开发环境基本上都实现了对Web service的支持,所以与平台对接的工作已经变得相当容易。

面向终端用户的校园通信应用系统作为校园应用系统之一,以同样的方式接入平台。

平台主要由平台管理系统、基于公钥的安全系统、风险控制系统、信息处理与接口组成。

平台管理系统

平台管理系统完成平台的管理和配置功能。其中,最主要的功能是完成对各应用系统的管理、系统运行参数的配置。

基于公钥的安全系统

非对称加密算法使用一对密钥完成数据的加密和解密。这对密钥分别称为公钥和私钥。每对公钥和私钥唯一匹配,公钥加密只能用私钥解密,私钥加密也只能用公钥解密。非对称加密技术在数字签名和数字证书中得到广泛应用。

利用非对称加密算法的这种特性,我们设计了一套基于公钥的Web service安全解决方案。平台利用这套方案,完成平台与应用系统的互认证、数据加密和消息签名。

平台在设计安全系统时,遵循不改变Web service协议的原则,所有与认证、加密和签名有关的数据作为Web service接口方法的变量或返回数据传递,加密只对数据进行,不涉及到Web service协议相关的xml标签。这样做的好处是所有应用系统中涉及到Web service协议处理的部分都可以直接利用现有的组件处理。

1.互认证原理简介

互认证是安全通信的前提。在平台和应用系统进行通信之前,首先要互相确认对方身份。

所有使用平台的应用系统先在平台上注册,得到应用ID,并与平台互换公钥。在进行通信前,平台和应用已经掌握了对方的公钥。在认证过程中,只要确认与自己通信的对方是对应公钥的所有者,即可确认对方身份。为了确认对方是对应公钥的所有者,应用系统和平台按照既定规则生成一个全局唯一的令牌,用对方的公钥加密后交给对方,对方用私钥解密后再用已方的公钥加密后返回,已方用私钥解密返回数据,如果结果正确,根据非对称加密算法的特性,就可确认对方身份。

互认证过程通过平台提供的若干与认证相关的Web service接口完成,具体细节不再详述。

2.数据加密和签名方法简介

加密是为了保证数据安全,防止信息泄密。签名可以保证消息的真实有效性。

平台的加密和签名流程如图2所示。

互认证完成时,平台通过由应用系统参与的算法生成一个32位字节长度的值,前24位作为加密密钥,后8位作为初始化向量。在后续的通信过程中,数据使用对称加密算法3DES算法进行加密和解密。对称加密算法占用资源少,速度快。

平台采用了私钥签名,公钥验签的方法实现消息签名。签名只对通信过程中的数据进行签名,而不是对整个soap消息进行签名,所以在签名前,要将消息中所有关键数据按照既定规则进行整理,生成待签名数据,然后再对待签名数据进行签名。

图2 加密签名流程

以应用系统向平台发起的Web service请求消息为例,关键数据包含:请求的URL、请求的方法名称、参数列表。首先把这些关键数据处理成键值对的形式,例如:URL=http://Webserviceurl、 method=methodname、parm1=parm1value、parm2=parm2value等,再对这些键值对进行排序,然后按字符串连接的方法把他们连接成一个字符串,生成待签名数据,再对这个字符串用私钥签名。

签名生成以后,作为请求方法的一个参数传递给平台。平台收到请求消息以后,按相同规则生成待验签数据,再用应用系统的公钥验签。

信息处理与接口

建设平台的主要目的是为校园应用系统提供简单易用的编程接口,方便应用系统使用平台支持的通信方式与用户通信。在进一步说明平台工作原理之前,先解释两个概念。

Message:平台把应用系统发送给用户的信息抽象为Message,每条Message代表一条信息,可以发送给任意多个不同类型的接收者。

信息接收者:每个信息接收者由接收者类型、接收者地址、信息发送方式组成。平台当前支持三种接收者类型:Email、Mobile和Userid,对应的接收者地址为:Email地址、手机号码和用户ID。信息发送方式标明信息发送给此接收者时所使用的通信方式。有些接收者类型只支持特定的发送方式,比如类型为Email的接收者,只支持以Email发送信息,Mobile类型的接收者只支持以Sms发送信息。而当类型为Userid时,则同时支持Email和Sms。

这种设计方法中,Message和接收者相对独立,方便对Message的复用。信息接收者采用统一的形式表示,可以对外提供统一的接口。

应用系统通过平台发送信息的总体原理如图3所示。具体流程如下:

1.应用系统首先创建一条Message,然后依次为这条Message添加一名或多名接收者。

2.应用系统通过指令将Message放入发送队列。让各接收者在发送队列中排队。

3. Message发送进程依次从队列中读取接收者,根据发送方式确认接收者的实际接收地址。例如接收者类型是Userid,发送方式是Email,则根据Userid找到用户的Email地址。

4. 根据接收者的发送方式,Message发送进程调用相应的驱动程序发送Message。

5. 驱动程序调用具体的通信系统,发送信息。

在编程接口设计上,平台既提供了创建Message、添加接收者、发送Message、关闭Message等接口,也提供了快捷发送信息的接口,在一个接口里给一个接收者发送一条信息。

风险控制系统

平台对校园应用系统提供服务,这些应用系统并不能完全信任,所以要有风险控制系统,对应用系统进行约束。风险控制系统主要解决两类问题:

1. 避免资源滥用。当应用系统出错、被入侵或其他原因,有可能会出现大量发送信息的行为,造成资源滥用。

2. 避免对信息接收者的骚扰行为。当应用系统对信息接收者发送过量信息,或发送重复信息时,要进行约束。

平台通过可配置的规则,对应用系统的行为进行约束,这些规则如下:

1. 对每个应用每天创建的Message数量限制。

2. 对每个应用每天添加的信息接收者数量按通信方式分类进行限制。

图3 信息发送原理

3. 对每个接收者每天收到的信息总量按通信方式分类进行限制。

4. 对每个接收者每天收到的来自某个应用系统的信息数量按通信方式分类进行限制。

5. 对每个接收者每天收到的来自某个应用系统的相同信息的数量按通信方式分类进行限制。

根据每个应用系统的不同类型和不同信任程度,这些规则可以灵活设置。

平台应用情况

平台已经实现Email和Sms两种通信方式。这两种通信方式是当前普及率和利用率最高的两种,也是各项工作中使用量最大的两种。目前,平台已经在校园的教学活动、科研工作、招生工作、学生管理、图书、仪器设备预约、身份认证、软硬件系统监控和报警等应用系统中取得了广泛应用。

平台对通信系统进行封装,对校园应用系统提供标准易用的接口,通信系统的建设、管理、运维以及对接细节,都由平台统一完成。此举大大降低了应用系统使用现代通信方式与用户联系的难度。平台提供了按人发送信息的接口,为校园应用系统与用户的沟通提供了便利。平台推出后,在校内受到广泛关注和好评,陆续有很多校园应用系统接入平台,促进了现代通信方式在校园信息化中的应用。平台设计了基于公钥的安全系统和可配置的风险控制系统,保障平台的安全稳定运行。

(作者单位为中国科学技术大学网络信息中心)

猜你喜欢

接收者公钥加密
一种基于熵的混沌加密小波变换水印算法
一种基于混沌的公钥加密方案
单粒子未知态的分级量子通信
HES:一种更小公钥的同态加密算法
认证加密的研究进展
SM2椭圆曲线公钥密码算法综述
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密
浅谈信息接收者反馈不当现象及对策
多用户MIMO系统基于消息块预编码的可信通信技术