姜正涛 王彤
摘 要:SET协议是电子商务安全交易的重要协议,结合信息安全课程建设的实践,设计了SET协议教学内容的教学目标,从学生易于理解的协议流程讲解入手,过渡到SET协议流程所隐含的安全逻辑,使学生从中深刻体会安全协议的设计目标、原则、方法以及具体密码技术的使用,有利于学生对SET协议整体方案与具体算法功能的理解。
关键词:电子支付;SET协议;协议流程;双重签名
随着互联网的普及,基于互联网的电子商务得到了长足的发展,电子商务是一种新的商务模式,促进了商业流通的发展。同时安全威胁是电子商务的达摩克利斯之剑,是电子商务应用的主要障碍,是电子商务发展不得不面对的棘手问题。
SET(Secure Electronic Transaction,安全电子交易)是由Visa和MasterCard两大信用卡组织联合开发的电子商务安全协议。用来保证公共网络上银行卡支付交易的安全性,成为Internet上进行在线交易的电子付款系统规范协议。SET是一个通过使用X.509v3证书,为交易各方提供安全信道协议集,本身不是一个支付系统。它采用公钥密码体制和X.509数字证书标准,主要应用于B to C模式中保障支付信息的安全性。SET协议本身比较复杂,设计比较严格,安全性高,它能保证信息传输的机密性、真实性、完整性和不可否认性。SET协议是PKI框架下的一个典型实现,也是一个基于可信的第三方认证中心的典型方案
SET协议是电子商务安全交易的重要协议,应予以重点讲解。该内容是在学生基本掌握《信息安全技术》《密码学》(尤其是学习了对称密码学、公钥密码学等内容)的后继学习内容。本部分内容学习的主要目标:(1)初步了解电子商务安全协议及安全系统的基本背景知识,主要包括信息安全基础设施、电子商务安全管理、电子商务业务流程以及安全交易系统部分内容。(2)理解将电子商务安全逻辑付诸密码技术实现的核心思想与方法,包括电子商务安全体系框架、主體间的安全关系、信息流的保护、密码技术的使用及实现的功能。(3)具有初步的电子商务安全技术实现、安全分析能力。
一、SET协议的原理
本部分内容的学习目标:(1)通过电子商务安全的背景介绍,理解电子商务安全协议(SET)的设计目标;(2)思考电子商务中主要角色(银行、商家、用户等)的各自安全目标,深入掌握SET协议的流程与安全模块的功能。
SET协议的主要目标:(1)交易信息在Internet上的传输时,保证网上传输的数据不被他人窃听。(2)SET协议使用了一种双签名技术,将订单信息和个人账号信息隔离,使商家只能看到订货信息,看不到消费者的账户信息。(3)解决多方认证问题。不仅对客户的信用卡认证,而且要对在线商家认证,实现客户、商家和银行间的相互认证。(4)提供一个开放式的标准,规范协议和消息格式,促使不同厂家开发的软件具有兼容性和互操作功能。可在不同的软硬件平台上执行并被全球广泛接受。
哪些数据内容他人无法窃听?为什么商家看不到账务信息?如何实现双向认证?它们使用了哪些技术?针对这几个问题展开讲解,有助于深入理解SET协议安全模块的功能实现。
SET协议中的角色:(1)持卡人:即消费者,通过计算机与商家交流,持卡人通过由发卡机构颁发的付款卡(例如,信用卡、借记卡)进行支付。SET协议可保证持卡人的个人账号信息不被商家读取。(2)商家:提供商品或服务。接受卡支付的商家必须和银行有通信,以实现转账功能。(3)发卡机构:它是一个金融机构(如,银行),为每一个建立了账户的顾客颁发付款卡。(4)收单银行:支持在线交易,商家在银行开设账号,银行为商家处理(认证)支付信息并实现银行间(消费者发卡行与商家银行)转账。(5)支付网关:银行端的支付业务处理系统,处理商家提交的支付信息及消费者的支付指令。
基于SET的网上购物流程:①客户通过网络浏览器浏览在线商家的商品目录,选择要购买的商品。②填写订单,包括欲购商品名称、规格、数量及交货信息等,订单通过因特网发送给商家;商家进行应答,并告知货物单价、应付款数额和交货方式。③消费者选择付款方式,此时SET开始运行。④消费者发送给商家一个完整的订单及其要求付款的指令。订单和付款指令由消费者进行数字签名;同时使用双重签名(Dual Signature)技术,确保商家看不到消费者的账号信息。⑤商家接受订单后,把支付信息传送到收单银行,收单银行可以解密信用卡号,并通过认证验证签名;收单银行向客户开户银行(发卡银行)请求支付;发卡银行认可并签证该笔交易,按合同将款项划给收单银行,并返回确认信息,经收单银行通过支付网关将该信息发给在线商家。⑥在线商家发送订单确认信息给客户,客户端记录交易日志,以备日后查考;在线商家发送商品或提供服务。
二、SET协议的功能
SET协议中采用的加密技术及实现的功能:
(1)数字信封。SET依靠密码系统保证消息的安全传输。使用DES算法加密数据,然后将此对称密钥用接收者的公钥加密,形成消息的“数字信封”,将其和数据一起送给接收者,接收者先用他的私钥解密数字信封,得到对称密钥,然后使用对称密钥解开数据。(2)数字签名。数字签名用于确定消息的来源,保证发送者对所发信息不能抵赖。(3)消息摘要。在SET协议中,原文通过SHA-1算法生成消息的文摘。(4)双重签名。使用双重签名技术,保证消费者的账号等重要信息对商家隐蔽,这是数字签名在SET协议中的新应用。
通过本部分的学习,可进一步深入地理解密码算法,尤其是加密、签名算法在数据保密、认证性、防抵赖以及完整性方面的联合应用。
本文从教学实践出发总结了SET协议的内容讲解过程,并尝试首先讲解SET的协议流程,然后讲解SET协议每个模块的功能,以及实现这些功能所用的算法,并进一步比较不同算法间的实现差异。这样有助于增强学生对抽象的安全协议以及具体的密码算法两方面的理解与掌握。
参考文献:
[1]易久.电子商务安全.北京邮电大学出版社,2011-11.
[2]蒋融融,熊丽荣.网络安全协议的综合教学实践研究.计算机时代,2007(6):68-69.
[3]谷瑞军,姚娟.SET协议之双重签名教学探讨.电子商务, 2009(12).
(作者单位 中国传媒大学理工学部计算机学院)
?誗编辑 代敏丽