docs: complete SCP80/RAM coverage — cards, presets, counter, PoR

- Fix duplicate /api/ram-install in api.md endpoints table
- Add Card Preset section to RAM tab (fields, counter auto-increment)
- Add SCP80 delivery mechanism explanation (ENVELOPE wrapping)
- Add Cards subtab documentation (add/edit/delete presets, CNTR management)
- Add PoR section (delivery PoR vs submit PoR, SPI2 bit 5)
This commit is contained in:
2026-08-31 20:48:15 +03:00
parent b5f871641f
commit 2c0889a8a3
3 changed files with 78 additions and 1 deletions
+39
View File
@@ -129,6 +129,22 @@ CLA = `00` (ETSI TS 102 221). Те же команды, что и SIM, но SELE
CLA = `80` (GlobalPlatform v2.3.1). Удалённое управление содержимым карты через SCP80.
Все операции RAM отправляются как защищённые пакеты SCP80 (ETSI TS 102 225) через SMS-PP-DOWNLOAD ENVELOPE. Карта должна поддерживать SCP03 (AES или 3DES) для безопасной транспортировки.
### Выбор карты (Card Preset)
Выберите сохранённую конфигурацию карты из выпадающего списка **Card preset**. Каждый пресет хранит:
| Поле | Описание |
|---|---|
| SPI1 / SPI2 | Уровень безопасности и настройки PoR |
| Ключ KIc / KID | Hex ключи шифрования и MAC |
| Индекс KIc / KID | Номер версии ключа |
| TAR | Toolkit Application Reference (3 байта) |
| Счётчик (CNTR) | 10-значный hex счётчик повторов, автоматически увеличивается после каждой успешной отправки SCP80 |
Пресеты карт управляются во вкладке **SCP80 → Cards** (см. ниже). Если пресет не выбран, RAM-вкладка предупреждает и отказывается выполнять.
### Операции
В RAM-подвкладке доступны две операции через выпадающий список **Operation**:
@@ -346,6 +362,29 @@ CLA = `80` (GlobalPlatform v2.3.1). Удалённое управление со
- ISO 9797-1
- NIST SP 800-38B (CMAC)
### Подвкладка Cards
Пилл **Cards** во вкладке SCP80 управляет сохранёнными конфигурациями карт (пресеты). Каждый пресет хранит криптографические ключи, настройки SPI, TAR и счётчик повторов для SCP80-операций.
**Добавить карту:** заполните имя, SPI1/SPI2, ключи KIc/KID и их индексы, TAR, нажмите **Add**. Карта появится в списке и станет доступна в выпаданом списке **Card preset** на RAM-вкладке.
**Редактировать карту:** выберите карту в списке, измените поля, нажмите **Save**.
**Удалить карту:** выберите карту, нажмите **Delete**. Удаляет пресет из `localStorage`.
**Счётчик:** 10-значный hex-счётчик (CNTR) автоматически увеличивается после каждой успешной отправки SCP80 (ручные отправки Secured Packet и RAM-операции). Обновлённый счётчик автоматически сохраняется обратно в пресет.
### PoR (Proof of Reception)
PoR подтверждает, что карта получила и выполнила защищённый пакет. Два режима:
| SPI2 (бит 5) | Режим | Описание |
|---|---|---|
| `0x00` | Delivery PoR | PoR возвращается в ответе ENVELOPE (SW+данные) |
| `0x20` | Submit PoR | PoR отправляется обратно как SMS-SUBMIT через прокоманду FETCH |
Delivery PoR (SPI2 `01`) проще — карта возвращает PoR напрямую в ответе ENVELOPE. Submit PoR (SPI2 `21`) используется, когда карта не может ответить inline (ограничено пространство ответа ENVELOPE).
---
## Конвертация (боковые панели SIM/USIM)