首页> 中国专利> 匿名度可选的匿名消息交换系统及其实现方法

匿名度可选的匿名消息交换系统及其实现方法

摘要

本发明涉及一种匿名度可选的匿名消息交换系统及其实现方法。现有匿名消息交换系统不能灵活地适应用户消息匿名度需求的变化。本发明包括用于生成初始化参数、响应查询请求、协调子系统工作的主控服务器,用于缓存消息的用户消息输入队列,用于缓存中间结果的K-1个中间队列,用于对输入队列中的消息进行处理的消息处理子系统,用于缓存等待被分发的消息的输出队列和用于从输出队列中提取消息、并根据消息的地址字段发送给消息接收者的消息分发子系统。基于本发明,用户可在匿名度和转发延迟之间进行权衡,灵活选择适合于自己的匿名度和延迟参数,所有匿名度级别的消息都被混在一起进行处理,不同匿名级别的消息还可以相互保护。

著录项

  • 公开/公告号CN104125142A

    专利类型发明专利

  • 公开/公告日2014-10-29

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201410277313.1

  • 发明设计人 李龙海;许尚妹;黄诚强;付少锋;

    申请日2014-06-20

  • 分类号H04L12/58(20060101);H04L12/865(20130101);

  • 代理机构61114 西安新思维专利商标事务所有限公司;

  • 代理人李罡

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-12-17 01:54:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-11

    授权

    授权

  • 2014-12-03

    实质审查的生效 IPC(主分类):H04L12/58 申请日:20140620

    实质审查的生效

  • 2014-10-29

    公开

    公开

说明书

技术领域

    本发明属于信息安全技术领域,具体涉及一种匿名度可选的匿名消息交换系统及其实现方法。

背景技术

消息交换系统的基本功能是接收来源于多个发送者的输入消息,经过处理之后,再根据每个消息的目标地址,将消息转发给不同的接收者。网络交换机就是一种典型的消息交换系统。消息交换系统一般包含输入队列、输出队列、消息处理子系统和消息分发子系统四个主要部分。来源于不同发送者的消息首先被缓存到输入队列,消息处理子系统循环地从输入队列中获取消息,处理消息,再将其放入输出队列。消息分发子系统将输出队列中的消息根据目标地址转发给不同的接收者。

匿名消息交换系统除了具有基本的消息交换功能之外,还可以隐藏输入与输出消息之间的匹配关系。其工作过程的特殊性体现在:用户输入的消息采用加密格式;系统接收到输入消息之后并不立即处理,而是将其缓存到输入队列中,直到队列中的消息达到一定的数量(这些消息构成一个批次);消息处理子系统从输入队列中取出一个批次的消息之后,对其进行解密,然后将解密后消息的排列顺序随机打乱(该过程称为混洗),最后将顺序打乱的消息依次送入到输出队列,由分发子系统发送给不同的接收者。由以上工作过程可以看出,对于任意的输入消息,进入交换系统时是密文(在攻击者看来是一个随机数),从交换系统输出时是明文,并且该消息进入系统时的序号和输出时的序号之间没有关联关系。因此,攻击者既不能根据内容,也不能根据时序将输入与输出消息匹配到一起。如果某个用户从匿名消息交换系统接收了一个消息,那么该用户将无法追踪消息的发送者是谁,即便对于能够监听交换系统输入、输出线路的攻击者也是如此,因此借助于匿名消息交换系统就可以实现发送者匿名性。

将多个匿名消息交换系统串联起来就可以构成匿名通信网络。用户利用匿名通信网络进行Web浏览、电子邮件发送等操作时,可以对服务提供者和网络监听者隐藏自己的身份信息,以达到保护自己隐私的目的。

已知匿名消息交换系统以批次为单位对消息进行解密、混洗和转发。显然,一个批次中缓存的数据包越多,匿名度越大,但消息的传输延迟也越大。

普通的匿名消息交换系统虽然实现了消息的匿名性,但是不能灵活地适应用户消息匿名度需求的变化。如果设置匿名度级别较高,消息交换延迟会比较大;设置匿名度级别较低,匿名性能就达不到要求。两种情况都会导致服务质量的下降,用户不能根据自己特有的应用需求在交换延迟和匿名度之间进行调整。

发明内容

本发明的目的是提供一种匿名度可选的匿名消息交换系统及其实现方法,克服现有匿名消息交换系统不能灵活地适应用户消息匿名度需求变化的缺陷。

本发明所采用的技术方案是:

匿名度可选的匿名消息交换系统,其特征在于:

所述系统包括:

一个主控服务器,部署在系统的主控节点上,用于生成系统初始化参数,响应用户对系统参数的查询请求,以及协调其它子系统之间的工作;

一个用户消息输入队列,视为第1级队列,用于缓存用户发送到系统的消息;

K-1个中间队列,分别视为第2到第K级队列,分别用于缓存上一级队列中的消息被处理后的中间结果;

一个消息处理子系统,根据系统的要求,部署在0到多个节点上,用于对输入队列中的消息进行处理;

一个输出队列,用于缓存等待被分发的消息;

一个消息分发子系统,部署在局域网某个节点上,用于从输出队列中提取消息,并根据消息的地址字段发送给消息接收者;

其中:

所述的消息处理子系统,又包括n个相互独立的Mix服务器,为系统初始化提供必要参数,并参与匿名消息的处理。

匿名度可选的匿名消息交换系统的实现方法,其特征在于:

由以下步骤实现:

(1)系统初始化:主控服务器和n个相互独立的Mix服务器相互协作,构造出系统运行所需的公共参数和相关密钥;匿名消息交换系统完成初始化流程后,即可正式对外提供服务;

(2)系统等待接收匿名消息:在系统运行期间,到达系统的任何匿名消息被统一缓存到第1级队列;

(3)系统匿名消息核心处理流程:

(3.1)主控服务器实时扫描系统的K个队列,从第i=1级队列开始;

(3.2)主控服务器扫描第i级队列,如果该队列构成一个批次,即队列中消息的总数大于或等于当前队列的长度参数Ni时,执行步骤(3.3);反之,则该流程结束;

(3.3)主控服务器从第i级队列中取出Ni个消息构造成消息列表Ci,然后启动级联混洗流程CascadeMix处理消息列表Ci,得到消息列表Ci';

(3.4)逐个检查Ci'中的消息(a,b,c,d)是否已经成为明文格式,如果是明文格式,则将该消息送入到输出队列;如果仍为密文格式,且i<k,则将其输入到第i+1级队列;如果仍为密文消息,且i=k,则将该消息丢弃;

(3.5)当处理完Ci'中的所有元素后,令i=i+1,如果i>k,则该流程结束,反之则返回步骤(3.2);

(4)系统分发匿名消息:经过上述的匿名消息处理之后,输出队列中缓存了等待被分发的明文消息;消息分发子系统则实时扫描输出队列,从中取出消息,并根据其地址字段发送给消息接收者。

步骤(1)所述的系统初始化,包括以下子步骤: 

(1.1)确定系统运行的公共参数:

(1.1.1)主控服务器确定系统支持的匿名度级别K,和K级队列包括输入队列在内对应的长度参数N1,N2,..., Nk,满足N1≤N2≤... ≤Nk

(1.1.2)主控服务器随机生成两个大素数p、q,满足:2q=p-1,且在群Zp*上离散对数问题困难性假设成立,在群Zp*中任取q阶元素g,将g作为生成元生成Zp*的子群G;

(1.1.3)主控服务器将参数p、q、g、K、N1、N2、... 、Nk发送给n个Mix服务器;

(1.2)对于任意的Mix服务器Serveri(1≤i≤n),从集合Zq中任取K个随机数{xi,1,xi,2,...,xi,K},计算向量{yi,1,yi,2,...,yi,K},其中:

并将向量{yi,1,yi,2,...,yi,K}发送给主控服务器和其它Mix服务器,将随机数{xi,1,xi,2,...,xi,K}作为解密密钥秘密保存到本地的安全存储器中;

(1.3)公钥向量生成过程:假设y0=1,并且主控服务器已从n个Mix服务器收到向量{yi,1,yi,2,...,yi,K}(1≤i≤n),利用公式

计算匿名度j所对应的公钥yj,并扩展得到公钥向量{ y1 , y2 ,..., yK };

(1.4)主控服务器将p、q、g、K、N1、N2、... 、Nk、公钥向量{ y1 , y2 ,..., yK }作为公共参数保存,任意的用户都可以向主控服务器查询这些参数。

步骤(2)中,系统接收的匿名消息由匿名消息产生算法AMsgGen产生,该算法包括以下子步骤:

假定匿名消息交换系统完成了系统初始化流程,用户已向系统查询获得了q、g和公钥向量{ y1 , y2 ,..., yK }的参数,用户想获得第l(1≤l≤K)级匿名度服务,l越大匿名度越高,想发送的消息内容是Content,并且接收者的网络地址是Addr,满足字符串Addr||Content的二进制长度等于|G|-PadLen,其中|G|表示集合G中元素的二进制位数,PadLen是用户之间事先约定的一个长度参数;

(2.1)选取二进制长度为PadLen的填充二进制串nonce=0,并计算

(2.2)  计算mq,如果mq=1,执行步骤(2.4);

(2.3)令nonce=nonce+1,如果nonce≤2PadLen-1,则返回步骤(2.2);否则返回失败,退出流程;

(2.4)用户从Zq中任取随机数r和s并用查询到的与所需l(1≤l≤K)级匿名度对应的公钥yi加密m,计算

用户将密文(a,b,c,d)发送到匿名消息交换服务系统的输入队列。

步骤(3.3)中的级联混洗流程CascadeMix,包括以下子步骤:

假设主控服务器从第l(1≤l≤K)级队列中取出了匿名消息列表

    且参与级联混洗流程CascadeMix的包括主控服务器和n个Mix服务器Serveri... Servern

(3.3.1)令变量i=1,C0=C;

(3.3.2)主控服务器将AtomMix流程启动指令、列表Ci-1和匿名度级别l发送给Mix服务器Serveri

(3.3.3)Mix服务器Serveri接收到主控服务器的指令和数据后,以Ci-1和l为输入参数执行AtomMix流程,获得输出列表Ci,Serveri将处理结果Ci发送给主控服务器;

(3.3.4)令i=i+1,如果i≤n,则返回步骤(3.3.2);

(3.3.5)令C'=Cn,并将Ci为结果返回,流程结束;

步骤(3.3.3)中的AtomMix流程,包括以下几个子步骤:

假设执行AtomMix流程的Mix服务器Serveri(1≤i≤n)已经获得了公共参数,并接收到主控服务器的启动命令、匿名度级别l(1≤l≤K)和匿名消息列表

(3.3.3.1)令变量k=1,变量N=length(C),列表C'等于空;

(3.3.3.2)令变量(a,b,c,d)等于列表C的分量(ak,bk,ck,dk);

(3.3.3.3)利用密钥xi,l对(a,b,c,d)进行部分解密得到(a',b',c',d'),其中

(3.3.3.4)从Zq中任取随机数r和s,对(a',b',c',d'),进行再加密得到(a",b",c",d"),其中

将(a",b",c",d")添加到列表C'中;

(3.3.3.5)令k=k+1,如果k小于等于N,则返回步骤(3.3.3.2);

(3.3.3.6)将列表C'中的N个元素进行随机排序,并返回排序之后的列表C',流程结束。

本发明具有以下优点:

本发明提供了一种支持多种不同匿名度的匿名消息交换系统,如果某个用户选择从第l级队列输出其明文消息,则该用户获得的发送者匿名性下限为1-Ni-1。如果用户选择的匿名度l(1≤l≤k)越大,则本发明转发该用户消息的延时就越大。系统运行在优选情况下,用户选取的匿名等级l=1时,消息匿名性至少为99%,转发延时最小;l=3时,消息匿名性至少为99.75%;l=5时,消息匿名性至少为99.94%,转发延时最大。因此用户可以在匿名度和转发延迟之间进行权衡,灵活选择适合于自己的匿名度和延迟参数,解决了已有的系统不能灵活地适应用户匿名度需求变化问题。在所设计的系统中,所有用户的消息,无论该消息对应哪种匿名度级别,都被混在一起进行处理,这样不同匿名级别的消息还可以相互保护。 

附图说明

图1是系统构架图。

图2是系统总流程图。

图3是系统匿名消息核心处理流程图。

图4是用户匿名消息产生的流程图。

图5是CascadeMix流程图。

图6是AtomMix流程图。

具体实施方式

下面结合具体实施方式对本发明进行详细的说明。

本发明所涉及的匿名度可选的匿名消息交换系统,是涉及网络安全通信过程中的匿名消息交换系统,通过应用密码学相关理论和技术达到保护用户隐私的目的。如图1所示,系统包括:

一个主控服务器,部署在系统的主控节点上,用于生成系统初始化参数,响应用户对系统参数的查询请求,以及协调其它子系统之间的工作;

一个用户消息输入队列,视为第1级队列,用于缓存用户发送到系统的消息;

K-1个中间队列,分别视为第2到第K级队列,分别用于缓存上一级队列中的消息被处理后的中间结果;

一个消息处理子系统,根据系统的要求,部署在0到多个节点上,用于对输入队列中的消息进行处理;

一个输出队列,用于缓存等待被分发的消息;

一个消息分发子系统,部署在局域网某个节点上,用于从输出队列中提取消息,并根据消息的地址字段发送给消息接收者;

其中:

所述的消息处理子系统,又包括n个相互独立的Mix服务器(解密混洗服务器),为系统初始化提供必要参数,并参与匿名消息的处理。

本发明涉及的匿名度可选的匿名消息交换系统的实现方法,如图2所示,由以下步骤实现:

(1)系统初始化:主控服务器和n个相互独立的Mix服务器相互协作,构造出系统运行所需的公共参数和相关密钥;匿名消息交换系统完成初始化流程后,即可正式对外提供服务。

所述的系统初始化,包括以下子步骤: 

(1.1)确定系统运行的公共参数:

(1.1.1)主控服务器确定系统支持的匿名度级别K,和K级队列包括输入队列在内对应的长度参数N1,N2,..., Nk,满足N1≤N2≤... ≤Nk

(1.1.2)主控服务器随机生成两个大素数p、q,满足:2q=p-1,且在群Zp*上离散对数问题困难性假设成立,在群Zp*中任取q阶元素g,将g作为生成元生成Zp*的子群G;

(1.1.3)主控服务器将参数p、q、g、K、N1、N2、... 、Nk发送给n个Mix服务器;

(1.2)对于任意的Mix服务器Serveri(1≤i≤n),从集合Zq中任取K个随机数{xi,1,xi,2,...,xi,K},计算向量{yi,1,yi,2,...,yi,K},其中:

并将向量{yi,1,yi,2,...,yi,K}发送给主控服务器和其它Mix服务器,将随机数{xi,1,xi,2,...,xi,K}作为解密密钥秘密保存到本地的安全存储器中;

(1.3)公钥向量生成过程:假设y0=1,并且主控服务器已从n个Mix服务器收到向量{yi,1,yi,2,...,yi,K}(1≤i≤n),利用公式

计算匿名度j所对应的公钥yj,并扩展得到公钥向量{ y1 , y2 ,..., yK };

(1.4)主控服务器将p、q、g、K、N1、N2、... 、Nk、公钥向量{ y1 , y2 ,..., yK }作为公共参数保存,任意的用户都可以向主控服务器查询这些参数。

(2)系统等待接收匿名消息:在系统运行期间,到达系统的任何匿名消息被统一缓存到第1级队列。

系统接收的匿名消息由匿名消息产生算法AMsgGen产生,该算法包括以下子步骤:

假定匿名消息交换系统完成了系统初始化流程,用户已向系统查询获得了q、g和公钥向量{ y1 , y2 ,..., yK }的参数,用户想获得第l(1≤l≤K)级匿名度服务,l越大匿名度越高,想发送的消息内容是Content,并且接收者的网络地址是Addr,满足字符串Addr||Content的二进制长度等于|G|-PadLen,其中|G|表示集合G中元素的二进制位数,PadLen是用户之间事先约定的一个长度参数;

(2.1)选取二进制长度为PadLen的填充二进制串nonce=0,并计算令

(2.2)计算mq,如果mq=1,执行步骤(2.4);

(2.3)令nonce=nonce+1,如果nonce≤2PadLen-1,则返回步骤(2.2);否则返回失败,退出流程;

(2.4)用户从Zq中任取随机数r和s并用查询到的与所需l(1≤l≤K)级匿名度对应的公钥yi加密m,计算

用户将密文(a,b,c,d)发送到匿名消息交换服务系统的输入队列。

(3)系统匿名消息核心处理流程:

(3.1)主控服务器实时扫描系统的K个队列,从第i=1级队列开始;

(3.2)主控服务器扫描第i级队列,如果该队列构成一个批次,即队列中消息的总数大于或等于当前队列的长度参数Ni时,执行步骤(3.3);反之,则该流程结束;

(3.3)主控服务器从第i级队列中取出Ni个消息构造成消息列表Ci,然后启动级联混洗流程CascadeMix处理消息列表Ci,得到消息列表Ci';

级联混洗流程CascadeMix,包括以下子步骤:

假设主控服务器从第l(1≤l≤K)级队列中取出了匿名消息列表

    且参与级联混洗流程CascadeMix的包括主控服务器和n个Mix服务器Serveri... Servern

(3.3.1)令变量i=1,C0=C;

(3.3.2)主控服务器将AtomMix流程启动指令、列表Ci-1和匿名度级别l发送给Mix服务器Serveri

(3.3.3)Mix服务器Serveri接收到主控服务器的指令和数据后,以Ci-1和l为输入参数执行AtomMix流程,获得输出列表Ci,Serveri将处理结果Ci发送给主控服务器;

AtomMix流程,包括以下几个子步骤:

假设执行AtomMix流程的Mix服务器Serveri(1≤i≤n)已经获得了公共参数,并接收到主控服务器的启动命令、匿名度级别l(1≤l≤K)和匿名消息列表

(3.3.3.1)令变量k=1,变量N=length(C),列表C'等于空;

(3.3.3.2)令变量(a,b,c,d)等于列表C的分量(ak,bk,ck,dk);

(3.3.3.3)利用密钥xi,l对(a,b,c,d)进行部分解密得到(a',b',c',d'),其中

(3.3.3.4)从Zq中任取随机数r和s,对(a',b',c',d'),进行再加密得到(a",b",c",d"),其中

将(a",b",c",d")添加到列表C'中;

(3.3.3.5)令k=k+1,如果k小于等于N,则返回步骤(3.3.3.2);

(3.3.3.6)将列表C'中的N个元素进行随机排序,并返回排序之后的列表C',流程结束;

(3.3.4)令i=i+1,如果i≤n,则返回步骤(3.3.2);

(3.3.5)令C'=Cn,并将Ci为结果返回,流程结束;

(3.4)逐个检查Ci'中的消息(a,b,c,d)是否已经成为明文格式,如果是明文格式,则将该消息送入到输出队列;如果仍为密文格式,且i<k,则将其输入到第i+1级队列;如果仍为密文消息,且i=k,则将该消息丢弃;

(3.5)当处理完Ci'中的所有元素后,令i=i+1,如果i>k,则该流程结束,反之则返回步骤(3.2);

(4)系统分发匿名消息:经过上述的匿名消息处理之后,输出队列中缓存了等待被分发的明文消息;消息分发子系统则实时扫描输出队列,从中取出消息,并根据其地址字段发送给消息接收者。

本发明的安全性分析,基于如下几个假定条件:(1)攻击者只是被动观察系统的运行过程而不违背协议规定随时插入或删除消息(诚实而好奇);(2)攻击者只具有多项式计算能力;(3)攻击者能够观察到整个系统的输入和输出通信流;(4)攻击者能够观察到每个中间队列的输出;(5)攻击者能够控制不超过n个Mix服务器;(6)对诚实但好奇的多项式攻击者而言,能够匹配输入与输出消息的最佳策略是通过随机猜测;(7)所有用户都是诚实的。

定义1 对于给定的用户U和输出消息m,我们假设在攻击者看来U是m的发送者的概率为PU,则定义1-PU为用户U关于消息m的发送者匿名性。

定理1 假定加密消息列表C中包含N个元素,l(1≤l≤K)为任意的匿名度级别,经过CascadeMix处理流程得到列表C',且参与CascadeMix的n个Mix服务器中至少有1个服务器是诚实的,其他服务器可能被诚实但好奇的攻击者控制。那么在离散对数问题困难性假设下,对于C中任意元素,攻击者能够成功地在C'中找到对应元素的概率不优于1/N。

定理2 设Ni表示第l(1≤l≤K)级队列对应的长度参数,则任意用户关于第l级队列输出的任意明文消息的发送者匿名性至少等于1-Ni-1

实施例:

本实施例的系统初始化过程中,优选匿名度级别K=5,优选K级队列(包括输入队列在内)对应的长度参数N1、N2、... 、N5分别为100,200,400,800,1600。主控服务器将p、q、g、K、N1、N2、... 、N5、公钥向量{ y1 , y2 ,..., y5 }作为公共参数保存,任意的用户都可以向主控服务器查询这些参数。本实施例中,系统初始化结束后,系统的K级队列均为空。

系统初始化结束后,某用户按照本发明提供的方法产生匿名消息(a,b,c,d)。本实施例假设用户等概率地选择1到5之间的任意匿名度级别,即用户从任意队列输出其明文消息的概率相等。

系统初始化结束后,其在对外提供服务期间,等待用户匿名消息的到达,并将接收到的匿名消息统一缓存到第1级队列。一条匿名消息(a,b,c,d)到达系统,就触发启动一次匿名消息核心处理流程。

系统匿名消息核心处理流程启动后,主控服务器每次都从第i=1级队列开始,先后扫描第1到第5级队列,直到i>10或第i级队列不再构成一个批次时,该流程结束。如果扫描到的第级队列构成一个批次,则执行CascadeMix流程,对该批次中的匿名消息进行混洗和解密处理,然后扫描下第i+1级队列。

本实施例中,匿名消息不断到达系统,导致第1级队列最终能构成一个批次。(1)第1级队列的一个批次是一个由100条匿名消息构成的消息列表,每当第1级队列构成一个批次,系统都启动CascadeMix流程进行处理。该批次中20%(大约20条)的匿名消息被完全解密成明文消息,并发送到输出队列,而剩余80%(大约80条)的匿名消息被部分解密并发送到第2级队列。(2)而第2级队列的一个批次是一个由多于200条匿名消息组成的消息列表,每当第2级队列构成一个批次,系统都启动CascadeMix流程进行处理,该批次中概率地有1/4的匿名消息被完全解密成明文消息,并发送到输出队列,而剩余大约3/4的匿名消息被部分解密并发送到第3级队列。(3)同样,第i(1<i<5=级队列的一个批次是一个由多于Ni条匿名消息组成的消息列表,每当第i级队列构成一个批次,系统都启动CascadeMix流程进行处理,该批次中1/(6-i)的匿名消息被完全解密成明文消息,并发送到输出队列,而剩余的匿名消息被部分解密并发送到第i+1级队列。(4)最后一级队列的消息在构成一个批次之后,经过CascadeMix流程进行处理。若消息处理结果为明文,则被直接输出;若消息处理结果不为明文,则被直接丢弃。

本实施例中,所有队列的初始状态为空。(1)当第1级队列构成第一个批次时,第2级队列不能立即构成第一个批次,而是等到第1级队列多次(大约3次)构成批次后,第2级队列中消息的总数(大约240条)大于或等于当前队列的长度参数200时。(2)同理,当第2级队列构成第一个批次时,第3级队列不能立即构成第一个批次,而是等到第2级队列多次(大约3次)构成批次后,第3级队列中的消息总数(大约540条)才能大于或等于当前队列的长度参数400,而此时第1级队列大约已构成批次9次。(3)一般情况下,在某次匿名消息核心处理流程中,当第i级队列构成一个批次时,第i+1级队列不能立即构成一个批次,此时系统将会等待更多匿名消息的到达,直到某一次匿名消息核心处理流程中,第1级队列再次构成批次,并且后面第2到第i+1级队列也都能依次构成批次,直到第i+2级队列(或后面某一级队列)不再构成批次,本次匿名消息核心处理流程结束。

每次系统匿名消息核心处理流程结束时,系统消息分发子系统会扫描输出队列,从中取出消息,并根据其地址字段Addr发送给消息接收者。分发结束后,系统继续服务,等待新的匿名消息的到达。

本发明的内容不限于实施例所列举,本领域普通技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号