Puncte:1

Cum să minimizezi dimensiunea de ieșire AES?

drapel us

Lucrez la un proiect despre magistrala CAN și vreau să criptez datele între noduri, dar am o problemă deoarece nodurile magistralei CAN primesc și trimit 8 octeți între ele și știu că dimensiunea ieșirii AES este exact aceeași cu intrarea. . Sunt confuz.Din câte știam, AES funcționează în blocuri de 16 octeți. Intrebarea mea este :

Cum pot reduce dimensiunea aes de ieșire pentru a permite ca nodurile de magistrală CAN să primească corect 8 octeți (mesajul real care vine de la orice nod)?

Paul Uszak avatar
drapel cn
Consultați https://dev.to/living_syn/can-bus-message-security-3h43, dar ignorați _"padați acele date la 16 octeți pentru AES 128, 24 octeți pentru AES 192 și 32 octeți pentru AES 256"_.
b degnan avatar
drapel ca
Iată scurtul meu articol despre criptografie pe CANbus https://crypto.stackexchange.com/questions/87751/what-encryption-mode-should-i-use-to-protect-can-bus-communication/87752#87752
Puncte:3
drapel my

Când lucrați cu acest mediu extrem de constrâns, probabil că este mai implicat decât ceea ce puteți obține din ascultarea unor străini pe stackexchange; probabil că fie trebuie să urmați unele standarde existente de criptare a magistralei CAN (scrise de un expert), fie să obțineți un dezvoltator profesionist - preocupările merg mult mai departe decât „cum folosesc AES”

Voi trece prin câteva dintre problemele evidente:

  • Care sunt obiectivele de securitate? Oare cineva care ascultă pe magistrala CAN nu poate citi mesajele? Sau este doar pentru a vă asigura că orice mesaj primit este de la expeditorul autorizat? De exemplu, altcineva din magistrala CAN nu poate introduce propriile comenzi, fie comenzi aleatorii (atac DOS), comenzi selectate, fie reemite comenzi valide anterioare? Este așa că cineva nu poate modifica comenzile în zbor (ceea ce ar putea fi posibil, dacă poate primi textul cifrat, împiedică cumva receptorul să obțină textul cifrat original și apoi să reediteze un text cifrat modificat)?

  • Afirmați că textul cifrat trebuie să fie de 8 octeți - textul simplu corespunzător este tot de 8 octeți? Problema cu asta este că cineva ar putea injecta un text cifrat de 8 octeți și va decripta într-un text simplu valid.

  • Utilizarea AES presupune că expeditorul și destinatarul partajează o cheie secretă; este adevărat? Cum este partajată cheia? Este preprovizionat în fabrică sau în momentul instalării? Sau, este cumva negociat (și dacă da, care sunt detaliile)?

  • Presupun că expeditorul și receptorul nu au garanția să rămână „sincronizate”; adică, destinatarul poate pierde un mesaj valid de la expeditor. De asemenea, presupun că sistemul trebuie să fie „cel mai bun efort”; adică, ca sistemul să respingă mesajele valide este intolerabil (de exemplu, nu doriți să ignorați mesajele pedalei de frână de „Tocmai am fost apăsat” doar pentru că criptosistemul tocmai a intrat în starea greșită). Dacă această presupunere nu este adevărată, există câteva tehnici utile care sunt posibile.

Acum, având în vedere răspunsurile probabile de mai sus, primul meu instinct pentru un mod de criptare ar fi să folosesc un format care păstrează criptarea, cum ar fi FF1 (care folosește AES pentru a cripta un mesaj de lungime arbitrară, cum ar fi 64 de biți). Cu toate acestea, FF1 este costisitor din punct de vedere computațional (folosește aproximativ 10 evaluări AES pentru a cripta/decripta un mesaj pe 64 de biți) și este în cel mai bun caz doar o mică parte din întreaga soluție.

Puncte:0
drapel in

Dacă utilizați AES ca cifru de flux, puteți utiliza modul CTR și nu trimiteți mai mult decât dimensiunea mesajului. Cu toate acestea, acest lucru nu vă va oferi autentificarea mesajului și trebuie să vă asigurați că expeditorul și destinatarul sunt sincronizați. Faceți față unor astfel de cerințe suplimentare vă va găsi inevitabil trimiteți mai multe date decât mesajul brut.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.