原创书画类艺术品标注与识别系统和方法 技术领域 本发明利用物联网技术和密码学知识, 设计并实现出一种基于硬件密码装置的安 全通信协议, 结合 Web 的 ActiveX 控件和数据库将该协议应用于实际的 Web 当中进行艺术 品的安全认证, 以此实现鉴别。此外, 作为一个完整的系统, 本发明使用程序软件结合本地 数据库实现书画类艺术品标注的后台管理。
背景技术
目前, 在我国各类书画类作品进入市场难, 同时有很多艺术欣赏人员想购买艺术 品作为永久保存欣赏, 因此形成了两难趋势, 造成交易市场不活跃。
网络的出现和快速发展为艺术品交易提供了一个广阔的平台, 艺术家只需要将其 作品通过艺术品交易平台的对外宣传网站发布, 由交易平台对外进行宣传, 吸引艺术品爱 好者通过交易平台进行购买收藏。由于艺术品往往价格不菲, 购买者担心购买的艺术品不 是作者原创的赝品, 上当受骗造成经济损失, 而且目前的交易平台不能为买家提供对原创 艺术品的识别功能, 因此无法让买家真正放心。
当前, IC 卡的高可靠性、 高安全性和保密性被广泛用作各种交易安全, 诸如银行 卡、 校园一卡通、 公交卡等都是基于 IC 卡实现的。 IC 卡即智能卡, 是指将集成电路芯片固封 在塑料基片中的卡片, 是一种功能多样、 用途广泛的电子卡片。 它可与多种终端设备连接使 用, 具有高可靠性、 高安全性和保密性。IC 卡按卡中所镶嵌的集成电路不同, 主要有非加密 存储卡、 逻辑加密卡及 CPU 卡等三类。IC 卡具有极强的安全性, 不仅在物理上具有抗篡改 性, 而且对存储在卡上的数据具有逻辑完整性及认证保护。从硬件上, IC 卡中加入了安全 传感器, 可防止数据在被读出或写入时被修改 ; 在卡芯的上层加入了一层金属网格层, 可察 觉外部探测和视觉分析 ; 卡内带有随机时钟产生器, 可防止通过对电能消耗曲线分析而获 取保密数据。从软件上, 对 IC 卡的使用需要首先通过双因素认证过程, 即在出示 IC 卡的同 时输入密钥进入操作智能卡的安全状态, 此后, IC 卡可根据文件类型或密钥的不同, 提供不 同的访问操作。
但是, 如何利用 IC 卡的物理安全和数据逻辑完整性及认证保护等优势, 结合密码 学等网络安全原理和协议, 用于艺术品的绑定及识别, 目前尚未有一个很好的解决方案。 发明内容
本发明创新性地提出利用密码装置、 Web 服务器、 验证服务器、 互联网以及数据库 服务器构成识别系统, 并对艺术品信息标注实现原创艺术品的安全识别方法。
密码装置由智能认证卡、 读写器及用于识别的有关信息和协议组成。智能认证卡 由可用于计算的计算单元、 随机数发生器、 用于永久性存储的 E2PROM 和用于临时存放数 据的寄存器组成。读写器是符合智能卡通信数据接口 APDU(Application Protocol Data Units, 应用协议数据单元 ) 的设备。通过制定 APDU 的命令格式和响应格式, 读写器向智能 卡发送 APDU 命令, 智能卡返回 APDU 响应, 从而完成智能卡与读写器的通信。在认证卡中保存有用于识别的密钥信息, 通过制定的一系列安全协议对这些信息进行处理, 实现对艺术 品的识别。
为了达到以上发明目的, 本发明包括原创艺术品标注系统和原创艺术品识别系 统。
原创书画类艺术品标注与识别系统, 其特征在于 : 标注系统由带本地数据库的可 进行后台管理的单机和与其相连接的密码装置组成, 其通过密码装置对标注卡完成初始 化, 而后将可供识别的艺术品信息写入该标注卡, 完成信息绑定 ; 识别系统包括验证服务器 及其相连的密码装置、 连接验证服务器的 Web 服务器、 Web 服务器上连接的数据库服务器、 通过英特网与 Web 服务器连接的客户端计算机、 以及与客户端计算机连接的阅读器。
1. 该系统中标注与识别方法的特征在于 : 依次包括有三个大流程 : 认证卡的初始 化流程 ; 标注卡的信息绑定流程 ; 艺术品标注卡的 Web 认证流程。各流程的具体步骤如下 :
(1) 认证卡的初始化流程
在认证卡中, 设置了两级目录结构 : MF 和安全文件。 其中, MF 是认证卡的文件系统 根目录, 对卡片的任何操作, 都需要通过 MF 自身认证密钥 AuMKey 的认证 ; 安全文件用来记 录认证卡的外部认证密钥 ExMKey, 此密钥只可通过密钥标识符使用。 整个认证卡的初始化流程如下 :
① . 管理员安全登录软件后, 输入需要修改的认证卡密钥 AuMKeyNew 和用于认证 标注卡的密钥 ExMKey, 随后通过密码装置向认证卡发送获取随机数命令 ;
② . 认证卡产生随机数 Rand1, 用其初始的自身认证密钥 AuMKey1 进行加密, 将加 密的随机数 EnRand1 存储于认证卡的内存中 ; 同时将随机数 Rand1 通过密码装置发往 PC 机;
③ .PC 机将获取的 Rand1 用管理员已知的认证卡初始密钥 AuMKey2 进行加密, 将 加密的数据 EnRand2 通过密码装置发回给认证卡进行验证 ;
④ . 认证卡获取 PC 机上加密的数据 EnRand2, 与步①产生的存放在自身内存中的 加密数据 EnRand1 进行比较, 若匹配, 则认证成功, 认证计数器恢复为预设阀值 ; 否则, 无法 进入认证卡的主目录, 而且认证计数器减一, 当计数器减为 0 时该认证卡将被锁定, 以此保 证非法无限试探认证卡 ; 随后, 认证卡将认证结果通过密码装置返回给 PC 机 ;
⑤ . 若认证成功, 将默认进入认证卡的主目录 ; 此时, PC 机通过密码装置向认证 卡发送修改认证卡自身认证密钥 AuMKeyNew 的命令和添加认证卡用于认证标注卡的密钥 ExMKey 的命令, 该 AuMKeyNew 和 ExMKey 是由管理员通过操作界面输入 ;
⑥ . 认证卡获取相关命令, 先修改自身认证密钥为 AuMKeyNew, 再创建安全文件, 并向该安全文件写入 ExMKey。
(2) 标注卡的信息绑定流程
标注卡的信息绑定就是将艺术品的信息即艺术品 ID 号 ArtId 通过一系列的安全 设置写入标注卡, 而写入的 ArtId 必须要通过标注卡自身的安全认证后才能够进行读取, 以此实现标注卡内信息 ; 标注卡的信息绑定必须要先通过认证卡自身的认证后才能进行。
标注卡的文件结构决定了其安全性, 为标注卡设计了三层树状型结构, 各个文件 的作用以及对文件能够进行的操作描述如下 :
MF 为标注卡文件系统的根目录, 是整个文件系统的根 ; 对卡片的任何操作, 都需
要通过对 MF 的密钥认证 ;
DDF 是卡片文件系统的目录文件, 用于创建一个应用环境 ; 在 DDF 下, 只能选择其 目录下的 DDF、 透明文件和线性记录文件 ;
透明文件用于记录卡片 ID ;
线性记录文件中用于记录艺术品的相关信息 ;
艺术品标注卡的 MF、 DDF、 透明文件、 线性记录文件都设置了相应的读、 写密钥, 用 来保护文件的读、 写权限, 这些密钥信息都写在安全文件中 ; 其中, MF、 DDF、 线性记录文件的 读、 写操作都须首先认证其读、 写密钥 ; 透明文件中的卡片 ID 要用于子密钥的生成, 可以自 由读出, 但在透明文件中写数据时仍需认证写密钥。
整个艺术品标注信息绑定具体的流程如下 :
① . 管理员安全登录软件后, 输入认证卡密钥 AuMKeyNew1 和需要绑定的艺术品标 号 ArtId, 然后通过密码装置向认证卡发送获取随机数命令 ;
② . 认证卡产生随机数 Rand2, 用其初始的自身认证密钥 AuMKeyNew 进行加密, 将 加密的随机数 EnRand3 存储于认证卡的内存中 ; 同时将随机数 Rand2 通过密码装置发往 PC 机; ③ .PC 机将获取的 Rand2 用管理员输入的认证卡密钥 AuMKeyNew1 进行加密, 将加 密的数据 EnRand4 通过密码装置发回给认证卡进行验证 ;
④ . 认证卡获取 PC 机上加密的数据 EnRand4, 与步①产生的存放在自身内存中 的加密数据 EnRand3 进行比较, 若匹配, 则认证卡自身认证成功, 认证计数器恢复为预设阀 值; 否则, 认证卡的认证计数器减一, 当计数器减为 0 时该认证卡将被锁定, 以此保证非法 无限试探认证卡 ; 随后, 认证卡将认证结果通过密码装置返回给 PC 机 ;
⑤ . 若 认 证 卡 认 证 失 败, 则 说 明 管 理 员 输 入 的 AuMKeyNew1 与 认 证 卡 的 密 钥 AuMKeyNew 不同, 操作中止 ; 否则若认证卡认证成功, PC 机软件产生一个 72 字节的随机数, 用作标注卡的标号 CardId, 然后以每 8 字节为一个单元, 分别用认证卡的 ExMKey 进行子密 钥生成计算, 得到 DKey、 DKey1、 DKey2、 DKey3...DKey8, 将此 9 个子密钥存放在 PC 机的内存 中; 随后, PC 机向本地数据库发送查询请求, 查找是否存在艺术品标号 ArtId ; 若存在则由 管理员选择是否弃用旧卡, 一旦选择弃用, 则向数据库修改该艺术品标号 ArtId 对应的标 注卡标号 CardId, 否则中止对该标注卡的信息绑定操作 ; 若数据库中不存在该艺术品标号 ArtId, 则将 ArtId+CardId 作为一条新记录写入本地数据库, 数据库操作完成 ;
⑥ . 接着, PC 机通过密码装置对标注卡进行标注卡自身的认证, 先通过密码装置 向标注卡发送获取随机数命令, 标注卡产生随机数 Rand3, 用其初始密钥 InitDKey 进行加 密, 将加密的随机数 EnRand5 存储于标注卡的内存中 ; 同时将随机数 Rand3 通过密码装置发 往 PC 机 ;
⑦ .PC 机将获取的 Rand3 用管理员已知的标注卡初始密钥 InitDKey1 进行加密, 将加密的数据 EnRand6 通过密码装置发回给标注卡进行验证 ; 标注卡获取 PC 机上加密的数 据 EnRand6, 与存放在自身内存中的加密数据 EnRand5 进行比较, 若匹配, 则认证成功, 并将 认证结果返回 PC 机 ;
⑧ . 若标注卡自身认证成功, 则 PC 机向标注卡发送一系列命令, 清除原 MF 文件 ; 创建 MF 文件 ; 修改 InitDKey 为步骤⑤中的 DKey、 将 DKey1 和 DKey2 作为 MF 的读写安全密
钥; 再在 MF 下创建 DDF 文件, 将 DKey3 和 DKey4 作为 DDF 的读写安全密钥 ; 接着在 DDF 下创 建透明文件用于写标注卡标号的 CardId, DKey5 和 DKey6 作为透明文件的安全读、 写密钥 ; 然后在 DDF 下创建线性记录文件用于存储艺术品标号 ArtId, DKey7 和 DKey8 作为线性记录 文件的安全读写密钥 ; 以上文件创建后, 再向透明文件写入标注卡标号 CartId, 向线性文 件写入艺术品标号 ArtId ; 至此标注卡信息绑定成功。
(3) 艺术品标注卡的 Web 认证流程
当买家购买该艺术品后, 通过 Web 访问特定站点进行识别 ; 买家只要将已装有标 识的艺术作品通过阅读器向 Web 服务器进行认证, 由 Web 服务器通过安全验证后返回该艺 术品的认证结果。
具体的认证过程如下 :
① . 客户端连接阅读器并下载相应 Activex 后, 通过阅读器向标注卡发送获得随 机数和标注卡 ID 的命令 ;
② . 标注卡产生随机数, 并用自身 DKey 对随机数进行加密, 将加密后的数据存放 在其内存中, 随后, 将随机数与标记卡 ID 号发往客户端 ;
③ . 客户端将随机数与标注卡 ID 号通过英特网发往 Web 服务器进行验证 ; ④ .Web 服务器接受请求, 通过密码装置将标注卡 ID 号的前八字节和随机数提交 给验证服务器 ;
⑤ . 验证服务器通过 USB 连接若干密码装置, 它接受 Web 服务器转接的验证请求, 向码装置发送生成子密钥和加密随机数的相关命令 ;
⑥ . 该指定的密码装置接收命令, 用自身的 ExMKey 对标注卡 ID 号的前八字节进 行密钥发散计算, 将计算结果 DKeyGen 存放在认证卡内存中, 并用此 DKeyGen 对接收到的随 机数进行加密计算, 将计算结果返回给验证服务器 ;
⑦ . 验证服务器将加密的随机数通过 Web 服务器回送至客户端 ;
⑧ . 客户端将此加密的随机数通过阅读器送至标注卡 ;
⑨ . 标注卡将接收到的加密数据与自身内存中的加密随机数进行匹配并返回匹 配结果 ;
⑩ . 若匹配不成功, 则验证失败 ; 若匹配成功, 则客户端通过阅读器向标注卡发送 读取标注卡内艺术品 ID 号的命令 ;
标注卡读取艺术品 ID 号, 将此数据发往客户端 ; 客户端将收到的艺术品 ID 号通过 Web 发往 Web 服务器 ; Web 服务器向数据库服务器发送查询请求 ; 数据库服务器返回查询结果 ; 将查询结果返回给客户端用户 : 若查询成功, 返回艺术品相关信息 ; 若查询失败, 返回错误信息 ; 至此艺术品标注卡的 Web 认证过程完成。
本发明主要由以上两个系统和三个流程组成, 在具体的实施当中, 是通过将 IC 芯 片经过开发, 植入可识别的标注信息, 在对原创书画类艺术品进行裱画时将该芯片植入该 艺术品中 ; 当买家需要识别该艺术品是否为本系统所标注的原创艺术品时, 只需登录艺术 品识别网站, 将艺术品接近通过 USB 口连接计算机的 IC 卡阅读器进行识别即可, 如果是本 系统所标注的艺术品则显示该艺术品的相关信息, 否则显示不是该系统所标注的艺术品。通过这样的方式, 可以对标注的艺术品实现准确、 快速、 安全的识别。 附图说明
图 1 识别系统结构图 ; 图 2 认证卡文件结构图 ; 图 3 认证卡的初始化流程图 ; 图 4 艺术品标注卡的文件结构图 ; 图 5 艺术品标注卡的信息绑定流程图 ; 图 6 艺术品标注卡的 Web 认证流程图。具体实施方式
1. 密码装置
密码装置由智能认证卡、 读写器及用于识别的有关信息和协议组成。智能认证卡 由可用于计算的计算单元、 随机数发生器、 用于永久性存储的 E2PROM 和用于临时存放数 据的寄存器组成。读写器是符合智能卡通信数据接口 APDU(Application Protocol Data Units, 应用协议数据单元 ) 的设备。通过制定 APDU 的命令格式和响应格式, 读写器向智能 卡发送 APDU 命令, 智能卡返回 APDU 响应, 从而完成智能卡与读写器的通信。在认证卡中保 存有用于识别的密钥信息, 通过制定的一系列安全协议对这些信息进行处理, 实现对艺术 品的识别。
本发明通过对密码装置中的认证卡写入用于识别的密钥信息, 实现对艺术品进行 识别。
在认证卡中需要保存自身认证密钥 AuMKey 和外部认证密钥 ExMKey, AuMKey 用于 认证卡对管理员权限的鉴别, ExMKey 用于生成艺术品标注卡的密钥及对艺术品进行识别。 在认证卡中, 至少需要设置两层文件结构。 第一级为主目录, 第二级用于存储认证卡的密钥 信息。
要在认证卡中写入信息, 必须首先对认证卡进行初始化。认证卡在出厂时存有一 个初始的自身认证密钥 AuMKey1。对认证卡的初始化, 就是要认证智能卡的自身认证密钥 AuMKey1。认证卡的初始化过程如下 : 通过密码装置向认证卡发送获取随机数的命令, 认证 卡产生一个随机数 Rand4 后, 用其卡内的密钥 AuMKey1 进行加密, 将加密的结果 EnRand7 存 储于认证卡的内存中 ; 同时将随机数 Rand4 通过密码装置发往 PC 机, 在 PC 机软件中用已知 的出厂密钥 AuMKey2 对此随机数用相同的加密算法进行加密, 再将加密后的结果 EnRand8 送给认证卡, 认证卡检验由卡内的 AuMKey1 对随机数加密的结果 EnRand7 和收到的数据 EnRand8 是否匹配。如果匹配, 则认证卡的密钥认证成功。认证卡自身认证成功后, 发送改 写密钥的命令, 将新的认证密钥 AuMKeyNew 和外部认证密钥 ExMKey 写入认证卡内, 从而完 成认证卡的初始化。
在整个的初始化过程中, 加密操作采用 Triple-DES 算法。
2. 原创艺术品标注系统
本系统完成对标注卡进行初始化, 并将该标注卡与艺术品绑定。
本系统中标记卡由三层文件结构组成, 具体有主目录 MF、 环境目录 DDF、 透明文件、 线性记录文件和两个安全文件。透明文件用于记录标记卡的 ID 号 CardId, 线性记录文 件用于记录绑定的艺术品的 ID 号 ArtId。除安全文件, 每个文件或目录, 都相对应两个密 钥, 用于控制对相应文件的读写权限, 这些密钥全部保存在安全文件中。
标注卡的初始化就是对标注卡进行自身密钥认证, 从而获得操作标注卡的权限。 标注卡自身出厂时存有一个初始密钥 InitDKey。标注卡的初始化过程如下 : 通过密码装 置向标注卡发送获取随机数的命令, 标注卡产生一个随机数 Rand5 后, 用卡内的初始密钥 InitDKey 进行加密, 将加密的结果 EnRand9 存储于标注卡的内存中 ; 同时将随机数 Rand5 通过密码装置发往 PC 机, 在 PC 机软件中用已知的出厂初始密钥 InitDKey1 对此随机数进 行加密, 再将加密后的结果 EnRand10 送给标注卡, 标注卡检验由自己的 InitDKey 将随机数 加密的结果 EnData9 和收到的数据 EnRand10 是否匹配。 如果匹配, 则标注卡的初始化完成。
初始化完成后, 就可将该标注卡与艺术品绑定。标注卡的信息绑定过程需要在 单机上连接密码装置, 且此密码装置中的认证卡密钥与识别系统中的密码装置的认证卡 密钥相同。管理人员必须有系统的最高权限, 知道密码装置上认证卡里的自身认证密钥 AuMKeyNew, 才能通过对认证卡的认证。对认证卡的认证过程如下 : 通过密码装置向认证卡 发送获取随机数的命令, 认证卡产生一个随机数 Rand6 后, 用其卡内的密钥 AuMKeyNew 进 行加密, 将加密的结果 EnRand11 存储于认证卡的内存中 ; 同时将随机数 Rand6 通过密码装 置发往 PC 机, 在 PC 机软件中用已知的出厂密钥 AuMKeyNew1 对此随机数进行加密, 再将加 密后的结果 EnRand12 送给认证卡, 认证卡检验由卡内的 AuMKeyNew 对随机数加密的结果 EnRand11 和收到的数据 EnRand12 是否匹配。如果匹配, 则认证卡的密钥认证成功。 通过对认证卡的认证和对标注卡的初始化之后, 就可以向标注卡绑定艺术品 ID 号 ArtId 和生成各种密钥的标注卡 ID 号 CardId, 并将这些信息存储在单机上的数据库中。
在标注卡中写入 ArtId 和 CardId 后, CardId 经认证卡的外部认证密钥 ExMkey 处 理, 可以得到至少 9 个密钥 Dkey、 Dkey1、 Dkey2、 Dkey3、 Dkey4..., 密钥的生成过程用认证 卡的外部认证密钥 ExMKey 对 CardId 进行 Triple-DES 计算得到, 整个过程在认证卡内计 算, 外界无法得到各密钥。 这些密钥都用于读写标注卡内相关文件的安全, 如绑定艺术品 ID 号时, 将该 ID 号存储入标注卡的线性记录文件内, 而该文件需要在输入密钥 Dkey8 的同时 才允许写, 从而保证了没有认证卡或者即使有认证卡但是该认证卡未通过自身认证的条件 下, 拒绝对文件的写操作, 保护标注卡上存储的信息。同样, 对于读该 ID 号, 必须要在输入 另一个密钥 Dkey7 的同时才允许读, 保护标注卡上的信息被非法读取。
3. 原创艺术品识别系统
(1) 系统结构
本系统包括识别系统、 网络传输系统和用接入系统三个部分组成, 结构如图 1 所 示。通过测试, 一个硬件密码装置的实际识别时间在 10ms 以内, 但是为了防止在这 10ms 内 有多个用户同时接入认证造成的冲突, 本系统采取了增加多个密码装置进行并行认证的技 巧, 这样, 即使有上百个用户同时请求, 也能在数秒内全部完成认证, 大大提高效率。
(2)Web 服务器
本系统中, Web 服务器主要的功能是接收用户的查询请求并向客户返回查询结果。 具体来说, 当要识别某书画类艺术品时, 将阅读器连接到接入互联网的客户端的计算机上, 并将带艺术品上的标注卡接近客户端连接的阅读器, 然后登录到接入互联的北京朝顺平通
艺术文化发展中心的网站上, 从 Web 服务器上下载阅读艺术品标注需要的 ActiveX 控件。 接 着点击网站上的识别按钮, 客户端会将标注上的验证信息发往 Web 服务器, Web 服务器将需 要验证的信息经处理后转交给验证服务器进行验证。一旦验证通过, 证明此标注卡是由本 系统发放的, Web 服务器便通知客户端再向服务器发送加密的艺术品 ID 号, Web 服务器将该 艺术品 ID 号进行解密等相关处理, 再向数据库服务器发送查询请求, 并将查询的信息返回 给客户, 从而实现识别功能。
为了避免 Web 服务器的过重负载, 系统将验证服务器与 Web 服务器独立开来, Web 服务器上被请求的验证将交由验证服务器完成并通过远程方法调用 RMI 完成。
为了能够同时验证多个客户的请求, 验证服务器上连接着多个硬件密码装置, 这 些密码装置中的认证卡密钥与标注系统中密码装置的认证卡密钥相同。当客户通过 Web 服 务器向验证服务器发送艺术品标注卡 ID 号和随机数时, 服务器接受请求, 对收到的数据进 行验证。
由于验证服务器独立于 Web 服务器只做验证的单一功能, 而且验证主要通过与验 证服务器相连的硬件密码装置完成, 硬件密码装置的数量又有若干个, 因此对每个识别请 求的响应时间都很短, 一般不超过 10ms, 所以即使有大量的排队等待, 都能在客户所能承受 的范围内响应客户的请求。 (3) 验证服务器
验证服务器是整个系统安全的关键。只有通过服务器验证的艺术品标注, 才能够 向 Web 服务器再次发送艺术品标注上的艺术品 ID 号。
验证服务器上连接着多个硬件密码装置, 这些密码装置的认证卡里面存储了自身 认证主密钥 AuMKeyNew 和外部认证密钥 ExMkey。
当验证服务器上的密码装置接收到 Web 服务器转交过来的认证请求时, 密码装置 先用 AuMKeyNew 完成自身的认证, 认证通过后用 ExMkey 发散标注卡的 ID 号 CardId, 从而 获取密钥 DKey, 并将该 Dkey 存储在认证卡自身的内存中, 然后验证服务器再将标注卡产 生的随机数 Rand7 传给密码系统, 让它通过 Dkey 完成对随机数的加密并返回加密后的值 EnRand13。验证服务器随后将该加密值 EnRand13 返回给客户。客户再将 EnRand13 送给客 户 PC 机上所连的阅读器上, 阅读器将前面产生的随机数用在标注卡管理时用 ExMKey 对标 注卡 ID 号 CardId 分散的一个密钥 Dkey 进行加密, 加密的数据 EnRand14 存放在内存中。 然 后将 EnRand13 和 EnRand14 进行匹配, 成功则说明验证通过, 接着客户再通过阅读器将艺术 品的 ID 号读出送给 Web 服务器, Web 服务器将数据进行处理后从数据库中进行查询并将结 果返回给客户。
本发明将 IC 卡镶嵌于书画类艺术品当中, 该 IC 卡中含有书画类艺术品的相关信 息, 当买家购买该艺术品后, 可通过 Web 访问特定站点进行真伪验证。买家只要将已装有标 识的艺术作品通过阅读器向 Web 服务器进行认证, 由 Web 服务器通过安全验证后返回该艺 术品的认证结果。
在镶嵌 IC 卡至艺术品之前, 需要将 IC 卡的信息与该艺术品信息进行安全绑定, 绑 定时需要使用带智能认证卡的密码装置使用相关安全协议来完成操作, 而智能认证卡也需 要后台进行相关设计完成初始化。
具体实施本发明主要有三个大流程 : 智能认证卡的初始化流程 ; 标注卡的信息绑
定流程 ; 艺术品标注卡的 Web 认证流程。各流程的具体步骤如下 :
1. 智能认证卡的初始化流程
整个智能认证卡的初始化流程由 PC 机上的软件、 带智能认证卡的密码装置组成, 其中在认证卡中, 设置了两级目录结构, 如图 2 所示 :
其中, MF 是智能认证卡的文件系统根目录, 对卡片的任何操作, 都需要通过 MF 自 身认证密钥 AuMKey 的认证 ; 安全文件用来记录认证卡的外部认证密钥 ExMKey, 此密钥不可 读, 只可通过密钥标识符使用。
整个智能认证卡的初始化流程如下所示, 具体的流程如图 3 所示。
① . 管理员安全登录软件后, 输入需要修改的认证卡密钥 AuMKeyNew 和用于认证 标注卡的密钥 ExMKey, 随后通过密码装置向智能认证卡发送获取随机数命令 ;
② . 认证卡产生随机数 Rand8, 用其初始的自身认证密钥 AuMKey1 进行加密, 将加 密的随机数 EnRand15 存储于认证卡的内存中 ; 同时将随机数 Rand8 通过密码装置发往 PC 机;
③ .PC 机将获取的 Rand8 用管理员已知的认证卡初始密钥 AuMKey2 进行加密, 将 加密的数据 EnRand16 通过密码装置发回给认证卡进行验证 ; ④ . 认证卡获取 PC 机上加密的数据 EnRand16, 与步①产生的存放在自身内存中 的加密数据 EnRand15 进行比较, 若匹配, 则认证成功, 认证计数器恢复为预设阀值如 16, 此 时可以进入认证卡的主目录 MF 进行文件管理 ( 能够在 MF 目录下创建、 删除、 读写相关目录 及文件 ) ; 否则, 无法进入认证卡的主目录, 而且认证计数器减一, 当计数器减为 0 时该认证 卡将被锁定, 以此保证非法无限试探认证卡。 随后, 认证卡将认证结果通过密码装置返回给 PC 机 ;
⑤ . 若认证成功, 将默认进入认证卡的主目录。此时, PC 机再次通过密码装置向 认证卡发送修改认证卡自身认证密钥 AuMKeyNew 的命令和添加认证卡用于认证标注卡的 密钥 ExMKey 的命令, 该 AuMKeyNew 和 ExMKey 是由管理员通过操作界面输入 ;
⑥ . 认证卡获取相关命令, 先修改自身认证密钥为 AuMKeyNew, 再创建安全文件, 并向该安全文件写入 ExMKey ;
2. 标注卡的信息绑定流程
标注卡的信息绑定就是将艺术品的信息即艺术品 ID 号 ArtId 通过一系列的安全 设置写入标注卡, 而写入的 ArtId 必须要通过标注卡自身的安全认证后才能够进行读取, 以此实现标注卡内信息。标注卡的信息绑定必须要先通过认证卡自身的认证后才能进行, 因此该绑定流程由带智能认证卡和标注卡的密码装置和 PC 机上的软件组成。
标注卡的文件结构决定了其安全性, 本发明中, 我们为标注卡设计了如图 4 所示 的的文件结构。
该文件系统具有三层树状型结构, 各个文件的作用以及对文件能够进行的操作描 述如下 :
MF 为标注卡文件系统的根目录, 是整个文件系统的根。 对卡片的任何操作, 都需要 通过对 MF 的密钥认证。
DDF 是卡片文件系统的目录文件, 用于创建一个应用环境。在该环境下可建立若 干与应用环境相关的当前环境目录 ADF、 基本文件 EF 等。在 DDF 下, 只能选择其目录下的
DDF、 ADF 和 EF 文件。
透明文件用于记录卡片 ID, 是一个连续的区域, 以字节为存取单元。
线性记录文件中用于记录艺术品的相关信息, 既可按记录号方式访问, 也可按标 签方式 (TAG) 访问。文件内最多可以容纳 255 条记录。
安全文件中记录了卡片中的密钥和口令信息。安全文件中的所有信息不可读取, 只可通过密钥标识符使用。
艺术品标注卡的 MF、 DDF、 透明文件、 线性记录文件都设置了相应的读、 写密钥, 用 来保护文件的读、 写权限, 只有认证相应文件的读、 写密钥, 才能对各文件进行相应的读、 写 操作。这些密钥信息都写在安全文件中。其中 “安全文件 1” 记录了 MF 的读、 写密钥 ; “安 全文件 2” 记录了 DF、 透明文件、 线性记录文件的读、 写密钥。其中, MF、 DDF、 线性记录文件 的读、 写操作都须首先认证其读、 写密钥。由于透明文件中的卡片 ID 要用于子密钥的生成, 所以可以自由读出, 但在透明文件中写数据时仍需认证写密钥。
整个艺术品标注信息绑定具体的流程如下, 其流程图如图 5 所示。
① . 管理员安全登录软件后, 输入认证卡密钥 AuMKeyNew1 和需要绑定的艺术品标 号 ArtId, 然后通过密码装置向智能认证卡发送获取随机数命令 ;
② . 认证卡产生随机数 Rand9, 用其初始的自身认证密钥 AuMKeyNew 进行加密, 将 加密的随机数 EnRand17 存储于认证卡的内存中 ; 同时将随机数 Rand9 通过密码装置发往 PC 机 ;
③ .PC 机将获取的 Rand9 用管理员输入的认证卡密钥 AuMKeyNew1 进行加密, 将加 密的数据 EnRand18 通过密码装置发回给认证卡进行验证 ;
④ . 认证卡获取 PC 机上加密的数据 EnRand18, 与步①产生的存放在自身内存中的 加密数据 EnRand17 进行比较, 若匹配, 则认证卡自身认证成功, 认证计数器恢复为预设阀 值如 16, 此时可以利用认证卡做相关操作 ; 否则, 认证卡的认证计数器减一, 当计数器减为 0 时该认证卡将被锁定, 以此保证非法无限试探认证卡。随后, 认证卡将认证结果通过密码 装置返回给 PC 机 ;
⑤ . 若 认 证 卡 认 证 失 败, 则 说 明 管 理 员 输 入 的 AuMKeyNew1 与 认 证 卡 的 密 钥 AuMKeyNew 不同, 操作中止 ; 否则若认证卡认证成功, PC 机软件产生一个 72 字节的随机数, 用作标注卡的标号 CardId, 然后以每 8 字节为一个单元, 分别用认证卡的 ExMKey 进行子密 钥生成计算, 得到 DKey、 DKey1、 DKey2、 DKey3...DKey8, 将此 9 个子密钥存放在 PC 机的内存 中。随后, PC 机向本地数据库发送查询请求, 查找是否存在艺术品标号 ArtId。若存在则由 管理员选择是否弃用旧卡, 一旦选择弃用, 则向数据库修改该艺术品标号 ArtId 对应的标 注卡标号 CardId, 否则中止对该标注卡的信息绑定操作 ; 若数据库中不存在该艺术品标号 ArtId, 则将 ArtId+CardId 作为一条新记录写入本地数据库, 数据库操作完成 ;
⑥ . 接着, PC 机通过密码装置对标注卡进行标注卡自身的认证, 先通过密码装置 向标注卡发送获取随机数命令, 标注卡产生随机数 Rand10, 用其初始密钥 InitDKey 进行加 密, 将加密的随机数 EnRand19 存储于标注卡的内存中 ; 同时将随机数 Rand10 通过密码装置 发往 PC 机 ;
⑦ .PC 机将获取的 Rand10 用管理员已知的标注卡初始密钥 InitDKey1 进行加密, 将加密的数据 EnRand20 通过密码装置发回给标注卡进行验证 ; 标注卡获取 PC 机上加密的数据 EnRand20, 与存放在自身内存中的加密数据 EnRand19 进行比较, 若匹配, 则认证成功, 并将认证结果返回 PC 机 ;
⑧ . 若标注卡自身认证成功, 则 PC 机向标注卡发送一系列命令, 清除原 MF 文件 ; 创建 MF 文件 ; 修改 InitDKey 为步骤⑤中的 DKey、 将 DKey1 和 DKey2 作为 MF 的读写安全密 钥; 再在 MF 下创建 DDF 文件, 将 DKey3 和 DKey4 作为 DDF 的读写安全密钥 ; 接着在 DDF 下创 建透明文件用于写标注卡标号的 CardId, DKey5 和 DKey6 作为透明文件的安全读、 写密钥 ; 然后在 DDF 下创建线性记录文件用于存储艺术品标号 ArtId, DKey7 和 DKey8 作为线性记录 文件的安全读写密钥 ; 以上文件创建后, 再向透明文件写入标注卡标号 CartId, 向线性文 件写入艺术品标号 ArtId。需要注意的是, 每个文件的读写密钥用于相应文件的安全读写, 必须要在知道对应密钥的情况下才能进行读写访问, 但是标注卡标号 CartId 的读写不需 要密钥, 任何密码装置通过命令均可获取。至此标注卡信息绑定成功。
3. 艺术品标注卡的 Web 认证流程
当买家购买该艺术品后, 可通过 Web 访问特定站点进行识别。买家只要将已装有 标识的艺术作品通过阅读器向 Web 服务器进行认证, 由 Web 服务器通过安全验证后返回该 艺术品的认证结果。具体的认证过程如下, 其流程图如图 6 所示 :
① . 客户端连接阅读器并下载相应 Activex 后, 通过阅读器向标注卡发送获得随 机数和标注卡 ID 的命令。
② . 标注卡产生随机数, 并用自身 DKey 对随机数进行加密, 将加密后的数据存放 在其内存中, 随后, 将随机数与标记卡 ID 号发往客户端。
③ . 客户端将随机数与标注卡 ID 号通过 Web 发往 Web 服务器进行验证。
④ .Web 服务器接受请求, 查询是否有空闲的密码装置, 若没有, 则睡眠等待固定 时间如用户无法察觉的 5ms, 等待时间结束后, 继续进行查询, 直到有空闲密码装置 ; 一旦 有, 则选择该密码装置, 通过 RMI 将标注卡 ID 号的前八字节和随机数提交给验证服务器。
⑤ . 验证服务器通过 USB 连接若干密码装置, 它接受 Web 服务器转接的验证请求, 向步骤 4 中已指定的密码装置发送生成子密钥和加密随机数的相关命令。
⑥ . 该指定的密码装置接收命令, 用自身的 ExMKey 对标注卡 ID 号的前八字节进 行密钥发散计算, 将计算结果 DKeyGen 存放在认证卡内存中, 并用此 DKeyGen 对接收到的随 机数进行加密计算, 将计算结果返回给验证服务器。
⑦ . 验证服务器将加密的随机数通过 Web 服务器回送至客户端。
⑧ . 客户端将此加密的随机数通过阅读器送至标注卡。
⑨ . 标注卡将接收到的加密数据与自身内存中的加密随机数进行匹配并返回匹 配结果。
⑩ . 若匹配不成功, 则验证失败 ; 若匹配成功, 则客户端通过阅读器想标注卡发送 读取标注卡内艺术品 ID 号的命令。
标注卡读取艺术品 ID 号, 将此数据发往客户端。 客户端将收到的艺术品 ID 号通过 Web 发往 Web 服务器。 Web 服务器向数据库服务器发送查询请求。 数据库服务器返回查询结果。 将查询结果以特定的显示方式返回给客户端用户 : 若查询成功, 返回艺术品相关信息 ; 若查询失败, 返回错误信息。至此艺术品标注卡的 Web 认证过程完成。