Įrenginio žetono modelis
Kodėl įrenginio žetonas savaime nesuteikia prieigos prie sistemos.
Šis poskyris paaiškina, kaip JARS Apskaita kasos terminalo žetonas apsaugotas nuo pavogimo ir piktnaudžiavimo, net jei piktavalis turi pilną prieigą prie terminalo failų sistemos.
Susiejimo procesas
Kai administratorius pirmą kartą susieja stalinę programą su kasos aparatu:
- Stalinė programa kreipiasi į JARS serverį ir gauna du kodus: ilgąjį
deviceCode(vidiniam ryšiui) ir trumpąjį 8 simboliųuserCode(skirtą įvesti rankiniu būdu). Pastarasis sudarytas iš nedviprasmiškų simbolių (be0,O,1,I,L), kad būtų sunku suklysti. - Trumpasis kodas galioja 15 minučių — po to anuliuojamas serveryje.
- Administratorius prisijungia prie žiniatinklio sąsajos, įveda šį kodą ir patvirtina susiejimą: nurodo, kuriai įmonei ir kuriam kasos aparatui jis priskirtas.
- Patvirtinimo metu serveris išsiunčia stalinei programai ilgalaikį įrenginio žetoną. Žetonas saugomas serveryje tik kaip SHA-256 hash — net pats serveris nesaugo žetono atviru tekstu.
- Trumpasis kodas po patvirtinimo akimirksniu anuliuojamas — jo pakartoti panaudoti neįmanoma.
Žetoną sugeneruoti gali tik administratorius, turintis OWNER arba ACCOUNTANT rolę toje įmonėje. Stebėtojas (VIEWER) negali patvirtinti naujo įrenginio.


Ką iš tiesų suteikia įrenginio žetonas
Įrenginio žetonas savaime nesuteikia jokios teisės atlikti pardavimus, generuoti kvitus, peržiūrėti duomenis ar matyti VMI registracijos informaciją.
Žetono vienintelis paskirtumas — leisti terminalui inicijuoti kasininko prisijungimo procesą ir gauti jam priskirto kasos aparato kontekstą. Kasininkas vis tiek privalo įvesti savo PIN kodą, kad gautų darbinę sesiją. Tik šios sesijos metu galima atlikti pardavimus, generuoti ataskaitas ir t. t.
Tai reiškia, kad žetono nukopijavimas į kitą įrenginį suteikia tik galimybę bandyti įvesti PIN — lygiai tą patį, ką gali padaryti bet kuris žmogus, prieinantis prie originalaus terminalo. Tai nepadidina atakuotojo galimybių lyginant su tiesiog prieiga prie terminalo ekrano.
Atskiri autorizacijos sluoksniai
Žetono modelis remiasi keliais atskirais sluoksniais:
| Sluoksnis | Ką patvirtina | Kas tai turi |
|---|---|---|
| Įrenginio žetonas | Įrenginys užregistruotas | Saugomas terminale (server saugo tik hash) |
| Kasininko PIN | Konkretus kasininkas | Atmintinai kasininkui |
| Kasininko sesijos žetonas | Esama darbinė sesija | Tik RAM, niekada į diską |
| VMI sertifikatas | Įmonės programinė kasa | Serverio pusėje, nepasiekiamas iš terminalo |
Pardavimui apiforminti reikia visų keturių sluoksnių. Vieno (įrenginio žetono) turėjimas nesuteikia praktiškai nieko.
Anuliavimas serverio pusėje
Administratorius bet kuriuo metu gali per žiniatinklio sąsajos skiltį Nustatymai → Įrenginiai atšaukti įrenginio susiejimą. Po atšaukimo:
- Įrenginio žetono hash serveryje pažymimas kaip negaliojantis.
- Sekantis bandymas pradėti sesiją iš šio terminalo gauna klaidą ir neleidžia tęsti.
- Net jei žetonas anksčiau buvo nukopijuotas — kopija taip pat tampa nebeveikianti, nes patikrinimas vyksta serveryje, ne lokaliai.

Kodėl tai svarbu praktiškai
Jei piktavalis nukopijuoja žetono failą iš kasos terminalo ir bando jį naudoti savo įrenginyje:
- Vis tiek reikia kasininko PIN — pirmasis ekranas terminale yra PIN užraktas, kuriame brutaliojo spėjimo bandymai ribojami (žr. PIN apsauga).
- Net jei piktavalis žinotų ir PIN — administratorius gali anuliuoti žetoną per kelias sekundes nuo neįprasto įvykio aptikimo žiniatinklio sąsajoje.
- Visi atlikti veiksmai prisijungus su šiuo žetonu yra fiksuojami audito žurnale (žr. Audito žurnalas) ir gali būti retrospektyviai atsekti pagal kasos aparato ID, kasininko ID ir laiką.
- Pats žetonas nesuteikia prieigos prie kitų įmonės duomenų — jis griežtai susietas su konkrečiu kasos aparatu, todėl iš jo neįmanoma pasiekti, pvz., sąskaitų plano ar partnerių katalogo.