电厂报价实际上是电厂参与电力市场的决策管理机构和手段,它综合了传统的MIS系统、DCS系统的特点,打破了旧有的记录式和缺乏递推的管理模式,符合现代化电厂的主动参与电力市场的需求,因而有较强的发展趋势,而且由于电厂各不相同的特性,也决定了各电厂必须发展不同模式和个性的电厂报价系统,但在市场竞争的条件下,要确保竞标标书的可靠、真实和安全是非常有必要的。

一、电网发电竞价信息加密系统的主要功能

电网发电竞价信息加密系统包含3个既可以独立运行、又相互关联的子系统,即客户端,监控端(认证中心)和服务端;

(1)客户端

客户端负责将各个电厂的竟价信息经过加密处理,发送到服务端,同时接收服务端在Intemet发布的任何合法信息(包括竟标信息和竞标结果等)。

(2)监控端(认证中心)

监控端负责审核电厂的合法身份、发放电厂的有效数字证书:负责认证中心密钥管理(包括用于签名用户证书的密钥和其他密钥的各种运行参数信息在Internet上发布;以及用户管理。

只有确保竟标标书的真实、安全和可靠,所有的加密算法和竟标结果都是公开的,竟标结果才是公开的:只有竞标的所有过程都是可再现和反复验证的,竟标结果才是公正、公平的。

同时,监控端对电厂合法身份的审核,以及服务端对标书的接收,识别和保存全部自动进行并形成操作日志。由于每份标书都加上了时间戳,不会受到重发攻击的影响,符合竞标规范。

二、RSA加密算法在电网发电竞价信息加密系统的应用

电网发电竞价信息加密系统采用公开密钥的RSA加密算法,即公开加密和解密算法以及公开密钥。

1、RSA加密算法

公开密钥的RSA加密算法是:密钥分为加密密钥E,解密密钥D和公钥N。加密密钥E和公钥N可以公开,解密密钥D不能公开。加密时采用以E和N为参数的函数进行加密;解密时采用以D和N为参数的函数进行解密。

式(1)为加密运算数学表达式,式(2)为解密运算数学表达式。式中,X为竞标标书(明文);C为加密标书(密文);E为加密密钥:D为解密密钥:N为公钥。

E,D,N满足下述条件:(1)随机生成两个大素数P,Q(典型地应大于10100);(2)计算N=P×Q和Z=(P-1)×。(Q-1);(3)选择一个与Z互为质数的数D;(4)求加密密钥E;E是D关于Z的乘逆,满足E×D=1modZ。

系统采用了210即1024个二进制位的密钥长度,保证了在无解密密钥情况下,破译加密标书在计算上的不可实现,确保了竟标标书的安全性和可靠性。

2、竞标标书的加密与解密计算

(1)竟标标书(明文)X加密计算

对竟标标书X加密,计算C=XE(m od N)。将竞标标书X(看作一个比特串)划分成块,使各段竟标标书X落在区间0<X<N。把竟标标书分成k比特的块即可满足这一要求,其中,k为满足2k<N的最大整数。

(2)加密标书(密文)C解密计算

对解密加密标书C解密,计算X=CD(mod N)。加密标书C落在区间0< C<N。

可以证明,对于在指定范围内的所有X,加密函数和解密函数互为反函数。实行加密需要E和N,实旌解密需要D和N。因此,公开密钥由(E.N)构成,私有密钥由(D,N)构成。电厂传送竞标标书到省电力调度中心。首先用监控端的加密密钥将竟标标书加密。竞标标书传送到省电力调度中心后,用监控端的解密密钥解密。由于竟价系统采用公开密钥的RSA加密算法,加密措施非常有力,其他任何人都无法阅读加密后的竞标标书,且从公开密钥推导出解密密钥非常困难。而且,加密算法E和解密算法D同时满足下列3点要求:

(1)D(E(X))一X,确保了竟标标书的完整性;

(2)从E导出D极其困难,确保了竟标标书的真实性和可靠性;

(3)由一段竟标标书明文不可能破译出E,确保了竟标标书的安全性和保密性。

3、公开密钥的数字签名

公开密钥的RSA加密算法既能对标书进行加密、解密又有数字签名的作用。要保证竟标标书传送的真实性、完整性和不可否认性,必须有授权的亲笔签名存在与否来确定,即所谓的数字签名,数字签名能满足:

(1)省电力调度中心能够验证电厂(发送方)所宣称的身份。

(2)电厂以后不能否认竟标标书是他发送的。

(3)省电力调度中心不能伪造。修改或部分丢失该竟标标书内容。

首先,由监控端给每个电厂发放数字证书(Dc),也就是每个电厂的私有密钥,同时每个电厂还拥有省电力调度中心的公开密钥(ET);而省电力调度中心拥有每个电厂的公开密钥(Ec)和自己的
数字证书(私有密钥,Dr)。以上的Dc是每个电厂的身份证明,必须妥善保管,不能泄露出去。

(1)加密标书在通信线路上传输,有可能被截取或窃听。但窃听者没有调度中心的私钥和各电厂的公钥,则不可能从加密之后的标书中得到任何有效信息,也不可能篡改标书内容;而且,由于每份标书都加上了时间戳,也不会受到重发攻击的影响。

(2)如果电厂要否认曾经发送过标书X给调度中心,调度中心可以出示标书X和Dc(X),只需使用Ec,就能证明调度中心确实收到了一条用Dc加密的有效标书。由于调度中心不知道各电厂的私有密钥Dc,调度中心不可能自己生成这样一条由Dc加密的有效标书,因此只能是由电厂发送过来。

(3)所有的算法都是公开的。如果需要,所有的过程都可再现和反复验证。

三、RSA加密算法的软件实现

竟价系统服务端和监控端采用Windows NT操作系统,服务器数据库采用Microsoft SQLSever;客户端采用Windows98操作系统,客户端数据库采用Access;系统的竟标算法及子系统采用Visual Basic编程语言;网络协议为TCP/IP,网络技术采用客户机,服务器(C/S)模型。

1、RSA加密算法中函数XE(mod N)的软件实现

RSA加密算法在加密和解密运算时,所用到的只是幂模函数。

把竞标标书X(看作一个比特串)划分成块,使各段竟标标书X落在区间0<X(N。经过RSA的加密运算,得到加密标书CXE(mod N) (O<C<N)。

2、方程E×D=1 mod Z软件实现

解密运算和加密运算原理基本相同,只是读取需要解密的加密标书时,必须与经过加密运算后存入的加密标书相同,这是系统能否正确运行的前提条件,解密运算为X=CD(mod N),它是加密过程的模函数逆运算。

对于E×D=1 mod Z,在已知E而求D时,采用的幂模函数的求逆运算计算流程图如图4所示。

3、软件的安全性

系统的合法用户必须知道正确的解密密钥、公钥和用户密码才能进入系统,否则系统将拒绝进入.由于解密密钥,公钥和用户密码都是随时可以更改的,这就增加了非法用户进入系统的难度,将系统的不安全系数降至最低,确保系统的安全。

小知识之数字签名

数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。