一种动态口令认证方法与设备的制作方法

文档序号:7769588阅读:214来源:国知局
一种动态口令认证方法与设备的制作方法
【专利摘要】本发明公开了一种动态口令认证方法、动态令牌与服务器。该方法包括:动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求;服务器接收客户端发送的动态令牌的认证请求;服务器从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子;服务器根据确定的时间因子对所述动态口令进行认证。通过本发明提供的技术方案,可解决在服务器对动态口令进行认证时认证时间长效率低的问题。
【专利说明】一种动态口令认证方法与设备
【技术领域】
[0001]本发明涉及安全认证【技术领域】,特别是涉及一种动态口令认证方法与设备。
【背景技术】
[0002]动态口令是根据专门的算法生成的一个不可预测的随机数字组合,目前被广泛运用在网银、网游、电信运营商、电子政务、企业等应用领域。目前使用较为广泛的生成动态口令终端为动态令牌。在实际应用中,动态令牌根据使用的技术又可以分为很多种,其中应用比较广泛的是挑战/应答型的令牌,多用于网上业务。
[0003]挑战/应答型动态令牌采用用户手动输入的挑战码、种子密钥、令牌标识(用于唯一识别一个令牌的信息,比如令牌序列号)、时间因子,根据专门的算法生成动态口令,所述时间因子为动态令牌内部时钟的实时时间。动态令牌生成动态口令后,需要通过客户端向服务器发送认证请求,即用户将动态口令输入到客户端,由客户端向服务器发送认证请求,以便服务器确定是否允许用户进行网上业务。具体的,服务器根据数据库存储的用户信息和服务器本地时间计算动态口令,如果与动态令牌生成的动态口令一致,则允许本次网上业务进行,否则中断本次网上业务。
[0004]而动态令牌的时间因子与服务器本地时间具有一定的误差,比如,动态令牌的时间因子指示的时间为8:00,服务器本地时间为9:00,即存在一个小时的误差,由于服务器不知动态令牌的时间因子,所以在进行认证的时候,采用时间窗口试验性的进行认证,t匕如,若选择时间窗口为10分钟,则服务器计算在8:50-9:10之间生成的所有认证动态口令,然后将生成的所有认证动态口令与动态令牌生成的动态口令进行一致性比对;由于8:00不在服务器计算认证动态口令的时间之内,所以成的动态口令不能通过认证。服务器可以调整时间窗口的大小继续进行认证过程,此种方式增加了动态口令比对的繁琐程度,而时间窗口调整的越大,服务器的计算负担越重,使得动态口令的认证时间越长,效率越低。

【发明内容】

[0005]为解决上述技术问题,本发明实施例提供一种动态口令认证方法与设备,以解决在服务器对动态口令进行一致性比对时,过程繁琐的技术问题,提高业务认证效率。本发明提供技术方案如下:
[0006]一种动态口令认证方法,包括:
[0007]动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求;
[0008]服务器接收客户端发送的动态令牌的认证请求;
[0009]服务器从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子;
[0010]服务器根据确定的时间因子对所述动态口令进行认证。
[0011]优选的,动态令牌生成携带时间因子指示信息和动态口令的动态验证码,包括:[0012]动态令牌根据输入的挑战码和动态令牌存储的固定信息生成动态口令,所述固定信息包括时间因子、种子密钥、和令牌标识;
[0013]动态令牌将时间因子指示信息插入到动态口令中生成携带时间因子指示信息的动态验证码。
[0014]优选的,所述方法还包括:
[0015]对插入了时间因子指示信息的动态口令采用加密算法进行加密。
[0016]优选的,所述时间因子指示信息为[TcZT1WT2,其中Ttl为UTC格式表示的时间因子,T1为动态口令变化周期,T2为正整数,[TcZT1]表示取TcZT1的整数部分,%表示取模运

ο
[0017]优选的,时间因子指示信息为[TQ/TJ%T2时,T2为1、60或100。
[0018]优选的,服务器根据确定的时间因子对所述动态口令进行认证,包括:
[0019]根据所述确定的时间因子和服务器本地存储的所述动态令牌的固定信息生成认证动态口令;
[0020]判断生成的认证动态口令与动态口令是否一致,若一致,则认证通过,若不一致,则认证失败。
[0021]优选的,还包括:.
[0022]判断确定的时间因子与服务器本地时间的误差是否超出预设阈值,若未超出,则执行所述根据确定的时间因子对所述动态口令进行认证的步骤;
[0023]若超出,则停止对所述动态口令的认证。
[0024]本发明实施例还提供一种动态令牌,所述令牌包括:
[0025]存储模块,用于存储动态令牌的固定信息,所述固定信息包括令牌标识、种子密钥和时间因子;
[0026]获取模块,用于获取用户输入的挑战码;
[0027]第一生成模块,用于根据获取的挑战码和动态令牌的固定信息生成动态口令;
[0028]第二生成模块,用于根据动态口令和时间因子生成携带时间因子指示信息的动态验证码,包括将时间因子指示信息插入到动态口令中。
[0029]优选的,所述令牌包括:
[0030]加密模块,用于对插入了时间因子指示信息的动态口令采用加密算法进行加密。
[0031]本发明实施例提供一种认证服务器,所述服务器包括:
[0032]接收模块,用于接收客户端发送的动态令牌的认证请求;
[0033]第一确定模块,用于从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子;
[0034]认证模块,用于根据确定的时间因子对所述动态口令进行认证。
[0035]优选的,所述认证模块包括:
[0036]认证口令生成模块,用于根据所述确定的时间因子和服务器本地存储的所述动态令牌的固定信息生成认证动态口令;
[0037]第一判断模块,用于判断生成的认证动态口令与动态令牌生成的动态口令是否一致;
[0038]结果确定模块,用于生成的认证动态口令与动态口令一致时,判定认证通过,不一致时,判定认证失败。
[0039]优选的,所述服务器还包括:
[0040]第二判断模块,用于判断确定的时间因子与服务器本地时间的误差是否超出预设阈值;
[0041]选择模块,用于确定的时间因子与服务器本地时间的误差未超出预设阈值时,选择执行所述根据确定的时间因子对所述动态口令进行认证的步骤;超出所述预设阈值时,选择停止对所述动态口令的认证。
[0042]由以上本发明实施例提供的技术方案可见,动态令牌在生成了包括时间因子指示信息和动态口令的动态验证码,在服务器接收到客户端发送的含有上述动态验证码的认证请求后,服务器通过认证请求中的时间因子指示信息可以获取到动态令牌生成动态口令的时间因子(实时时间),服务器在进行动态口令的认证时,根据所述时间因子进行认证即可,过程简单。由于服务器可以获取动态令牌生成动态口令的时间因子,可以不像现有技术一样,选取不同的时间窗口进行动态口令的认证,有效的缩短了动态口令比对时间,提高了业务认证效率。
【专利附图】

【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0044]图1为动态令牌进行网上业务的流程图;
[0045]图2为对应图1的动态口令生成的流程图;
[0046]图3为现有技术中服务器进行动态口令认证的流程图;
[0047]图4为本发明实施例一种动态口令认证方法实施例1的流程图;
[0048]图5为本发明实施例提供的一种动态口令认证方法实施例2的流程图;
[0049]图6为本发明实施例提供的一种动态令牌实施例的结构示意图;
[0050]图7为本发明实施例提供的一种认证服务器实施例1的结构示意图;
[0051]图8为本发明实施例提供的一种认证服务器实施例2的结构示意图。
【具体实施方式】
[0052]在现有技术中,服务器对动态口令进行认证时,需要采用时间窗口的方式,在时间窗口内的不同时间点对动态口令进行认证,如果时间窗口选取的太小,则很可能认证失败,然后调整时间窗口继续进行认证;如果时间窗口选取的较大,则服务器计算负担较重,动态口令的认证时间长,效率低。本发明提供的一种动态口令认证方法、动态令牌与服务器,动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求,服务器接收到该请求后,可以确定出动态口令生成的时间因子,进而根据该时间因子对动态口令进行认证,有效地减小了服务器的计算量,提高了认证效率。下面首先对本发明提供的一种动态口令认证方法,进行详细介绍。
[0053]该方法包括:[0054]动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求;
[0055]服务器接收客户端发送的动态令牌的认证请求;
[0056]服务器从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子;
[0057]服务器根据确定的时间因子对所述动态口令进行认证。
[0058]本发明所提供的方案中,动态令牌在生成了包括时间因子指示信息和动态口令的动态验证码,在服务器接收到客户端发送的含有上述动态验证码的认证请求后,通过认证请求中的时间因子指示信息可以获取到动态令牌生成动态口令的时间因子(实时时间),服务器在进行动态口令的认证时,根据所述时间因子进行认证即可,过程简单。由于服务器可以获取动态令牌生成动态口令的时间因子,可以不像现有技术一样,选取不同的时间窗口进行动态口令的认证,有效的缩短了动态口令比对时间,提高了业务认证效率。
[0059]为了使本【技术领域】的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明保护的范围。
[0060]参考图1所示,为动态令牌进行网上业务的流程,对于图1所示的步骤I和步骤2不是本发明的重点,可以参考现有技术,这里不做过多介绍。其中步骤3对应的动态口令生成可以进一步参考图2所示的详细流程,步骤6对应的动态口令认证可以进一步参考图3所示的详细流程。在图2中,摘要值是动态令牌根据时间因子、种子密钥、令牌标识、挑战码,通过特定的摘要算法进行哈希计算生成的,具体的可以参考现有技术,这里不再赘述。对生成的固定长度的摘要值进行截位、取模运算后产生的6至8位口令即为动态令牌生成的动态口令。
[0061]在上述基础上,参考图4所示,为本发明实施例提供的一种动态口令认证方法实施例I的流程图,本实施例具体可以包括如下步骤:
[0062]S401:动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求。
[0063]本步骤中动态口令的生成可以参考图2所示的详细流程,在实际操作中,所述的时间因子指示信息可以直接插入到动态口令中形成动态验证码,比如,插入到动态口令的前面、中间位置或末尾位置,也可以变换顺序后再插入到动态口令中。
[0064]优选的,为了便于数据的计算和处理,动态令牌的时间因子采用国家密码管理局规定的UTC时间格式(以秒的整数倍表示),若以1970年I月I日8时O分O秒为计时基准,则2013年8与月6日上午9点24分11秒对应的UTC时间格式为0x5200503B (十六进制数),对应十进制数表示的1375752251秒,即从1970年I月I日8时O分O秒到2013年8与月6日上午9点24分11秒之间的时间差是1375752251秒。基于此,时间因子指示信息设置为[TcZT1WT2,其中Ttl为以秒为单位的UTC时间表示的时间因子,T1为以秒为单位的动态口令变化周期,所述变化周期一般为60秒,T2可以由用户根据令牌的实际应用场景设置为一正整数,%为取模运算,即两数相除取余数。优选的,T2设置为1、60或100,当设置为I时,时间因子指示信息就是时间因子,由于动态令牌生成动态口令后,是需要通过显示屏将动态口令显示出来,然后用户将显示的动态口令输入到客户端,由客户端生成认证请求发送给服务器,直接将时间因子作为指示信息插入到动态口令中,时间因子位数较多,而动态令牌的显示屏显示空间有限,优选的,设置T2为60,以所述0X5200503B为例,由于UTC时间以十六进制表示,所以TcZT1的整数部分为0xl5DDF34 (十进制表示为22929204),对60取模为标准日期时间格式的分钟数即为24 (十进制格式);另外,可以设置T2为100,时间指示信息为UTC格式时间因子以分钟累加的十进制数值的个位和十位部分(O?99),若TQ/Ti的整数部分为0xl5DDF34,采用此方法对100取模为04。
[0065]S402:服务器接收客户端发送的动态令牌的认证请求。
[0066]S403:服务器从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子。
[0067]若时间因子指示信息为时间因子本身,则服务器可以从动态验证码中直接提取出时间因子,参考S401中的例子,如果时间因子指示信息为标准日期时间格式的分钟数即为24,认证服务器结合本地当前时间(例如2013年8与月6日上午9点34分)前后30分钟内确定时间因子,即为2013年8与月6日上午9点24分。
[0068]如果时间因子指示信息为UTC时间按分钟累加后的十进制格式低两位数据即为04,认证服务器结合本地当前时间(例如2013年8与月6日上午9点34分,按分钟表示的UTC时间十进制格式应为22929214)前后50分钟内确定时间因子,即为22929204。因为时间因子指示信息中的T2可以取为正整数,除了步骤403中列出的几种整数外,对于其他的整数取值,认证原理类似,此处不再赘述。
[0069]S404:服务器根据确定的时间因子对所述动态口令进行认证。
[0070]在服务器从动态验证码中提取时间因子指示信息后,即可从剩余的信息中获取到动态令牌生成的动态口令。与现有技术不同的是,在本实施例中,服务器无需再开时间窗口进行动态口令的认证,而是可以直接以确定的时间因子为依据对动态口令进行认证,具体可以为服务器根据所述确定的时间因子和服务器本地存储的所述动态令牌的固定信息生成认证动态口令,然后服务器判断生成的认证动态口令与动态口令是否一致,若一致,则认证通过,允许用户后续业务的进行,若不一致,则认证失败。用户可以重新生成动态口令再次进行认证。
[0071]本实施例的技术方案,动态令牌在生成了包括时间因子指示信息和动态口令的动态验证码,时间因子指示信息可以为时间因子本身或者根据时间因子获得的指示信息,在服务器接收到客户端发送的含有上述动态验证码的认证请求后,服务器通过认证请求中的时间因子指示信息可以获取到动态令牌生成动态口令的时间因子(实时时间),进而可以获取动态口令,服务器在进行动态口令的认证时,根据所述时间因子进行认证即可,过程简单。由于服务器可以获取动态令牌生成动态口令的时间因子,可以不像现有技术一样,选取不同的时间窗口进行动态口令的认证,有效的缩短了动态口令比对时间,提高了业务认证效率。
[0072]在实施例1的基础上,参考图5所示,为本发明实施例提供的一种动态口令认证方法实施例2的流程图,其中与实施例1中相同的步骤的实现方式参考实施例1,这里不再赘述,本实施例具体可以包括以下步骤:
[0073]S501:动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求。
[0074]需要说明的是,本实施例中,在实施步骤S501时,在实施例1的基础上,对插入时间因子指示信息的动态口令进一步采用预设的算法进行加密处理,比如进行移位、异或运算或采用AES或DES等算法进行处理。
[0075]S502:服务器接收客户端发送的动态令牌的认证请求。
[0076]S503:服务器从所述认证请求中的动态验证码提取出时间因子指示信息,进而根据时间因子指示信息确定动态令牌生成动态口令的时间因子。
[0077]S504:判断确定的时间因子与服务器本地时间的误差是否超出预设阈值,若未超出,进入S505,若超出,进入S506。
[0078]在每次对动态口令进行认证时,可以考虑记录每次认证时的时间因子,用来判断时间因子与服务器本地时间的误差是否过大,对于动态令牌来说,时间误差过大,动态令牌整体将无效不能使用,需要采用动态令牌出厂时的方法将正确的时间因子写入到令牌中或在认证服务器进行时间同步处理。
[0079]S505:服务器根据确定的时间因子对所述动态口令进行认证。
[0080]S506:停止对所述动态口令的认证。
[0081]本实施例除了可以带来实施例1的有益效果外,进一步,对动态验证码进行了加密处理,使得用户交易更为安全;其次,在每次进行认证之前均作时间误差判断,保证认证是在令牌有效的情况下做出的,进一步增加了认证的有效性和安全性。
[0082]相应于上面的方法实施例,本发明还提供一种动态令牌,如图6所示,该动态令牌包括:
[0083]存储模块610、获取模块620、第一生成模块630、第二生成模块640 ;
[0084]存储模块610,用于存储动态令牌的固定信息,所述固定信息包括令牌标识、种子密钥和时间因子;
[0085]获取模块620,用于获取用户输入的挑战码;
[0086]第一生成模块630,用于根据获取模块620获取的挑战码和存储模块610存储的动态令牌的固定信息生成动态口令;
[0087]第二生成模块640,用于根据动态口令和时间因子生成携带时间因子指示信息的动态验证码,包括将时间因子指示信息插入到动态口令中。
[0088]进一步的,在图6所示的基础上,该动态令牌还可以包括加密模块650,用于对插入了时间因子指示信息的动态口令采用任一加密算法进行加密。
[0089]参考图7所示,为本发明提供的一种认证服务器实施例1的结构示意图,该服务器包括:
[0090]接收模块710、第一确定模块720和认证模块730 ;
[0091]接收模块710,用于接收客户端发送的动态令牌的认证请求;
[0092]第一确定模块720,用于根据所述认证请求中的时间因子指示信息确定动态令牌生成动态口令的时间因子;
[0093]认证模块730,用于根据确定的时间因子对所述动态口令进行认证。
[0094]优选的,所述认证模块730可以包括:认证口令生成模块,用于根据所述确定的时间因子和服务器本地存储的所述动态令牌的固定信息生成认证动态口令;[0095]第一判断模块,用于判断生成的认证动态口令与动态令牌生成的动态口令是否一致;
[0096]结果确定模块,用于生成的认证动态口令与动态口令一致时,判定认证通过,不一致时,判定认证失败。
[0097]进一步,参考图8所示,除图7所示的模块外,所述服务器还可以包括第二判断模块801和选择模块802 ;
[0098]第二判断模块801,用于判断确定的时间因子与服务器本地时间的误差是否超出预设阈值;
[0099]选择模块802选择模块,用于确定的时间因子与服务器本地时间的误差未超出预设阈值时,选择执行所述根据确定的时间因子对所述动态口令进行认证的步骤;超出所述预设阈值时,选择停止对所述动态口令的认证。
[0100]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0101]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0102]以上所述仅是本发明的【具体实施方式】,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种动态口令认证方法,其特征在于,包括: 动态令牌生成携带时间因子指示信息和动态口令的动态验证码,并通过客户端向服务器发送携带所述动态验证码的认证请求; 服务器接收客户端发送的动态令牌的认证请求; 服务器从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子; 服务器根据确定的时间因子对所述动态口令进行认证。
2.根据权利要求1所述的方法,其特征在于,动态令牌生成携带时间因子指示信息和动态口令的动态验证码,包括: 动态令牌根据输入的挑战码和动态令牌存储的固定信息生成动态口令,所述固定信息包括时间因子、种子密钥、和令牌标识; 动态令牌将时间因子指示信息插入到动态口令中生成携带时间因子指示信息的动态验证码。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 对插入了时间因子指示信息的动态口令采用加密算法进行加密。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述时间因子指示信息为[Ttl/T1WT2,其中Ttl为UTC格式表示的时间因子,T1为动态口令变化周期,T2为正整数,[TcZT1]表示取TcZT1的整数部分,%表示取模运算。
5.根据权利要求4所述的方法,其特征在于,时间因子指示信息为[TcZT1WT2时,1-2为1、60 或 100。
6.根据权利要求1所述的方法,其特征在于,服务器根据确定的时间因子对所述动态口令进行认证,包括: 根据所述确定的时间因子和服务器本地存储的所述动态令牌的固定信息生成认证动态口令; 判断生成的认证动态口令与动态口令是否一致,若一致,则认证通过,若不一致,则认证失败。
7.根据权利要求1所述的方法,其特征在于,还包括: 判断确定的时间因子与服务器本地时间的误差是否超出预设阈值,若未超出,则执行所述根据确定的时间因子对所述动态口令进行认证的步骤; 若超出,则停止对所述动态口令的认证。
8.一种动态令牌,其·特征在于,所述令牌包括: 存储模块,用于存储动态令牌的固定信息,所述固定信息包括令牌标识、种子密钥和时间因子; 获取模块,用于获取用户输入的挑战码; 第一生成模块,用于根据获取的挑战码和动态令牌的固定信息生成动态口令; 第二生成模块,用于根据动态口令和时间因子生成携带时间因子指示信息的动态验证码,包括将时间因子指示信息插入到动态口令中。
9.根据权利要求8所述的动态令牌,其特征在于,所述令牌包括: 加密模块,用于对插入了时间因子指示信息的动态口令采用加密算法进行加密。
10.一种认证服务器,其特征在于,所述服务器包括: 接收模块,用于接收客户端发送的动态令牌的认证请求; 第一确定模块,用于从所述认证请求中的动态验证码提取出时间因子指示信息,根据时间因子指示信息确定动态令牌生成动态口令的时间因子; 认证模块,用于根据确定的时间因子对所述动态口令进行认证。
11.根据权利要求10所述的服务器,其特征在于,所述认证模块包括: 认证口令生成模块,用于根据所述确定的时间因子和服务器本地存储的所述动态令牌的固定信息生成认证动态口令; 第一判断模块,用于判断生成的认证动态口令与动态令牌生成的动态口令是否一致;结果确定模块,用于生成的认证动态口令与动态口令一致时,判定认证通过,不一致时,判定认证失败。
12.根据权利要求10所述的服务器,其特征在于,所述服务器还包括: 第二判断模块,用于判断确定的时间因子与服务器本地时间的误差是否超出预设阈值; 选择模块,用于确定的时间因子与服务器本地时间的误差未超出预设阈值时,选择执行所述根据确定的时间因子对所述动态口令进行认证的步骤;超出所述预设阈值时,选择停止对所述动态口令的认证。`
【文档编号】H04L9/32GK103441856SQ201310404389
【公开日】2013年12月11日 申请日期:2013年9月6日 优先权日:2013年9月6日
【发明者】袁永贵, 汪雪林 申请人:北京握奇智能科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1