OMA通道-3

16 篇文章 2 订阅

4 Transport API
 

传输 API 作为开放移动 API 的一部分,为开放移动设备中可用的 SE 提供通信框架

4.1 概述


传输 API 的作用是为应用程序提供访问设备上可用的 SE 的方法。 提供的访问权限基于 ISO/IEC 7816-4 [ISO 7816-4] 定义的概念:
• APDU:与 SE 交换的消息格式,基本上是字节序列,被发送到 SE(或更准确地说是 SE 中的小程序),SE 以另一个字节序列响应。 有关此类字节序列的确切格式的详细信息,请参阅 [ISO 7816-4]。
• 基本和逻辑通道:这些通道在设备上的实体和SE 上的applet 之间提供逻辑链接。 可以随时打开多个逻辑通道,OMAPI 传输层负责任何必要的访问序列化

此 API 依赖于“连接”模式。 客户端应用程序(在连接到 SE 的设备上运行,例如电话)打开到 SE 的连接(“会话”),然后打开到 SE 中运行的小程序的逻辑或基本通道。 在此模式之上,还有许多由系统强制执行的约束。 Transport API 的一个主要优点是它使用 [ISO 7816-4] 中定义的通道管理 APDU 抽象了跨多个依赖应用程序的通信通道管理。 因此,禁止应用程序自己发送“通道管理”APDU,因为这会破坏通道提供的隔离功能。 一旦打开一个通道,它就会被分配与 SE 中的一个且仅一个小程序进行通信。 同理,终端应用不能发送SELECT by DF name APDU。

系统的限制应该在直接处理与 SE 通信的模块中实现,而不是在 API 本身中实现,以确保攻击者无法克服 APDU 过滤器。 因此,如果可能,基带应负责过滤或至少负责与基带通信的 RIL。 一旦一个逻辑信道被分配给一个移动应用程序,只有来自这个移动应用程序的 APDU 命令应该在这个逻辑信道上传输。

4.1.1 General Rules for Handling of Status Word
 

此规范基于 ISO 规范,以便与跨不同部门和应用程序(银行、运输、身份等)的任何小程序正确运行。 除了 ISO 7816 之外,OMAPI 规范没有集成任何其他规范的特定行为。 这是有意为之的,可确保与任何类型的应用程序兼容。

使用传输层 T=1
API 或底层实现应按照 ISO/IEC 7816-3 [ISO 7816-3] 中的规定处理协议 T=1,并将数据(如果可用)和接收到的状态字返回给应用程序。 API 或底层实现不应在接收到任何状态字时自动发出 GET-RESPONSE APDU。

使用传输层 T=0
除非另有说明,在发送命令 APDU 时,本规范要求对本文档中定义的所有方法进行以下状态字管理:

• 对于状态字{0x61, 0xXX},API 或底层实现应按照[ISO 7816-3] 中的规定发出GET RESPONSE 命令。 对于 SE 向 APDU 返回超过 256 字节的总体响应数据的情况,必须应用相同的行为。 如果接收到 GET RESPONSE 命令的错误 SW,则应丢弃目前收到的所有数据并返回错误 SW。
• 对于匹配{0x6C, 0xXX} 的状态字,API 或底层实现应按照[ISO 7816-3] 中的规定重新发出输入命令。 如果重新发出的命令收到错误 SW,则应丢弃目前收到的所有数据并返回错误 SW

• 对于 {0x61, 0xXX} 和 {0x6C, 0xXX} 以外的状态字,API(或底层实现)不得在内部处理接收到的状态字(例如,不得自动发送 GET RESPONSE)。 API(或底层实现)应提供状态字和数据,

• 处理状态字警告({0x62, 0xXX} 和{0x63, 0xXX})的具体规则

o 对于状态字 {0x62, 0xXX} 和 {0x63, 0xXX} 的 transmit() 方法,API 或底层实现应根据 setTransmitBehaviour(Boolean expectDataWithWarningSW) 方法设置的行为处理这些状态字。

o 如果有以下任何一种情况:
• openBasicChannel(byte[] aid)
• openBasicChannel(byte[] aid, byte P2)
• openLogicalChannel(byte[] aid)
• openLogicalChannel(byte[] aid, byte P2)
• 选择下一步()

如果 SW 警告 ({0x62, 0xXX}, {0x63, 0xXX}) 作为 SELECT 命令的第一个响应收到,并且与 setTransmitBehaviour(Boolean expectDataWithWarningSW) 方法中的设置无关,也应发送 Le = 0x00 的 GET RESPONSE .

请注意,上面指定的 GET RESPONSE 处理意味着 API(或底层实现)应处理响应数据,即使它超过 256 字节。

注意:打算从 Open Mobile API 使用的 Card Applets 的开发人员应该避免实现需要使用 expectDataWithWarningSW 的警告行为,以避免设备应用程序开发人员可能对案例 4 的这种特殊情况处理的操作产生混淆

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FOTA(Firmware Over-the-Air)是一种无线技术,用于通过无线网络将固件更新传输到设备上。这种技术能够让设备厂商或供应商无需通过物理连接实现设备固件的更新,而是通过无线网络将新的固件版本发送给设备。这种方式对于大规模更新设备非常有用,比如手机、智能设备等。FOTA不仅简化了固件更新的流程,还可以节省时间和成本。 OTA(Over-the-Air)是一种无线技术,用于通过无线网络向移动设备发送更新和配置信息。通过OTA技术,用户可以无需使用数据线连接设备,而是通过无线网络更新设备的操作系统、应用程序或者其他配置信息。OTA技术广泛应用于移动设备中,比如手机、平板电脑和智能手表等。 OMA-DM(Open Mobile Alliance Device Management)是一种设备管理协议,旨在通过无线网络对移动设备进行远程管理和控制。OMA-DM允许设备管理服务器与设备之间进行通信,并对设备的配置、软件更新、故障排除等进行管理。该协议在移动设备管理领域被广泛使用,以确保设备的安全性、稳定性和可靠性。 GOTA(Generic Over-The-Air)是一种用于设备固件更新的通用技术,旨在通过无线网络将更新传输到设备。与FOTA类似,GOTA也能够实现设备固件的无线更新,但其更具通用性,适用于各种设备,如智能手机、智能电视和智能家居设备等。GOTA技术能够帮助提供商或制造商更加便捷地进行设备固件的更新和维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值