特斯拉Model 3 Key Card里的黑科技
特斯拉Model 3给用户提供了三种解锁电动车的姿势:
-
遥控钥匙(可选,需付费购买)
-
手机APP蓝牙解锁 以及
-
Key Card(钥匙卡片)
其中Key Card作为手机蓝牙钥匙的备份方案(以应对手机没电了/忘带了/APP故障/车机蓝牙故障等上不了车的窘境),相比传统的遥控钥匙具有成本低、便于携带等优点。
如下图,使用Key Card进车的步骤为:把卡片放在车门的B柱上,解锁进车后,再将卡片置于中间的杯架上(检验钥匙在车上)方可启动车辆。
在中控屏的设置界面特斯拉提供了钥匙管理的功能:用户可以自行添加可以解锁车辆的卡片以支持多辆车使用同一卡片,或者删除卡片以防止丢失的卡片导致车辆失窃。
Model 3的Key Card这么酷("hei")到底用了什么黑科技呢?不少提到车的用户已经迫不及待的尝试用各种方式去探个究竟了。
Jerry Rig Everything DIY频道的博主Zack Nelson在YouTube上传的一个视频,他用刀片损坏了一张卡片发现里面的线圈后,用一罐丙酮水花了一个多小时把另一张卡片给融了。如下图,可以发现脱掉塑胶外套的Key Card是个带有IC集成芯片和线圈的非接触式智能卡。
另外一侧,特斯拉在FCC上注册的无线零部件资料显示(https://fccid.io/2AEIM-1089774/),B柱上的Key Card 感应器工作在 13.56MHz 频率,电路板上其相关芯片型号显示为“AS3915”,为ST的一款车规级RFID高频读卡器以及NFC发起端。
NFC由RFID(Radio-Frequency Indentification)的基础发展而来,无线工作频段与RFID的高频段HF 13.56MHz一致,NFC标准的制定兼容了这个频段的RFID卡产品。如下图NFC的协议栈中,NFC论坛标准(黄色方块)定义了上层的4种类型的NFC标签涵盖了原RFID HF卡相关产品的部分协议。
另一位一心想要把Model 3的Key Card芯片植入到自己左手上的女工程师Amie DD(https://www.amiedd.com)尝试对自己的Model 3卡片的RF信息进行了读取,得到了以下信息:
Tag Type: ISO 14443-4 NXP IBM JCOP
Technology: ISODep, NfcA
Serial Number: *****
ATQA: 0x0048
SAK: 0x20
Global Platform Information:
-
Java Card version 2.2
-
Global Platform version 2.1.1
-
GP Secure Channel Protocol: 03 option 10
-
Max. length APDU data field: 255 bytes
-
Global Platform card manager FCI:0x6F108A000000151000000A5049F6501ff
Technologies supported
-
ISO/IEC 7816-4 compatible
-
ISO/IEC 14443-4 (Type A) compatible
-
ISO/IEC 14443-3 (Type A) compatible
-
ISO/IEC 14443-2 (Type A) compatible
Detailed Protocol Information
-
ID: 04:25:2E:6A:F5:51:80
-
ATQA: 0x4800
-
SAK: 0x20
-
ATS: 0x0578779102
-
Max. accepted frame size: 256 bytes (FSCI: 8)
-
Supported received rates: 106, 212, 424, 848kbit/s(DR: 1,2,4,8)
如上信息,可以看到这是一张兼容NFC A(14443-4)协议的基于JCOP(Java Card Open Platform)的智能卡。
JCOP是2006年IBM发起的一个用于运行Java Card程序的智能卡操作系统,2007年转由NXP负责开发支持。Java Card是运行在智能卡上的Java Applet小程序 ,仅提供非常少量的Java编程语言特性支持 ,其主要设计目标是可移植性(运行在不同的智能卡上)和安全性。JCOP支持常用的对称加密算法(DES,3-DES,AES等)和非对称加密算法(RSA,ECC)以及签名和密钥生成等服务。JCOP智能卡目前广泛被用于SIM卡,银行信用卡等对安全要求较高的卡片上。
智能卡与读卡器之间按支持的标准协议通讯,如ISO/IEC 7816 APDU (Application Protocol Data Unit) 在智能卡场景下定义了两种Command和Response两种数据单元。JCOP上运行的Java Card Applet是一个请求响应式的状态机,接收到输入请求命令, 处理后 输出响应数据。
JCOP智能卡具有安全存储和一定的算力为卡片提供了可编程能力,使得卡认证自行定制动态认证算法和使用非对称加密等技术成为可能。相对于仅有存储功能的卡片或者使用固定加密算法的卡片, 智能卡中存储的数据仅可以通过芯片上的程序访问, 提供了更高的安全性。 使用了智能卡的Model 3 Key Card 可以使用非对称加密和自定义认证算法来确保认证过程的安全性以及卡片无法轻易被复制。
End