时间:2022-07-26 01:28:41
【 摘 要 】 网络的迅猛发展,让多媒体的应用更加广泛,多媒体的安全问题受到了越来越多的关注。本文首先对安全的相关技术进行了详细分析,描述了PKI/PMI技术及XML安全技术;其次对多媒体应用的安全框架进行了详细的分析和论述,将其分为三个层次模块,对每个模块进行初步的介绍;最后对部分模块的实现进行了分析。本文对于研究IT安全和多媒体工作人员有着积极的作用。
【 关键词 】 多媒体、应用、安全
1 引言
随着多媒体技术的不断完善,在教育、科研、经济、军事等领域里得到了越来越广泛的应用,在一些特珠的机构中,对多媒体数据的安全性提出了更高的要求,多媒体应用的安全已经成为研究的重点。
2 安全的相关技术
2.1 PKI/PMI技术
(1)PKI体系
PKI的英文全拼是Public Key Infrastructure,即公钥基础设施,它主要由数字证书库、证书认证中心(CA)、密钥管理中心(KMC)和审核机构(RA)等组成。其工作原理是在公共密钥技术和理论基础上的基础设施,它可以提供安全服务,是当前应用最广泛的安全机制之一,在整个体制中有一对密钥、私钥和公开的公钥,通过公钥并不能将私钥给推导出来,但通过公钥加密的数据只能利用特定的私钥才能将数据完整地还原,可以让不安全的客户端进行安全通信,而不必担心数据的泄露。整个PKI系统的工作原理如图1所示。
如图1所示,在整个体系中,认证机构(CA)是整个基础设施的核心,是整个交易中受信任的第三方;审核机构(RA)是对认证机构所发放的证书进行管理、发放的有利扩充;密钥管理中心(KMC)可以产生密钥并对其进行管理的机构,对于一个认证机构来说,必须要对应一个密钥管理中心;而数字证书库是存放证书的空间,要保证数字证书库的安全性和完整性,一般来说,数字证书库都是基于X.500或LDAP系列。
(2)PMI体系
PMI与PKI的结构非常相近,它主要由属性证书、证书库及权威等部件组成,可以完成证书的产生、发放、存储、管理及撤销操作。在体系结构上主要由三层构成,分别是信任源点SOA、权威机构中心(AA)及中心点。其架构如图2所示。
2.2 XML安全技术
XML的全拼是eXtensible Markup Language(可扩展标记语言),这是一种开放型的数据描述语言。互联网的信息是开放性的,对每一个用户来说,网络上的数据都可以进行修改,XML语言可以清晰地表达所描述的内容,但对于XML文件来说,也是开放的,每个人都可以轻松地得到相关的信息数据,保证XML文件的安全性和完整性就十分重要。
XML签名加密技术本身并没有在技术上进行突破,但是XML文件可以在其内部进行XML元素的签名和加密工作,这样XML文件的安全保密工作提供了极大的扩展性和灵活性。
XML的签名主要包括创建和验证两个方面。创建时主要有引用创建和签名创建两部分,首先进行引用创建,利用URI查找相关数据,并对数据进行转换,将其生成摘要,创建出Reference元素;签名创建SignedInfo元素,将上面创建的Reference元素包含进来,指定其方法,将元素标准化并签名,组合成Signature元素。验证工作有引用验证和签名验证,签名验证获取相关密钥,对标准化的元素进行摘要生成,与解密元素进行比较,如果与原文一致,则验证成功。
3 多媒体应用安全模型设计
对于多媒体应用安全系统的模型主要由PKI/PMI模块、多媒体访问控制模块和安全审计模块三部分组成,其架构如图3所示。
PKI/PMI模块主要承担着身份认证与授权管理,资源管理中心和注册机构接收用户的证书请求,注册机构首先对用户的信息进行审核,用户请求通过审核之后,由认证中心给相关的用户发放公钥证书,注册机构将其证书转发至数字证书证书库之中,同时告知用户,对用户的数据信息进行授权审核,授权中心对属性证书进行处理,并将其存放到数字证书证书库里。
多媒体访问控制模块将各种相关的数据信息进行存放和管理,用户在相关权限下进行操作,系统对其身份和角色进行安全检查,将用户所需要的数据分发给相关用户。
安全审计模块是对数据库中的数据进行全方位的监视,对用户及管理员所进行了每一次操作都进行日志处理,便于日后的追踪。
4 具体模块实现
Java集成了大量的安全工具和XML加密签名,利用Java2作为开发平台是当前多媒体应用安全系统的最优选择。
4.1 PKI/PMI模块实现
Java2平台集成了密钥库,密钥库中主要有公开密钥在X.509格式的证书里,信任证书在另外一个公开密钥X.509证书中。X.509证书主要有版本号、序列号、签名、颁发者、有效期、主体、主体公钥信息、颁发者唯一标识符和主体唯一标识符组成。
对于注册机构(CA)的实现,首先创建其CA根证书,其次将其导出到文件系统之中,对于Java来说,其默认的存放位置是JAVAHOME\jre\security\cacers,然后Java会自动给对应的CA签发证书。其X.509证书实例部分描述所示:
Name ::= CHOICE {
RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::=
SET OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE {
type AttributeType,
value AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY DEFINED BY AttributeType
Validity ::= SEQUENCE {
notBefore Time, -- 证书有效期起始时间
notAfter Time -- 证书有效期终止时间
}
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
UniqueIdentifier ::= BIT STRING
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier, -- 公钥算法
subjectPublicKey BIT STRING -- 公钥值
}
subjectPublicKey:
RSAPublicKey ::= SEQUENCE { -- RSA算法时的公钥值
modulus INTEGER, -- n
publicExponent INTEGER -- e -- }
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
4.2 多媒体访问控制模块实现
在该模块中,主要实现用户认证与权限识别、安全套接层、扩展的RBAC模型和XML安全存储等功能。
在系统的设计中,客户端与服务器之间进行通信,主要通过安全套接层来实现,客户端与服务器端无法进行安全交互,那么所有的操作都是无效的。在Java中,可以利用.SSLSocket套接字类中的接口.socket子类进行标准的套接字连接,同时还可以将SSL功能加入到具体的Java程序之中,对其所有待传的证书、公钥、密钥及数据进行加密,解密时则由Java自带的SSL类来实现,这样可以保证整个系统的安全系数进一步的提高。
其代码实现如下:
X509TrustManager xtm = new Java2000TrustManager();
TrustManager mytm[] = { xtm };
// 得到上下文
SSLContext ctx = SSLContext.getInstance(“SSL”);
// 初始化
ctx.init(null, mytm, null);
// 获得工厂
SSLSocketFactory factory = ctx.getSocketFactory();// 从工厂获得Socket连接
Socket socket = factory.createSocket(host, HTTPS_PORT);//和普通的Socket操作一样
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out.write(“GET ” + url + ” HTTP/1.0“);
out.flush();
System.out.println(“start work!”);
String line;
StringBuffer= new StringBuffer();
while ((line = in.readLine()) != null) {
sb.append(line + ”“);}
out.close();
in.close();
System.out.println(sb.toString());}
}
5 结束语
本文针对多媒体应用的安全进行研究,通过认证和加密的方式来确保安全,本文从总体上进行了分析,由于篇幅所限,并没有将内容完全展开,文中难免有不足之处,欢迎读者批评指正,共同提高。
参考文献
[1] 尹志兵,黄红明,熊桂喜.一种基于 PMI 的访问控制模型及其应用.计算机工程,2004(1).121-123.
[2] 程安潮.基于属性证书的PMI授权管理模型应用研究.计算机工程,2006(4).162- 164.
[3] 周学广,张焕国,张少武等.信息安全学(第二版).北京:机械工业出版社,2008.104.
[4] 谭寒生,张舰,PMI与PKI 模型关系研究.计算机应用,2002(8).86-88.
作者简介:
刘来权(1979-),讲师;研究方向为多媒体应用、项目管理、数字应用、高职教育等。
雷燕瑞(1980-),讲师;研究方向为数据库应用、程序开发、高职教育等。