B2C电子商务用户信息安全问题分析及建议
- 格式:pdf
- 大小:210.58 KB
- 文档页数:3
B2C电子商务用户信息安全问题分析及建议 文章编号:1003—5850(2012)09—0052—03
B2C电子商务用户信息安全问题分析及建议 杨晓峰 (山西建筑职业技术学院,太原030006)
摘要:用户信息安全是B2C电子商务安全中的一个重要部分。2011年底,B2C电子商务企业用户的信息泄露,引发了对用户 信息安全的再度思考。通过分析现阶段用户信息保存方式,综合运用多种安全手段,针对如何提高B2C电子商务用户信息安全提出 一些实际解决方法,并且使用PHP进行了实现。希望能够增加用户信息安全的可靠程度。 关键词:B2C,电子商务,用户信息,安全,问题 中图分类号.TP393.08,TP309.2 文献标识码:A
Analysis and Recommendations of B2C E-Commerce Users of Information Security
YANG Xiao—feng (Shanxi Architectural College,Taiyuan 030006,China)
Abstract:User Information security is an important part of the B2C e—commerce security.At the end of 201 1,the B2C e-commerce business user infa・rmation leakage,led to reconsideration about the security of user information.Through the analysis of current user information storage,this paper uses a variety of security measures,aiming at how to improve the B2C e-commerce user information safety and puts forward some practical solutions。using PHP to achieve.Hope to be able to increase the reliability of the user’S information security. Key words:B2C,e—commerce,user information,security,problems
1 我国电子商务用户信息的安全状况 介绍
信息安全是指由于各种原因引起的信息泄露、信 息丢失、信息篡改、信息虚假、信息滞后、信息不完善 等,以及由此带来的风险。从上世纪90开始出现电子 商务模式,我国的电子商务取得了快速发展。与电子商 务发展的同时,信息安全问题也一直存在,而且问题的 形式也在不断变化。 2011年底,电子商务企业就发生了一系列用户信 息泄露的事件: *京东商城在某些业务上存在用户权限控制不 当的漏洞,导致使用任意用户登录系统后,都可以正常 访问到所有用户的信息,包括:姓名、地址、电话、Email 等(中国财经网); * 收稿日期:2012—05—18,修回日期:2012—07—26 ** 杨晓峰,男,1979年生,硕士,研究方向:电子商务。 *国内著名的电子商务网站当当网存在严重系 统漏洞,个人用户轻易就可以抓取到总共4000多万个 当当用户的姓名、联系方式、地址等个人详细资料(南 方日报); *支付宝被泄露的用户信息总量达1 500万~ 2 500万之多,泄露的信息只限支付宝用户的账号,没 有密码(新浪财经)。
2 电子商务信息安全问题分析 电子商务的用户安全问题爆发以前,安全隐患就 一直存在,为什么在电子商务发展了多年,在即将开花 结果的关键时候,突然有人去盗取电子商务网站的用 户信息?黑客利用自己掌握的网络攻击技术,获取电子 商务网站用户的资料,比如:用户名、密码、邮箱、手机 号码、QQ号码,究竟意欲何为?此次受到攻击的电子 第25卷第9期 电脑开发与应用 商务网站中,京东、当当都属于大型B2C电子商务网 站,这些网站的用户信息真实可靠,而且有的账户中可 能还有资金可以使用。黑客设法获取这些用户信息和 资金的根本的原因就是利益。 (1)如果用户账户中有资金,黑客破解用户密码 后,便可轻易盗取; (2)黑客还可以将这些盗取的信息出卖给垃圾邮 件、垃圾短信发送公司,以获得报酬; (3)黑客根据获取的用户信息,猜测用户的密码 编写习惯,试图破解用户的QQ账号,游戏账号,支付 宝账号等其他账户信息。如果破解成功,将获得更多的 收益; (4)黑客也可以将自己获取的数据库包转卖,从 中牟利。 黑客攻击电子商务网站的理由很多,电子商务面 临巨大的挑战,尤其是自身涉及资金管理的B2C电子 商务网站,安全问题更为严重。
3 提高B2C电子商务用户信息安全的 建议 B2C电子商务面对的挑战很多,安全方面的挑战 更为巨大;如果用户信息不安全,用户担心信息泄露, 而不愿意通过B2C电子商务网站进行交易。 本文主要从B2C电子商务网站程序设计角度出 发,谈谈提高电子商务的用户信息安全的方法。 从2011年底的B2C电子商务网站泄露用户信息 事件中,经过分析,黑客对用户的密码和用户其他信息 (电话号码,QQ号码,Email)都很感兴趣。为了保护用 户信息,维护网站的信誉,我们必须对网站本身做出安 全修改,提高用户信息的抗破解能力。 3.1加强用户密码的保护。 目前电子商务网站使用的密码处理方式大多为 MD5信息摘要算法 。 (也有使用SHA—i安全散列算 法处理密码)。MD5信息摘要算法,由于其算法的公开 和安全性好已经被电子商务网站广泛使用。在保存用户 密码的时候,只保存密码的MD5摘要,而不保存密码 本身,这样可以提高密码的安全系数。这是传统的做法。 目前,现实中会遇到这样的问题:用户的密码位数 不够多,看似安全的MD5摘要算法,在这种情况下变 得十分容易破解。目前,在线破解MD5(SHA一1)的网站 很多,黑客可以利用现成的网站,或者亲自编写程序来 破解密码的MD5(SHA一1)值,获取用户真正的密码。 这种破解的MD5值得原理其实并不复杂。在线 破解网站,利用穷举法穷举一些常用密码,然后保存这 些密码以及对应的MD5(SHA一1)值到建立好的数据
库中。当用户知道MD5值的时候可以查找数据库中 的MD5(SHA一1)值,如果MD5(SHA—1)值存在,那么 就能获取相应的密码原文。 所以简单较短的密码做MD5运算时起不到任何 保密作用的(SHA一1运算也是一样起不到保密作用)。 但是,过长的密码显然又不利于用户记忆。如何提高密 码的抗破解能力,又方便用户不用记忆过长的密码呢? 下面介绍两种提高密码安全系数的几种做法,并且使 用PHP语言进行了实现。 (1)在MD5运算之前加人SHA一1安全散列运 算。SHA一1散列运算的产生长度为160 bit的散列值, 然后将SHA一1运算的结果再进行MD5运算,也可以 使用MD5的变种算法进行加密[4]。利用穷举法穷举 SHA一1运算结果难度很大,因此提高了MD5的抗破 解能力。这样的好处是数据库依然保存的是MD5值, 不需要修改数据库中密码的字段长度,又增加了密码 的破解难度。PHP(PHP4以上)的实现如下: ¥strl=shal(¥password);//对密码执行SHA一1安全散 列运算 ¥str2一md5(¥str1);//执行MD5数据摘要运算 (2)在MD5运算之前加人CRC32运算,然后将 CRC32运算的结果再进行MD5运算。这样的好处是 数据库依然保存韵是MD5值,不需要修改数据库中 密码的字段长度。在破解了MD5运算的原文之后,也 只能得到密钥CRC32运算的结果,由于CRC32运算 的结果和原文之间没有很强的一一对应关系,所以逆 推CRC32的结果很难得到密码原文,因此增加了密码 安全性,而且运算强度要小于第1种方法。PHP(PHP4 以上)实现如下: ¥strl—CRC32(¥password);//对密码执行CRC32循 环冗余校验运算 ¥str2一md5(¥str1);//执行MD5数据摘要运算 3.2加强用户其他信息的保护
一般网站的用户其他信息是不加密的。出于保护 目的,使用加密方法来保护用户其他信息(这种处理方 式必须是可逆的,与密码的处理方式有所不同)。本文 以DES为例(也可以使用DES3等其他的加密方式), 处理用户的其他用户。DES是一种标准的对称数据加 密算法。文中DES Encrypt函数和DES.Decrypt函
数利用php mcrypt.rill提供的DES算法接口来实现 DES的加密解密过程。下面介绍两种保护用户其他信 息的方法,并用PHP实现。 (1)目前很多网站处理用户个人信息的时候都是 将用户的各种信息分别保存在不同的字段中。保护用 户信息的时候,就必须对每个字段都进行二次加密处 理。可以使用DES来处理用户信息,加密的密钥 B2C电子商务用户信息安全问题分析及建议 2012焦 (¥key)可以自定义。这样修改的好处是,以现有数据 库为基础进行修改,不需要修改数据库已有结构。PHP 实现如下: 加密过程:¥each user info encode—DES Encrypt(¥each—user—info,¥key); 解密过程:¥each user info encode—DES Decrypt(¥each—user—info,¥key); (2)对现有数据库不进行修改有明显弊端,字段 名称会为黑客提供破解信息的线索,对信息安全不利。 针对这种情况,我们修改数据库,使用一个字段 (Userinfo)保存所有用户信息。使用PHP中的json功 能把用户所有信息的数组保存在这个字段中,实现对 原有数据库字段名的隐藏,然后在对这个字段DES加 密。PHP实现如下: 加密过程: ¥user info=array(‘qq’一>’123456789’,’msn’一>’xx
mcrypt—generic—
deinit(¥td);
mcrypt—module—
close(¥td);
return base64一encode(¥encrypteddata);
) function DES—Decrypt(¥input,¥key)
f ¥input—base64decode(¥input); ¥td—mcrypt—module—open(’des’,”,’ecb’,”);
¥key—substr(md5(¥key),0,24); ¥iv=mcrypt—create—iv(mcrypt—enc—get—iv—size