簡體   English   中英

SELECT APDU和邏輯通道

[英]SELECT APDU and logical channels

據我所知,要打開/關閉邏輯通道,我們必須使用MANAGE CHANNEL APDU命令。

  • 打開邏輯通道: 00 70 00 P1 P2 LE
  • 關閉邏輯通道: 00 70 80 P1 P2 LE
  • P1-P2 = 0000 - 0003
  • LE = 01 (如果P1-P2 = 0000 )或為空(如果P1-P2!= 0000

默認情況下,唯一打開的邏輯通道是基本通道。

問題:

1-為什么當我通過關閉邏輯通道發送SELECT APDU時,它會自動打開?

2-何時/必須/需要使用打開/關閉邏輯通道命令(MANAGE CHANNEL)?

這是Opensc-tool的輸出,如您所見,我通過邏輯通道1和2成功發送和接收了SELECTGET RESPONSE命令和響應,而沒有在之前打開它們:

邏輯通道1:

C:\>cd E:\OpenSC\tools

E:\OpenSC\tools>opensc-tool -s 01A40400 -s 01C0000012

Using reader with a card: ACS CCID USB Reader 0
Sending: 01 A4 04 00
Received (SW1=0x90, SW2=0x00)
Sending: 01 C0 00 00 12
Received (SW1=0x90, SW2=0x00):
6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 o..............e
01 FF                                           ..

邏輯通道2:

E:\OpenSC\tools>opensc-tool -s 02A40400 -s 02C0000012

Using reader with a card: ACS CCID USB Reader 0
Sending: 02 A4 04 00
Received (SW1=0x90, SW2=0x00)
Sending: 02 C0 00 00 12
Received (SW1=0x90, SW2=0x00):
6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 o..............e
01 FF                                           ..

E:\OpenSC\tools>

自1995年ISO 7816-4版本以來,SELECT被定義為打開邏輯通道的替代方法。除了提到的MANAGE CHANNEL,其他任何命令都不能這樣做。 邏輯通道的管理信息通常會消耗大量資源(例如,用於獲取的訪問權限的RAM,會話密鑰,當前的安全環境)。 一旦出現指向該方向的錯誤(某種意義上的plausibe是6A 84,意味着文件中沒有更多的內存,65 81內存錯誤,但是無論如何,您的卡文檔在這里都有優先權),您應該事先關閉它。 通常,有充分的理由使用邏輯通道,並且該邏輯通道是從不再需要的用例中得出的。

這些ISO命令直接進入ISD,根據全球平台 ,在所有可用邏輯通道上默認選擇ISD。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM