电子认证系统的制作方法_5

文档序号:9829958阅读:来源:国知局
activate(List of IntfID)
[0356] Remove(List of IntfID)
[0357] 下面的表格1更加详细地描述上面的项目。
[0358] 表格1 一 CAL向L1装置的请求
[0359]
[0360] 使用以下机制和逻辑将信道指定给应用:
[0361 ]来自更上层的"Open(开始)"和"Resume(恢复)"请求是对于CAL分配新的信道的触 发器-如果需要的话。该新的信道是第一条可用的信道。该信道将与会话标识符SessID相关 联,并且对更上层隐藏;仅会话SessID标识符可被更上层看见。
[0362] 在接收"Close(关闭)"或者"Suspend(中止)"请求时,CAL将释放该信道。
[0363] 如能够从表格1看到的那样,CAL明确地分配信道但是未明确地对它取消分配。这 是实现方式选择并且其他实现方式选择可以明确地对信道取消分配。明确的和隐含的信道 取消分配之间的差异为以下:
[0364] 明确的:在接口能够被去激活之前并且装置被断开连接之前,更下层希望明确指 令以释放该信道。如果特定接口的所有信道不是都被关闭,则去激活该接口和/或将该装置 断开连接的请求将被拒绝。
[0365] 隐含的:在会话的终止或者关闭时更下层关闭该信道并且不希望明确指令以关闭 该信道。如果特定接口的所有会话不是都被关闭,则去激活和/或将该装置断开连接的请求 将被拒绝。
[0366] L1上的例外具有特定错误编码(例如,Ll_abc)以将它们与其他层处的错误区分 开。
[0367] ⑵ABM
[0368] 为了能够实现链路的任一侧发起数据的传送,针对每个信道,CAL具有可配置的定 时器,可配置的定时器的存在和/或超时配置值可以随着映射(和接口,如果我们这样期望 的话)而变化。
[0369] 如果定时器存在,那么处理为以下:
[0370]当接口和映射被确定时,定时器被激活并且超时值被设置。
[0371 ]当CAL从它的更下层接收以下事件之一时,定时器被启动:
[0372] EV_Done(IntflD,ChID,PDU),即,当消息的最后的数据区块被接收时。
[0373] 当CAL将以下请求之一发送到它的更下层时,定时器被停止:
[0374] SendPDU(IntfID,ChID,PDU),即,在数据交换或者信令开始时。
[0375]当定时器到期时,CAL将信令消息('ping')发送到其他装置。其他装置能够答复信 令消息('pong')或者数据交换。
[0376] 链接管理实用工具
[0377]链接管理实用工具使适应于更下层的限制内的PDU交换序列化(在ISO 7816-4的 情况中,包装APDU),而不在更上层能够发送或者接收的消息的尺寸上强加任何限制。它包 括异步平衡模式(ABM),即,对称机制,从而应用可以在任何时间发送消息,不受底层协议的 限制所限(例如,用于IS0-7816-4的半双工主-从配置)。
[0378]当底层不允许发送作为单个数据包的(数据)消息时,CAL将切割该消息为更小的 数据区块,其尺寸可以使得底层能够适应,并且向另一方发送这些数据区块。
[0379]以类似的方式,CAL将从它的对方接收的数据区块重新组装成消息。
[0380]为了避免能够向另一方发出的消息的尺寸上的任何限制,使用以下原则:
[0381] CAL能够以尺寸m或者更小的η个数据区块划分有效载荷;η和m两者均取决于底层 技术(并且因此的映射)。
[0382] 对于每个数据区块,添加额外的前导字节。该额外的字节被称作链接字节LB。
[0383] 对于除了最后的数据区块之外的所有数据区块,链接字节被设置为'M',指示更多 的数据区块将跟随以便完成该消息。对于该消息的最后的数据区块,链接字节被设置为 'L',指示这个是该消息的最后的数据区块。
[0384] 为了迀移的目的,我们预见链接字节可能被扩展到两个或者更多个字节的机制。 所提出的机制为以下:
[0385]〇每个链接字节包括标示'C'(=继续)或者'E'(=结束)
[0386] ?除了与数据区块相关联的最后的链接字节之外的所有与数据区块相关联的链 接字节具有被设置为'C'的标示
[0387] ?与数据区块相关联的最后的链接字节具有被设置为'E'的标示
[0388] 到现在为止,除了包括'M/L'和'C/E'的比特之外,所有链接字节中的所有比特均 为 RFU〇
[0389] 会话管理实用工具
[0390]会话管理实用工具管理会话和和利用该会话来交换的消息。前者导致通过交易装 置对Ρ0Ι接口的信令,后者导致数据交换。图22示出会话管理实用工具的概述。
[0391] (1)信令
[0392] 为了会话管理并且为了触发该信令,针对NGSE-CAL和NGApp-CAL接口提出以下 服务请求:
[0393] OpenSession(SvID,List of IntfID)
[0394] SuspendSession(SessID,Disconnect)
[0395] ResumeSession(List of IntfID[在大多数情况中,该列表将包含单个IntfID], SessID)
[0396] CloseSession(SessID,Disconnect)
[0397] 连同CAL的功能性一起,从CAL到更上层的对这些服务请求的响应被列在下面的表 格2中。CAL功能性包括到更下层的请求-参见上面的"(1)连接管理"。
[0398] 表格2-用于管理应用环境的CAL功能性



[0403] 来自更上层的服务请求将在两个装置之间的接口上生成信号,如上面在表格2中 "信号接口@0六1^等级"上图示的那样。图23给出用于(^6113688;[011(3¥10,1^81:0;1^11^;1^10)月艮 务请求的示例,其给出CAL等级处的S(0pen,SvID)信令请求的起源。然后,来自其他装置的S (EV_ACK,SessID)信令响应导致到更上层的EV_0pened( Intf ID,SessID)。
[0404] 下面讨论的"CAL信令",包括CAL内的更上层和更下层之间的通信以及与其他装置 的CAL信令的更详细的描述。下面的示例部分覆盖四个服务请求:开始、恢复、中止和关闭。 [0405] (2)数据交换
[0406] 针对NGSE-CAL和NGApp-CAL接口,提出以下服务请求:
[0407] SendMsg(SessID,Msg)
[0408] CAL功能性包括到更下层的请求并且牵涉链接管理。对应这些更下层请求,请参照 "(1)连接管理"和"链接管理实用工具"部分(参见图24)。
[0409] 代理功能性
[0410] 对于连接管理,代理必须确保在不同的接口上连接是可用的。这隐含着协调各个 L1装置上的以下服务请求:
[0411 ] Activate(List of IntfID)
[0412] RequestChannel(IntfID)
[0413] SendPDU(IntfID,ChID,PDU)
[0414] Deactivate(List of IntfID)
[0415] Remove(List of IntfID)
[0416] 对于链接管理,代理将通过一个接口接收的进入的rou编译成消息,并且然后再次 将它分解成用于另一接口的rou。
[0417] 对于会话管理,代理将通过一个接口接收的服务请求OpenSession(…)、 SuspendSession(…)、ResumeSession(…)、CloseSession(…)转代码给其他接口。它确保 围绕SessID的一致性。
[0418] 用于ISO 78614-4的映射实用工具
[0419]消息映射实用工具将连接实用工具、链接管理实用工具和会话管理实用工具插入 到诸如ISO 7816-4的现存协议上。
[0420] 该部分提出了用于ISO 7816-4的实现方式,它完全符合EMV书籍1-部分11.1并且 借助于一些示例描述了该实现方式。
[0421 ] 示例实现方式
[0422] 对于P01到交易装置通信,可以使用以下C-APDU:
[0423] Select命令,用来开始应用并且用来恢复应用。
[0424] Wrapper命令,用于其他的每件事物-该情况40ΑΗ)υ具有与在ISO限定的Envelope 命令类似的功能性,但是是EMVCo专有版本。Wrapper C-APDU的命令数据始终包括
[0425] ?信令
[0426] ?通过链接字节(多个)的链接(层)信息
[0427]如果Wrapper命令数据包括附加的数据,那么该附加的数据构成实际的数据交换。 数据交换包括:
[0428] ?会话标识符SessID
[0429] ?其他数据
[0430] 对于交易装置到Ρ0Ι通信,可以使用以下R-APDU和状态字节SW1SW2:
[0431 ]对于被链接到NGApp的SvID,对Select命令的响应是没有附加的数据的SW1SW2。
[0432] 对Wrapper命令的响应R-APDU始终包括响应数据并且具有等于9000的SW1SW2。
[0433] 该响应数据始终包括
[0434] ?信令
[0435] ?通过链接字节(多个)的链接(层)信息
[0436] 如果响应数据包括附加的数据,那么该附加的数据构成实际的数据交换。数据交 换包括:
[0437] ?会话标识符(SessID)
[0438] ?其他数据
[0439]对于IS07816-4,在带内完成信令。数据交换和信令被组合在单个C-APDU或者R-APDU中。对于信令,在链接字节之前,可以存在特定字节,并且该字节被称作信令字节(SB)。 [0440]为了迀移的目的,可以存在信令字节可能被扩展到两个或者更多个字节的机制。 所提出的机制为以下(类似于被用于链接字节的机制):
[0441]每个信令字节包括标示'C'(=继续)或者'E'(=结束)
[0442] 除了与数据区块相关联的最后的信令字节之外的所有与数据区块相关联的信令 字节具有被设置为'C'的标示
[0443] 与数据区块相关联的最后的信令字节具有被设置为'E'的标示
[0444] 注意:如果我们需要,则具有多个字节允许并行地发送多个信号至另一方。
[0445] 在上面的编码的顶部,我们限定用于信号字节的以下值:
[0446]没有信令-该值被用于ABM'ping'和'pong'
[0447] 开始
[0448] 恢复
[0449] 中止并且断开连接
[0450] 中止而不断开连接 [0451]关闭并且断开连接
[0452] 关闭而不断开连接
[0453] ACK
[0454] NACK
[0455] 对于L1连接管理,下面在表格3中描述映射。
[0456] 表格3-用于ISO 7816-4的L1功能性
[0457]
[0458] 从更上层,CAL中的链接管理实用工具将得到具有格式SessIDl |其他数据的消息。 链接管理实用工具以具有格式SB I I LB I I数据的协议数据单位(PDU)将它打破。将这些rou按 顺序传输到更下层,更下层将它们响应R-APDU(参见表格4)封装为Wrapper C-Arou(参见表 格5)。
[0459] 从更下层,链接管理实用工具将得到具有格式SB| |LB| |数据的H)U。如果信号字节 SB不同于"没有信令",则CAL针对更上层的信令事件创建事件。从rou接收的所有数据被连 接在RxData接收缓冲器中(在SB和LB顶部已被去除之后),直到链接字节LB指示' L '。在接收 等于'L'的LB时,链接管理实用工具添加最后的数据区块。RxData接收缓冲器中的数据现在 是完整的消息并且应具有格式SessIDl |其他数据。
[0460] 表格1 一到R-APDU的映射
[0462] 表格2-C-APDU的格式
[0464] 对于使用ISO 7816-4的ABM,定时器将存在于Ρ0Ι中,SMS07816-4通信的主人。交 易装置不实现定时器。
[0465] 对于Ρ0Ι来说,ABM有关的处理为以下:
[0466] 在具有被设置为'L'的LB的C-APDU之后,
[0467] ?当接收具有被设置为'M'的R-APDU时,C-APDU被发送,具有 [0468] 被设置为'没有信令'的SB并且具有
[0469] 被设置为'L,的LB。
[0470] 为了一致性,如果这有用的话,SessID也可以被发送。
[0471]该C-APDU然后是所谓的'ping'信号。
[0472] ?当接收具有被设置为'L'的R-APDU时,那么定时器被启动。
[0473]当C-APDU被发送时,定时器被停止。
[0474]当定时器到期时,'ping'信号被发送。
[0475] 对于卡来说,ABM有关的处理为以下:
[0476]在接收具有被设置为'L'的LB的C-APDU之后,
[0477] ?当CAL具有要发送的数据时,CAL完成它的正常处理
[0478] 〇CAL对信道ChID完成它正常检查,并且如果它在该ChID上不具有要发送的数据, 则CAL返回具有被设置为'没有信令'的SB和被设置为' L '的LB的H)U。
[0479 ]为了设置逻辑信道的值,存在两个选择:
[0480] a)P0I中的CAL设置该值,或者
[0481] b)交易装置中的eCAL设置该值
[0482] 如果Ρ0Ι设置该值,则它将通过Select(选择)命令或者通过Manage Channel(管理 信道)命令来这么做。
[0483] 如果交易装置设置该值,则它将作为Manage Channel命令处理的一部分来这么 做。
[0484] 在ISO 7816-4中描述用于基于Select命令和Manage Channel命令来设置信道值 的机制:用于互换的Interindustry (产业间)命令。
[0485] -旦信道被分配给应用和因此的会话,该应用的该(逻辑)信道就被编码在该会话 的每个C-APDU的CLA字节的更下半字节。
[0486] 对于IS07816-4,在会话和信道之间存在一对一映射。在下面的示例中图示该一对 一映射。
[0487]示例:如果交易管理器发送
[0488]开始应用(NGSE),创建具有SessIDl的第一会话,之后开始应用(信贷银行A),创建 具有SessID2的第二会话,然后两个信道将被开始。SessIDl将运行在信道0(ChID = 0)上,并 且SessID2将运行在信道1 (ChID = 1)上。
[0489]开始应用(NGSE),创建具有SessIDl的第一会话,之后关闭应用(SessIDl),开始应 用(信贷银行A),创建具有SessID2的另一会话,然后SessIDl和SessID2两者将运行在信道0 (ChID = 0)上。
[0490] eCAL将SessID链接到ChID并且确保接收的具有ChID的PDU被组装到来自会话 SessID的消息中。
[0491] 进而,eCAL以能够在信道ChID上发送的H)U打破来自会话SessID的消息。从而,在 eCAL能够发送H)U之前,eCAL不得不等待具有CAL字节中的匹配ChID的H)U。
[0492] 示例
[0493] 该部分的其余部分包含一些示例和ISO 7816-4映射的图示
[0494] 图25图示消息如何被切割成具有信号字节和链接字节的被放到H)U中的更小的数 据区块,并且被映射到APDU上。每个APDU具有链接字节,指示是否存在要来的更多数据 ('M')或者是否这是来自该消息(或者信号)的最后的数据APDU( 'L')。
[0495] 在该示例中,来自更上层的消息需要被划分成两个区块:有效载荷(1T)和有效载 荷(2T)。该命令数据的第一字节每次是信号字节SB。该命令数据的第二字节每次是链接字 节LB。第一Wrapper C-APDU中的链接字节被设置为'M',以宣布要来的另一C-AroU(来自同 一消息)。第二Wrapper C-APDU的链接字节被设置为'L'。
[0496 ]来自交易装置的消息被划分在三个数据区块中:有效载荷(1C )、有效载荷(2C)和 有效载荷(3C)。响应数据的第一字节每次是信号字节SB。第二字节每次是链接字节LB。第一 和第二R-APDU的链接字节被设置为'M'并且第三R-APDU的链接字节被设置为'L'。
[0497]在该示例中,所有信号字节被设置为"没有信号"。
[0498]在图25中,第三C-APDU用作'ping'信号。该第三C-APDU中的有效载荷可以仅是会 话标识符(SessID)。
[0499] 从图25开始,在图26中图示ABM超时的特征。
[0500]如果在从交易装置接收第三R-AH)U之后完成从交易装置到Ρ0Ι的消息传输,则Ρ0Ι 不具有要发送的更多消息并且卡也不具有要发送的更多消息-在该特定时间。从而P0I中的 CAL将启动定时器并且在该定时器到期时,CAL将发送具有被设置为'没有信令'的信号字节 的Wrapper C-APDU-作为'ping'信号。如果交易装置不具有要发送的消息,则它简单地返回 具有也被设置为'没有信号'的信号字节(和等于'L'的链接字节)的R-AroU-作为'pong'信 号。如果交易装置具有要发送的消息,则它返回第一 R-AH)U,包括指示是否存在要来的更多 R-APDU的链接字节。
[0501]图27给出链接层如何可以与多个会话结合地工作的图示。
[0502] 在该示例中,两个应用并行地运行,从而存在两个会话:分别运行在ChIDl = 0和 ChID2 = l 上的 SessIDl 和 SessID2。
[0503] 来自SessIDl的Ρ0Ι消息被分割为两个Wrapper C-APDU,其中ChIDl=0被编码在 CLA字节的更低的两个比特中。交易装置消息被也分割到R-APDU中(没有该信道的指示)。 [0504] 来自SessID2的Ρ0Ι消息是单个Wrapper C-APDU并且具有被编码在它的CLA字节中 的ChID2 = l;来自SessID2的交易装置消息是单个R-APDU。
[0505]来自 SessIDl 的两个 C-APDU 与来自 SessID2 的 C-APDU 交错,R-APDU 也一样。
[0506]下面是由更上层发送的会话管理请求的一些示例。从Ρ0Ι的角度以及交易装置的 角度来描述这些请求中的每个。来
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1