发明名称 一种防止有通信条件/功能的软硬件被盗用的系统和方法
摘要 一种防止有通信条件/功能的软硬件被盗用的系统和方法,由终端软硬件、管理中心服务器、WEB服务器、售后服务客户端及终端软硬件、售后服务客户端与管理中心服务器、WEB服务器之间的通信网络构成。终端软硬件中有一个ID号,管理中心服务器中保存有每个ID号对应的终端软硬件的基本信息和注册信息;终端硬件在指定条件下向管理中心服务器发送注册信息,得到返回的确认命令后才能工作。二者根据双方共有的历史信息识别对方信息的有效性。服务器可提供信息查询,以防伪。可向终端软硬件发送锁定命令,使其丧失功能,并跟踪其通信号码,以防盗。并提供走私识别功能。本发明可用于有通信条件/功能的软硬件防伪、防盗、防走私和销售情况监督。
申请公布号 CN1764106A 申请公布日期 2006.04.26
申请号 CN200510096358.X 申请日期 2005.11.16
申请人 乔超 发明人 乔超
分类号 H04L9/00(2006.01);G06F21/00(2006.01);H04Q7/32(2006.01) 主分类号 H04L9/00(2006.01)
代理机构 代理人
主权项 1.一种防止有通信条件/功能的软硬件被盗用的系统和方法,由终端软硬件、管理中心服务器、WEB服务器、售后服务客户端及终端软硬件、售后服务客户端与管理中心服务器、WEB服务器之间的通信网络构成,其特征在于:管理中心服务器的数据库中有终端基本信息数据表,其中保存有所有要保护的终端软硬件的基本信息,该数据表的字段有:终端ID号、终端编号、密码、终端型号/版本号、生产日期、产地、当前状态、当前特征数据和指定销售区域;如果受保护的终端是硬件,则终端基本信息数据表还有颜色字段;终端ID号为该表的主键;当前状态字段值为枚举型,有未启用、正常、挂失锁定、走私锁定和限制五种,并可根据需要添加新的值,默认初始值为未启用;当前状态字段的值域由管理中心服务器的数据库中的状态值域表管理,状态值域表中的字段有:状态编号、状态名、状态类型、提示信息、限制使用期限;管理中心服务器的数据库中还有终端注册数据表,该数据表的字段有:终端编号、终端通信号码和注册时间;管理中心服务器的数据库中还有终端非法注册数据表,该数据表的字段有:终端ID号、终端通信号码、注册时间、注册信息内容;管理中心服务器的数据库中还有挂失记录数据表和解除挂失记录数据表;挂失记录数据表中的字段有:挂失记录ID、终端编号、挂失前终端状态、失主联系信息、解除挂失密码、丢失时间、挂失时间、解除挂失记录ID,解除挂失记录ID字段的初始值为空;解除挂失记录数据表中的字段有:解除挂失记录ID、解除挂失时间;终端注册数据表、挂失记录数据表和终端基本信息数据表通过终端编号字段相关联;解除挂失记录数据表和挂失记录数据表通过解除挂失记录ID字段相关联;在终端软硬件中添加一个合法性验证模块,该模块有1个数据子模块和数据一致性检查子模块、注册子模块、状态检查子模块、管理中心服务器命令检测子模块、管理中心服务器命令处理子模块、锁定子模块和向服务器核对数据一致性子模块7个子程序模块;在未特殊说明的情况下,合法性验证模块的子程序模块所操作的数据均为数据子模块中的相应数据;合法性验证模块在终端软硬件启用后,被以独占系统进程方式调用,其工作流程为:调用数据一致性检查子模块,如果返回值为假,则显示提示信息“安全数据不一致,请与售后服务部门联系”,然后调用锁定子模块;如果返回值为真,则调用注册子模块;然后,调用状态检查子模块;如果状态检查子模块的返回值不是正常,则调用锁定子模块;如果状态检查子模块的返回值为正常,则退出合法性验证模块,允许用户使用终端软硬件;数据子模块中保存的数据有:1个终端软硬件ID号,1个管理中心服务器联系号码列表,1~2个命令标识列表、1个表示终端软硬件当前状态的信息项,1个表示非正常状态下的提示信息的字符串,1组特征数据、1个终端软硬件使用过的通信号码列表、1个特殊通信号码列表及2组保护数据;其中,终端软件硬件ID号与管理中心服务器数据库中的终端基本信息数据表中的终端ID号字段值一一对应;当前状态信息值为枚举型,其值有正常、锁定、挂失锁定、走私锁定,初始值为锁定;特征数据的初始值与管理中心服务器数据库中的终端基本信息数据表中当前特征数据字段的初始值一致;终端软硬件使用过的通信号码列表的初始值为空字符串;非正常状态下的提示信息字符串的初始值为尚未启用;特殊通信号码列表中保存紧急通信号码和失主联系号码;初始时合法性验证模块中没有第2组保护数据;第1组保护数据的存放位置为固定位置,第2组保护数据的存放位置由第1组保护数据中指定的数值确定;数据一致性检查子模块的返回值为布尔变量,其工作流程为:Aa)检查数据子模块中保存的特征数据和第1组保护数据是否都为相应的指定初始值,如空字符串,如果都为指定的初始值,则执行Ab),否则执行Ac);Ab)根据指定的保存在数据子模块以外的个性化数据,如保存在数据子模块以外的指定的随机数、终端上指定硬件设备的序列号,按指定规则产生第1组保护数据,并向第1组保护数据中加入按指定规则产生的随机数;根据第1组保护数据按预定规则计算第2组保护数据的存放位置,并在该位置加入指定初始值,如空字符串;然后,将终端软硬件使用过的通信号码列表设置为空字符串,返回“真”,退出该子模块;Ac)按指定的计算第1组保护数据的规则计算第1组数据中应有的非随机数值,检查计算结果与第1组保护数据中对应数值是否相一致,不一致则执行Ad),一致则执行Ae);Ad)返回“假”,退出该子模块;Ae)按指定的规则根据第1组保护数据、管理中心服务器联系号码列表、当前状态信息和终端软硬件使用过的通信号码列表计算第2组保护数据及其存放位置,根据算出的第2组保护数据的存放位置从数据子模块中取出相应的值,并与计算出的第2组保护数据相比较,如果二者相同,则返回“真”,退出该子模块;如果不同,则返回“假”,退出该子模块;注册子模块的工作流程为:Ba)按照指定规则,如每次与服务器通信前先注册、如果终端软硬件使用过的通信号码列表中没有当前通信号码则注册、每次主动与其它软硬件通信前先注册、每次接受指定服务前先注册,判断是否需要注册,不需要注册则执行Bb),需要注册则执行Bc);Bb)退出该子模块;Bc)检测数据子模块中的当前状态信息值是否为正常,如果是正常,则执行下一步,否则执行步骤Be);Bd)将当前状态信息值设置为锁定,并将非正常状态下的提示信息字符串的值设置为“正在注册,请稍后”,再按指定的规则重新计算第2组保护数据,用新计算的第2组保护数据替换当前的第2组保护数据;Be)按指定规则产生新的特征数据,如随机生成一个指定长度的字符串,再从终端软硬件使用过的通信号码列表中取出最后注册的通信号码,并按指定规则从管理中心服务器联系号码列表中取出管理中心服务器通信号码,然后调用终端的通信功能向管理中心服务器通信号码发送注册信息;注册信息中包括注册标识字符串、终端软硬件ID号、最后注册的通信号码、当前特征数据、新特征数据,其中,注册标识字符串按指定规则产生,除新特征数据以外的其它数据均为数据子模块中的相应数据;设置一个初始值为0的循环计数器;Bf)循环计数器自加1;检测循环计数器的值,如果超过指定次数,显示提示信息“服务器未响应,注册失败”,然后关闭终端软硬件;调用系统功能,检测是否收到指定的输入信息,如果收到了,执行下一步,否则,执行Bf);调用管理中心服务器命令检测子模块,检测管理中心服务器命令检测子模块第1返回值是否为“真”,如果为真则执行Bg);否则,执行Bf);Bg)执行Bh);Bh)用新特征数据替换数据子模块中的当前特征数据;调用管理中心服务器命令处理子模块;将当前的通信号码加入到本终端软硬件使用过的通信号码列表中;退出注册子模块;管理中心服务器命令检测子模块返回3个值:第1个返回值为布尔变量,表示检测的信息是否为管理中心服务器命令;第2个返回值为枚举型变量,表示管理中心服务器命令的类型;第3个返回值为字符串,表示相应的备注信息;只有当第1个返回值为“真”时,后两个值才有意义;当受保护的软硬件收到与管理中心服务器命令类似的信息时,调用管理中心服务器命令检测子模块;管理中心服务器命令中的信息有:命令标识字符串、终端软硬件ID号、特征数据、最后注册的通信号码、备注信息;该子模块的工作流程为:Ca)检测收到的信息的发送号码是否是管理中心服务器通信号码,不是则执行Cb),是则执行Cc);Cb)将第1个返回值设置为“假”,退出该子模块;Cc)按管理中心服务器命令的格式从收到的信息中提取相应数据;检查命令标识字符串是否为规定的合法标识,是则执行Cd),不是则执行Cb);Cd)比较提取出的终端软硬件ID号、特征数据、最后注册的通信号码与数据子模块中的相应数据是否一致,如果有1组数据不一致,则执行Cb),否则执行Ce);Ce)删除收到的原始信息;将第1个返回值设置为“真”,按指定规则将提取出的命令标识字符串变换为指定的枚举型管理中心服务器命令,将第2个返回值设置为该枚举型管理中心服务器命令,再将第3个返回值设置为提取出的备注信息;退出该子模块;管理中心服务器命令处理子模块,有两个参数,无返回参数,在除注册和向服务器核对数据一致性子模块以外的程序中,当管理中心服务器命令检测子模块的第1个返回值为真时调用;两个参数分别为管理中心服务器命令检测子模块返回的第2、3个返回值;该子模块的工作流程为:Da)检查第1个参数指示的命令值;如果是数据一致命令,执行Dh);如果是修改管理中心服务器通信号码,执行Db);如果是确认命令,执行Dc);如果是锁定类命令和数据不一致命令,执行Dd);如果是解除类锁定命令,执行Df);Db)按指定规则,根据第2个参数值对数据子模块中的管理中心服务器联系号码列表进行修改,然后退出该模块;Dc)将数据子模块中的当前状态信息值设置为正常;执行Dg);Dd)将数据子模块中的当前状态信息的值设置为相应的锁定值,并用第2个参数更新数据子模块中的非正常状态下的提示信息字符串的值;检查第1个参数指示的命令值是否是挂失锁定命令,是则执行De),不是则执行Dg);De)从第2个参数中提取出失主联系号码,并将提取出的失主联系号码添加到数据子模块的特殊通信号码列表中;执行Dg);Df)检查该解除锁定命令与数据子模块中的当前状态信息的值是否相对应,如果不对应,则执行Dh);如果对应,则将数据子模块中当前状态信息的值设置为第2个参数指示的相应值;执行Dg);Dg)按指定的规则重新计算第2组保护数据,并用新值替换当前值;Dh)退出该模块;状态检查子模块的返回值为枚举型,其工作流程:返回当前状态信息的值;锁定子模块无返回值,其工作流程为:Ea)调用状态检查子模块,如果返回值为正常,则退出该子模块;否则,执行下一步;Eb)显示数据子模块中的非正常状态下的提示信息字符串的值;调用系统功能,检测是否收到指定的输入信息,如果收到了,执行下一步,否则,执行Eb);调用管理中心服务器命令检测子模块,检测管理中心服务器命令检测子模块第1返回值是否为“真”,是则调用管理中心服务器命令处理子模块,不是则执行下一步;调用系统功能,监视终端软硬件的输入操作,如果输入操作是与特殊通信号码列表中的号码通信,则允许操作执行,否则禁止该操作的执行;执行Ea);向服务器核对数据一致性子模块无返回值,在指定条件,如软硬件每次启动后、每次请求指定服务之前、随机产的数值等于指定数值,被满足时调用,其工作流程为:Fa)调用系统通信功能,向管理中心服务器发送请求核对数据一致性信息,该信息包括核对请求标识字符串、终端软硬件ID号、最后注册的通信号码、当前特征数据,其中,核对请求标识字符串按指定规则产生,其它数据为数据子模块中的相应数据;Fb)调用系统功能,检测是否收到指定的输入信息,如果收到了,执行下一步,否则,执行Fb);调用管理中心服务器命令检测子模块,检测管理中心服务器命令检测子模块第1、2个返回值,如果分别为真和数据一致/不一致命令/锁定类命令则执行Fc);否则,执行Bb);Fc)检查管理中心服务器命令检测子模块第2返回值,如果第2返回值为数据一致命令,则退出该子模块,否则,调用锁定子模块;管理中心服务器的软件中有终端请求响应模块、终端注册模块、终端挂失模块、解除挂失模块、终端查询响应模块、用户服务模块、终端软硬件销售情况分析模块、核对数据一致性模块、终端软硬件注册信息监控模块;终端注册模块的工作流程为:Ga)记录发送该注册信息的通信号码和收到该注册信息的时间,并根据注册信息的格式,从该注册信息中提取相应的字符串;再根据提取出的终端软硬件ID号在终端基本信息数据表中查找该终端软硬件的基本信息记录,如果没找到相应的记录,则执行Gb);否则执行Gc);Gb)在终端非法注册数据表中添加一条记录,登记提取出的终端软硬件ID号、发送该注册信息的通信号码、收到该注册信息的时间及注册信息内容,并向发送该注册信息的通信号码发送警告信息,警告信息内容为“注册信息中的ID号错误,无法注册”;然后,结束本次调用;Gc)比较提取出的当前特征数据与终端基本信息数据表中该终端软硬件的基本信息记录的当前特征数据字段值是否一致,不一致则执行Gd);一致则执行Ge);Gd)执行Gf);Ge)根据终端基本信息数据表中该终端软硬件的基本信息记录中的终端编号字段值和终端注册数据表中的注册时间字段值,在终端注册数据表中查找该终端软硬件的最后注册的记录,如果没找到且提取出的最后注册的通信号码不是空字符串,或者如果找到的记录的终端通信号码字段的值与提取出的最后注册的通信号码不一致,则执行Gf);否则,执行Gg);Gf)向终端非法注册数据表中添加一条记录,登记提取出的终端软硬件ID号、发送该注册信息的通信号码、收到该注册信息的时间及注册信息内容,并向发送该注册信息的通信号码发送数据不一致命令,该命令中的特征数据和最后注册的通信号码均为从该注册信息中提取的相应字符串,备注信息为“安全数据与服务器不一致,请与售后服务部门联系”;然后,结束本次调用;Gg)分析发送该注册信息的通信号码所指示的国家/地区,并比较分析结果与终端基本信息数据表中该终端软硬件的基本信息记录中指定销售区域字段值所指示的国家/地区是否一致;如果一致,则执行Gh),否则,执行Gi);Gh)检查终端基本信息数据表中该终端软硬件的基本信息记录中当前状态字段值,根据当前状态字段值按指定规则对其进行更新,并编写相应的管理中心服务器命令,该命令的命令标识字符串根据当前状态字段值按指定规则设置,该命令中的当前特征数据和最后注册的通信号码均为从该注册信息中提取出的相应数据,该命令中的备注信息为状态值域表中与终端基本信息数据表中该终端软硬件基本信息记录的当前状态字段值相对应的记录的提示信息字段值,如果该命令是挂失锁定命令,还应从挂失记录数据表中将该终端软硬件最后一次挂失记录中的失主联系信息字段值添加到该命令的备注信息中;向发送该注册信息的通信号码发送已编写好的管理中心服务器命令;执行Gj);Gi)根据相应的指定规则修改当前状态字段值、向发送该注册信息的通信号码发送指定的管理中心服务器命令;Gj)执行Gk);Gk)在终端注册数据表中添加一条记录,登记从该注册信息中提取出的终端软硬件ID号、发送该注册信息的通信号码、收到该注册信息的时间;将终端基本信息数据表中该终端软硬件的基本信息记录中当前特征数据字段值修改为从注册信息中提取出的新特征数据;结束本次调用;管理中心服务器的终端软硬件销售情况分析模块,该模块的工作流程为:分析终端注册数据表中终端软硬件第一次注册的通信号码所在的区域,分类统计每个指定销售区域在指定时间内每种型号/版本的终端软硬件第一次注册的通信号码所在的区域,显示统计结果;挂失请求信息包括:挂失请求信息标识、要挂失的终端软硬件ID号、密码、解除挂失的密码、失主联系信息、丢失时间、丢失时的通信号码;解除挂失请求信息包括:解除挂失请求信息标识、已挂失的终端软硬件ID号、密码、解除挂失的密码、当前使用的通信号码;管理中心服务器的终端软硬件挂失模块的工作流程为:Ha)记录发送该挂失请求信息的通信号码和收到该挂失请求信息的时间;根据挂失请求信息的格式,从该挂失请求信息中提取相应的字符串,根据提取出的要挂失的终端软硬件ID号字符串在终端基本信息数据表中查找该终端软硬件的基本信息记录,没找到则执行Hf),找到了则执行Hb);Hb)检查该记录的当前状态字段值是否为挂失锁定,是则执行Hc),否则执行Hd);Hc)向发送该挂失请求信息的通信号码返回出错提示信息“本终端已挂失,本次请求失败”,结束本次调用;Hd)检查该终端软硬件的基本信息记录中的密码字段值与从挂失请求信息中读取的密码是否相同,相同则执行He);不同则执行Hf);He)在挂失记录数据表中添加一条记录,该记录的挂失记录ID字段值由系统自动生成,终端编号字段值取该终端软硬件的基本信息记录中的终端编号字段值,挂失前终端状态字段值取该终端软硬件的基本信息记录中的当前状态字段值,解除挂失密码字段值取从挂失请求信息中提取出的解除挂失的密码,丢失时间字段值取从挂失请求信息中提取出的丢失时间,挂失时间字段值为收到该挂失请求信息的时间,失主联系信息字段值为从挂失请求信息中提取的失主联系信息,解除挂失记录ID字段值为空;将该终端软硬件的基本信息记录中的当前状态字段值改为挂失锁定,在终端注册数据表中搜索该终端软硬件丢失后注册的所有通信号码,向这些通信号码发送挂失锁定命令;检查从请求信息中提取出的丢失时的通信号码是否为空字符串,如果不为空字符串,则向提取出的丢失时的通信号码发送挂失锁定命令;锁定命令的备注信息中包含有失主的联系信息;向发送该挂失请求信息的通信号码返回挂失成功信息;结束本次调用;Hf)向发送该挂失请求信息的通信号码返回出错提示信息,结束本次调用;管理中心服务器的解除挂失模块的工作流程为:Ia)记录发送该解除挂失请求信息的通信号码和收到该解除挂失请求信息的时间;根据解除挂失请求信息的格式,从该解除挂失请求信息中提取相应的字符串;根据提取出的要解除挂失的终端软硬件ID号字符串在终端基本信息数据表中查找该终端软硬件的基本信息记录,如果返回的记录数为0,即,没找到,则执行Ii);否则,执行Ib);Ib)检查该记录的当前状态字段值是否是挂失锁定,是则执行Ic);否则执行Ih);Ic)检查该终端软硬件的基本信息记录中的密码字段值与从该解除挂失请求信息中读取的密码是否相同,相同则执行Id);不同则执行Ii);Id)根据该终端软硬件的基本信息记录中的终端编号字段值和挂失记录数据表中的挂失时间字段值,在挂失记录数据表中查找该终端最后一次挂失记录,如果返回的记录数为0,则执行Ii);否则,执行Ie);Ie)检查该终端软硬件最后一次挂失记录中解除挂失密码字段值是否与从解除挂失请求信息中提取出的解除挂失密码相同,相同则执行If);不相同则执行Ii);If)检查最后一次挂失记录的解除挂失记录ID字段值是否为空,为空则执行Ig);不为空则执行Ii);Ig)在解除挂失记录数据表中添加一条记录,该记录的解除挂失记录ID字段值由系统自动生成,解除挂失时间为收到该解除挂失请求信息的时间;再将该终端最后一次挂失记录中的解除挂失记录ID字段值设置为新添加的解除挂失记录中的解除挂失记录ID字段值;接下来,将该终端软硬件基本信息记录的当前状态字段值改为最后一次挂失记录的挂失前终端状态字段值;然后检测从解除挂失请求信息中提取出的当前使用的通信号码是否为空字符串,如果不是,则向该通信号码发送解除挂失命令;解除挂失命令中的备注信息为该终端软硬件基本信息记录的当前状态字段值;向发送该解除挂失请求信息的通信号码返回成功解除挂失提示信息,结束本次调用;Ih)向发送该解除挂失请求信息的通信号码返回出错提示信息“本终端没有挂失,本次请求失败”,结束本次调用;Ii)向发送该解除挂失请求信息的通信号码返回出错提示信息,结束本次调用;管理中心服务器的核对数据一致性模块工作流程为:Ja)记录发送该核对数据一致性请求信息的通信号码;根据核对数据一致性请求信息的格式,从该核对数据一致性请求信息中提取相应的字符串;根据提取出的终端软硬件ID号字符串在终端基本信息数据表中查找该终端软硬件的记录,如果返回的记录数为0,则执行Jh);否则,执行Jb);Jb)比较提取出的当前特征数据与终端基本信息数据表中该终端软硬件的基本信息记录的当前特征数据字段值是否一致,如果一致,则执行Jc);否则,执行Jd);Jc)根据该终端软硬件的基本信息记录中终端编号字段值,在终端注册数据表中查找该终端软硬件最后注册的记录,如果没找到且提取出的最后注册的通信号码不是指定的初始值,或者如果找到的记录的终端通信号码字段值与提取出的最后注册的通信号码不一致,则执行Jd);否则,执行Je);Jd)向发送该核对数据一致性请求信息的通信号码发送数据不一致命令,并结束本次调用;Je)检查该记录的当前状态字段值是否是锁定类的值,是则执行Jf);否则执行Jg);Jf)向发送该核对数据一致性请求信息的通信号码发送相应的锁定命令;结束本次调用;Jg)向发送该核对数据一致性请求信息的通信号码发送数据一致命令;结束本次调用;Jh)向发送该核对数据一致性请求信息的通信号码返回出错提示信息,结束本次调用;终端查询请求信息中包括的信息有:查询请求标识、要查询的终端软硬件ID号、密码、备注信息;终端查询请求有终端基本信息查询和终端注册查询两种;在注册查询请求中备注信息中包括有返回的注册记录数、要查询的记录的注册时间范围;管理中心服务器的终端查询响应模块的工作流程为:Ka)记录发送该查询信息的通信号码;根据查询信息的格式,从该查询信息中提取相应的字符串;根据提取出的终端软硬件ID号字符串在终端基本信息数据表中查找该终端软硬件的记录,如果返回的记录数为0,则执行Kf);否则,执行Kb);Kb)检查该终端软硬件的基本信息记录中的密码字段值与从该查询信息中读取的密码是否相同,相同则执行Kc);不同则执行Kf);Kc)根据该终端软硬件的基本信息记录中的终端编号字段值、终端注册数据表中的注册时间字段值,在终端注册数据表中查找该终端软硬件的注册记录;检查从收到的查询信息中提取出的查询请求标识的类型,如果是基本信息查询,则执行Kd);如果是注册信息查询,则执行Ke);Kd)将该终端软硬件基本信息记录的终端ID号、终端型号/版本号、生产日期、产地、当前状态和指定销售区域字段值及第一次注册的时间和最后一次注册的通信号码按指定规则写入一个返回字符串,再将该返回字符串发送给发送该查询信息的通信号码;结束本次调用;Ke)根据从提取出的备注信息中提取的参数,按指定规则编写返回字符串,再将该返回字符串发送给发送该查询信息的通信号码;结束本次调用;Kf)向发送该查询信息的通信号码返回出错提示信息,结束本次调用;管理中心服务器的终端请求响应模块在系统启动时调用,常驻内存,直到系统关闭,工作流程为:La)检测终端软硬件发来的指定信息,如果检测到则执行Lb);否则,执行La);Lb)按终端请求的一般格式,从收到的信息中提取出请求标识字符串,检测请求标识字符串所代表的请求类型,如果代表注册请求,则调用终端注册模块;如果代表挂失请求,则调用终端挂失模块;如果代表解除挂失请求,则调用解除挂失模块;如果代表终端查询类请求,则调用终端查询响应模块;否则,将该信息转交给系统其它相应模块;再执行La);售后服务客户端有查询终端软硬件当前状态和基本信息模块、查询终端软硬件注册过的所有通信号码模块、请求管理中心服务器挂失终端软硬件模块、请求管理中心服务器解除终端软硬件挂失状态模块。
地址 044000山西省运城市河东东街333号