一种提高虚拟物品安全性的方法及其***
技术领域
本发明涉及网络安全技术,具体涉及一种提高虚拟物品安全性的方法及其***。
背景技术
在网络游戏中,虚拟物品如虚拟货币、道具、宠物等已经成为重要的组成部分。用户拥有的虚拟物品决定了其在网络游戏中的地位,以及在网络游戏里所能利用的资源等。在网络游戏中,虚拟物品更是玩家获得高级别游戏体验的必要条件,玩家为了获取虚拟物品,除了要付出一定的时间和精力外,还需要通过网上付费的方式来获取。而在现有技术中,虚拟物品一般是直接挂在用户的帐户和密码下,一旦用户的帐户密码被盗,用户辛苦得来的虚拟物品也就随之丢失。这无疑造成虚拟世界的混乱,降低用户对网络游戏的满意度。
在中国发明专利申请200610023654.1中,公开了防止虚拟物品丢失的方法及其***,所采取的技术方案是:通过对虚拟物品加锁,为其设置锁密码和触发密码验证的触发条件,当用户操作加锁后的虚拟物品时只有触发条件满足了才进行密码验证。该技术方案比单纯采用用户帐号密码来对虚拟物品进行管理的安全性要高,但仍然存在以下缺陷:用户给虚拟物品加密时,所设定的密码及触发条件均由用户在客户端向游戏服务器发送,且触发条件为操作类型、时间段、IP地址等信息量小的数据,密码及触发条件都很容易被木马及恶意软件盗取。因此,当用户在受恶意软件控制或监视的情况下,采用密码加触发条件的方案,其保护效果仍然不佳。
发明内容
针对现有技术的不足,本发明旨在提供一种提高虚拟物品安全性的方法,其采用游戏信息来对虚拟物品加密,提高了虚拟物品的安全性。
本发明的另外一个目的是:提供一种提高虚拟物品安全性的***,该***包括游戏信息获取单元,其获取的游戏信息作为对虚拟物品加密/解密的信号。
为实现上述目的,本发明的方法采用如下技术方案:一种提高虚拟物品安全性的方法,对虚拟物品的加密过程包括以下步骤:
a)用户从客户端登录服务器后,发送虚拟物品加密请求;
b)服务器的游戏信息获取单元获取用户当前的游戏信息;
c)服务器的加密单元将步骤b)所得的游戏信息作为虚拟物品的密码,对虚拟物品进行加密处理;
对虚拟物品的解密过程包括以下步骤:
d)用户从客户端向服务器发送虚拟物品解密请求;
e)服务器的游戏信息获取单元获取用户当前的游戏信息;
f)服务器将步骤e)所得游戏信息与步骤b)的游戏信息进行比较,如果一致则通过解密单元对虚拟物品进行解密。
较佳地,当上述方法所获取的游戏信息可以为不同的类型时,上述方法的加密步骤a)与步骤b)之间进一步包括步骤:
A)服务器向用户发送选择游戏信息类型的要求;
B)用户选择游戏信息类型后,把选择结果发送给服务器。
相应地,本发明***采用的技术方案为:一种提高虚拟物品安全性的***,包括客户端、服务器,其中服务器包括:
数据处理单元,用于客户端与服务器之间的加密/解密请求处理,以及服务器内部单元的加密/解密数据处理;
与数据处理单元连接的加密单元,为虚拟物品设置密码;
与数据处理单元连接的解密单元,为虚拟物品解除密码,从而允许用户对虚拟物品进行操作;
其特征在于:所述服务器还包括与数据处理单元连接的游戏信息获取单元,当用户请求加密时,获取用户当前游戏信息作为对虚拟物品加密处理的密码;当用户请求解密时,获取用户当前游戏信息,并传输至数据处理单元与加密处理的密码进行比较。
较佳地,当服务器可提供的游戏信息类型有多个时,上述***还包括与数据处理单元连接的类型选择单元,用户通过该单元选择游戏信息类型。
本发明采用游戏信息对虚拟物品进行加密处理,用户只需选定了游戏信息类型后,向服务器发送加密请求,服务器就可以自动获取用户当前的游戏信息作为加密的密码。与现有技术相比,加密的密码无需用户从客户端向服务器发送,避免了恶意软件对加密密码拦截。此外,加密的密码为游戏信息,而不是现有技术中常用的键盘或鼠标等进行的操作动作;游戏信息为复杂的图形和游戏内部信息,其数据量比键盘或鼠标输入的信息数据量要大很多,现有的普通恶意软件要获取并发送这些信息,就得使用更复杂的盗取***和传输更大的数据量。这些复杂的盗取***开发难度大,传输的数据量一旦大了,其隐蔽性就差了很多,很容易被用户发现,因此复杂的盗取***也难于盗取采用本发明加密的虚拟物品。可见,本发明的安全性高,用户操作也简单,便于推广应用。
附图说明
图1为本发明的加密流程图;
图2为本发明的解密流程图;
图3为本发明的***结构示意图。
具体实施方式
本发明方法是服务器自动获得用户的游戏信息,作为虚拟物品加密的密码,解密时用户只需要发送解密请求,并使其当前的游戏信息与加密时的一致即可,其中游戏信息的获取由本***的游戏信息获取单元自动获得。在网络技术中,游戏信息一般被定义为网络游戏、虚拟社区(即论坛社区)或即时通讯(如qq聊天工具)中,面向用户的画面信息,包括画面里的人物,人物所带的道具以及人物所在的地点,甚至人物身上带的虚拟货币的数量,等等。游戏信息的获取方法及其实现单元为现有技术,在此不赘述。下面将结合说明书附图,对本发明作进一步解释:
加密过程包括以下步骤:
如图1所示,第一步,用户从客户端登录服务器后,发送虚拟物品加密请求,由图3所示的数据处理单元接受该加密请求。
第二步,数据处理单元根据加密请求,向与其连接的游戏信息获取单元输出指令,由游戏信息获取单元获取用户的游戏信息,并传输给数据处理单元。所述的游戏信息,是游戏信息获取单元自动获取的,无需用户进行任何操作。
第三步,数据处理单元将第二步所得的游戏信息处理后,传输给与数据处理单元连接的加密单元,由加密单元对用户的虚拟物品进行加密处理。加密完毕后,作为加密密码的具体游戏信息存储在加密单元中。
解密过程包括以下步骤:
如图2所示,第I步,用户从客户端向服务器发送虚拟物品解密请求,由图3所示的数据处理单元接受该解密请求。
第II步,数据处理单元根据解密请求,对游戏信息获取单元输出指令,由游戏信息获取单元获取用户当前的游戏信息,并传输给数据处理单元。
第III步,数据处理单元从加密单元读取该用户加密的密码,将第II步获取的游戏信息与加密密码比较。当两者相匹配时,数据处理单元对与其连接的解密单元输出指令,由解密单元对该用户的虚拟物品解密,从而使用户自由操作虚拟物品;当两者不同时,返回错误信息给客户端。
上述游戏信息的类型可以为用户在网络游戏中的坐标,或在游戏现场的受用户邀请而来的其它用户,或者网络游戏里用户所在地点的坐标及受邀的其它用户的组合。当采用多种类型的游戏信息作为加密的信号时,本发明在加密过程中,第一步骤与第二步骤之间还需要以下步骤:
数据处理单元根据用户的加密请求,通过与其连接的类型选择单元(如图3所示),向用户发送游戏信息类型选择要求。此时客户端会弹出选择栏,例如选择栏会有三个选项,分别为1)用户在网络游戏里的坐标,2)游戏现场中受邀请的其它用户,3)网络游戏里用户所在地点的坐标及受邀请的其它用户,用户可根据实际情况(例如此时需要加密的虚拟物品的重要性)来选择不同的游戏信息类型。用户选定游戏信息类型后,把选择结果发送给服务器的数据处理单元,最后由数据处理单元启动游戏信息获取单元获取游戏信息。
例如,用户发送加密请求后,在弹出的选择栏里,选择“用户在网络游戏里的坐标”作为游戏信息类型,假设此时网络游戏玩家处于游戏场景里的一座桥上,那么游戏信息获取单元将自动获得此时玩家站在那座桥上的坐标,作为这一加密操作的密码,进而由加密单元对虚拟物品进行加密处理并保存该加密的密码。加密处理后,玩家想将虚拟物品取出(即解密),应该再次来到加密时的那座桥上,然后发送解密请求,此时游戏信息获取单元获取的游戏信息与加密时的相同,因而解密单元对该虚拟物品解密,玩家便可取出虚拟物品;如果玩家在发出解密请求时所在的地点坐标与加密时不同,服务器则发送错误信息给客户端。
再例如,用户选择“游戏现场中受邀请的其它用户”作为游戏信息类型,假设此时网络游戏玩家邀请了2位朋友,分别是用户A和用户B,这2位受邀请的朋友收到***发出的消息后来到了玩家加密虚拟物品的现场。那么游戏信息获取单元将自动获得用户A、用户B作为加密的密码。以后玩家想将虚拟物品取出时,就要将用户A、用户B邀请到现场,再给服务器发送解密请求;这样游戏信息获取单元所获得的游戏信息才与加密时的相同。
如果玩家选择“网络游戏里用户所在地点的坐标及受邀请的其它用户”作为游戏信息类型时,在发送加密请求前,玩家选定地点坐标的同时,邀请几个朋友就可以了。其余操作与上述两种情况相同,不赘述。