- 博客(24)
- 收藏
- 关注
原创 CCC 数字钥匙学习笔记 - 车主配对命令
整理了一下CCC组织的汽车数字钥匙Release 3中关于车主配对Owner Paring,过程的APDU指令和数据说明。基本可以算是在车端的角度进行车主配对操作。里面的章节表格编号,都按照CCC数字钥匙Release 3文档中的编号走,方便将来检索对照。
2023-04-12 11:40:26 2223
原创 盲签名算法的原理与C语言实现
盲签名(Blind Signature) 是由Chaum,David提出的一种数字签名方式,其中消息的内容在签名之前对签名者是不可见的(盲化)。经过盲签名得到的签名值可以使用原始的非盲消息使用常规数字签名验证的方式进行公开验证。盲签名可以有效的保护隐私,其中签名者和消息作者不同,在电子投票系统和数字现金系统中会被使用。......
2022-06-15 18:59:52 1647
原创 Node.js使用ffi-napi,ref-array-napi,ref-struct-napi调用动态库
0x01 概述使用electron开进行桌面程序的开发,似乎成了WEB前端开发人员转桌面程序开发的首选。近期有一些使用在electron中使用加密锁的需求,学习了一下在Node.js中通过ffi-napi模块调用动态链接库,把几款加密锁产品的动态库使用javascript封装了一下,实现了electron中使用加密锁功能。开发过程中遇到了一些问题,踩了一些坑,这里总结记录一下。这里使用接口函数参数类型比较复杂的ROCKEY-ARM的动态链接库来进行开发。NOTE: javascript封装的ROCK
2022-04-19 18:32:14 6748 4
原创 加密算法中的填充方法
在对数据进行加解密,签名,计算MAC的时候,有时需要对数据进行填充,填充的方法主要分为两大类,一种是比特填充(Bit Padding),填充时以比特为最小单位进行填充,另一种是字节填充(Byte Padding),填充时以字节为最小单位进行填充.当然有时候我们按字节处理数据时,一些比特填充和字节填充的效果是一样,比如ISO/IEC 9797-1 Padding Method 2和ISO/IEC 7816-4,数据如果最小处理单位都是字节的话,填充的效果其实是一样的.PKCS #1中定义的RSA算法用的P
2021-10-15 19:20:47 1744
原创 基于mbedTLS算法库实现国密SM2签名和验签算法
网上有大量的基于OpenSSL实现的国密算法库,比如著名的GmSSL,可以直接拿来用。我自己常用的是mbedTLS的算法库,比较小巧简单,在mbedTLS的大数算法的基础上实现了国密SM2的签名和验签算法。在基于mbedTLS实现SM2签名和验签算法的过程中走过一些弯路,现在把实现的过程记录下来备忘。国密SM2算法也是基于椭圆曲线公钥算法,椭圆曲线上的运算都是和国际算法一样的,国密SM2规范中给出...
2018-04-25 14:54:39 7050 8
原创 Diffie–Hellman key exchange DH密钥协商
DH算法是一个密钥的磋商算法,并不能交换一个密钥(安全的将密钥从一方发送到另一方),也不能进行数字签名和加密,只能让双方共同产生一个密钥。
2017-12-07 14:12:41 5370
原创 [FIDO]U2F Message协议介绍
1.U2F 消息封包U2F协议是基于请求-响应方案的,当请求者发送一个请求消息到U2F设备中时,U2F会返回一个响应消息给请求者。在现在这一版的U2F协议中,消息的封包是基于ISO7816-4:2005 扩展APDU格式。请求消息封包的格式如下:CLA INS P1 P2 LC1 LC2 LC3 响应消息的格式如下: SW1 SW22.注册消息2.1注册消息 U
2015-12-18 16:23:45 2683
原创 [FIDO]U2F NFC协议
本来计划写U2F Raw Message的内容的,但是发现FIDO联盟在2015年5月份发布的最新的U2F规范中,增加了NFC协议,所以先写下NFC的协议吧。FIDO U2F NFC的协议其实非常简单,就是定义了一下FIDO U2F的AID和APDU的规范。1.协议简介FIDO客户端和认证设备之间通过NFC进行通讯,过程如下:(1)客户端发送选择applet指令(2)认证设备返
2015-12-15 16:27:41 2188
原创 [FIDO]U2FHID协议
FIDO U2F认证,国内的文章一般翻译成FIDO两步认证。U2F是在现有的用户名+密码认证的基础之上,增加一个更安全的认证因子用于登录认证。用户可以像以前一样通过用户名和密码登录服务,服务会提示用户出示一个第二因子设备来进行认证。U2F可以使用简单的密码(比如4个数字的PIN)而不牺牲安全性。U2F出示第二因子的形式一般是按一下USB设备上的按键或者放入NFC。UAF先放一边,U2F的工作流程比较简单,具体的可以看FIDO联盟官网。下面主要说下U2F HID协议。首先要明确一下U2FHID协议不是
2015-12-14 17:05:33 2279
原创 VISA招商银行全币种国际芯片卡
招行银行的VISA芯片卡到手,虽说金融卡都差不多,但作为手里的第一张VISA智能借贷记卡片,还是简单测试了一下。拿到卡的时候手里只有一个接触卡读卡器,选择ADF后,卡片的相应中没有给出PDOL,没有PDOL的话,终端交易属性授权金额什么的就没法传进去了,没有PDOL的话就没有办法做电子现金交易了,按照VISA的规范,VISA的快速流程只能走非接触界面,接触界面不给PDOL是正常现象。找来一
2014-09-19 16:42:17 3562
原创 工商银行银联标准芯片卡
工行星级下降后,重新网申工行银行标准芯片卡,竟然获批。//reset00A404000E325041592E5359532E4444463031//Select File00A404000E 325041592E5359532E44444630316F2E840E325041592E5359532E4444463031A51CBF0C1961174F08A000000333010
2014-09-19 16:42:15 2936
原创 杭州通测试情况
6月份去杭州入手杭州通一张,跟@苗_条_肥_仔 学习一起测试杭州通。测试过程记录如下。1.SELECT 选择MFC-APDU:00A4000002 3F00R-APDU:6F15840E315055422E5359532E4444463031A503880101 9000不知道杭州通的入口名字,直接选择MF 3F00了。解析一下TLV结构,6F是FCI模板,84后面是DF的
2014-09-19 16:42:13 2619
原创 PBOC卡片应用分析(五)非接触式IC…
继续前一张工行闪酷卡,其实当初已经测试完成之时忙着国庆回家,没有及时出测试报告,现在把其他项目的测试情况整理一下。接着上一篇,终端在GPO时送入的终端交易属性是22000000,表示终端不支持非接触式借记/贷记应用, 支持qPBOC,不支持接触式借记/贷记应用,终端具有联机能力,不支持联机PIN,不支持签名。1.GPOCommand:80A800002383212200000000
2014-09-19 16:42:11 2403
原创 PBOC卡片应用分析(四)非接触式IC…
感谢@JulyClyde同学友情提供的工商银行闪酷钥匙扣,支持银联的闪付功能。卡片内的电子现金余额已经被圈提干净,余额应该是0。现在使用PC/SC的读卡器配合麻工强大的Snooper进行测试。首先选择PPSE.1.SELECTCommand:00A404000E 325041592E5359532E4444463031Response:6F2E840E325041592E53595
2014-09-19 16:42:08 2436
原创 PBOC卡片应用分析(三)
上一篇读记录的时候,对卡内数据解析不太熟悉,好多东西没有分析,今天重新学习规范对照分析一下,把不涉及本人隐私的内容也都发出来,方便分析。从上一篇的第10条指令重新来。10.READ RECORDAPDU:00B2010C3CRETURN:703A57136259****************************00000F9F6112313*3*3*30323139383
2013-09-10 11:06:50 2835 2
原创 PBOC卡片应用分析(二)
接上一篇,上次基本上卡在了选择ADF之后的操作,选择完ADF之后根据Response的数据,需要做获取处理选项GPO,但是对PDOL这个东西一直搞不明白,GPO指令的数据域是PDOL,PBOC规范上对GPO的指令写的也是很模糊,只说了没有PDOL的发8300,有PDOL项的发PDOL,但是泛泛的浏览PBOC规范,对选择应用之后返回的数据中PDOL的内容也没有细说,折腾了半天才反应过来PDOL的格式
2013-09-10 10:49:16 3351 2
原创 PBOC卡片应用分析(一)
之前没有对金融卡片研究过今天用自己的建行环球旅行信用卡学习一下。使用的读卡器是一款CCID的接触式读卡器,北京的中国移动营业厅有使用他的低版本型号。CCID的读卡器通讯API还算比较简单,自己之前有现成的代码,但是测试了一下,在选择完T0协议后,通讯还是有问题,向卡片发数还是有问题,总是犯0xE的错误。不查代码了直接用我司麻工研发的强大的snooper。首先上来是选择MF1.SELEC
2013-09-10 10:22:33 2102
原创 Delphi 2012 XE2 x64平台实现HID设备操作
Delphi 2012 XE2 开始支持x64位平台,现有的32位的DELPHI程序需要移植到x64平台下。下面是这次工作的记录。直接把32位的工程编译成64位后,没有报错,但是执行SetupDiEnumDeviceInterfaces接口的时候总是返回false,使用GetLastError发现错误码是1784(提供给请求操作的用户缓冲区无效。 ),这个接口的C定义是SetupD
2012-03-28 19:19:45 4197 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人