制证系统中证件卡的加密和解密的方法

文档序号:7685601阅读:216来源:国知局
专利名称:制证系统中证件卡的加密和解密的方法
技术领域
本发明涉及一种加密和解密的方法,特别是涉及一种制证系统中证件卡 的加密和解密的方法。
背景技术
数据加密标准DES (Data Encryption Standard)是IBM公司研制的一 种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据 加密标准,三十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重 要的角色。DES是一个分组加密算法,他以64位为分组对数据加密。同时DES 也是一个对称算法:加密和解密用的是同一个算法,它的密钥长度是56位(因 为每个第8位都用作奇偶校验),密钥可以是任意的56位的数,而且可以任 意时候改变,其中有极少量的数被认为是弱密钥,但是很容易避开他们。所 以DES密码体制的保密性依赖于密钥。
RSA加密、解密算法以其发明者Ron Rivest、 Adi Shamir和Leonard Adleman的名字命名,它是第一个既能用于数据加密也能用于数字签名的算 法。RSA是一种非对称的加密解密技术,采用不同的加密密钥和解密密钥, 一个密钥向公众公开,称为公钥, 一个私有保存,称为私钥。通过公钥加密 过的信息只有通过私钥才能进行解密。
目前在国内,各类加密解密算法在电子消费系统POS (point of sale)、 自动取款机ATM (Automated Teller Machine)、磁卡及智能卡(集成电路卡 IC)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保 密。制证系统中对卡片的加密和解密采用了DES加密、RSA加密、RSA解密和 密钥分散技术,通过以上技术的综合应用,使得非法分子对卡片的复制、攻 击对系统造成的影响减低到最小
发明内容
本发明的目的是提供一种制证系统中证件卡的加密和解密的方法,该方 法能有效保护证件卡中数据的安全,防止证件卡伪造,能实现不同应用场合 对安全等级不同的要求。
为了达到上述目的,本发明的技术方案是 一种制证系统中证件卡的加 密和解密的方法,包括以下步骤
步骤l,发卡机对高频卡片进行加密;
步骤2,发卡机对超高频卡片进行加密;
步骤3,读取高频卡片数据;
步骤4,读取超高频卡片进行加密。
上述制证系统中证件卡的加密和解密的方法,其中,所述步骤l包含以 下步骤
步骤l.l设置i=0,其中i用于标识扇区编号,0《i<N, N为总扇区数, 步骤1.2,生成高频卡片第i个扇区的密码A和密码B, 步骤1.3, i=i+l,
步骤1.4,判断i是否小于N,如果为是,回到步骤1.2,如果为否,则 执行步骤1.5,
步骤1.5,判断使用证件卡的安全等级,如果使用证件卡的安全等级级 别高,执行步骤1.6,如果使用证件卡的安全等级级别一般,则结束加密, 步骤1.6,采用RSA算法,对明文进行数字签名加密。 上述制证系统中证件卡的加密和解密的方法,其中,所述步骤1.2包含 以下步骤-
步骤1. 2. 1,以扇区密码块块号和高频卡片身份标示号码ID为待加密数 据,即明文,
步骤1.2. 2,调用安全存取模块SAM(security access module)的0X11 的DES密码模块加密步骤1. 2. 1生成的待加密数据,得到密文,
步骤1. 2. 3,取步骤1. 2. 2得到的密文的前面6个字节的数据作为该扇 区密码A,
步骤1. 2. 4,以扇区密码块块号和高频卡片身份标示号码ID为待加密数 据,即明文,
步骤1. 2. 5,调用SAM的0X12的数据加密标准DES加密模块加密步骤
61,2.4生成的待加密数据,得到密文,
步骤1. 2. 6,取步骤1. 2. 5得到的密文的前面6个字节的数据作为该扇 区密码B。
上述制证系统中证件卡的加密和解密的方法,其中,所述步骤2包含以 下步骤
步骤2. 1,发卡机通过SAM卡进行授权,SAM卡已经装载密钥二套,称为 密钥X和Y,密钥X和Y均为8字节,
步骤2.2,发卡机读取超高频卡片身份标示号码ID (4个字节),并补 充0X80, 0X00, 0X00, 0X00至8个字节,生成明文,
步骤2. 3,发卡机使用密钥X对步骤2. 2生成的明文进行数据加密标准 DES加密,取密文前4字节为超高频卡片密码区密码,
步骤2.4,发卡机使用密钥X对步骤2.2生成的明文进行DES加密,产 生8字节密文,
步骤2. 5,将超高频卡片身份标示号码ID和步骤2. 4的加密结果进行打 包,并将打包后的结果写入电子产品编码EPC区,进行锁定,
步骤2.6,将步骤2.3产生的密码写入超高频卡片密码区,并进行锁定。 上述制证系统中证件卡的加密和解密的方法,其中,所述步骤3包含以 下步骤
步骤3. 1,重新设置1=0,
步骤3.2,重新生成证件卡第i个扇区的密码A和密码B,作为读卡密码
用来读取高频卡片数据, 步骤3. 3, i=i+l,
步骤3.4,判断i是否小于N,如果为是,回到步骤3.2,如果为否,则 执行步骤3.5;
步骤3.5,判断使用证件卡的安全等级,如果使用证件卡的安全等级级 别高,执行步骤3.6,如果使用证件卡的安全等级级别一般,则结束操作;
步骤3.6,采用RSA算法,进行数字签名进行解密。
上述制证系统中证件卡的加密和解密的方法,其中,步骤1.2. l和步骤 1. 2. 4中,产生高频卡片密码区密码的明文是高频卡片身份标示号码ID和高 频卡片生产厂商信息的组合。上述制证系统中证件卡的加密和解密的方法,其中,步骤1.2. l和步骤 1. 2. 4中的明文为高频卡片身份标示号码ID、生产厂商信息和高频卡片信息 的组合,或者为高频卡片内唯一的非可编程的部分数据。
上述制证系统中证件卡的加密和解密的方法,其中,所述步骤1.6包括 以下步骤
步骤1. 6a,对明文进行RSA1024私钥加密,产生1024Bit签名数据。 上述制证系统中证件卡的加密和解密的方法,其中,所述步骤3.6包括 以下步骤
步骤3. 6a,对高频卡片1024Bit签名数据进行RSA1024公钥解密,产 生1024Bit明文数据,取前面一定长度数据与高频卡片身份标示号码ID进行 匹配,验证签名合法性。
上述制证系统中证件卡的加密和解密的方法,其中,所述步骤1.6包括 以下步骤
步骤1.6b,对明文进行RSA1024公钥加密,产生1024Bit签名数据。 上述制证系统中证件卡的加密和解密的方法,其中,所述步骤3.6包括以下 步骤
步骤3. 6b, 对高频卡片1024Bit签名数据进行RSA1024私钥解密,产 生1024Bit明文数据,取前面一定长度数据与高频卡片身份标示号码ID进行 匹配,验证签名合法性。
上述制证系统中证件卡的加密和解密的方法,其中,所述步骤1.6中, 明文为高频卡片身份标示号码ID,或者高频卡片身份标示号码ID和生产厂 商代码的组合,或者为高频卡片内第一个扇区的所有或者部分数据。
上述制证系统中证件卡的加密和解密的方法,其中,所述步骤1.6和步 骤3.6中,采用RSA非对称加密解密算法时,不限于1024位。
本发明由于采用上述技术方案,使之与现有技术相比,具有以下的优点 和积极效果
1、由于本发明制证系统中证件卡的加密和解密的方法利用证件卡身份标 示号码ID的唯一性,使得非法人员复制卡片、破解卡片数据区、获取某些关 键数据的非法行为对系统安全造成的威胁降至最低,能有效保护证件卡中数 据的安全,防止证件卡伪造。
82、由于本发明制证系统中证件卡的加密和解密的方法可结合采用DES 加密方法和数字签名加密、解密方法,能实现不同应用场合对安全等级不同 的要求。
图说明


图1是本发明制证系统中证件卡的加密和解密的方法的流程图。 图2是高频卡片扇区0的结构示意图。
图3是本发明制证系统中证件卡的加密和解密的方法中高频卡片加密流
图4是本发明制证系统中证件卡的加密和解密的方法中超高频卡片加密 流程图。
具体实施例方式
以下参见附图具体说明本发明的较佳实施方式
参见图1,本发明一种制证系统中证件卡的加密和解密的方法,包括以 下步骤
步骤l,发卡机对高频卡片进行加密; 步骤2,发卡机对超高频卡片进行加密; 步骤3,读取高频卡片数据; 步骤4,读取超高频卡片进行加密。
在本实施例中,证件卡集成高频卡片和超高频卡片。其中,高频卡片是 一种加密存储卡,卡片内共有40个扇区,取名为扇区0 扇区39,扇区0 扇区31的每个扇区包括4个块,扇区32 扇区39的每个扇区包括16个块。 在每个扇区中,最后一个块是密码块,前面的块为数据块。密码块包括密码 A和密码B,通过对密码进行认证,保证对数据操作的合法性。
超高频卡片符合EPCGEN2标准,存储空间为MBOO,为密码区(64bit); MBOl,为电子产品编码EPC区(128bit); MBIO,为标签身份标示号码TID 区(32bit); MBll,为用户信息区(224bit)。其中标签ID为ROM,出厂后 不可更改,且标签ID号全球唯一;密码区、EPC区和用户信息区都可进行锁 定操作,锁定后对卡片数据的修改必须通过认证密码区密码才可以进行。参见图2,以扇区0为例详细介绍扇区的组成结构。该扇区有4个块, 块号分别为OXOO、 0X01、 0X02和0X03, 0X00 0X02为数据块,0X03为密码 块。密码块0X03包括密码A、密码B和密码控制位。
加密时,发卡机分别对证件卡的高频卡片和超高频卡片进行加密;解密 时,分别读取证件卡的高频卡片和超高频卡片中的数据。
加密时,发卡机先逐一对证件卡的高频卡片的每一扇区进行加密,生成 每一扇区密码A和密码B,再对证件卡的超高频卡片进行加密,生成UC0DE超 高频卡密码区的密码,并进行锁定。
参见图3、图4,本发明一种制证系统中证件卡的加密和解密的方法,包
括以下步骤
步骤l,发卡机对高频卡片进行加密,
步骤1. 1设置i=0,其中i用于标识扇区编号,0《i<N, N为总扇区数, 步骤1.2,生成证件卡第i个扇区的密码A和密码B, 步骤1. 2. 1,以扇区密码块块号和高频卡片身份标示号码ID为待加密数 据,即明文,
步骤1.2.2,调用安全存取模块SAM(security access module)的0X11 的DES密码模块加密步骤1. 2. 1生成的待加密数据,得到密文,
步骤1. 2. 3,取步骤1. 2. 2得到的密文的前面6个字节的数据作为该扇 区密码A,
步骤1. 2. 4,以扇区密码块块号和高频卡片身份标示号码ID为待加密数 据,即明文,
步骤1. 2. 5,调用SAM的0X12的DES加密模块加密步骤1. 2. 4生成的待 加密数据,得到密文,
步骤1. 2. 6,取步骤1. 2. 5得到的密文的前面6个字节的数据作为该扇 区密码B,
步骤1.3, i=i+l,
步骤1.4,判断i是否小于N,如果为是,回到步骤1.2,如果为否,则 执行步骤1.5,
步骤1.5,判断使用证件卡的安全等级,如果使用证件卡的安全等级级 别高,执行步骤1.6,如果使用证件卡的安全等级级别一般,则结束加密,步骤1.6,采用RSA算法,对明文进行数字签名加密; 步骤2,发卡机对超高频卡片进行加密,
步骤2. 1,发卡机通过SAM卡进行授权,SAM卡已经装载密钥二套,称为 密钥X和Y,密钥X和Y均为8字节,
步骤2.2,发卡机读取超高频卡片身份标示号码ID (4个字节),并补 充0X80, 0X00, 0X00, 0X00至8个字节,生成明文,(DES是分组加密的, 每次加密的明文必须是8字节,如果不足8字节要进行补齐,方法是先添加 0X80,添加后如果补足了 8字节就结束,如果还不足8字节,就继续补0X00, 直至8字节),
步骤2.3,发卡机使用密钥X对步骤2.2生成的明文进行DES加密,取 密文前4字节为超高频卡片密码区密码,
步骤2.4,发卡机使用密钥X对步骤2.2生成的明文进行DES加密,产 生8字节密文,
步骤2. 5,将超高频卡片身份标示号码ID和步骤2. 4的加密结果进行打 包,并将打包后的结果写入EPC区,进行锁定,
步骤2.6,将步骤2.3产生的密码写入超高频卡片密码区,并进行锁定; 步骤3,读取高频卡片数据, 步骤3. 1,重新设置1=0,
步骤3.2,重新生成证件卡第i个扇区的密码A和密码B,作为读卡密码
用来读取高频卡片数据, 步骤3. 3, i=i+l,
步骤3.4,判断i是否小于N,如果为是,回到步骤3.2,如果为否,则 执行步骤3.5;
步骤3.5,判断使用证件卡的安全等级,如果使用证件卡的安全等级级 别高,执行步骤3.6,如果使用证件卡的安全等级级别一般,则结束操作; 步骤3.6,采用RSA算法,进行数字签名进行解密; 步骤4,读取超高频卡片数据。
步骤1. 2. 1和步骤1. 2. 4中,产生高频卡片密码区密码的明文还可以是 高频卡片身份标示号码ID和高频卡片生产厂商信息的组合,如高频卡片身份 标示号码ID和生产厂商代码的组合;也可以是高频卡片身份标示号码ID、生产厂商信息和卡片信息的组合,如高频卡片身份标示号码ID、生产厂商代 码和高频卡片批号的组合。
步骤1. 2. 1和步骤1. 2. 4中,产生高频卡片密码区密码的明文还可以是 高频卡片内唯一的非可编程的部分数据。
步骤1. 2. 1和步骤1. 2. 4中,对明文的加密方法还可以是3DES加密算法。
步骤1. 6中,明文还可以是高频卡片身份标示号码ID和生产厂商代码的 组合,也可以是高频卡片内第一个扇区的所有或者部分数据。
所述数字签名加密和解密的方法也可以使用公钥加密,使用私钥进行验 证,另外,采用RSA非对称加密解密算法时,不限于1024位。
所述步骤2.5的打包格式为
名称TID TIDxorCIPHERTEXT VERSION CRC_16
长度4 18(步骤2.4产生) 1 2
其中,TIDxor是4字节超高频卡片身份标示号码ID进行异或校验结果,
VERSION密钥版本号,CRC—16为前面16个字节的CRC校验结果。
本发明制证系统中证件卡的加密和解密的方法利用卡片身份标示号码
ID的唯一性,使得非法人员复制卡片、破解卡片数据区、获取某些关键数据
的非法行为对系统安全造成的威胁降至最低。
本发明制制证系统中证件卡的加密和解密的方法可以根据卡片使用场合
的不同,验证卡片的不同密码,实现不同的安全等级。如在对安全等级要求
一般的情况,验证卡片的DES密文是否合法,而在要求最高安全等级的应用
时,验证卡片的数字签名。采用上述方法,实现了不同应用对安全等级不同
的要求。
本发明制证系统中证件卡的加密和解密的方法可广泛应用于门禁、金融、 物流、交流等多种领域。
权利要求
1、一种制证系统中证件卡的加密和解密的方法,其特征在于,包括以下步骤步骤1,发卡机对高频卡片进行加密;步骤2,发卡机对超高频卡片进行加密;步骤3,读取高频卡片数据;步骤4,读取超高频卡片进行加密。
2、 如权利要求1所述的制证系统中证件卡的加密和解密的方法,其特征在于, 所述步骤l包含以下步骤步骤l. l设置i=0,其中i用于标识扇区编号,0《i<N, N为总扇区数, 步骤1.2,生成高频卡片第i个扇区的密码A和密码B, 步骤1.3, i=i+l,步骤1.4,判断i是否小于N,如果为是,回到步骤1.2,如果为否,则 执行步骤1.5,步骤1.5,判断使用证件卡的安全等级,如果使用证件卡的安全等级级 别高,执行步骤1.6,如果使用证件卡的安全等级级别一般,则结束加密, 步骤1.6,采用RSA算法,对明文进行数字签名加密。
3、 如权利要求2所述的制证系统中证件卡的加密和解密的方法,其特征在于, 所述步骤1.2包含以下步骤步骤1. 2. 1,以扇区密码块块号和高频卡片身份标示号码ID为待加密数 据,即明文,步骤1.2.2,调用安全存取模块SAM(security access module)的0X11 的DES密码模块加密步骤1. 2. 1生成的待加密数据,得到密文,步骤1. 2. 3,取步骤1. 2. 2得到的密文的前面6个字节的数据作为该扇 区密码A,步骤1. 2. 4,以扇区密码块块号和高频卡片身份标示号码ID为待加密数 据,即明文,步骤1. 2. 5,调用SAM的0X12的数据加密标准DES加密模块加密步骤 1.2.4生成的待加密数据,得到密文,步骤1. 2. 6,取步骤1. 2. 5得到的密文的前面6个字节的数据作为该扇区密码B。
4、 如权利要求1所述的制证系统中证件卡的加密和解密的方法,其特征在于,所述步骤2包含以下步骤步骤2. 1,发卡机通过SAM卡进行授权,SM1卡己经装载密钥二套,称为 密钥X和Y,密钥X和Y均为8字节,步骤2.2,发卡机读取超高频卡片身份标示号码ID (4个字节),并补 充0X80, 0X00, 0X00, 0X00至8个字节,生成明文,步骤2. 3,发卡机使用密钥X对步骤2. 2生成的明文进行数据加密标准 DES加密,取密文前4字节为超高频卡片密码区密码,步骤2.4,发卡机使用密钥X对步骤2.2生成的明文进行DES加密,产 生8字节密文,步骤2. 5,将超高频卡片身份标示号码ID和步骤2. 4的加密结果进行打 包,并将打包后的结果写入电子产品编码EPC区,进行锁定,步骤2.6,将步骤2.3产生的密码写入超高频卡片密码区,并进行锁定。
5、 如权利要求1所述的制证系统中证件卡的加密和解密的方法,其特征在于, 所述步骤3包含以下步骤步骤3. 1,重新设置1=0,步骤3.2,重新生成证件卡第i个扇区的密码A和密码B,作为读卡密码 用来读取高频S70卡片数据, 步骤3. 3, i=i+l,步骤3.4,判断i是否小于N,如果为是,回到步骤3.2,如果为否,则 执行步骤3.5;步骤3.5,判断使用证件卡的安全等级,如果使用证件卡的安全等级级 别高,执行步骤3.6,如果使用证件卡的安全等级级别一般,则结束操作; 步骤3.6,采用RSA算法,进行数字签名进行解密。
6、 如权利要求2所述的制证系统中证件卡的加密和解密的方法,其特征在于, 步骤1. 2. 1和步骤1. 2. 4中,产生高频卡片密码区密码的明文是高频卡片身 份标示号码ID和高频卡片生产厂商信息的组合。
7、 如权利要求2所述的制证系统中证件卡的加密和解密的方法,其特征在于, 步骤1. 2. 1和步骤1. 2. 4中的明文为高频卡片身份标示号码ID、生产厂商信息和高频卡片信息的组合,或者为高频卡片内唯一的非可编程的部分数据。
8、 如权利要求2所述的制证系统中证件卡的加密和解密的方法,其特征在于,所述步骤1.6包括以下步骤步骤1.6a,对明文进行RSA1024私钥加密,产生1024Bit签名数据。
9、 如权利要求5所述的制证系统中证件卡的加密和解密的方法,其特征在于, 所述步骤3.6包括以下步骤步骤3. 6a, 对高频卡片1024Bit签名数据进行RSA1024公钥解密,产 生1024Bit明文数据,取前面一定长度数据与高频卡片身份标示号码ID进行 匹配,验证签名合法性。
10、 如权利要求2所述的制证系统中证件卡的加密和解密的方法,其特征在 于,所述步骤1.6包括以下步骤步骤1.6b,对明文进行RSA1024公钥加密,产生1024Bit签名数据。
11、 如权利要求5所述的制证系统中证件卡的加密和解密的方法,其特征在 于,所述步骤3.6包括以下步骤步骤3. 6b, 对高频卡片1024Bit签名数据进行RSA1024私钥解密,产 生1024Bit明文数据,取前面一定长度数据与高频卡片身份标示号码ID进行 匹配,验证签名合法性。
12、 如权利要求8或10所述的制证系统中证件卡的加密和解密的方法,其特 征在于,所述步骤1.6中,明文为高频卡片身份标示号码ID,或者高频卡片 身份标示号码ID和生产厂商代码的组合,或者为高频卡片内第一个扇区的所 有或者部分数据。
13、 如权利要求8、 9、 10、 11中之一所述的制证系统中证件卡的加密和解密 的方法,其特征在于,所述步骤1.6和步骤3.6中,采用RSA非对称加密解 密算法时,不限于1024位。
全文摘要
本发明涉及一种制证系统中证件卡的加密和解密的方法,包括以下步骤步骤1,发卡机对高频卡片进行加密;步骤2,发卡机对超高频卡片进行加密;步骤3,读取高频卡片数据;步骤4,读取超高频卡片进行加密。该方法利用证件卡身份标示号码ID的唯一性以及证件卡扇区密码块块号生成证件卡每一扇区的密码,能有效保护证件卡中数据的安全,防止证件卡伪造;该方法可结合采用DES加密方法和数字签名加密、解密方法,能实现不同应用场合对安全等级不同的要求。本发明制证系统中证件卡的加密和解密的方法可广泛应用于门禁、金融、物流、交流等多种领域。
文档编号H04L9/32GK101588238SQ200810038000
公开日2009年11月25日 申请日期2008年5月23日 优先权日2008年5月23日
发明者朱继平 申请人:上海科识通信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1