首页> 中国专利> 用于数据网络上的通信的带外鉴别方法和系统

用于数据网络上的通信的带外鉴别方法和系统

摘要

一种对通信网络(4)上传送的消息比如分组进行带外鉴别的方法和系统,其中发送机控制模块(10)从发送机(2)接收第一数据流;所述第一数据流在第一信道如非安全数据信道(7)上向接收机控制模块(11)发送;发送机控制模块产生第一数据流的鉴别数据;鉴别数据在第二信道,如不同于第一信道(7)的安全数据信道(8)上从发送机控制模块(10)向接收机控制模块(11)发送;以及使用该鉴别数据来检验由接收机控制模块(11)接收的数据流。在发送鉴别数据之前,发送机控制模块(10)在第二信道(8)上向接收机控制模块(11)发送包括同步数据的控制消息。

著录项

  • 公开/公告号CN101473622A

    专利类型发明专利

  • 公开/公告日2009-07-01

    原文格式PDF

  • 申请/专利权人 意大利电信股份公司;

    申请/专利号CN200680055106.5

  • 申请日2006-05-15

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人高青

  • 地址 意大利米兰

  • 入库时间 2023-12-17 22:10:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-11-06

    授权

    授权

  • 2009-08-26

    实质审查的生效

    实质审查的生效

  • 2009-07-01

    公开

    公开

说明书

技术领域

一般来说,本发明涉及通信网络领域,确切地说,涉及用于跨越数据网络的流式和离散消息通信的带外鉴别方法。更确切地说,本发明涉及使用公共分组型通信网络,如网际协议(IP)网络,确保数据完整性和数据交换连接各方的真实性的解决方案。

背景技术

众所周知,为了数据交换和/或多媒体流动而使用实施公共分组式通信网络(如IP网络)的系统时,需要使用能够确保数据的完整性和连接各方的真实性的安全解决方案。

为了实施这样的安全措施,最常用的解决方案一般由于引入新部分(如特定字段)或者修改应用协议内已经存在的字段而提供现有通信协议的扩展。

一般来说,每个应用协议(比如SOAP简单对象访问协议;HTTP超文本传输协议;Java RMI-Java远程方法调用;IIOP因特网Inter-Orb协议)都定义了一个或多个字段,其内容根据特定协议来定义。例如,网络服务调用中所用的SOAP包括“头部”和“主体”,用于描述所传送消息的内容。SOAP的“安全”扩展被称为WS安全,引入了特定字段,都用于传送有关调用应用的身份的信息(例如在SOAP头部中)和用于确保请求或网络服务调用响应(包含在SOAP主体中)的完整性。

以上方式无法永远适用,因为并非永远可能使用它们(“传统”应用)来修改或扩展现有的协议或应用,以便将鉴别和完整性信息添加到传送的消息。无法修改的协议实例为RTP(实时协议)、FTP(文件传输协议)、Telnet协议以及TCP/IP传输控制协议/网际协议组中的许多其他协议,因为这些协议已经被设计为不考虑任何安全需求。

实施安全措施的其他解决方案包括使用在传送或在网络等级是“安全的”的应用协议(根据国际标准化组织(ISO)开放式系统互连(OSI)-ISO/OSI模型)。这样的解决方案实例是SSL(加密套接字层)或提供安全隧道的协议,比如IPSEC(IP安全)。这种方案一般通过将原始通信流封装到安全通信协议的消息之中而提供消息加密和鉴别。

US 6,842,860公开了使用部分消息鉴别码的解决方案,其中仅仅对消息的某些部分应用了消息鉴别码。

US 2005/0228983公开了一种包括安全方信道和不安全传统信道的系统。在一个实施例中,客户机散列通过不安全信道发送的某些内容,并且通过安全信道发送该散列。然后,服务器散列通过不安全信道收到的内容,并将它产生的散列与通过安全信道收到的散列进行比较,以便确定通过不安全信道传递的消息是否已经被改变。

US 200370120924公开了一种检验发送机与接收机之间传送的消息的完整性的方法。在发送端,根据将发送的消息产生鉴别值。根据该鉴别值和随机串形成检验码。第一消息通过第一信道从发送机向接收机传送,而检验码通过第二安全信道传送。在接收端根据收到的消息形成鉴别检验。通过在接收端中比较检验值而检验所收到消息的完整性。

发明内容

申请人已经观察到使用在传输或网络级上运行的安全机制的解决方案提供了端到端的保护,但是当传送的消息应当经过需要访问所传送信息的多个中间节点时,它们便不太适当。不仅如此,当所述信息流传输中不能引入延迟很重要时,比如实时通信,如IP电话,这样的解决方案便是不适宜,因为任何延迟都可能降低服务质量。

不仅如此,包括对所述消息真实性进行离线检验的鉴别方法无法扩展到实时业务或数据流,其中动态产生的消息被连续地发送(比如在VoiceIP中)。

申请人也已经观察到使用应用于所传送消息的消息鉴别代码机制的解决方案时,往往需要修改客户机和服务器的应用,以便管理修改的消息,这并非总是可能的或是所期望的。

所以,本发明的目标是,提供能够克服所述已知解决方案的以上缺点的消息鉴别方法和系统。

数字媒体能够以连续流形式—被称为流动的内容传递方法—跨网络传送。流动过程开始于媒体文件被拆成较小的片段以便能够传送并在收到每个所述片段时播放,而不是等待整个文件都被传送才开始回放。一般来说,数据流是指用于表示传输中的信息的数字编码信号的序列。

连续媒体,比如实时音频或视频(如因特网广播或电视台)一般通过使用流动技术进行传送(比如下载)和播放。尤其在连续流动的情况下,携带信息的数据流的长度事先无法得知,或者为了管理流动的目的而被认为是无限的。

申请人已经理解,尤其在处理连续流动时,鉴别机制应当使所述信息数据的发送机与所述接收机之间能够同步,以便即使已经开始传输数据的时间对所述接收机是未知的,所述接收机也能够定义开始进行验证的数据。

根据本发明,提供了跨通信网络所传送的消息的带外鉴别的方法和系统,正如分别在权利要求1和14中定义的。

确切地说,所述方法使用两个不同信道:第一个信道可基于分组类型的通信网络,具有有限安全特征,如因特网,用于传输数据和/或数据流(例如多媒体和实时数据);优选情况下第二个信道是安全信道,用于发送可用于检验接收数据的完整性和/或真实性的信息。确切地说,所述鉴别方法能够用于验证数据的完整性,也就是说,验证发送的数据与接收的数据是同一数据,和/或能够用其进行来源鉴别,也就是验证所述数据确实是由所声称的发送机发送的。为了正确地操作数据流,在发送机模块与接收机模块之间交换同步数据。因此,所述发送机和接收机模块能够同步,并且所述接收机模块能够实时地执行所述检验操作。

附图说明

为了更好地理解本发明,现在将参考附图介绍若干优选实施例,它们纯粹是力图作为实例而不应当解释为限制,其中:

图1显示了根据本发明第一实施例的鉴别系统的框图;

图2显示了根据本发明第二实施例的鉴别系统的框图;

图3是发送机与接收机之间的传输的时间图;

图4a、图4b和图4c是根据本发明的鉴别方法的实施例的流程图;

图5描述了根据本方法的实施例在发送机与接收机之间的可能数据流。

具体实施方式

图1显示了根据本发明的第一实施例,鉴别由发送机2通过公共网络4向接收机3传送的数据的系统1。在图1的实施例中(“边缘解决方案”),发送机2和接收机3分别是LAN(局域网)5、6之内的两个通信节点。例如,发送机2和接收机3可以包括在由不同可信赖LAN所形成的商务外联网中,由单个中心控制单元控制,并且通过广域网(WAN),如因特网彼此连接。

确切地说,发送机2和接收机3可以是比如计算机、PDA(个人数字助理)、膝上计算机、具有无线能力的便携式计算机、VoIP电话、Web摄像头或无线IP电话。

公共网络4比如因特网,包括第一信道7和第二信道8。第一信道7和第二信道8是逻辑数据信道,未必对应于不同的物理信道,因为物理信道可以被更多的逻辑信道所共享。物理信道的实例可以是电缆或移动通信情况下的无线电信道,比如GPRS中的分组数据信道(PDCH),每一信道都与TDMA帧的时隙相关联。

第一信道7用于传送数据,优选情况下传送分组数据,或者作为离散消息或者作为数据流(例如多媒体和实时数据),并且具有未指定的(如有限的)安全特征。优选情况下,第二信道8是安全信道并且以任何公知方式实施,以便以安全的方式传送控制数据。在第二信道8中可以采用在应用、传输或网络级运行的安全协议,比如可以通过SSL(安全套接字层)或IPSEC(IP安全)实施的协议。

每个通信节点5和6分别包括控制模块10和11,分别连接到所述发送机2和所述接收机3。

发送机控制模块10布置在所述发送机2的下游,并且包括发送机数据缓冲器12和发送机处理器13。发送机数据缓冲器12(比如FIFO队列)连接到所述数据信道7,并且存储由所述发送机2发送的数据。发送机处理器13连接到所述发送机缓冲器12并从其获取数据,并且产生通过所述安全信道8发送的控制数据。

接收机控制模块11布置在所述接收机3的上游,并且包括接收机数据缓冲器18、接收机控制缓冲器19和接收机处理器20。接收机数据缓冲器18(比如FIFO队列)连接到所述数据信道7,并且存储在所述数据信道7上收到的数据。接收机控制缓冲器19(比如FIFO队列)连接到所述安全信道8,并且存储在所述安全信道8上收到的控制信息。接收机控制缓冲器19可以是物理部件,也可以由所使用的协议实现并且是所使用的协议固有的。例如,TLS(传输层安全性)和IPSEC(IP安全)协议具有以顺序方式工作的缓冲器,它可以实现所述接收机控制缓冲器19。

接收机处理器20连接到接收机数据缓冲器18和接收机控制缓冲器19并从它们获取数据,并且执行与发送机控制模块10同步所需的操作,以及检查数据信道7中所传送数据的真实性的操作,正如下文参考图3、图4a、图4b和图4c详细解释的。接收机处理器20也可以连接到接收机3,以便以未显示的方式向其发送出错消息。作为替代,可以将出错消息发送到能够采取适宜措施的管理服务器(未显示)。

发送机控制模块10和接收机控制模块11可以实施为物理节点,也可以实施为由LAN5、LAN6或所述网络4的已经存在的资源所执行的软件应用。

图2显示了不同的实施例,其中发送机控制模块10和接收机控制模块11安排在所述传输和互连通信网络(主干线)内。例如,电信运营商可以通过在其基础设施内插入所述发送机和接收机控制模块10、11来为数据流提供鉴别和完整性服务。例如,发送机2和接收机3可以是通过ADSL(非对称数字用户线路)接入网络连接到因特网的VoIP电话。

详细地说,发送机2和接收机3是连接到公共网络4的两个通信节点;发送机控制模块10的处理器13连接到身份服务器26;而接收机控制模块11内的处理器20连接到登录/记帐服务器27。

身份服务器26允许发送机控制模块10的处理器13识别正在产生数据流的发送机2,例如通过映射ADSL(非对称数字用户线路)接入网络中用于传送分组的IP地址。登录/记帐服务器27的目标是考虑各种事件(比如鉴别错误)和处理记账数据。

发送机控制模块10和接收机控制模块11可以具有与图1中相同部件类似的操作功能;因此,下文将介绍两个系统的操作,对两个系统都适用。

在以下介绍中,假设发送机2在某个初始时间开始向接收机3的传输,并且发送的数据流长度使得发送机2和接收机3同时参加该通信,也就是说,对于从发送机向接收机传输信息的大部分,在接收机接收数据的同时发送机仍然在发送。这意味着发送机2在接收机3不知道的时间开始发送,并且接收机3在发送机2仍然在发送时开始接收所发送的数据。图3中描述了这样的情况,其中发送机2在时间t0开始发送包括字节[a1,a2,...,ai,...,aM]的数据流;接收机3在时间t1>t0处开始接收包括字节[b1,b2,...,bj,...,bN]的数据流;发送机2在时间t2>t1处结束字节[a1,a2,...,ai,...,aM]的传输(即在发送了字节aM之后);而接收机3在时间t3>t2处收到了最后的字节bN

本鉴别方法的目标在于验证[a1,a2,...,ai,...,aM]=[b1,b2,...,bj,...,bN],但该系统所允许的错误数量(如由系统定义为可允许的有限数量字节的丢失或损坏)除外。本鉴别方法能够检测出这些错误并发信号告知。至此,通过数据信道7未变更地传送由发送机2产生的数据流。

另外,发送机控制模块10将发送机2所发送的数据流分为多个块AS=[aS,...,aS+L],每个块都包括L个消息单元,比如四个消息单元,为每个块都计算一个鉴别值,并且通过安全信道8向接收机控制模块11发送该鉴别值。注意,一般来说,术语“消息单元”是指字节;不过,在分组式传输中,它可以指分组。为了简明起见,在以下的介绍中,将引用字节,除非另外指定。

每个块的鉴别值都使用散列函数H来计算。众所周知,散列函数是产生“难以反转”(即给定散列值h,计算上不可能找到一个输入x,使得H(x)=h)并且抗冲突(即计算上不可能找到两个输入x,y,使得H(x)=H(y))的固定尺寸串的变换。

接收机控制模块11将通过数据信道7收到的数据流分为若干块,从所收到的块中计算自身的鉴别值,并且将自身的鉴别值与通过安全信道8收到的鉴别值进行比较,以检查所收到块的完整性。

根据本发明的一个方面,为了允许发送机在未知时间向接收机发送未知长度的数据流,发送机控制模块10和接收机控制模块11执行同步化阶段,正如以下参考图4a至图4c以及图1、图2在后文详细讨论的。确切地说,图4a涉及发送机控制模块10所执行的操作,而图4b和图4c涉及接收机控制模块11所执行的操作。

在图4a中,发送机控制模块10一旦觉察到数据流[a1,a2,...,ai,...,aM]的传送就被激活,步骤30;然后,数据流在数据信道7上转发而不改变,并且同时被复制并加载到发送机缓冲器12中。在替代方案中,可以在任何适合的时间将该数据流复制到发送机缓冲器12中。在积累了m个字节之后,发送机处理器13提取被称为模式的k个连续字节的子序列P1=[ak,...,ak+p],k+p<m,其中p是独立于m的固定数值(例如,p=1024),步骤32。

优选情况下,选择模式P1以便使模式P1等于数据流的另一个子序列的概率最小。模式的选择也取决于业务类型;确切地说,该模式可以是其长度降低了冲突可能性的数据/字节序列。根据优选实施例,发送机处理器13从要由鉴别系统验证的若干第一块中提取相对大尺寸的字节序列(如8个500字节的分组),以便使冲突的可能性非常小。

发送机处理器还可以检验所选模式P1并非仅仅由标准的字节序列组成,比如表示自然语言的单词的串等。

然后,在步骤34,发送机处理器13产生包含同步数据I1、散列函数H和块长度L的第一控制消息。确切地说,同步数据I1可以与所选模式P1相同也可以是单义地标识模式P1的任何信息。例如,在将数字与数据流内的消息相关联的协议中,比如提供序列号的RTP—实时协议,同步数据I1可以是协议的序列号。

在一个实施例中,控制消息可以包括结束命令,例如在给定数量N的数据块之后或在给定时间之后(比如十分钟之后)或者在收到特定命令或信息时,指示接收机控制模块11中断鉴别过程。

然后将第一控制消息[I1、H、L]发送到安全信道8上,步骤38。确切地说,传送第一控制消息时可以使用任何公知的系统(如TLS—传输层安全性—或IPSEC协议)。

不仅如此,由发送机2产生的数据流被分为若干块AS=[aS,...,aS+L],长度L随第一控制消息发送,并且每个块都累积在发送机缓冲器12中。

一旦数据块AS=[aS,...,aS+L]在发送机缓冲器12中累积,发送机处理器13就加载它,步骤40,使用随第一控制消息发送的散列函数H来计算其散列值hS,步骤42,并且在安全信道8上发送鉴别消息,步骤44。确切地说,在发送了第一控制消息之后,发送机处理器13获取所选模式之后的块[ak+p+1,...,ak+p+L]。

根据第一个实施例,鉴别消息包括计算出的散列值hS。根据不同的实施例,发送机处理器13与鉴别令牌一起发送散列值hS

获取数据块、计算其散列值以及在安全信道8上发送鉴别消息(步骤40-44)的过程能够对整个流重复,从而产生控制流[hS,hS+L,hS+2L,...]。

然后重复上述步骤,直到原始数据流的传送结束(步骤46的输出为是)或者直到发送机处理器13从接收机处理器20收到再同步的请求(步骤48的输出为是)。在后一种情况下,发送机处理器13收到类似于第一控制消息的第二控制消息,第二控制消息包括被称为新的同步模式P2的新的同步数据I2、散列函数H和长度L。然后,发送机处理器13执行再同步、在发送机缓冲器12中识别模式P2之后的数据块Bz,方框50,并且从步骤42重新开始传送过程,计算块Bz的散列值。

图4b显示了一旦接收机控制模块11开始接收传输,接收机处理器20就执行的操作的流程图。确切地说,一旦从数据信道7收到数据流[b1,b2,...,bN]的第一个字节,接收机控制模块11就能够被激活。

当接收机模块被激活时,所收到的数据流就累积在接收机数据缓冲器18中。实际上根据一个实施例,复制从信道7收到并指向接收机3的数据流,并且将复制的数据流存储在接收数据缓冲器18中。

一旦接收机控制缓冲器19从信道8收到控制消息[I1,H,L],接收机处理器20就加载它,步骤58;此后,控制流[hS,hS+L,hS+2L,...]累积在接收机控制缓冲器19中。

收到第一个控制消息后,接收机处理器20加载子序列Bi=[bi,...,bi+L],其中1<i<h-L,而bh是最后收到的字节,步骤60,并且比较所加载的子序列与模式P1,步骤62。在替代方案中,如果所收到的同步数据I1是序列号,如同所使用的协议所提供的,接收机处理器20寻找具有相同序列号的接收块。

重复上述步骤,直到接收机处理器20找到等于模式P1(或者其协议序列号等于同步数据I1)的子序列Bq=[bq,...,bq+L],从步骤62输出为“是”。现在,接收机模块11与发送机模块10同步。

此后,接收机处理器20从接收机数据缓冲器18加载同步所用块之后的块Bs=[bs,...,bs+L],步骤64,通过收到的散列函数H来计算其散列值fs,步骤66,从接收机控制缓冲器19中加载收到的散列值hs,步骤68,并且比较fs与hs,步骤70。如果控制消息包含鉴别令牌,则通过标准装置来检查这个令牌,如使用基于发送机模块10和接收机模块11所共享的机密的对称数字签名(例如,根据标准XML数字签名的指示)。

如果比较结果是肯定的,也就是如果fs=hs,便有[bs,...,bs+L]=[aS,…,aS+L],那么就验证了所收到的数据块Bs。因此,接收机确信所收到的数据块已经由假设的发送机发送(对方的真实性),并且在传送期间未被修改(消息的完整性)。

如果步骤70中的检查给出肯定结果,以上过程(步骤64-步骤70)通过随后的块Bs继续,直到数据流的结束(从步骤72输出为是),否则(从步骤70输出为否),便执行出错过程(步骤74)。

管理出错的情况时考虑出错的类型可以用不同方式。根据第一种解决方案,接收机可以仅仅向登录/记帐服务器27(在图2的实施例中)和发送机模块10都发送出错告知消息,而不中断传输。根据第二种解决方案,系统可以接受许多错误再停止传输。根据第三种解决方案,系统可以立即中断传输。

当所用的传输信道已知有缺陷时,第一种和第二种解决方案可能有优势。这是例如网络的传输带宽非常低或者在结构上不可靠的无线网络(例如经由HF的IPv4的网络)的情况。在这种实例中,许多通信协议,如全部基于TCP的协议和SIP(对话启动协议)对丢失的消息都提供了自动重发。另一方面,当未提供重发时(如根据UDP用户数据报协议),系统可以包括容错。例如,如果已知通信网络丢失所发送IP分组的平均5%,则该系统可以接受5%的鉴别错误,假设这样的错误是因为传输错误,而不是由于安全性问题。不仅如此,如果在传输期间,接收机模块11丢失了其与发送机模块10的同步,则可以开始再同步过程。

图4c描述了可能的错误管理过程的流程图,其中重新启动同步过程。

确切地说,最初,接收机处理器20向其登录/记帐服务器27(对于图2的实施例)和/或向发送机模块10产生出错消息,步骤80。然后,检查错误类型,步骤82,以便发现该错误是由于丢失了一个或多个分组还是由于所收到的数据的损坏。确切地说,如果传输提供了序列号,则可以检查所收到分组的序列号;如果传输未提供序列号,则检查随后块的散列值。

如果出错是由于分组丢失,则从步骤82输出为“是”,接收机处理器20发送再同步的请求,步骤84。确切地说,再同步的请求包括用于新同步模式P2的控制数据I2、散列函数H和长度L。然后,接收机处理器20返回图4b的步骤64,以便检查用于产生控制数据I2的块之后的块Bs

如果出错不是由于分组丢失,例如,由于对数据完整性的攻击,则从步骤82输出为“否”,一般不需要再同步,并且接收机处理器20可以继续并检查随后的块,步骤86。检查正如以上所介绍的进行,通过计算散列值并且将其与在安全信道8上收到的随后散列值进行比较。如果步骤86的检查结果是肯定的,则从步骤88输出为“是”,然后,从图4b的步骤64再继续该标准流程;否则,步骤88的输出为“否”,接收机处理器20向其服务器27(对于图2的实施例)和/或向发送机模块10都发送出错消息,步骤90;然后,它阻塞分组进入接收机模块11。根据系统所接受的错误的百分比,对随后块的检查可以重复例如几次;不仅如此,也可以在第一次检测到出错之后发送出错消息(在步骤86中检查随后消息之前)。

图5显示了在基于RTP协议的通信中交换数据的流程,其中每条消息(分组)都具有自己的序列号。因此,这里由发送机模块10向接收机模块11发送的长度L是指分组。传输可以把监视摄像头所拾取的图像视为在IP网络上向控制中心发送。

在图5中,发送机2在时间t0发送第一个分组(具有序列号2的消息),它激活发送机模块10。第一个分组因此不被鉴别。这个分组(以及连续传送的分组)由接收机模块11以延时Δt接收。

在收到了第一个分组之后,发送机处理器13启动鉴别过程并且在安全信道8中发送第一个控制消息C1=<I,L,H>。在本实例中,同步数据I是RTP消息的序列号(这里是2)、L=4,以及散列函数是H=SHA-256。不仅如此,发送机模块10按照分组被发送的次序加载分组到缓冲器12,并且在加载了四个分组(第一数据块)之后为第一数据块计算散列值h1。然后,发送机处理器13将散列值h1发送到安全信道8上。

其间,接收机模块11已经收到了第一个控制消息C1并且开始接收并用收到的分组加载它的数据缓冲器18。一旦接收机模块11已经收到了所传送的形成一个数据块的数量的分组(这里是4),接收机处理器20便计算其散列函数h1’。然后,接收机处理器20比较h1和h1’。如果它们匹配,就肯定地验证了分组3至6的完整性。

对分组7至10、分组11至14、...重复该过程,直到流结束。

所介绍的系统和方法具有以下优点。

因为未修改原始数据流,所以发送机和接收机不需要任何改装,从而也允许在“传统”应用中鉴别数据。

本方法可以应用于所有分组型通信协议,离散和连续数据流都不例外。

由于控制模块10、11与发送机和接收机都是分离的,所以根据具体的安全策略,它们能够以模块化和灵活的方式实施为附加组件。

所介绍的解决方案未向传送的数据流引入任何延时,因为鉴别数据的传输是在并行信道上实现的,而没有妨碍原始数据流的加工。这个方面对不能通过需要修改原始流的方法进行验证的实时传输尤为重要。

最后,显而易见对本方法和系统能够做出许多修改和变化,全部落入附带的权利要求书中定义的本发明的范围之内。

确切地说,发送机模块10与接收机模块11之间交换的同步消息在系统提供单个散列函数H和长度L(例如它们固定在系统中)时可以不包含散列函数H和长度L,和/或可以包含另外的信息,比如证明其身份的发送机模块标识符和鉴别令牌。

此外,同步数据I可以包括不同的数据,例如模式的非邻接部分、发送机的标识信息等。

错误过程也可以与所介绍的不同,并包括传输的立刻中断、重发丢失分组的请求等。

如果数据流不包含大量的数据,则可以逐个数据地执行鉴别,而不将数据流分为若干数据块。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号