我的NPI项目之Android 安全系列 -- Google Wallet and Secure Element(SE)

随着电子支付的兴起,越来越多的支付方式出现在我们的生活中。其中就有基于NFC的“碰一碰”的支付,支付宝的“扫一扫”支付,我们还知道有Google Pay(Wallet), Apple Pay(Wallet)。作为Android BSP的开发者,我比较关心的是Google Pay。

因为项目处于调研阶段,对PRS我基本上是进行了逐字逐句的学习。其中有一条就是要支持secure element。并要求要使能Android14的Strongbox功能。同时,需要支持透过NFC的Apple Value Added Servied 简称VAS功能。

一开始以为就是为了支持VAS才引进的secure element,于是进行了必要性研究。VAS究竟要不要SE?一场有意思的旅程就此开始:

Apple VAS (Value-added services) is a proprietary NFC protocol that can be used for sending data from a mobile device to an NFC terminal.

首先VAS是一个苹果开发的通信协议,这个协议是基于NFC的。透过这个协议,能够从一台手机发送数据到另外一个NFC终端上。这个终端,可以是一个读卡器,一个有NFC功能的手机(作为reader)。

而巧了,我就是要负责开发这个手机终端的人。

现在的情况就是,如果要支持Apple VAS,我们需要NFC能够支持Apple的ECP协议,通常VAS的协议依赖ECP,但是ECP协议确可以独立运行。这里先不做细究。后面有机会再详细的说明,因为这里涉及到Apple的一些信息。

那么NFC厂家是需要实现Apple的ECP协议的,然后才能和Apple 手机上的Apple Wallet进行通信。例如,NXP的某些NFC芯片支持ECP,有的则不支持。举个例子:PN7220不支持,PN7221却支持的。这个是NFC的选型需要注意的事项。

和NXP的工程师电话沟通后知道,ECP1.0和ECP2.0的最大差异是帧的payload不同,ECP1.0支持最大为5Bytes,ECP2.0支持到12Bytes。最为Reader的终端完全不需要使用SE,至少ECP不需要。

那么关于SE,为什么必要呢?

Google Wallet需要使用SE进行敏感信息的存储,所以最初的时候,手机中如果要Google Wallet能够工作的话,得有一颗SE。听说现在有种新的基于云的SE,这部分后面我们在讨论。

那么,这个SE可以是直接包裹在NFC芯片中,或者SIM卡中或者SD卡中,也可以指独立的一颗IC,例如ST33Jxxx。

关于Google Wallet如何使用Secure element,从“digitaltrends”截取一段优美的解释如下:

大概就是这样喽,一颗计算机芯片,这个说法还是头一次见。

后面,我也需要在自己的平台上集成一颗SE,拭目以待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/223036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI助力DevOps新时代

根据2023年Gitlab全球DevSecOps报告,62%使用AI和ML的开发人员表示他们正在使用AI来检查代码,而2022年这一比例只有51%。 人工智能在 DevOps 中的作用 虽然今年年初,随着GPT的爆火,AI技术逐渐深入人心,但在很早以前&…

maven常用命令

Maven (mvn) 是一个用于构建和管理 Java 项目的强大工具。以下是一些常见的 Maven 命令: mvn clean: 清理项目,删除 target 目录及其内容。 mvn compile: 编译项目源代码。 mvn test: 运行项目的单元测试。 mvn package: 打包项目,生成 J…

洛谷题单【算法1-7】搜索

P1135 奇怪的电梯 一开始以为深搜肯定没问题,从a点出发,衍生出一个二叉树,遍历所有情况就好了,但是会重复,所以加了一个vis防止重复,但是只拿了64pts,因为有可能某个点并不是最短被到达的&…

Processon的使用以及流程图的绘制

目录 一、ProcessOn 1.2 官方网站 门诊流程图 会议OA流程图 药库采购入库流程图 ​住院流程图 二、Axure自定义元件库 2.1 新建元件库 2.2 自定义元件 2.3 添加元件库 一、ProcessOn ProcessOn是一款在线的流程图、思维导图、组织结构图、网络拓扑图等多种图表类型…

Android Studio(Flutter)常用快捷键

快捷键说明Ctrl Alt M抽取方法Ctrl Alt W抽取组件Alt Enter包裹组件Shift F6重命名Ctrl Alt L代码格式化Ctrl Alt O删除无用importCtrl X删除光标所在行Ctrl D复制一行代码Ctrl C复制Ctrl V粘贴Ctrl Z撤销Ctrl /注释一行代码Ctrl Shift /注释一段代码Ctrl S…

2020年第九届数学建模国际赛小美赛A题自由泳解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 A题 自由泳 原题再现: 在所有常见的游泳泳姿中,哪一种最快?哪个冲程推力最大?在自由泳项目中,游泳者可以选择他们的泳姿,他们通常选择前面的爬行。然而,游泳…

Java基础面试题小结

基础面试题 Java语言简介 Java是1995年由sun公司推出的一门高级语言,该语言具备如下特点: 简单易学,相较于C语言和C,没有指针的概念,所以操作和使用是会相对容易一些。平台无关性,即Java程序可以通过Java虚拟机在不…

MongoDB 与 Python 的交互

文章目录 第1关:MongoDB 与 Python 的交互 第1关:MongoDB 与 Python 的交互 编程要求 根据提示,在右侧编辑器 Begin-End 处补充代码,完成右侧程序。 测试说明 点击评测,平台会对你编写的代码进行测试。 import pymo…

tomcat优化

目录 一.tomcat的优化 二.nginxtomcat负载均衡、动静分离 三.nginx的反向代理类型 四.nginx的调度算法(调度策略、负载均衡模式) 五.nginx反向代理如何实现会话保持 一.tomcat的优化 tomcat的优化分为:系统优化,配置文件参数…

GoLong的学习之路,进阶,微服务之序列化协议,Protocol Buffers V3

这章是接上一章,使用RPC包,序列化中没有详细去讲,因为这一块需要看的和学习的地方很多。并且这一块是RPC中可以说是最重要的一块,也是性能的重要影响因子。今天这篇主要会讲其使用方式。 文章目录 Protocol Buffers V3 背景以及概…

IT圈“鄙视链”大揭秘:谁是最强王者?

1. 引言:IT圈的“鄙视链”大剧 在IT从业者茶余饭后的交谈中,一个不可忽视的元素就是那个无形的“鄙视链”。从“我们写后端的看不起写前端”的传统对立,到各种语言、框架、工具的PK,这场鄙视链的情感大戏如火如荼上演。然而&…

Win32 HIWORD和LOWORD宏学习

HIWORD是High Word的缩写,作用是取得某个4字节变量(即32位的值)在内存中处于高位的两个字节,即一个word长的数据; LOWORD是Low Word的缩写,作用是取得某个4字节变量(即32位的值)在内存中处于低位的两个字节,即一个word长的数据; Win32编程常用; Win32窗口编程中,收到 WM_S…

RHEL7.5编译openssl1.1.1w源码包到rpm包

openssl1.1.1w下载地址 https://www.openssl.org/source/ 安装依赖包 yum -y install curl which make gcc perl perl-WWW-Curl rpm-build wget http://mirrors.aliyun.com/centos-vault/7.5.1804/os/x86_64/Packages/perl-WWW-Curl-4.15-13.el7.x86_64.rpm rpm -ivh pe…

JVM之堆学习

一、Java虚拟机内存结构图 二、堆的介绍 1. 前面学习的程序计数器,虚拟机栈和本地方法栈都是线程私有的,堆是线程共享的; 2. 通过 new 关键字,创建的对象都会使用堆内存,其特点是: 它是线程共享的&#x…

【每日一题】【面试经典150 | 动态规划】爬楼梯

Tag 【动态规划】【数组】 题目来源 70. 爬楼梯 题目解读 有过刷题「动态规划」刷题经验的读者都知道,爬楼梯问题是一种最典型也是最简单的动态规划问题了。 题目描述为:你每次可以爬 1 或者 2 个台阶,问爬上 n 阶有多少种方式。 解题思路…

智能优化算法应用:基于探路者算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于探路者算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于探路者算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.探路者算法4.实验参数设定5.算法结果6.参考文…

开源书籍—鸢尾花书:从加减乘除到机器学习系列 | 开源专题 No.50

Visualize-ML/Book1_Python-For-Beginners Stars: 2.4k License: NOASSERTION 《编程不难》是一本名为鸢尾花书的开源项目,它从基础的加减乘除开始,逐步引导读者进入机器学习领域。该项目提供了 PDF 草稿和 Jupyter 笔记,并经过至少两轮修改…

LED恒流调节器FP7125,应用LED街道照明、调光电源、汽车大灯、T5T8日光灯

目录 一、FP7125概述 二、FP7125功能 三、应用领域 近年来,随着人们环保意识的不断增强,LED照明产品逐渐成为照明行业的主流。而作为LED照明产品中的重要配件,LED恒流调节器FP7125的出现为LED照明带来了全新的发展机遇。 一、FP7125概述 FP…

OBS实时字幕(第三第四种方法)

我的视频地址 https://www.bilibili.com/video/BV1uN411V7uG基于wispper的obs实时字幕插件,中文支持不太好,需要加载模型 github.com/occ-ai/obs-localvocal推荐使用这个 下面参考B站 www.bilibili.com/video/BV11u411G7Vt Curses:为OBS、V…

【NSX-T】7. 搭建NSX-T环境 —— 部署和配置 Edge Cluster

目录 7. 部署和配置 Edge Cluster7.1 配置 Edge 节点(1)Name and Description(2)Credentials(3)Configure Deployment(4)Configure Node Settings(5)Configur…