首页 理论教育系统设计的主要技术综述

系统设计的主要技术综述

【摘要】:作为面向消费者的防伪包装系统,随着携带NFC 芯片的智能手机、平板电脑等智能终端设备的日益普及,使用NFC 技术作为识别酒类防伪标签的终端技术已经基本具备了应用的价值,可以达到识别终端大众化的目的。NFC 的传输协议包含以下三个主要过程。NFC标签是防伪系统不可或缺的组成部分,从应用功能逻辑上看,芯片主要包含的信息如图8-5所示。

1.NFC 技术介绍

NFC(Near Field Communication)又称为近距离无线通信技术或近场通信技术。由飞利浦公司和索尼公司共同开发的NFC 技术是一种非接触式识别和互联技术,可以在移动终端设备、消费类电子产品、PC 和智能控件工具间进行近距离无线通信。NFC 技术最初只是RFID 技术和网络技术的简单合并,也就是说是由RFID 及互联技术融合演变而来,并向下兼容RFID。NFC 提供了一种简单、触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务。

NFC 技术采用的频段是13.56MHz,通信距离为10cm 左右。它和非接触式IC 卡技术一样,“只需碰一下”便可进行数据交换。只要是支持NFC 的产品和IC 卡,就可以读出或写入数据。

目前,市场上份额最大的NFC 设备是具有NFC 功能的Android 智能手机平板终端,当然,也可以是其他系统的NFC 终端设备。通常人们把它们统一称为NFC 移动智能终端设备(或简称NFC 设备)。NFC 设备一般由NFC CLF 芯片天线组成,其中NFC CLF芯片又称为NFC 非接触前端芯片,具有相互通信功能、计算能力。NFC 设备的天线是近场耦合天线,耦合方式是线圈磁场耦合,通常嵌入于NFC设备的背盖上,背盖与终端扣合时,通过金属触点,将天线和NFC CLF 芯片连通起来。常用的NFC 标签如表8-1所示。

表8-1 NFC 标签类型

基于NFC 技术的业务具有三种工作模式:

①卡模拟模式(Card Emulation Mode):这个模式将具有NFC 功能的设备模拟成一张非接触卡,其实就相当于一张采用RFID 技术的IC 卡。可以替代大量的IC 卡(包括信用卡)、公交卡、门禁管制、车票、门票等。此种方式下,有一个极大的优点,那就是卡片通过非接触读卡器的 RF 域来供电,即便是NFC 设备(如手机)没电也可以工作。

②读卡器模式(Reader-Writer Mode):即NFC 设备作为非接触卡读写器使用,如读取RFID 电子标签等。NFC 设备也可以向NFC 标签写入信息。目前,通常选取NFC 的这个工作模式进行CPU 卡标签的读写。

③点对点模式(Peer-to-Peer Mode):这个模式和红外线差不多,可用于NFC 设备之间的数据交换,传输距离较短,传输速度较快,功耗低(蓝牙也类似)。将两个具备NFC功能的设备连接,能实现数据点对点传输,如下载音乐、交换图片或者同步设备地址簙。因此通过NFC,多个设备如数码相机、PDA、计算机和手机之间都可以交换资料或者服务。

作为面向消费者的防伪包装系统,随着携带NFC 芯片的智能手机、平板电脑等智能终端设备的日益普及,使用NFC 技术作为识别酒类防伪标签的终端技术已经基本具备了应用的价值,可以达到识别终端大众化的目的。

NFC 的传输协议包含以下三个主要过程。

①协议激活:负责发起设备和目标设备间属性请求和参数选择的协商。

②数据交换协议:半双工工作方式,以数据块为单位进行传输,包含错误处理机制。

③协议关闭:在数据交换完成后,发起设备执行协议关闭过程,包括撤销选中和释放连接。

支持NFC 的设备可以在主动或被动模式下交换数据(图8-4)。在被动模式下,启动NFC 通信的设备,也称为NFC 发起设备(主设备),在整个通信过程中提供射频场(RFfield)。它可以选择106kbps、212kbps 或424kbps 其中一种传输速度,将数据发送给另一台设备。另一台设备称为NFC 目标设备(从设备),不必产生射频场,而使用负载调制(Load Modulation)技术,即可以相同的速度将数据传回发起设备。因此,NFC 发起设备在被动模式下,可以用相同的连接和初始化过程检测非接触式智能卡或NFC 目标设备,并与之建立联系。

图8-4 NFC 的通信模式

2.NFC 标签的认证机制

防伪包装溯源系统为了实现防止标签被批量复制的目标,一般可以采用NFC 标签与防伪系统服务器端相互认证的机制。只有产品生产企业向防伪标签生产商订制的防伪标签才能通过与系统服务器端的相互认证,也只有合法的服务器端才能通过防伪标签的相互认证。试验,系统需要采用一定的认证机制策略。

NFC标签是防伪系统不可或缺的组成部分,从应用功能逻辑上看,芯片主要包含的信息如图8-5所示。

图8-5 NFC 防伪标签包含的主要信息

图8-5所示的主要信息的含义如下:

①UID 是NFC 芯片的Unique ID,即芯片的唯一标识码,在出厂后不可更改。

②EPC 是防伪标签对应的具体商品的唯一标识号。

③产品信息是指商品的详细描述信息。

④count 是芯片中内置的计数器,每当被NFC 设备扫描一次,count 值加1。

⑤会话密钥被写入NFC 防伪标签内,用来加密要传输的数据和标签信息。

⑥访问密文由会话密钥对通信两端要发送的信息加密得来。

⑦签名用来表示这个防伪标签是属于谁所有。

在整个系统的应用场景中,由于NFC 手机不是系统专门的NFC 读写设备,所以它只作为防伪标签和服务器端数据传输的媒介,认证过程在NFC 防伪标签与系统服务器端进行。进行认证的某一个NFC 标签与服务器两端使用同一个会话密钥K 和相同的加密算法E,会话密钥K 由加密算法对两端约定好的主控密钥进行加密后得出,会话密钥K 存储在标签中,用来对信息明文进行加密。认证过程一般按照以下步骤进行:

第一步,NFC 手机向防伪标签发送相互认证请求;

第二步,防伪标签接收到请求后,生成随机数RA,将RA 与标签的UID 一起发送给服务器端;

第三步,服务器端根据UID 和对应的主控密钥计算出会话密钥K,用K 对RA 经加密算法E 加密得出RA’,另外生成随机数RB,用会话密钥K 经加密算法E 对RA’和RB 加密后发给标签;

第四步,标签收到密文后解码得出RA’和RB,用K 和E 对自己的RA 进行加密得到RA2,接收的RA’与自己加密得到的RA2 比对,若相等则通过对服务器端的认证;标签对收到的RB 进行加密得出RB’,发送给服务器端;

第五步,服务器端收到RB’后进行解密得出RB2,RB2 与自己的RB 比较,若相同则通过服务器端对防伪标签认证;

第六步,只有认证通过后才能进行下一步操作。

NFC 防伪标签与服务器端的相互认证如图8-6所示。

图8-6 NFC 防伪标签与服务器端的相互认证

3.加密算法实现认证机制

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被人非法窃取、阅读的目的。加密过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

加密技术通常分为两大类:“对称式”和“非对称式”。对应的加密算法主要有对称加密算法和非对称加密算法,使用比较广泛的对称加密算法主要有DES、3DES 和AES;最有影响力的非对称加密算法主要有RSA 和ECC。

对称式加密就是加密和解密使用同一个密钥。一个对称加密方案由五部分组成(图8-7),即明文(plaintext)、加密算法(encryption algorithm)、密钥(secret key)、密文(ciphertext)、解密算法(decryption algorithm)。对称加密的安全取决于密钥的保密性而非算法的保密性。因此,使用对称加密时,最主要的安全问题是密钥的保密性。

图8-7 对称加密机制

对称加密算法DES 使用的密钥长度为56 位,将明文每64 位分为一组,再将分组后的明文和密钥按位置换得到密文组。DES 加密算法有三个形参:key、data 和mode。其中key 为加密密钥;data 为需要加密或解密的数据;mode 为模式,分为加密和解密两种模式。

3DES 即triple DES,利用64 位长度的密钥对明文进行三重加密。3DES 是对DES 加密算法的改进:假设DES 的加密过程为EK(),解密过程为DK(),用EK1()表示第一重加密,DK1()表示第一重解密,以此类推,K 是密钥,M 是明文,S 是密文,那么3DES 的加密和解密过程可以用如下函数表示:

加密:S=EK3(DK2(EK2(M)));

解密:M=DK3(EK2(DK2(S)))。

3DES 算法的计算速度比其他非对称算法的计算速度快了几个数量级,适合对大容量数据进行加密和解密运算,但由于这种对称加密算法的通信两端要共享同样的密钥,所以有比较大的密钥安全隐患。

非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必须配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难不把密钥告诉对方,不管用什么方法都有可能被别人窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可,这样就很好地避免了密钥的传输安全性问题。

非对称加密算法RSA 采用公钥和私钥这种非对称的密钥体系,通信的两端都各自拥有一对公钥和私钥,公钥可以交给对方使用,而私钥仅自己知道,例如,A 给B 发送信息时,先将信息用B 的公钥进行加密得到密文,B 收到密文后可以用B 的相应密钥解密密文,并且只有与B 对应的密钥才能解密,这样就确保了B 的合法性;如果A 用自己的私钥对信息进行加密后发给B,B 接受后可以用A 对应的公钥进行解密,如果解密成功说明是用A 的私钥进行的加密操作,也就确保了A 的合法性。这种方式可以实现对芯片的数字签名,即用芯片所有者的私钥来对签名的信息进行加密,以表明芯片的所有权。但是RSA 算法的计算速率比较低,对大容量数据的加密和解密运算不适用。

基于非对称加密算法的相互认证机制过程如下(图8-8):

图8-8 基于非对称加密算法的相互认证机制

①当NFC 手机靠近防伪标签时,标签向服务器端发送访问密文,访问密文是由防伪系统平台服务器端的公钥加密会话密钥和UID 得来,所以服务器端可以用自己与之对应的私钥对访问密文进行解密,得到会话密钥和UID。

②服务器端再用会话密钥加密标签的UID 得出密文,发送给NFC 标签。

③标签收到密文后,用会话密钥加密自己保存的UID 并与接收到的密文进行比对,如果相等则认证通过,进行下一步认证。

④标签用会话密钥加密标签中产品信息,并用平台企业用户的私钥加密芯片的数字签名,发送至服务器端。

⑤服务器端再用会话密钥对受到的密文解密得到产品明文信息并进行散列,用平台企业用户的公钥解密签名,再与产品明文信息散列值进行比对,相等则说明该平台企业用户已经经过防伪系统总平台授权,是总平台认证的平台企业用户。

经过上述双向认证机制,可确保NFC 防伪芯片和平台企业用户的合法性,有效防止防伪标签被批量复制的问题。

在实际应用中,需要综合考虑对称算法和非对称算法各自的优缺点。例如,可以采用RSA 算法和3DES 算法综合使用的方式来实现防伪标签和服务器端的相互认证机制,即采用RSA 算法对3DES 的加密密钥进行加密,可以确保3DES 密钥的安全性;用3DES 算法对防伪标签和服务器端的通信信息进行加密和解密运算,可以提高对通信数据的加密解密运算速度。3DES 和RSA 算法结合使用的整个加密和解密流程如图8-9所示。

图8-9 3DES 和RSA 混合算法加密和解密过程