当前位置: 首页 > news >正文

wordpress获取当前分类id南通网站推广优化公司

wordpress获取当前分类id,南通网站推广优化公司,营业执照网上年检入口,黄山旅游攻略自由行攻略目录 1 DUKPT简介 2 基本概念 2.1 BDK 2.2 KSN 2.3 IPEK 2.4 FK 2.5 TK 3 工作流程 3.1 密钥注入过程 3.2 交易过程 3.3 BDK派生IPEK过程 3.4 IPEK计算FK过程 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 5 在线工具 6 标准下载 1 DUKPT简介 DUKPTDerived Unique Key Per Transaction是被ANSI定义的一套密钥管理体系和算法用于解决金融支付领域的信息安全传输中的密钥管理问题应用于对称密钥加密MAC、PIN等数据安全方面。保证每一次交易流程使用唯一的密钥采用一种不可逆的密钥转换算法使得无法从当前交易数据信息破解上一次交易密钥。要求收单行与终端必须同步支持该项密钥管理技术。由交易发起端点S-TRSM如POS、ATM与交易接收端点R-TRSM如收单行两部分组成。 注TRSMTamper-Resistant Security Module是一个具备阻止攻击能力的安全模块。 以下是 DUKPT的一些关键特点 唯一性DUKPT为每个交易生成一个唯一的加密密钥确保即使相同的主密钥在不同交易中使用也能产生不同的派生密钥。 分散DUKPT使用一种称为分散的技术通过将密钥按照一定规则扩展为不同的密钥以增加密钥的安全性。 保密性DUKPT通过不存储或传输主密钥的完整值而是使用一个初始的主密钥派生出每个交易的密钥从而增加了密钥的保密性。 动态变化DUKPT可以动态地变化以适应不同的交易条件。这使得攻击者更难预测下一个派生密钥。 逆推困难性由于DUKPT的分散和动态性逆推派生密钥以获取原始主密钥是非常困难的。 用途DUKPT主要用于保护磁条卡数据、PIN个人身份号码加密和其他金融交易中的密钥管理。 2 基本概念 2.1 BDK BDKBase Derived Key是用于派生其他密钥的基础密钥。在金融行业和加密领域中BDK通常是一个16字节128位的密钥用于生成其他密钥如PIN加密密钥、MAC密钥等。BDK的安全性对整个加密系统至关重要因为它作为生成其他关键的基础。通常BDK是在加密设备的安全环境中生成和存储的以确保其机密性。密钥派生函数将BDK与其他参数结合使用生成用于特定加密目的的派生密钥。这有助于提高密钥的安全性因为实际用于加密的密钥是通过派生而来的而不是直接使用BDK。BDK在加密系统中扮演着关键的角色它的安全性直接影响整个加密系统的强度。因此保护和管理BDK是确保整个加密体系安全的一个重要方面。 2.2 KSN KSNKey Serial Number是用于标识加密设备和交易的一种格式化序列号由“密钥标识40bit设备标识19bit密钥计数器21bit”组成。KSN通常与加密操作一起使用特别是在金融交易领域用于生成派生密钥和跟踪加密设备的使用情况。KSN 的生成和使用是为了追踪和管理加密设备确保其唯一性和完整性。在金融交易中KSN 通常用于生成派生密钥以确保每个交易都使用一个唯一的密钥提高加密的安全性。 2.3 IPEK IPEKInitial Pin Encrypt Key是金融领域中用于加密和解密用户个人身份号码PIN的密钥。IPEK通常是从BDKBase Derivation Key派生而来通过一个特定的密钥派生函数生成。在金融交易中IPEK用于保护用户的PIN确保其传输和存储的安全性。 2.4 FK FK 通常指 “Future Key”。在密码学和安全领域中“Future Key” 指代在将来某个时刻用于加密或其他安全目的的密钥。在金融领域或其他需要密钥管理的地方“Future Key” 是一个临时的术语用于表示将来用于某些目的的密钥。这可能包括 PIN 密钥、MAC 密钥或其他加密密钥。FK 可能是从某个初始密钥派生出来以确保密钥的定期轮换或更新。 2.5 TK “TK” 通常指 “Transaction Key”在金融领域中这是一个用于保护特定交易的密钥是 “Future Key” xor 分散向量得到的工作密钥TK例如 PIN 密钥的分散向量00000000000000FF00000000000000FF MAC 密钥的分散向量000000000000FF00000000000000FF00 3 工作流程 3.1 密钥注入过程 Acquirer 给 POS 灌输 BDK BDK KSN(EC0) 派生出 IPEK IPEK KSN 派生出 21 个 Future Key分别存在 POS 的 21 个寄存器中: IPEK KSN(EC1) - FK1存在寄存器 1 IPEK KSN(EC2) - FK2存在寄存器 2 … IPEK KSN(EC21) - FK21存在寄存器 21 销毁 BDK 和 IPEK 3.2 交易过程 一笔交易从一个寄存器中取出一个 FK根据应用 xor 分散向量得到的工作密钥TK进行使用。 假设取出寄存器1中的 FK1根据应用 xor 分散向量得到的工作密钥TK使用交易处理完成后 KSN 加 1 后变成 KSN(EC22) FK1 KSN(EC22) - FK22替换掉 FK1 存在寄存器 1 中 以此类推依次重复使用这 21 个寄存器中的 FK。 3.3 BDK派生IPEK过程 1将KSN右对齐复制到一个10字节的寄存器中 2将此10字节寄存器的21个最低有效位设置为零 3取这个10字节寄存器的8个最高有效字节作为输入数据使用BDK作为加密密钥调用3DES的CBC模式算法(其中iv向量设置为全0)进行加密 4使用步骤3生成的密文作为初始密钥IPEK的左半部分 5从步骤2的10字节寄存器中取出8个最高有效字节并使用BDK与BDK掩码向量0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00的异或结果作为加密密钥调用3DES的CBC模式算法(其中iv向量设置为全0)进行加密 6使用步骤5生成的密文作为初始密钥IPEK的右半部分 /***********************************************************功 能BDK派生IPEK参 数ipek16 - 输出IPEK16字节bdk16 - 输入BDK16字节ksn10 - 输入KSN10字节返 回 ***********************************************************/ static const u8 BDK_MASK[16] {0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00};void DukptGenerateIpek( _OUT u8 * const ipek16, _IN u8 * const bdk16, _IN u8 * const ksn10 ) {u8 partKsn[8];memcpy( partKsn, ksn10, 8);partKsn[7] 0xE0;{u8 leftIpek[24];DES_key_schedule SchKey[2];DES_set_key_unchecked((const_DES_cblock *)bdk16[0], SchKey[0]);DES_set_key_unchecked((const_DES_cblock *)bdk16[8], SchKey[1]);DES_cblock iv { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };DES_ede3_cbc_encrypt( (unsigned char*)partKsn, (unsigned char*)leftIpek, 8,SchKey[0], SchKey[1], SchKey[0],iv, DES_ENCRYPT);memcpy( ipek16[0], leftIpek, 8 );}u8 derivedBdk[16];for (fu8 i 0; i 16; i) {derivedBdk[i] bdk16[i] ^ BDK_MASK[i];}{u8 rightIpek[24];DES_key_schedule SchKey[2];DES_set_key_unchecked((const_DES_cblock *)derivedBdk[0], SchKey[0]);DES_set_key_unchecked((const_DES_cblock *)derivedBdk[8], SchKey[1]);DES_cblock iv { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };DES_ede3_cbc_encrypt( (unsigned char*)partKsn, (unsigned char*)rightIpek, 8,SchKey[0], SchKey[1], SchKey[0],iv, DES_ENCRYPT);memcpy( ipek16[8], rightIpek, 8 );} } 3.4 IPEK计算FK过程 变量说明:         R8: 8字节寄存器         R8A: 8字节寄存器         R8B: 8字节寄存器         R3: 21位寄存器         SR: 21位移位寄存器         KSNR: 8字节寄存器从输入设备接收到的密钥序列号的最右8字节         IKEY: 16字节寄存器加密密钥初始加载到输入设备         CURKEY: 16字节寄存器在算法完成时它包含当前事务中用于加密的工作密钥FK 处理过程如下: 1将IKEY复制到CURKEY中 2将KSNR复制到R8 3清除R8的21个最右边的位 4将KSNR的21个最右边的位复制到R3中 5设置SR的最左位清除其他20位 TAG1 1SR 与运算 R3并判断结果是否包含1如果是请转到“TAG2” 2SR 或运算 R8并将结果存储在R8中 3R8 异或运算 CURKEY的右半8字节并将结果存储在R8A中 4使用CURKEY的左半8字节作为密钥对R8A进行DEA加密并将结果存储在R8A中 5R8A 异或运算 CURKEY的右半8字节并将结果存储在R8A中 6CURKEY 异或运算 掩码向量0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00并将结果存储到CURKEY 中 7R8 异或运算 CURKEY的右半8字节并将结果存储在R8B中 8使用CURKEY的左半8字节作为密钥对R8B进行DEA加密并将结果存储在R8B中 9R8B 异或运算 CURKEY的右半8字节并将结果存储在R8B中 10将R8A储存在CURKEY的右半部 11将R8B储存在CURKEY的左半部 TAG2” 1将SR向右移动一比特 2如果SR不等于零(如果“1”位没有被移除)请转到“TAG1”否则结束 /***********************************************************功 能IPEK计算FK参 数ipek_drvd16- 输出FK16字节ksn10 - 输入KSN10字节bdk16 - 输入BDK16字节返 回 ***********************************************************/ void FkFromIpek( _OUT u8 * const ipek_drvd16, _IN u8 * const ksn10,_IN u8 * const ipek16 ) {memcpy( ipek_drvd16, ipek16, 16 );u8 counter[8];memcpy( counter, ksn10[2], 8 ); counter[0] 0x00;counter[1] 0x00;counter[2] 0x00;counter[3] 0x00;counter[4] 0x00;counter[5] 0x1F;counter[6] 0xFF;counter[7] 0xFF;u8 serial[8];memcpy( serial, ksn10[2], 8 ); serial[5] 0xE0;serial[6] 0x00;serial[7] 0x00;u8 shiftr[8] {0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; u8 crypto_register_1[8];memcpy(crypto_register_1, serial, 8); u64 intShiftr 16*65536; while( intShiftr 0 ) {u8 temp[8]; And( temp, shiftr, counter, 8 ); if( HaveOnes(temp, 8) ) {Or(serial, serial, shiftr, 8); u8 crypto_register_2[8];Xor(crypto_register_2, serial, ipek_drvd16[8], 8 );{u8 crypto_register_2_temp[8];DES_key_schedule SchKey;DES_set_key_unchecked((const_DES_cblock *) ipek_drvd16[0], SchKey);DES_ecb_encrypt((const_DES_cblock *) crypto_register_2, (const_DES_cblock *) crypto_register_2_temp, SchKey, DES_ENCRYPT); memcpy(crypto_register_2, crypto_register_2_temp, 8);} Xor( crypto_register_2, crypto_register_2, ipek_drvd16[8], 8); Xor( ipek_drvd16, ipek_drvd16, BDK_MASK, 16 ); Xor( crypto_register_1, serial, ipek_drvd16[8], 8 ); {u8 crypto_register_1_temp[8];DES_key_schedule SchKey;DES_set_key_unchecked((const_DES_cblock *) ipek_drvd16[0], SchKey);DES_ecb_encrypt((const_DES_cblock *) crypto_register_1, (const_DES_cblock *) crypto_register_1_temp, SchKey, DES_ENCRYPT); memcpy(crypto_register_1, crypto_register_1_temp, 8);} Xor( crypto_register_1, crypto_register_1, ipek_drvd16[8], 8 ); memcpy( ipek_drvd16[0], crypto_register_1, 8 );memcpy( ipek_drvd16[8], crypto_register_2, 8 );} intShiftr 1; shiftr[7] (intShiftr 0) 0xFF;shiftr[6] (intShiftr 8) 0xFF;shiftr[5] (intShiftr 16) 0xFF;shiftr[4] (intShiftr 24) 0xFF;shiftr[3] (intShiftr 32) 0xFF;shiftr[2] (intShiftr 40) 0xFF;shiftr[1] (intShiftr 48) 0xFF;shiftr[0] (intShiftr 56) 0xFF;} } 4 演示Demo 4.1 开发环境 OpenSSL 1.0.2l Visual Studio 2015 Windows 10 Pro x64 4.2 功能介绍 演示程序主界面如下图所示包括BDK计算密钥、BDK派生IPEKIPEK计算密钥KSN自增等功能。 ​ 4.3 下载地址 密钥管理方法DUKPT的OpenSSL代码实现Demo 5 在线工具 MAC、PIN、DUKPT算法 6 标准下载 ANSI X9.24-1-2009
http://www.hkea.cn/news/14516788/

相关文章:

  • 网站建设p2p太原网站建设外包价格
  • 深圳广告网站设计制作河南华盛建设集团网站
  • 网页小游戏在线玩儿重庆seo推广外包
  • 南宁网站设计方法胶南网络推广
  • 1688精品货源网站入口wordpress 调用tag标签
  • 学做网站能赚多少钱实战直播
  • 耐克电子商务网站建设做平面设计的网站
  • 家教网站开发公司南通大型网站建设
  • 上海市网站制作济南腾飞网络网站建设
  • 做网站公司有什么出路it外包企业排名
  • 静态网站开发文章网站添加搜索
  • 网站开发站点的文件夹推广平台排行榜有哪些
  • 郑州营销网站公司地址制作企业网站的新闻显示
  • 制作网站商城网站后台修改不了
  • phpstudy做正式网站邢台网站制作公司
  • 建筑方案的网站南宁手机做网站公司
  • 建网站需要多少钱免费网址申请
  • 在线设计网名生成器seo优化前景
  • 电子商务网站建设可行性分析郑州企业排名
  • 温州专业做网站网站的推广方式有哪些
  • 六安高端网站建设公司响应式布局的优点是什么
  • 陕西省住房和城乡建设厅门户网站重庆建工
  • wordpress的网站好用吗北京建筑设计公司前十名
  • 文化事业建设费在哪个网站申报做北京电梯招标的网站
  • dw网站首页的导航怎么做室内设计装修风格大全
  • discuz做商城网站惠州seo关键字排名
  • 长沙市建设发展集团有限公司网站云盘搜索引擎入口
  • 网站安全设计网站制作的步骤
  • 深圳手机建站模板网站建设后运维合同
  • 抄袭别人网站的前端代码合法吗镇江唐唐网络科技有限公司