基于非接触式IC卡门禁系统的设计
2课题总体研究和涉及的主要技术
其中ISO/IEC14443又分为TypeA和TypeB两个标准。本课题开发的非接触式IC卡读卡器是基于ISO/IEC14443TypeA标准的。
2.2非接触式Ic卡门禁系统涉及的主要技术
随着非接触式IC卡的应用越来越普遍,它的应用逐渐渗透到金融、通讯、安全控制等许多重要领域,其安全性和保密性的特点受到了人们的高度关注。如今如何有效防止各种可能的攻击和欺诈,成为非接触Ic卡实际应用系统设计的重要课题。
为了确保读卡器和Ic卡之间通信的完整、可靠和快速,主要采取了以下技术,一是采用循环冗余校验技术以确保通信时数据的可靠和完整性;二是采用快速防冲突机制,防止通信时卡片之间出现数据干扰,以提高应用的并行性。
非接触式智能卡系统是一个典型的跨学科的专业领域,一个多技术融合的系统lIoJ。2.2.1循环冗余校验技术
循环冗余校验码简称CRC码(CyclicReduM印cyCode),是一种高性能的检错码。循环码是线性码的一个子集,具有严密的数学结构,对其进行分析要用到近代代数理论。所谓线性码是指由k个信息元和r个校验码元构成的码组,其中每一个校验码元是该码组中某些信息码元的模2和;常用(亿k)来表示码长为n信息码元为k的线性码。当线性码(月,尼)中的任一码组每一次循环左移或右移得到的是码中的另一码组时,这种线性码就是循环码【111。
如果将循环码的码组中的各个码元当作一个多项式的系数,则由竹位码元组成的码组IC=(C。,C。…C,,C。)可用多项式表示为
C(x)=C川x肛。+C。一2X肛2+…+Cl工+cof2.11
用(1)式表示循环码时可以发现循环码具有如下的重要特性,即在一个(”,k)循环码中,有且仅有一个∞一k)次的生成多项式
G(盖)=C.-kX枞+C柑一lX“一1+…+C2X2+ClX+Ir2.21
使该循环码的每个码多项式c(x)都是G(X)的倍式,反之,能被G(X)除尽的次数不大于∽一1)次的多项式,也必定是码多项式。利用这个特性,可以实现编码和译码功能。假设待编码k位信息的码组为M=(M。,M。…M,,M。)它所对应的码多项式是:
吖(x)=M¨J“+M¨X“+…+MlX+M。f2.319
基于非接触式IC卡门禁系统的设计
西安科技大学硕士学位论文
用Ⅳ”8乘以M(x)得
X”“^,(x)=M女一lX”一1+M女一2X‘-2+…+MIⅣ”一2+1+A,oX”‘(2.4)
再用给定的(”,k)循环码的生成多项G(X)去除X”‘M(X),得
X”。M(X)=G(x)Q(x)+R(CX)f,s、
式中Q(x)和R(X)分别为商式和余式。X”。M(X)的最高幂次为∽一k)+(k—I)=n—l,而G(X)最高幂次为n一≈,所以,Q(X)的最高幂次将是@一1)一0一k)=k一1,R(x)的最高幂次就是"一k一1。即Q(x)的幂次与码组中信息码相互对应,R(J)的幂次与码组中校验码元相对应。由于是模2运算,根据运算规则,加与减是相同的,故将(5)式移项后可得
X”。^彳(X)+月(五)2G(x)Q(x)f2.61
(2.6)式表明,X”。M(X)+R(X)是G(Z)的倍式,它是”一1次的多项式,其中X”‘M(X)刚好对应于编码码组的信息码元,而R(X)则对应于校验码元。将(6)式的左边展开有
X肛。^彳(z)+尺(Ⅳ)=帆一lx川+M★一2x肛2十…+Mlx”一¨+%J4一‘+-k-1X肛“1+5-k-2X”一2—2+…+fiX+%
(2.7)
它对应的码组是(M。,M。…Ⅳ。,M。,_+.,‘+:,1,%),这说明待编码的码组M所组成的循环码是由不加任何改变的k位信息码元和附加在其后(”一k)位校验码元组成的。接收器收到CRC码以后,用相同的多项式G(Ⅳ)去除CRC码的码组,如果数据在置(五一。+…+1)来表示,其中L=k—i+l,f确定突发差错离开接收CRC码的右端有多
7因子存在,因此如果表达式Ⅳ,(也,+…+1)中的括号内表达式
CRC.12:GfZl=X12+X”+肖5+Z2+x+110传送过程中没有变化,那么所得到的结果应该只有商式Q(x),则可认为信息在传输时无差错产生。循环码的校验能力与组成多项式有关。具有r个校验位的多项式能检出所有长度小于或等于r的差错。一个长度为上的突发性连续差错可以用表达式远,也就是说,突发差错在CRC码中的位置是从工‘直到Ⅳ‘。如果除式G(X)中有xo的项,那么它将不会有x的阶数低于G(X)的阶数时,接收到的码组与G(x)相除时,余数不可能为零。如果突发差错长度为,+1,当且仅当突发差错和G(X)一样时,被G(Ⅳ)除的余式才可能是0,这时将不正确的数据当作正确的数据接收的概率是2。1。对长度大于,+1的突发错误,分析发现,将不正确的数据当作正确的数据接收的概率是2~。对于多项式G(x),有许多种选取的方式,其中有三个目前己成为国际标准:
基于非接触式IC卡门禁系统的设计
2课题总体研究和涉及的主要技术
CRC一16:G(X、=X16+X15X2+1
CRC—CCITT:G(J)=X16+X12+X5+1
从上面的分析不难计算,后两种的检错率至少为99.997%。在MFRC500电路部分设计了循环冗余校验协处理器,以使得MFRC500可以在速度较快的情况下完成16位的循环冗余校验。该电路采用了CCITT标准的多项式:G(z)=X”+X”+X5+l。电路的初始状态由置位信号决定。在控制信号的作用下,该电路可完成循环冗余校验的编码和译码。编码时,待编码的数据被送入移位寄存器,当待编码的数据全部送入寄存器后,移位寄存器中存储的就是校验码组R(z);译码时,编码后的数据被逐位送入移位寄存器中,当编码数据全部送入移位寄存器后,移位寄存器中存储的是编码的多项式与生成多顶式相除的余数,如果传输正确无误,则移位寄存器中全部为0。
2.2.2密码技术