簡體   English   中英

通過OTA刪除JavaCard小程序

[英]Delete JavaCard applet through OTA

我在JavaCard上安裝了一個applet。 我想通過發送APDU命令通過空中(OTA)消息刪除此applet。 以下是我通過讀卡器發送的用於刪除小程序的APDU命令:

1)  A4 04 00 00
2)  ExAuth 00 02 00 01 00 404142434445464748494A4B4C4D4E4F
3)  80 E4 00 00 0D 4F 0B A0 00 00 00 00 01 02 03 03 01 02
4)  80 E4 00 00 0D 4F 0B A0 00 00 00 00 01 02 03 03 00 00

我已經遵循了這個: https : //adywicaksono.wordpress.com/2008/05/21/understanding-gsm-0348/

但是我無法刪除小程序,因為每次都會出現一些錯誤。 謝謝。

根據我的假設,您的JavaCard使用的是Global Platform框架(幾乎每個JavaCard都使用該框架),您需要執行以下步驟:

  1. 選擇CardManager
  2. 認證
  3. 刪除小程序

盡管通過AID選擇Cardmanager是更好的方法,但您可能成功完成了第一步。 從您發布的內容來看,第二步對我來說有點奇怪。 第三步看起來也不錯。

要進行身份驗證,有不同的協議,例如SCP01,SCP02等。SCP02是現代卡的事實上的標准。 然后,當然,您還需要正確的密鑰進行身份驗證,對於大多數使用Delivired的卡,已經有默認密鑰。 確切的過程在Global Platform規范中進行了說明。 我的工具中的示例日志如下所示:

  => 00 A4 04 00 08 A0 00 00 01 51 00 00 00 00          .........Q....
 (9407 usec)
 <= 6F 64 84 08 A0 00 00 01 51 00 00 00 A5 58 9F 65    od......Q....X.e
    01 FF 9F 6E 06 47 91 23 47 41 00 73 49 06 07 2A    ...n.G.#GA.sI..*
    86 48 86 FC 6B 01 60 0B 06 09 2A 86 48 86 FC 6B    .H..k.`...*.H..k
    02 02 02 63 09 06 07 2A 86 48 86 FC 6B 03 64 0B    ...c...*.H..k.d.
    06 09 2A 86 48 86 FC 6B 04 02 55 65 0B 06 09 2B    ..*.H..k..Ue...+
    85 10 86 48 64 02 01 03 66 0C 06 0A 2B 06 01 04    ...Hd...f...+...
    01 2A 02 6E 01 02 90 00                            .*.n....
Status: No Error
cm>  set-key 255/1/DES-ECB/404142434445464748494a4b4c4d4e4f 255/2/DES-ECB/404142434445464748494a4b4c4d4e4f 255/3/DES-ECB/404142434445464748494a4b4c4d4e4f
cm>  init-update 255
 => 80 50 00 00 08 7D 62 4D F4 89 F6 07 E3 00          .P...}bM......
 (55368 usec)
 <= 00 00 42 87 00 17 97 93 24 74 FF 02 00 01 3C 2B    ..B.....$t....<+
    97 86 B8 3B 57 0A D0 9F 82 BF AD C2 90 00          ...;W.........
Status: No Error
cm>  ext-auth plain
 => 84 82 00 00 10 EA 1A 9D A0 24 E6 00 9E F8 84 96    .........$......
    1A 77 71 46 B4                                     .wqF.
 (56879 usec)
 <= 90 00                                              ..
Status: No Error
cm>  delete ff4563686f4170706c6574
 => 80 E4 00 00 0D 4F 0B FF 45 63 68 6F 41 70 70 6C    .....O..EchoAppl
    65 74 00                                           et.
 (956894 usec)
 <= 00 90 00                                           ...
Status: No Error

由於您不希望自己執行所有加密協議,因此有一些工具可以為您完成工作。 我認為最好的免費軟件工具是Martin Paljek的GlobalPlatformPro 請注意,還有許多其他工具可能不建議使用。

為了在SIM上執行遠程應用程序管理,您需要具有SIM卡的OTA密鑰和OTA平台,以構造適當的GSM 03.48和03.40 APDU命令以與SIM交換安全數據包。 SIM在移動網絡中對移動用戶進行身份驗證,而移動運營商從未與第三方共享SIM卡的GSM或OTA密鑰。

MNO具有OTA平台,該平台維護關系數據庫以使MSISDN-ICCID-OTA密鑰(KiK,KiD和KiC)保持三重態。 除OTA密鑰外,作為每個SIM卡配置文件一部分的SPI,TAR和CNTR值都保存在OTA平台中,以生成GSM 03.48數據包。 因此,要執行任何小程序設置(安裝,更新刪除),通常必須使用KiC和KiD對安全數據內容進行加密。

暫無
暫無

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

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