1.一种在NFC动态令牌中写入种子密钥的方法,其特征在于,包括以下步骤:
客户端获取NFC动态令牌的令牌序列号,接收来自所述NFC动态令牌的第一随机数,生成第二随机数,保存所述令牌序列号和所述第二随机数,向令牌服务器发送所述令牌序列号、所述第一随机数和所述第二随机数;所述第一随机数用于令牌服务器对令牌服务器生成的种子文件进行加密,得到第一密文;
所述客户端接收来自所述令牌服务器的第二密文,使用最近一次保存的令牌序列号和第二随机数,对所述第二密文进行解密,得到第一密文和校验值;
所述客户端将所述第一密文和所述校验值发送给所述NFC动态令牌;
所述使用最近一次保存的令牌序列号和第二随机数,对所述第二密文进行解密,得到第一密文和校验值具体为:
所述客户端根据最近一次保存的第二随机数生成加密密钥,根据最近一次保存的令牌序列号生成初始化向量,使用加密密钥和初始化向量,对所述第二密文进行解密,得到第一密文和校验值。
2.如权利要求1所述的方法,其特征在于,所述客户端接收来自所述令牌服务器的第二密文之前,还包括:
所述客户端向所述NFC动态令牌发送第四指令,接收所述NFC动态令牌返回的令牌时间信息,根据所述令牌时间信息和服务器时间信息,生成令牌偏移值,向所述令牌服务器发送所述令牌偏移值。
3.如权利要求1所述的方法,其特征在于,所述第一随机数为所述NFC动态令牌使用自身内置的烧写密钥对随机数明文加密得到的数据。
4.如权利要求1所述的方法,其特征在于,所述客户端接收来自NFC动态令牌的第一随机数,具体为:
所述客户端向所述NFC动态令牌发送第一指令,接收所述NFC动态令牌返回的第一随机数。
5.如权利要求1所述的方法,其特征在于,所述客户端获取NFC动态令牌的令牌序列号,具体为:
所述客户端向所述NFC动态令牌发送第二指令,接收所述NFC动态令牌返回的令牌序列号;
或者,
所述客户端根据用户名获取对应的令牌序列号。
6.如权利要求1所述的方法,其特征在于,所述客户端将所述第一密文和校验值发送给所述NFC动态令牌之后,还包括:
所述客户端接收来自所述NFC动态令牌的写入失败消息,显示写入失败信息;
或者,所述客户端接收来自所述NFC动态令牌的写入成功消息,显示写入成功信息。
7.一种在NFC动态令牌中写入种子密钥的方法,其特征在于,包括以下步骤:
令牌服务器接收来自客户端的令牌序列号、第一随机数和第二随机数;
所述令牌服务器根据所述令牌序列号生成种子文件,将所述种子文件与所述令牌序列号绑定,根据所述种子文件生成校验值,并使用所述第一随机数对种子文件进行加密,得到第一密文;
所述令牌服务器使用所述第二随机数和所述令牌序列号对所述第一密文和所述校验值进行加密,得到第二密文,并将所述第二密文发送给所述客户端;
所述令牌服务器使用所述第二随机数和所述令牌序列号对所述第一密文和所述校验值进行加密,得到第二密文,具体为:
所述令牌服务器根据所述第二随机数生成加密密钥,根据所述令牌序列号生成初始化向量,使用所述加密密钥和所述初始化向量,对所述第一密文和所述校验值进行加密,得到第二密文。
8.如权利要求7所述的方法,其特征在于,所述令牌服务器根据所述令牌序列号生成种子文件之前,还包括:
所述令牌服务器接收来自所述客户端的令牌偏移值;
所述令牌服务器根据所述令牌序列号生成种子文件之后,还包括:
所述令牌服务器将所述种子文件与所述令牌偏移值绑定。
9.如权利要求7所述的方法,其特征在于,所述令牌服务器使用所述第一随机数对种子文件进行加密,得到第一密文,具体为:
所述令牌服务器使用所述第一随机数以及自身保存的烧写密钥对所述种子文件进行加密,得到所述第一密文。
10.如权利要求7所述的方法,其特征在于,所述第一随机数为NFC动态令牌使用自身内置的烧写密钥对随机数明文加密得到的数据;令牌服务器保存有与所述NFC动态令牌内置的烧写密钥相同的烧写密钥;
所述令牌服务器使用所述第一随机数对种子文件进行加密,得到第一密文,具体为:
所述令牌服务器使用自身保存的烧写密钥对所述第一随机数进行解密,得到随机数明文,使用所述随机数明文对所述种子文件进行加密,得到第一密文。
11.一种客户端,其特征在于,包括:
获取模块,用于获取NFC动态令牌的令牌序列号;
第一接收模块,用于接收来自所述NFC动态令牌的第一随机数;
第一生成模块,用于生成第二随机数;
存储模块,用于保存所述令牌序列号和所述第二随机数;
第一发送模块,用于向令牌服务器发送所述令牌序列号、所述第一随机数和所述第二随机数;
第二接收模块,用于接收来自所述令牌服务器的第二密文;
解密模块,用于根据最近一次保存的第二随机数生成加密密钥,根据最近一次保存的令牌序列号生成初始化向量,使用加密密钥和初始化向量,对所述第二密文进行解密,得到第一密文和校验值;
第二发送模块,用于将所述第一密文和所述校验值发送给所述NFC动态令牌;
所述第一密文具体为:令牌服务器使用第一随机数对令牌服务器生成的种子文件进行加密得到的。
12.如权利要求11所述的客户端,其特征在于,还包括:
第三发送模块,用于向所述NFC动态令牌发送第四指令;
第三接收模块,用于接收所述NFC动态令牌返回的令牌时间信息;
第二生成模块,用于根据所述令牌时间信息和服务器时间信息,生成令牌偏移值;
第四发送模块,用于向所述令牌服务器发送所述令牌偏移值。
13.如权利要求11所述的客户端,其特征在于,所述第一随机数为所述NFC动态令牌使用自身内置的烧写密钥对随机数明文加密得到的数据。
14.如权利要求11所述的客户端,其特征在于,
所述第一接收模块,具体用于向所述NFC动态令牌发送第一指令,接收所述NFC动态令牌返回的第一随机数。
15.如权利要求11所述的客户端,其特征在于,
所述获取模块,具体用于向所述NFC动态令牌发送第二指令,接收所述NFC动态令牌返回的令牌序列号;
或者,
根据用户名获取对应的令牌序列号。
16.如权利要求11所述的客户端,其特征在于,还包括:
显示模块,用于接收来自所述NFC动态令牌的写入失败消息,显示写入失败信息;
或者,接收来自所述NFC动态令牌的写入成功消息,显示写入成功信息。
17.一种令牌服务器,其特征在于,包括:
获取模块,用于接收来自客户端的令牌序列号、第一随机数和第二随机数;
第一生成模块,用于根据所述令牌序列号生成种子文件;
绑定模块,用于将所述种子文件与所述令牌序列号绑定;
第二生成模块,用于根据所述种子文件生成校验值;
第一加密模块,用于使用所述第一随机数对种子文件进行加密,得到第一密文;
第二加密模块,用于根据所述第二随机数生成加密密钥,根据所述令牌序列号生成初始化向量,使用所述加密密钥和所述初始化向量,对所述第一密文和所述校验值进行加密,得到第二密文;
发送模块,用于将所述第二密文发送给所述客户端。
18.如权利要求17所述的令牌服务器,其特征在于,还包括:
第一接收模块,用于接收来自所述客户端的令牌偏移值;
所述绑定模块,还用于将所述种子文件与所述令牌偏移值绑定。
19.如权利要求17所述的令牌服务器,其特征在于,还包括:
存储模块,用于保存烧写密钥;
所述第一加密模块,具体用于使用所述第一随机数以及所述存储模块保存的烧写密钥对所述种子文件进行加密,得到所述第一密文。
20.如权利要求17所述的令牌服务器,其特征在于,所述第一随机数为NFC动态令牌使用自身内置的烧写密钥对随机数明文加密得到的数据;
所述令牌服务器,还包括:
存储模块,用于保存与所述NFC动态令牌内置的烧写密钥相同的烧写密钥;
所述第一加密模块,具体用于使用所述存储模块保存的烧写密钥对所述第一随机数进行解密,得到随机数明文,使用所述随机数明文对所述种子文件进行加密,得到第一密文。