应用层安全传输协议

设计文档的最终版权属于XPEC Corp.所有


摘要

本文档规定了应用层安全传输协议/Tiny Application Layer Security/малого уровня приложений безопасности,以下简称МУПБ。其目的在于为游戏客户端/服务器通讯提供隐私保护与数据完整性和真实性验证。正确实施此协议,将阻止通讯过程中的窃听,篡改与伪造。此协议的主要设计原理来自Transport Layer Security,是其定制的特别简化版。它是一个有状态协议。

МУПБ的主要设计目的在于为端对端通信提供私密与数据完整性保护。具体来说:

甲,基于加密的安全性:МУПБ用于建立端对端的安全连接。

乙,互操作性:МУПБ能够以不同语言实现,而互相通信。

丙,可承受的性能损失:协议的实现不应以超过10%的比率当显著影响ActionScript客户端的显示速度以及Java服务器的包吞吐率。

 

在通讯开始时,首先运行握手协议/Hand Shake。它总是先于其它全部通信之前运行:客户端和服务器首先宣布自己的存在,并且交换32 Byte随机数。然后服务器指定通讯使用的加密方法,哈希函数(目前是固定的),并且将自己的ECC Public Key 发送给客户端。客户端则使用伪随机数发生器生成密钥前体,称为pre master secret/“秘密前体”。接着以服务器的ECC Public Key将之加密发给服务器。之后,通信双方通过一个特定的算法将secret转化为对称加密参数。继而进入对称加密的通讯过程。

 

协议的组成部分包括(1)若干核心连接状态量,(2)ECC与ГОСТ加解密算法,(3)1个HMAC-ГОСТ函数与1个基于HMAC-ГОСТ的伪随机数发生器/Псевдо-генератор случайных,(4)将“秘密前体”转换为“主要秘密”,进而生出对称加密秘钥的算法,和(5)两组子协议。之后将逐章节论述。



posted on 2008-06-01 23:05  asashina  阅读(727)  评论(0编辑  收藏  举报

导航