首页> 中国专利> 专门用于移动电话联网接入服务的身份认证方法

专门用于移动电话联网接入服务的身份认证方法

摘要

专门用于移动电话联网接入服务的身份认证方法,是一种软硬件相结合的信息处理系统。本方法的组成包括:初始准备工作和身份认证过程,该认证包括:客户端向服务器端发送请求服务消息,服务器收到服务请求消息后,向客户端发送确认消息或者发送同步消息,客户根据服务器返回的消息是确认消息还是同步消息采取不同的措施,如果是确认消息,就获得服务要求的处理结果;如果是同步消息客户再次向服务器发送请求服务消息或者客户不发送任何消息。本方法用于防止由于网络通信时延造成的损失和防止口令窃听攻击与重传攻击、要求节省通信费用的场合。

著录项

  • 公开/公告号CN1430400A

    专利类型发明专利

  • 公开/公告日2003-07-16

    原文格式PDF

  • 申请/专利权人 哈尔滨万博信息技术有限公司;

    申请/专利号CN02109003.3

  • 发明设计人 杨义光;

    申请日2002-01-01

  • 分类号H04M11/06;H04L9/32;

  • 代理机构23118 哈尔滨东方专利事务所;

  • 代理人陈晓光

  • 地址 150009 黑龙江省哈尔滨市南直路132号

  • 入库时间 2023-12-17 14:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-03-14

    未缴年费专利权终止 IPC(主分类):H04M11/06 授权公告日:20080611 终止日期:20110101 申请日:20020101

    专利权的终止

  • 2008-06-11

    授权

    授权

  • 2004-07-14

    实质审查的生效

    实质审查的生效

  • 2003-07-16

    公开

    公开

说明书

技术领域:本发明涉及一种使用移动电话进行联网接入服务中的安全接入控制与身份认证的方法,是在相关硬件中进行信息储存分配、通过将用户信号的函数与储存单元的信号的函数的对比结果来确认身份的软硬件相结合的信息处理系统。

背景技术:

本说明说中,术语“服务请求”是一个通用的术语。这种服务请求包括以下请求:请求提供网络资源,请求提供计算资源,请求股票买卖,请求银行转账,请求提供某些信息资料等。

在基于通信网的各种应用中,服务器根据客户的服务请求,为客户提供相应的服务。有时,服务器在提供这种服务时,需要对客户进行身份认证,确信客户有资格请求某项服务。比如股票委托中,股民端是客户,交易所端是服务器,当股民请求服务器端为其买卖股票时,服务器需要验证股民的身份确信其有权利进行股票买卖。服务器对客户进行身份认证的依据是服务器与客户之间共享的一个秘密,也就是通常所说的口令。服务器通过与不同的客户共享不同的口令来认证不同客户的身份。

现有的最简单的认证方法是客户将自己的身份ID与口令经过通信网发送给服务器,服务器根据自己存储的客户身份ID与口令信息,来验证客户的口令是否正确。口令正确则相信客户的身份,受理其提出的服务请求,口令不正确则认为是非法客户,不受理其提出的服务请求。

在客户将身份ID与口令经过通信网络发送给服务器的过程中,由于现有通信网络的开放性,窃听者能够窃听到客户的身份ID与口令,因而这种认证方法是不安全的。防止窃听者从通信网络中获取客户口令的一种办法是将客户的口令加密,以密文的形式传送口令。但是这种办法防止不了重传攻击,也就是说窃听者利用从通信网络中截获的客户的口令的密文仍旧可以假冒该客户向服务器发送服务请求信息获得服务器提供的某些服务。防止窃听者从通信网络中获取客户口令的另一种办法是“挑战1应答”式认证方法。这种方法中,当客户需要请求服务器为其进行某种服务时,首先需要向服务器发送服务请求,服务器收到服务请求后,生成一随机数作为“挑战”发送给客户。客户收到“挑战”随机数后,利用自己与服务器共享的秘密也就是自己的口令和认证函数,对“挑战”随机数进行计算,将计算结果作为“应答”信息发送给服务器。服务器收到“应答”信息后,利用相同的口令和认证函数对“挑战”随机数进行计算。如果计算结果与客户发送的“应答”信息相同则受理客户发送的服务请求,否则不受理客户发送的服务请求。这种服务请求认证方法非常安全,能够防止重传攻击,但是客户每请求服务器进行服务一次都需要向服务器发送两次消息。在通信费用按次计费的情况下,无疑增加了客户的通信费用。

发明内容:本发明的目的是提供一种既能够进行安全身份认证又能够减少通信次数的服务请求认证方法。正常情况下,利用本认证方法客户请求服务器进行服务一次只需向服务器发送一次消息,本认证方法可以防止重传攻击。

上述的目的通过以下的技术方案实现:

一种专门用于移动电话联网接入服务的身份认证方法:其组成包括:

a,初始准备工作:(1)存储区的分配即在服务器的数据库中建立身份表、请求服务表;(2)用户注册并协商认证口令。客户端到服务器端注册,由服务器指定客户的身份标识,并协商认证口令,客户端将认证口令,身份标识,序列号写入身份存储区中,服务器端将客户的认证口令,身份标识,序列号写入身份表中。

b.身份认证过程:

客户端向服务器端发送请求服务消息(m),服务器收到服务请求消息(m)后,向客户端发送确认消息(m′)或者发送同步消息(m″),客户根据服务器返回的消息是确认消息(m′)还是同步消息(m″)采取不同的措施,如果是确认消息(m′),就获得服务要求的处理结果;如果是同步消息(m″)客户再次向服务器发送请求服务消息或者客户不发送任何消息。

为了有助于对本专利说明书的描述,使用了如下的符号:

id                 身份标识或身份ID

key                认证口令

n                  序列号

id_block           身份存储区

rq_block           服务请求存储区

id_table           身份表

rq_table           请求服务表

data               具体的服务请求信息

l_data             data的长度

m                  服务请求消息

m′                确认消息

n′                m′中包含的确认序列号

m″                同步消息

n″                m″中包含的同步序列号

r                  随机数,用于标识具体的服务请求信息data

rm                 服务器对具体的服务请求信息data的处理结果

l_rm               rm的长度

flag′             确认标识

flag″       同步标识

M            消息,m中部分信息的备份,存储于rq_block中

H            为消息认证函数,用于计算消息认证码

(X,Y)       表示X与Y的简单串联

下面对于本发明的方法进行详细的说明:

1 初始准备工作

为了实现本发明提供的服务请求认证方法,客户端与服务器端必须进行一次性的初始准备工作,具体内容包括:

(1)存储区的分配。服务器的数据库中建立身份表id_table,用于存储每个客户的身份标识id,认证口令key以及序列号n,同时建立请求服务表rq_table,用于存储处理结果rm,rm的长度l_rm,n,r与id。客户端分配身份存储区id_block用于存储客户自己的id、认证口令key与序列号n,同时分配服务请求存储区rq_block用于存储消息M。

(2)用户注册并协商认证口令。客户端到服务器端注册,由服务器指定客户的身份标识id,并协商认证口令key,这部分工作需要离线完成。客户端将认证口令key,身份标识id,序列号n=0写入身份存储区id_block中。服务器端将客户的认证口令key,身份标识id,序列号n=0写入身份表id_table中。

 2 身份认证过程,经过了必要的准备工作之后,就可以进行身份认证了,具体过程如下:

(1)当客户需要向服务器发送具体的具体的服务请求信息data时,客户端生成随机数r然后计算MAC1=H((id,r,l_data,data,n),key),将服务请求消息m=(id,r,l_data,data,n,MAC1)发送给服务器,同时将M=(r,l_data,data,n)存储在服务请求存储区rq_block中。其中,id,key,n为客户端身份存储区id_block中对应的值。r为随机数,l_data为具体的服务请求信息data的长度。

(2)具体认证过程:

[1]当服务器收到客户端发来的服务请求消息m=(id,r,l_data,data,n,MAC1)后,首先验证MAC1是否正确:

如果MAC1不正确,停止操作,结束;

如果MAC1正确,服务器检索数据库的请求服务表rq_table中该客户的所有M′,比较收到的服务请求消息m中的r是否与该客户的某个M′中的r相同:

是,则返回该笔业务的确认消息m′=(flag′,n′,r,l_rm,rm,MAC3),然后结束。其中flag′为确认消息标识,rm,l_rm,r,n为M′中对应的值,

MAC3=H(flag′,n′,r,l_rm,rm),key),key为身份表id_table中该客户的认证口令。

否,则比较收到的服务请求消息m中的序列号n与数据库股民身份表

id_table中该客户的序列号n是否相同:

不相同,则向客户端发送同步消息m″=(flag″,n″,id,r,l_data,data,MAC2),然后结束。

其中的MAC2=H((flag″,n″,id,r,l_data,data),key),flag″为同步消息标识,n″和key分别为服务器端数据库身份表id_table中存储的该客户序列号n与认证口令key,其中的id,r,data,l_data为接收到的消息m中的对应值。

相同,则处理客户发送的具体的服务请求信息data。并将

           M′=(id,n+1,r,l_rm,rm)

存储到数据库请求服务表rq_table中。其中rm为服务器对服务请求

处理的结果,l_rm为rm的长度,r,id,n为收到的服务请求消息m

中对应得值。并向股民手机发送确认消息

           m′=(flag′,n′,r,l_rm,rm,MAC3),

其中MAC3=H(flag′,n′,r,l_rm,rm,),key),flag′为确认标识,rm

为服务器对具体的服务请求信息data处理的结果,l_rm为rm的长度,

n′=n+1,key为身份表id_table中该客户的认证口令,r,n为收到的

服务请求消息m中对应的值。随后将数据库身份表id_table中该客户

的序列号n加1,然后结束(见图2

[2]客户端收到的信息如果为确认消息m′=(flag′,n′,r,l_data,rm,MAC3),先验证MAC3是否正确:

MAC3不正确,结束;

MAC3正确,检索服务请求存储区rq_block中存储的信息M:

如果m′中的r与服务请求存储区rq_block中所有M中的r都不相同,则丟弃m′停止操作,结束;

如果m′中的r与某个M中的r相同,从服务请求存储区rq_block中删除该M,然后比较m′中的n是否大于身份存储区id_block中的n:

大于,本地身份存储区id_block中的n加1,结束;

小于等于,身份存储区id_block中的n不加1,结束;

[3]如果客户端收到的消息为同步消息m″=(flag″,n″,id,r,l_data,data,MAC2),先验证MAC2是否正确:

MAC2不正确,则丢弃m″停止操作,结束;

MAC2正确,则检索服务请求存储区rq_block中存储的信息M,比较m″中的r是否与某个M中的r相同:

都不相同,则丢弃m″停止操作。

相同,则生成新的m=(id,r,l_data,data,n,MAC1)发送给服务器,其中r,l_data,data是M中对应的值,id,n为返回的同步消息m″中所对应的id,n″,MAC1=H((id,r,l_data,data,n),key),key为身份存储区id_block中对应的值。并将M中的n更新为m″中的n″。同时将身份存储区id_block中的n更新为m″中的n″。

[4]当客户发送请服务请求消息m之后很长时间没有收到服务器返回处理结果,客户还想重新发送这个服务请求时,客户所要做的是利用发送m时存储的M=(r,l_data,data,n)中的r,.l_data,data,;以及身份存储区id_block中的序列号n,,身份标识id,认证口令key,计算新的MAC1=H((id,r,l,data,n),key),生成新的m=((id,r,l,data,n),key),将新的m发送给服务器。同时用身份存储区id_block中的n更新服务请求存储区rq_block中M=(id,r,l,data,n)中的n。

在以上的认证过程中,对于每次服务请求客户需要在服务请求存储区id_block中存储M,为了防止无限制地占用存储空间,需要删除M。删除存储的M的方法如下,用身份存储区id_block中的n与服务请求存储区rq_block中的每个M中的n做差,对于某个M,如果差值超过了所规定的上限值,就从服务请求存储区rq_block中删除它。这个上限值可以根据具体的实现环境制定。对于服务器数据库rq_table中的纪录的删除也采用如上的方法。为了保证服务器端的存储范围大于等于客户端,要求服务器的上限值比客户的上限值至少大1。

利用本发明进行身份认证与利用已有其它方法进行身份认证相比具有如下优点:

1.可以防止由于网络通信时延造成的不必要的损失。考虑这样一种情况,当客户希望服务器为其进行某种服务,比如说是买一本书,由于通信线路的传输时延,很长时间客户没有收到服务器的返回结果,这时客户该怎么办,如果不考虑以前曾经请求过这个服务,而向服务器发送新的服务请求,可能会出现如下的问题:新发的服务请求被服务器处理了,而以前发送的服务请求,经过网络传输的延迟后也到达了服务器,服务器同样也处理了以前的服务请求,这样,客户希望服务器买一本书,而服务器却为其买了两次,这给客户造成了损失。采用本发明提供的认证方法,服务器可以保证对于同一个服务请求只执行一次,第二次到来的服务请求不被处理。

2.在可以防止口令窃听攻击与重传攻击的同时节省了通信费用。由于服务请求消息中不再有客户的口令,想通过在通信网络中窃听口令客户名的攻击方法显然无效。对于从通信网络中截获服务请求信息m,在以后进行重发的恶意攻击,由于使用了序列号n,服务请求信息标示r本发明可以防止重传攻击。在正常情况下,利用本发明进行一次服务请求只需要,只需要服务器与客户机个发送一条消息,节省了通信费用。

附图说明

表1为股民身份存储区;

表2为股民服务请求存储区;

表3为服务器端请求服务表;

表4为服务器端身份表;

图1为发送服务请求消息m流程图;

图2为服务器处理服务请求消息m的流程图;

图3为客户端处理服务器返回消息的流程图。

具体实施方式:

实施例1.

一种专门用于移动电话联网接入服务的身份认证方法:其组成包括:

a.初始准备工作:(1)存储区的分配即在服务器的数据库中建立身份表、请求服务表;(2)用户注册并协商认证口令。客户端到服务器端注册,由服务器指定客户的身份标识,并协商认证口令,客户端将认证口令,身份标识,序列号写入身份存储区中,服务器端将客户的认证口令,身份标识,序列号写入身份表中。

b.身份认证过程:

客户端向服务器端发送请求服务消息(m),服务器收到服务请求消息(m)后,向客户端发送确认消息(m′)或者发送同步消息(m″),客户根据服务器返回的消息是确认消息(m′)还是同步消息(m″)采取不同的措施,如果是确认消息(m′),就获得服务要求的处理结果;如果是同步消息(m″)客户再次向服务器发送请求服务消息或者客户不发送任何消息。

上述的专门用于移动电话联网接入服务的身份认证方法中,服务请求消息(m)在包括该服务请求信息(data)的同时还包括所述的同步序列号(n)与标示服务请求信息(data)的随机数(r);客户在发送所述的服务请求消息(m)时要保存所述的服务请求信息(data)、随机数(r)、序列号(n)。上述的专门用于移动电话联网接入服务的身份认证方法中,该服务器在发送所述的确认消息(m′)后需要存储特定客户身份标识(id)、随机数(r)、序列号(n)及对服务请求信息(data)的处理结果(rm);服务器向客户发送的消息是确认消息(m′)还是同步消息(m″)依赖于服务器端是否存储了该客户随机数(r)。

上述的专门用于移动电话联网接入服务的身份认证方法中,客户收到服务器发送的同步消息(m″)后,再次发送服务请求消息或者是不发送任何消息取决于客户端是否存储有同步消息(m″)中的随机数(r)。

下面我们参考图1-3及表1-4进行更详细的说明:。

以下是本发明的服务请求认证方法在基于短消息的手机炒股业务中的应用,在这里股民手机是客户端,证券交易所的交易代理服务器是服务器端。

1.初始准备

(1)手机SIM卡与服务器的存储配置。

手机SIM卡中分配两个存储区:一个存储区叫做股民的身份存储区id_block,用来存股民的身份标识(id)、认证口令(key)和序列号(n)(见表1),另一个叫做服务请求存储区rq_block,用来存储消息

M=(随机数(r),服务请求长度(l_data),具体的服务请求信息(data),序列号(n))(见表2);

证券交易所交易代理服务器建立两张表,一张表叫做股民身份表id_table,用来存储所有股民的身份标识(id)、认证口令(key)、序列号n(见表3),另一张表叫做请求服务表rq_table用于存储

M′=(处理结果(rm),rm的长度(l_rm),序列号(n),随机数(r),股民身份(id))(见表4);

(2)手机与交易代理服务器进行了必要的配置后,股民到证券交易所登记注册开通基于短消息的手机炒股服务:股民与证券交易所协商身份认证口令key,并将认证口令key、股民的身份标识id与序列号n=0,分别写入股民手机SIM卡中的身份存储区及证券交易服务器中的股民身份表中:

2.认证过程

(1)当股民需要请求证券交易代理服务器为其进行股票交易时,股民通过手机提供的交易菜单,输入交易数据,形成具体的服务请求信息data;手机中的认证软件计算MAC1=H((id,r,l_data,data,n),key),将服务请求消息m=(id,r,l_data,data,n,MAC1)作为短消息发送给证券交易所的交易代理服务器,同时将消息M=(r,l_data,data,n),存储在SIM卡中的服务请求存储区rq_block;其中,H为消息认证函数,其中,id,n,key为客户端身份存储区id_block中对应的值,r为随机数,l_data为具体的服务请求信息data的长度。(见图1)。

(2)当证券交易所的交易代理服务器收到手机发来的服务请求消息m=(id,r,l_data,data,n,MAC1)后,首先验证MAC1是否正确:

如果MAC1不正确,丢弃服务请求消息m,停止操作;

如果MAC1正确,服务器检索数据库的请求服务表rq_table中该股民的所有M′,比较收到的服务请求消息m中的r是否与该股民的某个M′中的r相同:

是,则返回该笔业务的确认消息m′=(flag′,n′,r,l_rm,rm,MAC3),然后结束。其中flag′为确认消息标识,rm,l_rm,r,n为M′中对应的值,MAC3=H(flag′,n′,r,l_rm,rm),key),key为股民身份表id_table中该股民的认证口令。

否,则比较收到的服务请求消息m中的序列号n与数据库股民身份表id_table中该股民的序列号n是否相同:

不相等,则向股民手机发送同步消息m″=(flag″,n-″,id,r,l_data,data,MAC2),然后结束。其中MAC2=H((flag″,n-″,id,r,l_data,data,),key),flag″为同步标识,n″和key分别为交易代理服务器数据库股民身份表id_table中存储的该股民的序列号及认证口令,id,r,l_data,data为接收到的服务请求消息m中的对应值。

相等,则处理股民手机发送的具体的服务请求信息data。并将

      M′=(id,n+1,r,l_rm,rm)

存储到数据库请求服务表rq_table中。其中rm为服务器对服务请求处理的结果,l_rm为rm的长度,r,id,n为收到的服务请求消息m中对应得值。并向股民手机发送确认消息

      m′=(flag′,n′,r,l_rm,rm,MAc3),

其中MAC3=H(flag′,n′,r,l_rm,rm,),key),flag′为确认标识,rm为服务器对具体的服务请求信息data处理的结果,l_rm为rm的长度,

n′=n+1,key为股民身份表中该股民的认证口令,r,n为收到的服务请求消息m中对应的值。随后将数据库股民身份表id_table中该股民的序列号n加1,然后结束(见图2)。

(3)股民的手机收到的短消息rm如果为确认消息m′=(flag′,n′,r,l_rm,rm,MAC3),先验证MAC3是否正确:

MAC3不正确,则结束。

MAC3正确,则检索服务请求存储区中存储的所有M。

如果m′中的r与服务请求存储区所有M中的r都不相同,则结束。如果m′中的r与某个M中的r相同,则从服务请求存储区中删除该M,然后比较m′中的n′是否大于股民身份存储区中的n,大于则股民身份存储区中的n加1,小于等于则n不变。

如果股民手机收到的短消息rm为同步消息m″=(flag″,n-″,id,r,l_data,data,MAC2),先验证MAC2是否正确:

MAC2不正确,则结束。

MAC2正确,则检索服务请求存储区中存储的信息M,比较m″中的r是否与某个M中的r相同:

不相同,则结束。

相同,则生成新的m=(id,r,l_data,data,n,MAC1)发送给服务器,并将SIM卡中服务请求存储区该M中的序列号n更新为m″中的n,然后结束。

其中id,r,l_data,data,n是m″对应的值,

MAC1=H((id,r,l_data,data,n),key),key为股民身份存储区id_block中的认证口令(见图3)。

(4)当股民手机发送请服务请求信息之后很长时间没有收到证券交易所交易代理服务器返回的处理结果,股民还想重新发送这个服务请求时,客户所要做的是利用第一次发送m时存储在SIM卡中rq_block中的M=(r,l_data,data,n)中的r,.l_data,data,,以及身份存储区id_block中的序列号n,,身份标识id,认证口令key,计算新的MAC1=H((id,r,l,.data,n),key),生成新的m=((id,r,l,data,n),key),将新的m发送给服务器。同时用身份存储区id_block中的n更新服务请求存储区rq_block中M=(id,r,l,data,n)中的n。

(5)服务请求存储区与请求服务表的管理。为了防止无限制地占用存储空间,需要删除手机端服务请求存储区的记录及服务器端的请求服务表的记录。本实施例中,手机端删除服务请求存储区记录的方法如下,用股民身份存储区id_block中的序列号n与服务请求存储区中每个M中的业务序列号n做差,如果该差值超过了所规定的上限值CM,这个M所占用的存储区清零;本实施例中,客户端的这个上限值CM定为8;当处理手机端发送服务请求时,服务器端也要进行请求服务表rq_block的管理:用股民的身份表id_table中该股民的序列号n与请求服务表rq_table中该客户所有的业务序列号n′做差,如果有差值超过所规定的上限值SM,则请求服务表中该业务序列号为n′的这条纪录将被删除;本实施例中,这个上限值SM定为9;SM=CM+1;服务器端亦可利用定时器进行请求服务表的管理。

本实施例是目前看来最实用最优的实施例。当结合本实施例理解本发明时,要理解到,本发明不限于本实施例。

该方法可在移动电话的无线通信网络环境下,以最简捷的通信方式完成网络中服务方与客户方之间的身份认证,该身份认证的完成必须有专用的通信及网络设备做其实施的基础。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号