欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年金融行业密钥基础知识 .pdf

    • 资源ID:32531604       资源大小:227.14KB        全文页数:17页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年金融行业密钥基础知识 .pdf

    金融行业密钥基础知识名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 1密钥管理SJL05 金 融 数 据 加 密 机采 用 三 级 密 钥 管 理 方 法 ( 遵 循 ANSI X9.17标 准 ) , 其 密 钥 层 次 如 下 图 :图 1.1 密 钥 层 次1.1 各种密钥在密钥层次中的作用1.1.1 本地主密钥( Local Master Key)又 称 主 机 主 密 钥 ( Master Key) , 主 要 用 来 保 护 它 下 一 级 的 区 域主 密 钥 ( Zone Master Key)( 银 行 主 密 钥 ( Bank Master Key) 、 终 端主 密 钥 ( Terminal Master Key) ) 。 当 区 域 主 密 钥 需 要 导 出 或 保 存 到加 密 机 以 外 时 ,通 常 需 要 用 本 地 主 密 钥( 或 衍 生 的 密 钥 对 )加 密 区 域主 密 钥 。这 一 点 在 RACAL系 列 的 加 密 机 中 有 最 好 的 体 现 ,在 RACAL加密 机 中 ,区 域 主 密 钥 都 由 主 机 主 密 钥 加 密 存 放 于 主 机数 据库 中 ,加 密机 不 保 存 区 域 主 密 钥 。1.1.2 区域主密钥主 要 有 两 种 , 一 种 是 金 卡 中 心 与 成 员 行 之 间 的 传 输 密 钥 ( 通 常 称 ? ? ? ? ? ? ? ? ? ? ? y ? Y ? ? ?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 为 银 行 主 密 钥 ) , 另 一 种 是 成 员 行 主 机 与 ATM或 POS之 间 的传 输 密钥( 通 常 称 为 终 端 主 密 钥 ) 。 它 主 要 用 来 加 密 下 一 层 次 的 数 据 密 钥 ( 如 :PIK 、 MAK)。1.1.3 数据加密密钥( Date Encrypt Key)又 称 工 作 密 钥( Working Key ) ,是 最 终 用 于 加 密 传 输 数 据 的 密 钥 ,其 上 层 两 种 密 钥 可 以 称 为 密 钥 加 密 / 交 换 密 钥 ( Key Encrypt/Exchange Key, 简 称KEK) 。 数 据 密 钥 一 般 分 为 两 种 , 一 种是 用 来 加 密 PIN 的 密 钥 称 为 PIK ( Pin Key) , 另 一 种 是 用 来 计 算 MAC的 密 钥 称 为 MAK ( Mac Key ) 。1.2 各种密钥的注入与分发1.2.1 本地主密钥通 常 由 各 成 员 行( 或 下 属 机 构 )采 用 加 密 机 前 面 板 上 的 键 盘 或 直接 通 过 IC 卡 注 入 到 加 密 机 中 , 各 成 员 行 的 本 地 主 密 钥 各 不 相 同 。 一般 本 地 主 密 钥 的 注 入 都 由 成 员 行 的 三 位 高 层 领 导 注 入 ,三 人 分 别 保 存一 部 分 密 钥 ( 密 钥 分 量Component ) , 三 部 分 密 钥 可 以 在 加 密 机 中 以一 定 的 算 法( 异 或 )合 成 为 最终 的 本 地 主 密 钥( 或 通 过 衍 生( Derive)生 成 密 钥 对 ) 。本 地 主 密 钥 在 注 入 加 密 机 时 通 过 IC 卡 进 行 备 份 ,当 加密 机 密 钥 丢 失 时 可 用 IC 卡 来 恢 复 。1.2.2 区域主密钥(银行主密钥)一 般 由 上 级 机 构( 金 卡 中 心 )产 生 并 分 发 。上 级 机 构( 金 卡 中 心 )产 生 并 保 存 下 属 机 构 ( 各 成 员 行 ) 的 区 域 主 密 钥 ( 银 行 主 密 钥 ) , 同时 将 密 码 分 量 的 明 文 或 IC 卡 的 形 式 将 区 域 主 密 钥 ( 银 行 主 密 钥 ) 下发 给 下 属 机 构 ( 各 成 员 行 ) 。 下 属 机 构 ( 成 员 行 ) 将 密 钥 分 量 注 入 到加 密 机 内 ,如 果 区 域 主 密 钥( 银 行 主 密 钥 )是 保 存 到 本 机 构 的 主 机 数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 据 库 中 ,则 将 区 域 主 密 钥( 银 行 主 密 钥 )注 入 到 加 密 机 后 ,加 密 机 显示 本 地 主 密 钥 加 密 的 区 域 主 密 钥( 银 行 主 密 钥 )密 文 ,由 银 行 工 作 人员 将 其 录 入 主 机 数 据 库 。银 行 主 密 钥 通 常 由 两 人 注 入 ,各 自 保 存 一 部分 。区 域 主 密 钥 中 的 终 端 主 密 钥 由 各 成 员 行 自 己 注 入 到 加 密 机 中 ,同时 下 装 到 ATM和 POS中,由于各成员行的ATM 和 POS 数量都较大,一般是所有 ATM 和 POS共用一个终端主密钥或是一组ATM 和 POS共用一个终端主密钥。1.2.3 数据密钥分 为 两 种 , 一 般 不 在 加 密 机 中 保 存 。 一 种 是 金 卡 中 心 与 成 员 行 之间 的 数 据 密 钥 ,一 种 是 成 员 行 主 机 与 ATM或 POS之 间 的 数 据 密 钥 。前一 种 数 据 密 钥 可 以 由 金 卡 中 心 主 动 向 下 分 发 ,也 可 以 由 成 员 行 主 动 向上 申 请 。数 据 密 钥 在 传 输 过 程 中 由 金 卡 中 心 与 成 员 行 之 间 共 享 的 银 行主 密 钥 加 密 ,成 员 行 接 收 到 数 据 密 钥 后 都 需 要 验 证 其 正 确 性 后 才 会 启用 新 的 数 据 密 钥 。后 一 种 数 据 密 钥 每 天 由 ATM或 POS签 到 申 请 ,由 加密 机 随 机 产 生 , 并 由 终 端 主 密 钥 加 密 传 送 。金 卡 中 心 与 成 员 行 及 其 终 端 (ATM、 POS)之 间 的 密 钥 关 系 如 下 图 :金卡中心 HSM 成员行 HSM 终端BMK TMK TMK BMK (PIK1)BMK (MAK1)BMK (PIK2)TMK (MAK2)TMK (DATA)PIK1、MAK1 (DATA)PIK2、MAK2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 图 6.2 金 卡中 心 、 成 员 行、 终 端 之 间 密 钥 关 系 示 意图 6.2中 各 符 号 的 含 义 如 下 :BMK:银 行 主 密 钥TMK:终 端 主 密 钥PIK1: 金 卡 中 心 与 成 员 行 之 间 的 PIK MAK1:金 卡 中 心 与 成 员 行 之 间 的 MAK PIK2: 成 员 行 与 终 端 (ATM、 POS)之 间 的 PIK MAK2:成 员 行 与 终 端 (ATM、 POS)之 间 的 MAK DATA:传 输 的 数 据(PIK1)BMK:被 BMK 加密的 PIK1 2术语解释2.1 本地主密钥LMK :Local Master Key,本地主密钥,又称为文件主密钥(MDS)、加密机主密钥、主机主密钥,在密钥体系中处于最上层,以明文存储在加密机中,加密保护存储在加密机外的其它密钥。LMK 一般为双长度密钥,也有三倍长度密钥。2.2 区域主密钥ZMK :Zone Master Key,区域主密钥,在RACAL 加密机中,指主机与主机间的传输主密钥。 在密钥体系中处于中间层, 可以通过 LMK 加密后存储在主机数据库中,也可直接存储在加密机中,一般为双长度,也有单长度和三倍长度密钥。用于主机间动态分发工作密钥时对其进行加密保护BMK :Bank Master Key,银行主密钥,同ZMK ,多用于金卡联网,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 在金卡联网中,有时POS和银行主机之间也使用BMK 。MMK :Member Master Key,成员行主密钥,同ZMK 。多用于金卡联网SMK :Shared Master Key ,共享主密钥,同ZMK. 2.3 数据加密密钥TMK :Terminal Master Key,终端主密钥,在 RACAL 加密机中,指主机与终端 ATM/POS 间的传输主密钥, 在密钥体系中处于中间层, 可以通过LMK 加密后存储在主机数据库中,也可直接存储在加密机中,现在一般为单长度,也有双长度和三倍长度。PIK :PIn Key,PIN 密钥,专用于加密保护PIN 的工作密钥,在密钥体系中处于最下层,一般通过LMK 和 ZMK/TMK加密后存储在数据库中,也有直接存储在加密机中的,密钥长度有单长度、双倍长度和三倍长度。在 MDS 中,当采用动态密钥时, PIK 每 12 小时或每 2500 笔交易就必须更换一次(两个条件满足任何一个时更换)PEK:Pin Encrypt Key,PIN 加密密钥,同 PIK。ZPK :Zone Pin Key,区域 PIN 密钥,PIK 的一种,专指主机与主机间的 PIK。TPK :Terminal Pin Key ,终端 PIN 密钥, PIK 的一种,专指主机与终端间的 PIK。MAK :Mac Key,Mac 密钥,专用于计算MAC 的工作密钥,在密钥体系中处于最下层,一般通过LMK 和 ZMK/TMK加密后存储在数据库中,也有直接存储在加密机中的,密钥长度有单长度、双倍长度和三倍长度。在 MDS 中,当采用动态密钥时, PIK 每 12 小时或每 2500 笔交易就必须更换一次(两个条件满足任何一个时更换)ZAK :Zone Authenticate Key,区域认证密钥, MAK 的一种,专指主机与主机间的 MAK 。TAK :Terminal Authenticate Key,终端认证密钥, MAK 的一种,专指主机与终端间的MAK 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - DEK :Data Encrypt Key,数据加密密钥,专用于加密数据的密钥,在密钥体系中处于最下层,一般通过LMK 和 ZMK/TMK加密后存储在数据库中,也有直接存储在加密机中的,密钥长度有单长度、双倍长度和三倍长度。在 MDS 中,当采用动态密钥时, PIK 每 12 小时或每 2500 笔交易就必须更换一次(两个条件满足任何一个时更换)ZEK :Zone Encrypt Key,区域加密密钥,见 DEK,专指主机与主机间的数据加密密钥。TEK :Terminal Encrypt Key,终端加密密钥,见DEK,专指主机与终端间的数据加密密钥。CVK :Card Verification Key,卡校验密钥,专用于校验卡真伪的工作密钥,在密钥体系中处于最下层,一般通过LMK 加密后存储在数据库中,也有直接存储在加密机中,密钥由两个单长度密钥组成,分别称为CVKA和 CVKB,合起来叫 CVK pairs,CVK 一般数据年更新一次。PVK :Pin Verification Key,PIN 校验密钥,专指用于计算PVV 的工作密钥,在密钥体系中处于最下层,一般通过LMK 加密后存储在数据库中,也有直接存储在加密机中,密钥由两个单长度密钥组成,分别称为PVKA和 PVKB,合起来叫 PVK pairs,CVK 一般数据年更新一次。PIN:Personal Identify Number,个人识别码,即卡密码,在ANSI9.8标准中, 规定为同 4-12 位 0-9 的数字组成,在中国一般采用 4 位或 6 位 PIN。PINBlock:PIN 块,指将 PIN 按指定格式生成的64 位数据。PVV :Pin Verification Value,PIN 校验值,是指当采用ABA 算法校验PIN 时,用 PVK 对 PIN、主帐号等信息加密生成的4 位数字的校验值。PAN:Private Account Number,主帐号,即卡号或帐号。CVV :Card Verification Value,卡校验值,是指用CVK 对卡号、服务码、卡有效期进行加密生成的用来校验卡的合法性的3 位数字的校验值。CVC :Card Verification Code,卡校验码,同CVV,用于 VISA 。CVV1 :Card Verifycation Value 1,CVV的一种, 与 CVV2 相比,计算参数中服务码不同。CVV2 :Card Verifycation Value 2, CVV 的一种,与 CVV1 相比,计算名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 参数中服务码不同。ICVV :ICard Verification Value,VISA 中用于 IC 卡的仿磁卡业务中,与 CVV 计算方法同,其服务代码为999 。MAC :Message Authentication Code ,消息认证码,用于鉴别数据真实性的加密结果,按要求MAC 由 32-64位数据 (8-16 个 16 进制字符 )组成。TAC:Transaction Authentication Code ,交易认证码,在 IC 卡中用于验证交易正确性。MK :Master Key,主密钥, IC 卡业务中的各级应用主密钥。2.4 IC 卡业务密钥SK:Session Key ,过程密钥 /会话密钥,IC 卡业务中用主密钥对过程数据(Session Data)进行 3DES 加密或其它方式处理得到的单长度或双长度密钥,用于计算 MAC 或加密数据。HSMK1 :主密钥一, SJL05 金卡版本的 IC 卡密钥区中,保留的加密机主密钥。HSMK2 :主密钥二, SJL05 金卡版本的 IC 卡密钥区中,用于存储或读取次主密钥时对其进行加密保护。SHSMK :次主密钥, SJL05 金卡版本的 IC 卡密钥区中,对应存储IC卡业务的各级应用主密钥,也可用于存储IC 卡传输主密钥。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 2.5 密钥管理体系2.6 涉及的国家(际)标准ANSI X3.92 数据加密算法;ANSI X9.9 信息鉴别;ANSI X9.8 PIN 的管理与安全;ANSI X9.17 密钥管理;ANSI X9.19 零售金融信息的鉴别;中国人民银行金融IC 卡规范 PBOC;VISA 及 MASTER 对硬件加密机的相关需求。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 3算法介绍3.1 简述金融数据加密机中主要用到的算法为对称算法,具体如下:1) DES算法2) 3DES算法3) 金融专用算法4) Double-one-way 5) Secure Calculation (安全计算)6) 密钥分散算法7) MAC 算法8) TAC 算法9) 密钥校验值( CheckValue)在以下说明中,有如下简称:u8 unsigned char 3.2 算法描述DES 算法函数原型:void des_64by64(u8 in8, u8 out8, u8 k8, int op) 3DES 算法函数原型:void des_64by128(u8 in8, u8 out8, u8 k16, int op) void des_64by192(u8 in8, u8 out8, u8 k24, int op) void des_128by128(u8 in16, u8 out16, u8 k16, int op) void des_128by192(u8 in16, u8 out16, u8 k24, int op) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - void des_192by128(u8 in24, u8 out24, u8 k16, int op) void des_192by192(u8 in24, u8 out24, u8 k24, int op) 计算过程:3DES算法中,如果使用双长度(16 字节)密钥 K(KL|KR) ,将 8 字节明文数据块加密成密文数据块,如下所示:Y DES(KL)DES-1(KR)DES(KLX) 解密的方式如下:X DES-1 (KL)DES(KR) DES-1 (KLY) 注意:DES为加密 , DES-1为解密金融专用算法函数原型:void sms_64by64(u8 in8, u8 out8, u8 k8, int op) void sms_128by128(u8 in16, u8 out16, u8 k16, int op) void sms_64by128(u8 in8, u8 out8, u8 k16, int op) Double-one-way 函数原型:void double_one_way(u8 in8, u8 out8, u8 key16) Double-one-way 是计算临时密钥算法的一种,用于双字节的密钥分散单字节的临时密钥,过程如下: (设 MK的左半部份为 LK,右半部分为 RK )1)用 LK 对输入数据解密2)用 RK 对第 1 步结果加密3)用 LK 对第 2 步结果解密4)第 3 步结果与输入数据异或名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 密钥分散算法函数原型:void deduce_session_key(u8 in8, u8 out8, u8 k16) void deduce_sub_key(u8 *data, u8 dpk16, u8 mpk16, int times) void deduce_sub_key_single(u8 *data, u8 dpk8, u8 mpk8, int times) 简称 Diversify,是指将一个双长度的密钥MK ,对分散数据进行处理, 推导出一个双长度的密钥DK 。推导 DK左半部分的方法是:1) 将分散数据的最右16个数字作为输入数据;2) 将 MK作为加密密钥;3) 用 MK对输入数据进行3DES 运算;推导 DK右半部分的方法是:1) 将分散数据的最右16个数字求反,作为输入数据;2) 将 MK作为加密密钥;3) 用 MK 对输入数据进行 3DES 运算。Secure Calculation(安全计算)函数原型:void secure_calculate(u8 in24, u8 out8, u8 k8) Secure Calculation是对数据运算的一种方法,当主密钥分散出子密钥,子密钥导出临时密钥后对输入的24 字节数据运算的方法。过程如下:(设输入的 24 字节数据从左到右分为Data1,Data2,Data3)1) 用 KEY 对 Data3 进行 DES 加密;2) 用第 1 步的运算结果做为KEY 对 Data1解密;3) 用第 2 步运算结果与 Data2异或;4) 用第 3 步运算结果作为 KEY 对第 1 步的运算结果解密。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 数据加密计算函数原型:int do_icard_des(u8 *in, u8 *out, int *iolen, u8 key8, int op) 当明文数据需要加密时,它首先要被格式化为以下形式的数据块:明文数据的长度,不包括填充字符(LD)明文数据填充字符数据加密技术如下所述:1. 用 LD表示明文数据的长度,在明文数据前加上LD产生新的数据块。2. 将第一步中生成的数据块分解成8 字节数据块,标号为D1 ,D2 ,等等。最后一个数据块长度有可能不足8。3. 如果最后(或唯一)的数据块长度等于8 字节,转入第四步;如果不足 8 字节,在右边添十六进制数字80 。如果长度已达 8 字节,转入第四步;否则,在其右边添加 1 字节 16 进制0 直到长度达到 8 字节。4. 采用标准方法加密。5. 计算结束后,所有加密后的数据块按原顺序连接在一起。MAC 算法由于不同业务的需求,根据相应的规范,对于计算MAC 的方式也有不同。1.计算磁条卡业务中MAC 的方式。函数原型:int gen_mcard_mac(u8 *in, u8 out8, u8 ivec8, u8 k8, int len) int gen_mcard_mac_919(u8 *in, u8 out8, u8 ivec8, u8 k24, int len) int gen_mcard_mac_xor(u8 *in, u8 out8, u8 k8, int len) int gen_mac_ext(u8 *in, u8 *out, u8 *key, int len) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - gen_mcard_mac算法过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,则添加0 x00,直到8 的倍数;2)用密钥对第一步的数据进行Cbc 加密;3)取第二步运算结果的最后8 字节作为 MAC 。gen_mcard_mac_919 算法过程如下:(密钥必须为 192 位)1)检查 MAC 数据是否为 8 的整数倍。如果不是,则添加0 x00,直到8 的倍数;2)用密钥的前 8 字节对第一步的数据进行Cbc 加密;3)用密钥的中间 8 字节对第二步的运算结果的最后8 字节进行 ecb解密;4)用密钥的后 8 字节对第三步的运算结果进行ecb加密,运算的结果作为 MAC 。gen_mcard_mac_xor算法过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,则添加0 x00,直到8 的倍数;2)将第一步计算的数据按8 字节分成若干段,每段依次异或,最终得到 8 字节的数据;3)用密钥对第二步的结果进行ecb加密,将结果作为MAC 。gen_mac_ext算法过程如下:与 gen_mcard_mac_xor算法过程一致。2.计算 IC 卡业务中 MAC 的方式单倍长密钥int gen_icard_mac(u8 *in, u8 out8, u8 ivec8, u8 k8, int len) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - int gen_icard_mac_8(u8 *in, u8 out8, u8 ivec8, u8 k8, int len) gen_icard_mac的计算过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,返回错误;2)用密钥对 MAC 数据采用 CBC 的方式加密;3)将运算结果的后 8 字节作为 MAC 。gen_icard_mac_8的计算过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,则添加0 x80,如果还不够 8 的倍数,则添加0 x00,并直到 8 的倍数为止;如果是8的倍数,则添加一个0 x80,七个 0 x00;2)用密钥对第一步的数据进行Cbc 加密;3)取第二步运算结果的最后8 字节作为 MAC 。双倍长计算 MAC int gen_icard_mac_16(u8 *in, u8 out8, u8 ivec8, u8 k16, int len) gen_icard_mac_16的计算过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,则添加0 x80,如果还不够 8 的倍数,则添加0 x00,并直到 8 的倍数为止;如果是8的倍数,则添加一个0 x80,七个 0 x00;2)用密钥前 8 字节对第一步的数据进行Cbc 加密;3)用密钥的后 8 字节对第二步的结果的后8 字节进行 ecb解密;4)用密钥的前8 字节对第三步的结果进行ecb 加密,并将结果作为MAC 。TAC 算法函数原型:int gen_icard_tac(u8 *in, u8 out8, u8 ivec8, u8 k16, int len) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - int gen_icard_tac_NP(u8 *in, u8 out8, u8 ivec8, u8 k16, int len) gen_icard_tac的计算过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,则添加0 x80,如果还不够 8 的倍数,则添加0 x00,并直到 8 的倍数为止;如果是8的倍数,则添加一个0 x80,七个 0 x00;2)将密钥的前 8 字节与后 8 字节相互异或;3)用第二步的结果作为密钥对第一步的结果进行cbc 加密;4)将第三步结果的后8 字节作为 MAC 。gen_icard_tac_NP的计算过程如下:1)检查 MAC 数据是否为 8 的整数倍。如果不是,返回错误;2)将密钥的前 8 字节与后 8 字节相互异或;3)用第二步的结果作为密钥对第一步的结果进行cbc 加密;4)将第三步结果的后8 字节作为 MAC 。密钥校验值( CheckValue )void gen_check_value(u8 *in, u8 *out, u16 keylen) 密钥的 CheckValue 指密钥对 8Byte 的” 00” 加密结果 ( 可能只取几个字节 ) 计算过程:1.用密钥( *in )对 8 字节的全 0 加密;2.将加密机的结果作为校验值(CheckValue) 。CVV CVN2 计算数据源计算CVN2 的数据源包括:主账号( PAN )卡失效期(格式为 YYMM,无卡失效期的借记卡可采用0000)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 常数 000(等同于计算 CVN 时的数据元素 - 服务代码)示例 : 19 位PAN 、4 位卡失效期和 3 位长常数“ 000”组成26 个字符 CVN2 数据源。双倍长计算 MAC 计算CVN2 时使用二个 64位的验证密钥, KeyA 和KeyB 。计算步骤如下:(1)将数据源扩展成 128位二进制数据 (不足128位右补二进制 0);(2) 将128位二进制数据分成两个 64位的数据块。最左边的 64位为Block1 ,最右边的 64位为Block2 ;(3)使用 KeyA 对Block1 进行加密;(4)将Block1 的加密结果与 Block2 进行异或。使用 KeyA 对异或结果进行加密;(5)使用 KeyB 对加密结果进行解密;(6)使用 KeyA 对解密结果进行加密;(7)从左至右将加密结果中的数字(09)抽出,组成一组数字;(8)从左至右将加密结果中的字符(AF)抽出,减10后将余数组成一组数字,排列在步骤( 7)的数字之后;(9)步骤( 8)的左边第一组三位数即为CVN2 值。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -

    注意事项

    本文(2022年2022年金融行业密钥基础知识 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开