拉卡拉手机刷卡器音频通讯技术原理初步分析
2024-02-08 04:01:21发布 浏览467次 信息编号:96453
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
拉卡拉手机刷卡器音频通讯技术原理初步分析
1.拉卡拉刷卡
众所周知,拉卡拉是一款手机读卡器。 拉卡卡、智能手机、拉卡拉软件、互联网构成了一个完整的、更强大的POS系统。 为什么说它更厉害呢? 因为在移动应用app这一层,拉卡拉可以做很多很多便捷的功能,这样借助类似传统信用卡刷卡服务,可以提供支付宝现在也在大力开发的一系列生活服务等功能。 这是银联POS严重缺乏的。 目前,移动支付中,最方便的肯定是支付宝的快捷支付; 但考虑到我国目前的安全环境,用户在使用时必须将银行卡和密码委托给网站进行管理,这显然不如输入效率高。 被接受。 与支付宝加网银这种更安全的方式相比,拉卡拉与发卡银行无关,无需在手机上安装各银行的网银客户端。 因此,很明显,拉卡拉在某些应用场景下比其他一些移动支付方式具有优势。 现在我们来看看拉卡拉的技术原理。
2、内部结构
上方左右两侧是常见的拉卡拉装置,相当不错。 如果我们拆开来看,如右图所示,当然除了这个东西之外,下面还有一个耳机插头,侧面还有一个刷卡的插槽。
总体而言,该板很简单。
2.1 一颗电池占据了大部分空间,使得整个过于庞大,可刷卡次数超过10000次(见参考文献1)。
2.2 左侧四根引线分别对应耳机插头上的4个区域。 它们是左声道(Left)、右声道(Right)、麦克风(Mic)和地线(Gnd)。 其中,L和R是接收手机输出信号的接口,M是向手机输出信号的接口。 需要注意的是,并非所有序列都如右图所示。 因为有两种不同的标准,国际标准和国家标准。 联想、中兴等国产手机大部分都是国标,顺序如右图所示。 但HTC、三星、小米等手机都是国际标准,M和Gnd的顺序是相反的。 拉卡拉的某些版本可以自动识别M和G的正向和反向。(参见参考2)
2.3电路板最右边的芯片对输入信号进行处理,转换成刷卡数据的A\D(音频\数字)处理模块。 它是整个系统的核心。 当您在手机应用程序中点击刷卡时,音频信号从手机通过L或R发送到电路板,并通过A\D模块转换为数据信号。 当刷卡时,电路板获取银行卡信息,然后通过A\D模块将其转换为音频并传输到手机。 当然,手机APP在信号进入和退出时也需要做相应的A\D编码和解码工作。 这也是手机APP中最重要的工作。
3、刷卡支付流程
手机与拉卡拉音频通信示意图
手机与拉卡拉之间音频通信的大致结构如上图所示。 一般流程是:
3.1 首先打开手机上的拉卡拉应用程序。 单击“滑动”。
3.2 手机应用会调用API,通过L、R线向拉卡拉手机刷卡设备发送通知信号(L、R表示的信息相同,但波形相反,L的高电平对应R低级别的高级别,我还没搞明白拉卡拉为什么这么设计)。
3.3 芯片上的通信模块获取音频信号,解码后发现是刷卡通知,等待刷卡层传来刷卡信息。
3.4 在卡槽中刷卡后,卡信息被传输到芯片中。
3.5芯片获取卡信息,编码成音频信号,通过M线发送到手机。
3.6 手机APP通过对音频信号进行采样得到数字信号。
3.7 手机APP程序对数据信号进行解码,得到实际的数据信息,即卡信息。
3.8 若刷卡失败,手机APP会收到刷卡失败提示。
3.9 至此,手机与读卡器通讯完成。 然后手机APP使用卡信息与拉卡拉的服务器后端进行通信,以处理后续的支付操作。
关键技术点是(详细内容本文不讨论):
a) 采用什么调制方式进行传输,采用什么波特率和频率。
b) 如何制定合适的通信协议,包括如何判断信号的开始以及如何握手建立连接。
c) 如何编码和表示数据,如何检查和纠正错误,以及如何过滤和解码数据。
4.一些相关技术问题
4.1A/D转换问题
耳机线一般在~之间传输交流音频信号。 信号调制和解调有三种方法:调幅(AM)、调频(FM)和调相(PM)。 根据对的输入和输出信号的分析,我们发现使用了幅度调制和频率为 和 的音频信号。
4.2 耳机接口标准问题
2.2 中描述了这两个标准。
4.3 不同手机的问题
a) 我们发现,在某些手机上,接收到的音频波形与其他手机相比存在异相。 即高位波峰转变为低位波谷。 这个问题可以根据解码时的具体前导码来判断。
b) 手机Mic采样的音频信号电平可能不同。 例如,使用手机A采样相同的音频信号时,峰值约为32000; 在另一部手机上,可能是3200。 根据我们对许多不同手机的测试,我们发现峰值可以相差10倍。 处理方法是进行附加处理并先进行归一化; 或者在滤波时根据峰值动态调整阈值。
c) 部分手机的Mic无法识别非标准采样率。 比如三星的I9308如果用9600*4的采样率初始化就会报错; 如果改成44100就没有问题了。
4.4 数据传输效率
每条通信消息约100字节(约50个汉字)(见参考文献1)。 因此,拉卡拉的传输效率似乎不成问题。
4.5 数据传输的准确性
拉卡拉用了一个绝招。 它首先发送一段音频信号,然后发送一段代表相同数据的音频信号。 如果手机可以处理高频信号,那么后续的低频信号就可以用来验证之前的数据。 如果前面的处理出现问题,直接从后面处理低频信号仍然可以保证得到完整的数据。 当然,我们也可以要求对数据本身进行验证和纠错。
4.6 数据安全
该负责人表示,“拉卡拉手机读卡器内置安全芯片,每台读卡器对应唯一的银行卡磁条信息保护密钥,采用专用安全算法,保证一机一密一密”一次。用户的个人密码,使用RSA非对称加密方法加密。” (参见参考文献1)
但根据我们的观察,拉卡拉的电路板似乎并没有专门的安全相关模块。 整个系统没有使用CA证书进行相关的电子签名和身份认证。 因此,其安全性还有待研究。
提醒:请联系我时一定说明是从星空网上看到的!