1、1北京市供电局北京供电局一户一表售电系统规范此规范仅适用于北京市居民电卡表的软件设计工作,涉及电卡表厂商程序设计、电卡结构、内容、供电局营业开户以及银行售电网络等方面。在北京市使用的电卡表及售电管理流程必须符合此设计规范。 本规范共分成五部分,分别从总体设计、电卡表、电卡、电卡表和 IC 卡接口、供电局和银行业务五部分对应该遵循的标准进行描述。第一部分 总体设计部分本规范具有以下特点:1、高度安全的售电系统将电卡设计为 CPU 卡后,将采用密钥管理方式,其安全级别高,外人很难攻击,同时掌握核心主密钥的人极少。电卡表内部的安全认证过程完全在电卡内部实现。2、方便灵活的售电网络售电系统充分利用工商
2、银行储蓄网点,用户所有的购电缴费操作都可通过工商银行储蓄网点进行,实现了就近购电缴费和异地购电缴费,极大地方便了用户。3、提供方便的辅助售电除银行储蓄网点正常售电外,还在社会上发行一定数量固定电量的不记名电卡,当用户由于各种原因不能及时到银行储蓄网点购电时,可以购买不记名卡作应急用。4、符合 IC标准的售电 系统售电系统采用了符合 IC 卡国际标准的 CPU 卡,便于进行升级,从而保证售电系统不会由于 IC 卡的更新而被改变,使系统的适应性大为增加,保证了一户一表工程能够长期稳定地进行。5、可扩展的售电系统采用 CPU 卡后,已经与金融系统使用的 IC 卡一致,并且售电系统已经保留有与银行系统
3、接轨的接口,具备了与银行发行联名卡的条件,为将来实现一卡多用打下了基础。2北京市供电局第二部分 电卡表部分、 电卡表功能(1) 、智能控制功能:电卡表使用机电一体式电卡表,采用光电脉冲采样方式自动计量用户电量,当用户购电量用完时,自动切断用户用电。(2) 、预报警功能:当用户电卡表中所剩电量小于报警电量时,能够给予用户报警提示,以便用户尽快购电。(3) 、电量返读功能:用户每次将电卡插入电卡表后,电卡表将自动把剩余电量等信息回写到电卡中,以供售电管理系统查询。(4) 、安全保护功能:采用 CPU 卡作为购电卡,在电卡表内安装有 SAM 模块,与 CPU 卡相互做密钥认证,具有高度安全性,严格保
4、证一户一表一卡,每次购电卡只一次输入有效。(5) 、补卡功能:当用户购电卡丢失时,可以通过售电网络为用户补发电卡。(6) 、检查功能:售电网络可以发行检查卡,定期对用户电卡表运行情况进行检查。 、 电卡表结构、 电卡表的安全控制(1)、SAM 卡认证功能:电卡表内有一个 SAM 模块对 CPU 卡进行安全认证,同时存储电卡表内的计量和状态数据,为配合SAM 模块,电卡表内还有一个晶振,频率为3.579545MHz,电卡表内单片机与 CPU 卡以及 SAM 模块的通讯速率均为 9600 波特。SAM 模块为 8 脚 DIP 封装,管脚定义为: 1地;2编程电压端;3数据端;6时钟端;7复位端;8
5、电源端;4、5 两脚空闲。(2) 、电卡表通讯功能:电卡表内 CPU 与 CPU 卡以及 SAM 模块通讯均采用 T=0 协议,电卡表的安全认证由 CPU 卡和 SAM 模块共同完成,表内 CPU 只起通讯传递作用,无需增加加密算法。、 电卡表电量控制原理(1)、数据项内容说明3北京市供电局1、 户号(10 位 5 字节):与电表表号一一对应,用户开户时产生2、 电表表号(10 位 5 字节):即电卡表出厂编号。为压缩 BCD码,由三部分组成:电表表号=厂商编号+版本号+电表流水号其中厂商编号为 2 位 1 字节。目前规定为:01北京富根公司;02天津新巨升公司;03北京双翼能源公司。版本号为
6、 2 位 1 字节。由各厂家根据情况而定,初始值均为01。电表流水号为 6 位 3 字节。为各厂家生产时电卡表的流水号,应保证一表一号不重复。电卡表铭牌编号应与电表表号一致。3、 电卡类型(2 位 1 字节):即营业购电卡的类型编号,规定为:01初始化卡;02用户购电卡;03检查卡;04补卡电卡表生产厂家自定义电卡类型从 80H 开始编码。4、 购电量(6 位 3 字节):即用户每次到银行网点交款所购电量。电卡表从电卡中读入购电量后应将电卡中购电量单元数据清零,银行售电网络在下次为用户售电时若发现用户电卡中购电量单元不为零则拒绝售电。5、 购电次数(4 位 2 字节):即用户从开户起到银行网点
7、交款购电总次数,每购一次电购电次数加一,若购电次数为9999 则下次加一翻为 0000。6、 报警电量(12 位 6 字节):即提醒用户尽快购电的报警门限电量。具体划分为报警电量 1 和报警电量 2,各为 6 位 3字节,其中报警电量 1 的值大于报警电量 2 的值。当用户电卡表中剩余电量小于报警电量 1 时,用户电卡表的数码显示部分处于常亮状态,给予用户第一次光报警。当用户电卡表中剩余电量小于报警电量 2 时,切断用户用电提醒用户,用户此时将电卡插入电卡表后可恢复用电,但此后数码管仍保持为常点亮状态,两次报警电量值可任意设置。7、 下限电量(6 位 3 字节):即限制用户将购电量输入电卡表的
8、门限电量。当用户电卡表中剩余电量大于限购电量时,不接受用户本次所购电量;只有当用户电卡表中剩余电量小于4北京市供电局限购电量后才能接受用户所购买的电量,以免造成用户囤积电量。不接受用户购电卡时数码管显示剩余电量并闪烁给予用户提示,延时 10 秒后自动消失。8、 剩余电量(6 位 3 字节):即用户电卡表中允许用户还能使用的电量。用户每次将购电卡插入电卡表中时将剩余电量返写至电卡中。9、 累计购电量(6 位 3 字节):即用户自开户起累计所购电量。当累计购电量超过“999999”时自动滚屏为“000000” 。10、 累计应急购电量(6 位 3 字节):即用户使用不记名卡累计所购电量。当累计购电
9、量超过“999999”时自动滚屏为“000000”。11、 累计用电量(6 位 3 字节):即用户自开户起累计所用电量。当累计用电量超过“999999”时自动滚屏为“000000” 。12、 过零电量(6 位 3 字节):当电卡表中剩余电量为零后应断开继电器切断用户用电,若此时电卡表未能切断用户用电,则用户到下次购电前所使用的电量称为过零电量。银行售电网点每次购电前需读入此单元,若不为零则拒绝售电。13、 脉冲常数(4 位 2 字节):即每记录一度电电子部分所接收到的脉冲数。14、 非法插卡次数(4 位 2 字节):即累计插入非法电卡的次数。所谓非法电卡是指与电卡表内部表号不符的电卡,检查卡除
10、外。15、 电卡类型(2 位 1 字节):01首次购电卡;02普通购电卡;03检测卡;04补卡;05不记名卡;06修改主密钥卡。16、 电卡表状态字(2 位 1 字节):即反映电卡表运行状态的单元。目前反映 2 个状态信息:继电器出错标志;EEPROM出错标志:00正常;01继电器出错;02EEPROM 出错;03继电器、EEPROM 均出错;此时在数码管上显示“E-编码” 。5北京市供电局第三部分 电卡部分一、电卡分类及结构电卡根据其功能以及使用环境不同,可以划分为用户卡、检查卡、不记名卡、修改主密钥卡和 SAM 卡五类,具体定义如下:(1)、用户卡:用户卡是指用户用来完成购电以及向电卡表中
11、追加购电量的电卡。其结构如下:MF 主文件 KEY 文件电表应用 DF KEY 文件 电表外部认证密钥购电外部认证密钥电量外部认证密钥内部认证密钥电卡发行密钥二进制文件(购电应用)二进制文件(电卡表返写应用)银行应用 DF(视情况而定,如不与银行联合发卡, 则不需要此 DF)为考虑今后与银行应用接轨,将电卡表应用设计为一个 DF 文件,MF 主文件结构保留,今后开放给银行应用。在设计中做到不经过 MF级就可直接访问电表应用 DF 文件。在电表应用 DF 文件中包含三个文件,其中购电应用二进制文件是银行写购电信息的文件,电卡表返写应用二进制文件是电卡表返写数据的文件。对它们的写操作分6北京市供电
12、局别由 KEY 文件中购电外部认证密钥、电表外部认证密钥和电量外部认证密钥控制,用户卡必须通过内部认证以及相应的外部认证后才可以进行写操作,但对用户卡所有二进制文件的读操作则不需任何认证即可进行。电卡发行密钥与售电流程操作无关,是供电局在初始化电卡时的外部认证密钥,通过此认证才可以更改电卡中的密钥。(2)、检测卡:检测卡是供电局和电卡表生产厂家用来对电卡表进行检测用的电卡。此卡对所有电卡表通用,插入电卡表后将返回电卡表内所有计量和状态信息,其结构如下:MF 主文件 KEY 文件电表应用 DF KEY 文件 二进制文件(存放检测卡指令)循环文件(记录检测卡数据)由于检测卡是通用的工具卡,所以在其
13、结构中只有一个空的KEY 文件,不含有任何密钥,这样就可以很方便地制作和使用检测卡。二进制文件存放的是检测卡指令,循环文件用来记录电卡表返回的数据,一张检测卡最大可以存储 9 只电卡表的数据。(3)、不记名卡:不记名卡是供电局单独在社会上发行的一次性购电卡。当用户电卡表电量用完且不能立即到银行储蓄网点进行下次购电时,可以购买不记名卡作应急用。其结构如下:MF 主文件 电表应用 DF KEY 文件 电表外部认证密钥7北京市供电局KEY 文件 购电外部认证密钥内部认证密钥电量外部认证密钥电卡发行密钥二进制文件(购电应用)钱包文件(购电量)二进制文件(电卡表返写应用)(4)、生产测试卡:生产测试卡是
14、为了方便电卡表生产厂家在生产过程中进行检测的一组卡,其内容由各电卡表生产厂家自定,但为保证能够与电卡实际使用情况相同,其数据结构兼容用户卡结构。具体结构如下:MF 主文件 电表应用 DF KEY 文件 电表外部认证密钥KEY 文件 购电外部认证密钥内部认证密钥电量外部认证密钥脉冲常数外部认证密钥二进制文件(购电应用)二进制文件(电卡表返写应用)与用户卡的区别有两点:一是不考虑银行应用;二是增加脉冲常数外部认证密钥,如果需修改脉冲常数,必须经过此认证,否则SAM 模块不接受,这也就意味着出厂后脉冲常数将不可更改。生产8北京市供电局测试卡中的密钥均为公开密钥,电卡表生产厂家可以根据需要随意制卡。(
15、5)、修改主密钥卡:在电卡表生产过程中,为方便电卡表生产厂家测试,SAM 模块中的主密钥是公开的,电卡表出厂前,利用供电局提供的修改主密钥卡将电卡表内 SAM 模块的主工作密钥修改为实际运行过程中的主密钥,电卡表主密钥修改后也就意味着电卡表生产厂家使用的电卡不可能进入供电局售电管理系统,此主密钥由供电局掌握,电卡表生产厂家不可知。其结构如下:MF 主文件 电表应用 DF KEY 文件 外部认证密钥KEY 文件 二进制文件(新外部认证密钥密文、新电表外部认证主工作密钥密文、新内部认证主工作密钥密文、新电量外部认证密钥密文、新脉冲常数外部认证密钥密文)将修改主密钥卡插入后,首先由 SAM 模块对电
16、卡进行外部认证,认证通过后将电卡中的五个密钥的密文读入,SAM 模块利用线路保护密钥对它们进行解密,然后逐一替换 SAM 模块中的主工作密钥。需特别指出的是替换后由于主密钥改变,生产测试卡将不能再修改脉冲常数,而用户卡中不含脉冲常数外部认证密钥,也不能对脉冲常数进行修改。(6)、SAM 卡:SAM 卡在电卡表中有两个作用:一是进行一表一卡的安全认证工作;二是作为电卡表内数据存储区,其结构如下:MF 主文件 KEY 文件 电表外部 认证主工作密钥9北京市供电局内部认证主工作密钥电量外部认证密钥脉冲常数外部认证密钥外部认证密钥线路保护密钥钱包文件(剩余电量)二进制文件(脉冲常数)二进制信息文件(偏
17、移量从 00H 开始)在 SAM 卡中,KEY 文件中的电表外部认证主工作密钥和内部认证主工作密钥用于一户一表安全认证;外部认证密钥和线路保护密钥用于更换电卡表应用主工作密钥;电量外部认证密钥用来对钱包文件进行认证,剩余电量增加时必须经过认证才能写入 SAM 卡,剩余电量递减时不需通过认证;脉冲常数外部认证密钥用来对脉冲常数二进制文件进行安全认证,修改脉冲常数必须通过认证,但读操作则不需认证;二进制信息文件用于存放电卡表内部数据,不需认证可自由读写,其格式由各电卡表生产厂家自定。二、电卡应用文件和密钥1、 电卡应用文件(1) 、购电应用二进制文件购电应用二进制文件存放用户购电信息。在 CPU
18、卡,二进制文件为一个连续存储区,用户可对其中任意一个存储单元进行读写操作。(2) 、电卡表返写应用二进制文件电卡表返写应用二进制文件存放从电卡表返回的信息。当用户把所购电量写入电卡表的同时电卡表把卡内的信息写入用户卡,下次购电时由主机读入系统。(3) 、存放检测卡指令二进制文件存放检测卡指令二进制文件存放用于电表检测的指令。10北京市供电局(4) 、检测卡检测记录数据循环文件检测卡检测记录数据循环文件存放电卡表检测结果数据,该文件最大可以存储 9 只电卡表的检测数据。循环文件为一定长记录文件,但只能在文件尾追加记录,当记录写满后自动覆盖最早写入的记录。定长记录文件为记录长度固定的文件,每条记录
19、以固定格式存放,由系统对其进行操作解释,记录是最小的读写单元。(5) 、购电量钱包文件购电量钱包文件存放用户购电量,钱包文件结构和循环文件相同,只是每条记录为数值型。2、 电卡密钥类型(1) 、用户卡电表外部认证密钥用户卡电表外部认证密钥控制对用户卡上电卡表返写应用文件的写操作。售电网络通过电表外部认证密钥的认证,可以擦除卡上的电卡返写应用文件。(2) 、用户卡购电外部认证密钥用户卡购电外部认证密钥控制对用户卡上购电应用文件的操作。售电网络通过购电外部认证密钥的认证,可以在卡上写入购电量等相关信息。(3) 、用户卡电卡发行密钥用户卡电卡发行密钥控制对用户卡上密钥的更新。售电网络通过电卡发行密钥
20、认证后可以修改用户卡上的密钥组。(4) 、用户卡内部认证密钥用户卡内部认证密钥控制对用户卡的操作。只有通过对用户卡的内部认证,用户卡才被认可是本系统所发行卡,才能进行进一步的操作。(5) 、用户卡电量外部认证密钥用户卡电量外部认证密钥控制对电卡表中 SAM 卡的操作。通过对 SAM 卡的电量外部认证密钥的认证,电卡表允许将购电量写入 SAM 卡中。(6) 、SAM 卡线路保护密钥SAM 卡线路保护密钥控制对 SAM 卡密钥组的更新。修改主密钥卡中存放的被加密保护的密钥在传输到 SAM 卡后,SAM 卡使用线路保护密钥对数据进行保护码的认证,然后11北京市供电局对数据进行解密,得到真正的密钥组用
21、于修改 SAM 卡的密钥。线路保护密钥使被更新的密钥在传输过程中,以加密保护的方式传送,直到被更新的 SAM 卡内部以后,才得到真正的密钥数据。该数据在传送过程中如果被窃取,由于窃取者不知道线路保护密钥,也不可能得到真正的密钥。(7) 、SAM 卡脉冲常数认证密钥SAM 卡脉冲常数认证密钥控制对电卡表脉冲常数的修改。供电局通过该密钥的认证后,可以修改电卡表中的脉冲参数。三、卡的密钥安全体系、1、 卡相关业务初始化流程SAM 模块PSAM 卡,初始化用户卡(白卡)安装电卡表,发开户单开户单用户购电卡已购电的用户卡(2)卡密钥的种类、存储及生成关系系统通过总控卡完成用户卡、SAM 模块和 PSAM
22、 卡的密钥初始化。总控卡存 储 DES 加密密钥 MKEY,MKEY 是由若干位操作人员输入密钥初值,通过 总 控卡生成程序 对 特定的代 码 D0 加密生成的。总控卡的 MKEY 通过对八个特定代码(D1,D2,D3,D4,D5,D6,D7,D8)加密生成八个主密钥:购电外部认证主密钥 BK_MEKEY、电表外部认证主密钥 MEKEY、内部认证主密钥 MIKEY、电量外部认证主密钥 POKEY、脉冲常数外部认证主密钥 PUKEY、外部 认证密钥 EXKEY、线路保护密钥 LIKEY。七个主密制卡中心初始化用 户卡、SAM 模块、PSAM 卡电卡表厂生产电卡表售电网点电卡表安装部门用户用户电卡
23、表12北京市供电局钥分别写入三种 SAM 卡:用户卡发行 SAM 卡、SAM 模块和 PSAM卡。七个主密钥以 DES 加密密 钥 方式写入用户卡发行 SAM 卡;购电外部认证主密钥 BK_MEKEY、电表外部认证主密钥 MEKEY、内部认证主密钥 MIKEY 以 主工作密 钥 方式 写入 PSAM 卡;电表外部认证主密钥 MEKEY、内部认证主密钥 MIKEY 以 主工作密 钥 方式 写入SAM 模块,电量外部认证密钥 POKEY、脉冲常数外部认证密钥PUKEY、外部认证密钥 EXKEY、线路保护密钥 LIKEY 以密钥方式写入 SAM 模块。用户卡上存储购电外部认证密钥、电表外部认证密钥、
24、内部认证密钥、 电量外部认证密钥,前三个密钥是由用户卡发行 SAM 卡上的三个相对应的 DES 加密密钥分别对用户卡的卡序列号加密生成的,因此每张用户卡上的密钥将各不相同,电量外部认证密钥是以密钥方式写入用户卡的,在每张用户卡上是相同的。此加密过程由供电局操作完成。售电时 ,通过内部认证密钥的测试,售电网点确认用户卡为供电局所发行的卡,通过购电外部认证密钥的认证,用户卡允许售电网点在卡上写入电量等相关信息,通过电卡表外部认证密钥的认证,用户卡允许售电网点将卡上电卡表返写二进制文件擦除;用户卡向电卡表传输电量时,通过内部认证密钥的测试,电卡表确认用户卡为供电局所发行的卡,通过电卡表外部认证密钥的
25、认证,用户卡允许电卡表在卡上写入返写信息,通过电量外部认证密钥的测试,电卡表允许将购电量写入 SAM 模块中。修改主密钥卡只存有外部认证密钥,它用来对电卡表 SAM 模块进行 DES 加密用。此外部认证密钥是由用户卡发行 SAM 卡以密钥方式写入的,因此所有修改主密钥卡上的外部认证密钥均相同。认证时,首先由 电卡表从 SAM 模块取随机数送修改主密 钥卡,修改主密钥卡对随机数进行 DES 加密后将加密结果送回电卡表,电卡表再将加密结果送 SAM 模块,并发外部认证指令,SAM 模块认证通过后可以接受电卡中的新密钥。、3、 卡密钥生成流程BK_MEKEY、MEKEY、MIKEY MEKEY、MI
26、KEY、POKEY BK_MEKEY、MEKEY总 控卡 MKEY13北京市供电局POKEY、PUKEY、EXKEY、LIKEY PUKEY、EXKEY、LIKEY MIKEY、POKEY购电、电表、电量外部认证密钥、内部认证密钥外部认证密钥第四部分 电卡表和卡的接口一、电卡数据文件结构及数据项目1、电卡数据文件结构(1)、用户卡购电应用二进制文件偏移量 数据 说明00H 68H 起始01H 02H 命令02H 20H 长度03H04H05H06H07H户号08H 01(02,04)H 电卡类型09H0AH0BH购电量0CH0DH购电次数0EH0FH10H报警电量 111H12H13H报警电量
27、 214H15H16H下限电量17H 校验和18H 16H 结束码用户发行 SAM 卡对用户卡中的数据加密SAM 模块用户卡交给表厂装入电卡表PSAM 卡交给银行装入POS修改主密钥卡14北京市供电局(2)、用户卡电表返写应用二进制文件偏移量 数据 说明00H 68H 起始01H 80H 命令02H 21H 长度03H04H05H剩余电量06H07H08H累计购电量09H0AH0BH累计用电量0CH0DH0EH过零电量0FH 00H10H 00H非法插卡次数11H 00-03H 电卡表状态字12H13H14H15H16H电表表号17H18H19H累计应急购电量1AH 校验和1BH 16H 结束
28、码(3)、检测卡二进制文件偏移量 数据 说明00H 68H 起始01H 04H 命令02H 01H 长度03H 03H 电卡类型04H 08H 校验和05H 16H 结束码(4)、检测卡循环文件偏移量 数据 说明00H 68H 起始01H 81H 命令15北京市供电局02H 33H 长度03H04H05H06H07H电表表号08H09H0AH剩余电量0BH0CH0DH累计购电量0EH0FH10H累计用电量11H12H13H累计应急购电量14H15H16H过零电量17H 00-03H 电卡表状态字18H19H购电次数1AH1BH脉冲常数1CH1DH1EH报警电量 11FH20H21H报警电量 2
29、22H23H24H下限电量25H 校验和26H 16H 结束码(5)、不记名卡购电应用二进制文件偏移量 数据 说明00H 68H 起始01H 05H 命令02H 01H 长度03H 05H(07H) 电卡类型04H 校验和05H 16H 结束码16北京市供电局(6)、不记名卡电表返写应用二进制文件偏移量 数据 说明00H 68H 起始01H 82H 命令02H 05H 长度03H04H05H06H07H电表表号08H 校验和09H 16H 结束码(7)、修改主密钥卡二进制文件偏移量 数据 说明00H 68H 起始01H 06H 命令02H 81H 长度03H 06H 电卡类型04H 数据块长度
30、05H06H07H08H09H0AH0BH0CH新外部认证密钥密文0DH0EH0FH10H11H12H13H加密数据块14H 数据块长度15H16H17H18H19H1AH1BH1CH新电表外部认证主工作密钥密文1DH 加密数据块17北京市供电局1EH1FH20H21H22H23H24H 数据块长度25H26H27H28H29H2AH2BH2CH新内部认证主工作密钥密文2DH2EH2FH30H31H32H33H加密数据块34H 数据块长度35H36H37H38H39H3AH3BH3CH新电量外部认证密钥密文3DH3EH3FH40H41H42H43H加密数据块44H 数据块长度45H46H47H
31、48H49H4AH4BH4CH新脉冲常数外部认证密钥密文4DH 加密数据块18北京市供电局4EH4FH50H51H52H53H54H 校验和55H 16H 结束码2、电卡数据文件的数据格式说明数据在购电卡中采用不定长格式存放,在往购电卡中写数据或从购电卡中读数据均采用数据串的形式进行,具体格式如下:起始 命令 长度 数据 校验 结束起始:1 字节,固定为 68H,为数据串的开始表识。命令:1 字节,不同的命令在购电卡中写入的数据类型不同,它决定了数据串中数据的长度。命令码定义为:02购电命令码;04检测卡命令码;05不记名卡命令码;06修改主密钥卡命令码。长度:1 字节,压缩 BCD 码,为数
32、据串中数据区的长度。数据:字节数不定,为前面介绍数据项的组合,组合方式与命令有关。校验:1 字节,为命令、长度、数据三部分的累加和去除高字节自然溢出后得到,为 16 进制数。结束:1 字节,固定为 16H,代表数据串结束。对数据串是否有效的判别依据为:起始、结束字节必须正确;长度与数据区字节数必须相等;校验必须正确。数据项的具体含义参照电卡表部分的解释。二、电卡表和卡的安全认证流程电卡表和卡的安全认证都是通过电卡表中的 SAM 模块完成的,电卡表在认证过程中只起到数据传输的作用。(1)用户卡和电卡表 SAM 模块的内部认证流程 电卡表读取用户卡上的卡序列号,送 SAM 模块 SAM 模块用内部
33、认证主工作密钥对卡序列号进行加密,生成内部认证工作密钥 电卡表送加密指令及随机数给用户卡,用户卡用内部认证密钥加密,并将加密结果 D1 送回电卡表19北京市供电局 电卡表送加密指令及随机数给 SAM 模块,SAM 模块将加密结果 D2 送回电卡表 电卡表比较 D1 与 D2,若相等,则内部认证成功;否则不成功(2)用户卡和电卡表 SAM 模块的外部认证流程(购电外部认证、 电表外部认证) 电卡表取用户卡的卡序列号,送 SAM 模块 SAM 模块用购电/电表外部认证主工作密钥对卡序列号进行加密,生成购电/电表外部认证工作密钥 电卡表从用户卡取随机数 电卡表将随机数送 SAM 模块,SAM 模块用
34、工作密钥对随机数加密,并将加密结果返回 电卡表送加密结果给用户卡,并发外部认证指令 用户卡告诉电卡表认证是否成功,若成功则将电卡状态置为相应外部认证密钥规定的状态(3)电卡表 SAM 模块的外部认证流程(外部认证、 电量外部认证、脉冲常数外部认证) 电卡表从 SAM 模块中取随机数 电卡表将随机数送用户卡(对脉冲外部认证,为生产检测卡),用户卡用相应的工作密钥对随机数进行加密,并将加密结果送回电卡表 电卡表将加密结果送 SAM 模块,并发外部认证指令 SAM 模块告诉电卡表认证是否成功,并允许电卡表对 SAM模块作相应的操作(4)电卡表读取电卡购电量流程 电卡表从用户卡中读取卡序列号和用户号,
35、并比较用户号是否一致,不一致则拒绝读卡 用户号一致,电卡表将卡序列号送 SAM 模块,SAM 模块对卡序列号进行加密,生成相应的工作密钥 电卡表用内部认证密钥对电卡作内部认证 电卡表用电表外部认证密钥对电卡作外部认证 电卡表从电卡购电应用二进制文件中读取购电数据,判断其完整性,同时判断购电次数是否与电卡表内一致,不一致则向电卡表返写应用二进制文件返写数据退出 若判断一致,电卡表用电量外部认证密钥对 SAM 模块进行20北京市供电局外部认证,若一致则将购电量及状态数据存入 SAM 模块,并返写数据退出;否则只返写数据退出(5)电卡表和电卡实现一户一表的流程用户卡密钥初始化完成后,由供电局发给银行
36、各储蓄网点;供电局将电卡表安装完毕并将开户信息登录后,向用户提供开户单。用户持开户单到银行储蓄网点办理开户以及购电手续,银行储蓄网点根据用户开户单上的户号从供电局传给银行主机的数据库中调出用户信息,按规定格式写入已初始化的用户卡,完成用户卡的开户工作。同时根据用户的要求进行售电操作,将售电量同时写入用户卡中。用户将用户卡插入电卡表后,电卡表将用户号读入,存入电卡表 SAM 模块中,然后读入用户的购电量,完成首次购电操作,同时将电卡表表号返写给电卡。当用户第二次购电时,银行储蓄网点从电卡中读取电卡表表号,通过银行主机返传到供电局营业中心,完成用户电卡表的资产登记管理;当用户第二次购电插卡时,电卡表将用户号读入,首先与 SAM 模块中的用户号进行比较,若相同则进行读入购电量操作,不同则拒绝读卡。这样就完成了一户一表的认证工作。第五部分 供电局、银行业务管理安装人员安装电卡表供电局工作人员给用户开户单用户持开户单到银行完成用户卡的开户及首次购电银行将用户信息写入用户卡完成个人化 用户将用户卡带回插入电卡表电卡表读取卡上的用户号电卡表读入电量并返写信息