logici de încredere în securitatea informaţieimasalagiu/pub/logici de incredere.pdf · •...

430
Logici de încredere în securitatea informaţiei Universitatea „Al. I. Cuza”, Iaşi Facultatea de Informatică Master Securitatea informaţiei 2015 - 2016

Upload: others

Post on 14-Sep-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

Logici de încredere în

securitatea informaţiei

Universitatea „Al. I. Cuza”, Iaşi Facultatea de Informatică

Master Securitatea informaţiei

2015 - 2016

Page 2: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

Profesori - 1 • Prof. dr. Cristian Masalagiu (Titular

Curs/Seminar)

[email protected]

http://profs.info.uaic.ro/~masalagiu

Page 3: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

Profesori - 2

• Lect. dr. Cosmin Vârlan (seminar)

[email protected]

http://profs.info.uaic.ro/~vcosmin

Page 4: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

Profesori 3

• Asist. dr. Vasile Alaiba (seminar)

[email protected]

http://profs.info.uaic.ro/~alaiba

Page 5: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CERINȚE ȘI NOTĂ - 1 • Conform deciziei Rectoratului, sunt, în anul universitar

2015 - 2016, semestrul II (anii terminali), 15 săptămâni de

activitate (între 15 februarie – 29 mai): 14 sunt dedicate

activității didactice, și o săptămână (a 12-a) este liberă în

perioada Sărbătorilor de Paște (2 – 8 mai)

• Urmează 2 săptămâni de evaluare (30 mai – 12 iunie), apoi 3

săptămâni de „practică” de specialitate (13 iunie – 3 iulie), în

scopul pregătirii și susținerii lucrării de disertație

• În aceeași (ultimă) perioadă, fiecare facultate organizează o

sesiune de reexaminări (restanțe/măriri)

• Cel mai probabil, la Facultatea de Informatică, săptămâna a

8-a (4 -10 aprilie) va fi rezervată (și) susținerii unor lucrări

(parțiale) de evaluare, caz în care toate activitățile care

urmează la cursurile respective se vor decala cu o săptămână

(perioada finală de evaluare rămânând doar între 6 – 12 iunie;

sau, posibil, va fi prelungită)

Page 6: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CERINȚE ȘI NOTĂ - 2

• Pentru voi, totul se termină până pe data amintită de 3 iulie

2015 (de pe 4 iulie începe oricum vacanța de vară)

• La cursul nostru, primele 7 săptămîni vor fi doar „de

predare” (4 ore/săptămână), iar în săptămâna a 8-a veți

susține o lucrare scrisă din materia făcută (fie că această

săptămână va fi oficializată ca fiind „de evaluare parțială

pe Facultate”, fie că nu)

• Începând cu săptămâna a 9-a vom continua cu un

program de lecții de tipul „curs/seminar/laborator/susținere

referate”, până pe 30 mai (sau până pe 6 iunie)

• Modalitatea de a alege/susține referatele precum și

conținutul unor lecții le vom fixa împreună, urmărind

informațiile și propunerile care vor urma

Page 7: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CERINȚE ȘI NOTĂ - 3 • Prezenţa este, în principiu, obligatorie (nu fiți „Fata

Morgana...”)

• Fiecare coordonator de lecție (seminar/laborator) va

stabili însă (și alte) cerinţe proprii; media aritmetică a

notelor obţinute la seminarii/laboratoare va conta în

proporţie de ¼ din nota finală (nota 2)

• Nota de la lucrarea de evaluare (din săptămâna a 8-a)

va conta ½ din nota finală (nota 1)

• Restul de ¼ din nota finală (nota 3) se va obține din

aprecierea eseului/referatului ales/finalizat și prezentat

„public”; alte cerințe privind realizarea și aprecierea

referatului, urmează

Page 8: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CERINȚE ȘI NOTĂ - 4 • Fiecare curs vă va fi furnizat în format electronic

imediat după ce vă va fi predat (sub formă de slide-uri,

evident)

• Mai exact, materia predată până la un moment dat va

putea fi accesată direct printr-un link special, din

pagina mea web

• Este esenţial să „treceţi” pe la ore, pentru că: nu dau

proiecte pe INTERNET; nu accept să nu prezentați

„public” referatul; evitați să rămân singur la ore…

• Unele cursuri se vor încheia și cu indicarea unei

bibliografii suplimentare precum şi cu sugerarea unor

teme de cercetare (noi) care ar putea constitui baza

implicării voastre în (eventuale) proiecte reale...

Page 9: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DESPRE REFERATE - 1 • Domenii generale/arii în care ar putea fi încadrate referatele (e mai ușor să

căutați titluri în limba engleză...):

-Specific Problems in Modal, Temporal and Epistemic Logics (MTE) – aria 1

-Model Checking for Belief/Non-standard Logics (MC) - aria 2

-Natural Deduction/Deductive Systems for Belief/Non-standard Logics

(NDTP) - aria 3

-Logic Programming for Belief/Non-standard Logics (PROBLOG) - aria 4

-Lambda Notation/Calculus for Functional Representation of

Belief/Non-standard Logics (LAMBDABL) - aria 5

-Formal Verification of Different (Cryptographic) Protocols using Logics

of Belief (VEPBL) - aria 6

-Decidability and Formal Complexity of different classes of

Belief/Non-standard Logics (DCBL) - aria 7

-Vulnerabilities in Different Security Protocols Detected by Using

Belief/Non-standard Logics (VUPBL) - aria 8

-Altele, propuse de voi, dar „în zonă” (ALTE) - aria 9 (vezi mai jos)

Page 10: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DESPRE REFERATE - 2 • Titluri posibile (în engleză): Implementation in Language “X” for a “Y”

Analyzer of the “Z” Protocol; Practical Aspects Related to Some Dynamic

Epistemic Logics; Logical Attacks for Smartcard (or Mobile) Security, etc.

• De fapt, poate fi orice conține cuvintele/expresiile cheie belief logics

sau/și epistemic logics, în „combinație” cu security/cryptographic

protocol; sau, ceva mai specific/practic, care poate fi încadrat într-una

dintre ariile anterior menționate

• La o temă pot fi angrenate maxim 3 persoane, cu atribuții bine precizate

(și șef, pentru discuțiile cu mine)

• Totul va fi redactat/prezentat de voi în limba română; după ce vă

decideți, trimiteți-mi în prealabil (adică înainte de a trece efectiv la lucru)

un „eseu”/sumar (max. 4-8 pagini), prin e-mail (obiective, structură,

bibliografie principală, sarcini individualizate, etc.); forma finală trebuie să

aibă maxim 20 pagini, iar prezentarea „pe scurt”, min. 10 slide-uri; totul

trebuie să fie gata cam cu o săptămână înainte de prezentarea

(convenită) în plen (trebuie să dau OK-ul)

• Programările prezentărilor le voi face (chiar parțial) de îndată ce primesc

primele titluri și autorii

Page 11: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

FINAL CERINȚE, NOTĂ,

REFERATE

• La nevoie, prezentarea referatelor se poate extinde în

ultimele 2 (1) săptămâni de evaluare (nu vom mai da

altă lucrare de evaluare decât cea din săptămâna

a 8-a)

• Fiecare student va primi 3 note: una la lucrarea de

evaluare (numită mai înainte nota 1), una pentru

referat (nota 3) și nota 2 pentru activitatea „practică”,

din ultimele săptămâni (media notelor altor profesori

„posibil implicați” în activitatea voastră); ele vor intra în

calculul notei finale (modalitatea am prcizat-o deja)

Page 12: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DESPRE CURS (STRUCTURĂ,

CONȚINUT, SCOP) - 1 • Conținutul principal:

-Chestiuni recapitulative (concepte, notații, etc. privind logicile „clasice”

LP și LP1 – făcute cu C. Masalagiu; PROLOG – V. Alaiba; programare

funcțională - Ș. Ciobâcă)

-Chestiuni (cumva tot recapitulative) legate de anumite logici

„neclasice” (modale, temporale, epistemice – făcute cu C. Dima, ș.a.)

-Partea principală a cursului va fi legată de logicile de încredere (și aici

însă trebuie să vă „reactualizați” și conținutul anumitor cursuri anterioare

cu tematici apropiate, ale colegilor mei: C. Bârjoveanu, F. Țiplea, A.

Atanasiu, etc.)

• Deoarece una dintre expresiile „cheie” ale Cursului (alături de logici și

securitatea informației), este algoritmi de verificare (bazați pe sintaxă

și demonstrare automată sau/și pe semantică și model checking), în

săptămânile care urmează până la final, după „predare” (seminarii,

laboratoare, susținere referate), intenționăm să punem accentul și pe

lucruri legate direct de practică („amintiri” aici: MCMAS – C. Vârlan)

Page 13: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DESPRE CURS (STRUCTURĂ,

CONȚINUT, SCOP) - 2 • Vom aborda astfel, atât cât ne va permite timpul

(și...nevoia) în final, subiecte privind Isabelle,

care este un ATP (Automated Theorem Prover)

comercial și MCMAS (A Model Checker for

MultiAgent Systems); sau, alternativ: HOL

(Higher Order Logic) în loc de Isabelle, respectiv

TLA/TLC (Temporal Logic of Actions/TLA model

Checker) în loc de MCMAS

• Tematica concretă a laboratoarelor/seminariilor

(precum și a referatelor individuale) va fi fixată

aprioric sau pe parcurs

Page 14: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DESPRE CURS (STRUCTURĂ,

CONȚINUT, SCOP) - 3 Capitolele tematice ale Cursului (ne-exhaustiv) ar fi deci

• Recapitulare: logica clasică/logici neclasice; criptografie și

protocoale de securitate în sisteme multiagent în mediu

INTERNET – toate cu noi formalizări pentru ceva numit, de acum

înainte, SISTEM; logica BAN – Burrows, Abadi, Needham, etc. (în

funcție de necesități și de ceea ce deja cunoașteți)

• Logica GNY (Gong/Needham/Yahalom), ca „primă” extensie a

logicii BAN

• Alte extensii ale BAN și GNY: logica AT (Abadi, Tuttle), logica vO

(van Oorschot), logica SvO (Syverson, van Oorschot), etc.; din

nou, în funcție de timp

• Model Checking și demonstrare automată (cu referiri directe la

logicile de încredere)

Page 15: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DESPRE CURS (STRUCTURĂ,

CONȚINUT, SCOP) - 4

Scopurile principale ale Cursului sunt

• Însuşirea unor cunoștințe de bază pentru a putea

gestiona corespunzător SISTEM-ele cu ajutorul unor

logici „potrivite”

• Înțelegerea modalității de a „construi” noi logici, specifice

caracteristicilor particulare ale unor „părți de realitate”

precizate (ceea ce ar reprezenta o introducere în ceea

ce s-ar putea numi logic engineering)

• Însușirea unor primitive conceptuale pentru învăţarea

unor limbaje concrete privind demonstrarea automată

(Isabelle/HOL) sau model-checking-ul (MCMAS/TLC)

Page 16: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CURSURI ANTERIOARE

NECESARE

• Logică pentru informatică (an I, Licență)

• Securitatea informaţiei (an III, Licență)

• Opţional: Programare logică sau Programare funcţională

(an II, Licență)

• Opţional: Calculabilitate, decidabilitate şi complexitate (an

III, Licență)

• Fundamentele algebrice ale informaticii (an I, Licență)

• Limbaje formale, automate și compilatoare (an II, Licență)

• Cursuri făcute (sau care se fac în prezent chiar) la MSI, și

care sunt „legate” cumva (voi ar trebui să știți cum!) de

cursul de față

Page 17: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

BIBLIOGRAFIE PRINCIPALĂ

(NE-EXHAUSTIVĂ) - 1

(cărţile se găsesc la Biblioteca Facultății sau în format electronic; unele

sunt accesibile direct prin link-uri din pagina mea; ordinea de mai jos este

aleatoare; alte site-uri INTERNET vă vor fi indicate pe parcurs)

1. C. Masalagiu - Fundamentele logice ale Informaticii, Ed. Universităţii „Al. I.

Cuza", Iasi, 2004, ISBN 973-703-015-X.

2. M. Huth, M. Ryan - Logic in Computer Science: Modelling and Reasoning

about Systems, Cambridge University Press, England, 2000,

ISBN 0-521-65200-6.

3. R. Stalnaker – On Logic of Knoledge and Belief, Springer Verlag, 2006

4. P.C. van Oorschot – Handbook of Applied Cryptography, Carleton

University, 2002.

5. L. Gong, R. Needham, R. Yahalom – Reasoning about belief in

cryptographic protocols, IEEE Symposium on Research in Security and

Privacy, IEEE Computer Society Press, 1990.

Page 18: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

BIBLIOGRAFIE PRINCIPALĂ

(NE-EXHAUSTIVĂ) - 2 6. T. Kwon, S. Lim – Automation-Considered Logic of

Authentication and Key Distibution, Spinger Verlag, 2003.

7. D. Yiqiang – An Improvement of GNY Logic for the

Reflection Attacks, Springer Verlag, 1999.

8. M. Benerecetti, et al. – A Logic of Belief and a Model

Checking Algoritm for Security Protocols, 2000.

9. D. Monniaux – Analysis of Cryptographic Protocols Using

Logics of Belief: An Overview, Journal of

Telecommunications and Information Technology, 2006.

10. R. Fagin, et al. – Reasoning about Knoledge, M. I. T. Press,

2003.

11. J.J. Ch. Meyer, W. van der Hoek - Epistemic Logic for AI

and Computer Science, Cambridge Univ. Press, 2004.

Page 19: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

BIBLIOGRAFIE PRINCIPALĂ

(NE-EXHAUSTIVĂ) - 3 12. G. Bella – Formal Correctness of Security Protocols,

Springer Verlag, 2007.

13. E. A. Emerson – Temporal and Modal Logic, Handbook of

Theoretical Computer Science, North-Holland Pub.Co., 1996.

14. UT Austin - Course Material on BAN Logic (online, la

cerere)

15. **** - A Logic of Authentication (mirror) - the original paper

by Burrows/Abadi/Needham (online, la cerere)

16. D. Monniaux - Decision Procedures for the Analysis of

Cryptographic Protocols by Logics of Belief, Proceedings of

the 12th Computer Security Foundations Workshop, 1999 (și

online, la cerere)

Page 20: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

BIBLIOGRAFIE PRINCIPALĂ

(NE-EXHAUSTIVĂ) - 4

17. R. Needham, M. Schöder – Using Encription for

Authentication in Large Networks of Computers,

Communication of the A.C.M., vol. 21, no. 12, 1978.

18. B. Schneier – Applied Cryptography (second

edition), Wiley & Sons, 1996.

19. I. Goriac – An Epistemic Logic Based Framework

for Reasoning About Information Hiding, Ph.D.

Thesis, Universitatea „Al. I. Cuza”, Iași, România,

2014.

• Altele: desigur, le găsiți (sau le-ați găsit deja) singuri

Page 21: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 22: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 1 • Începem cu recapitularea logicilor pe care

le-am numit „clasice”: LP și LP1

• Facem acest lucru foarte pe scurt; dacă aveți

probleme, vă rog să urmăriți, direct din pagina mea

web, link-ul la slide-urile „dezvoltate” (vedeți acolo...)

• Nu uitați că aveți acces (tot direct, din aceeași pagină)

și la orice material privind „Logica pentru Informatică”,

anul I, Licență)

• Vom „vorbi” (nu neapărat în această ordine) despre

sintaxă, semantică, forme normale, echivalențe,

funcții booleene, problema SAT, rezoluție, sisteme

deductive, teorii logice

Page 23: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 2

• Pentru că vom lucra în primul rând cu mulțimi, este absolut

necesar să vorbim mai întâi despre constructivism

• De exemplu, putem defini N folosind doar 4 simboluri, să

le notăm 0, (, ), și s (deocamdată, neavând semnificație)

• Pentru aceasta, sunt necesari 3 pași (din care doar doi

sunt „efectivi”):

Baza. 0 N („zero” este număr natural).

Pas constructiv (structural). Dacă n N, atunci

s(n) N (dacă n este număr natural, atunci „succesorul

său imediat”, de fapt textul „s(n)”, este număr natural).

Nimic altceva nu mai este număr natural (textul va fi

considerat implicit pentru orice definiție constructivă).

Page 24: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 3 • Ca un prim avantaj al ideii, putem da imediat o

definiţie constructivă/algoritmică (structurală,

recursivă...) a adunării numerelor naturale

Baza. n + 0 = n, pentru fiecare n N (a aduna 0 la orice

număr natural înseamnă a-l lăsa neschimbat).

Pas constructiv. n + s(m) = s(n + m), pentru fiecare n,

m N (dacă ştim să calculăm n + m şi cunoaştem

succesorul imediat al numărului natural m, atunci ştim

să calculăm şi suma n + s(m); mai exact, aceasta

coincide cu succesorul imediat al numărului care

reprezintă suma n + m).

• Calculați 2 + 3 (voi; adică s(s(s(0))) + s(s(0)))

Page 25: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 4 • Un al doilea avantaj, şi cel mai important, este

posibilitatea folosirii în demonstraţii a

principiului inducţiei (matematice, în cazul lui

N)

• Astfel, dacă vrem să arătăm că o anumită

proprietate, notată „P”, este adevărată pentru

fiecare n N (adică, vrem să demonstrăm

adevărul „formulei” F = (n)(P(n))), folosind

principiul amintit vom arăta de fapt că este

adevărată afirmația

G = P(0) ((n)(P(n) P(n + 1))

Page 26: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 5

• Generalizând, orice definiție constructivă a unei mulțimi oarecare

M, (cel mult) numărabilă și presupusă a fi vidă pentru început, va

avea practic 2 pași (al treilea fiind implicit: „Nimic...”)

• În pasul (inițial), Baza, se introduc (explicit) în M un număr

oarecare de elemente „de bază” („grupate” în mulțimea M’)

• În Pasul constructiv, se repetă (de câte ori este posibil) unul sau

mai multe procedee de introducere de elemente noi în M,

folosindu-se elementele vechi, deja existente

(procedeu = algoritm/metodă)

• M’ este cunoscută aprioric, ca de altfel și mulțimea O, de

„algoritmi”

• Fiecare algoritm o O este privit în sens determinist, funcțional: aplicat „intrării” m1, m2, ..., mk, va genera (unica) „ieșire” m

Page 27: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 6

Definiția structurală/constructivă a unei mulțimi

oarecare M

Baza (elemente inițiale). M’ M (M conține

elementele de bază/inițiale).

Pas constructiv (elemente noi din elemente

vechi). Pentru fiecare k N*, pentru fiecare

m1, m2, ..., mk M și pentru fiecare o O

(„operator de aritate k”), avem

o(m1, m2, ..., mk) = m M.

• (Și singura posibilitate de a obține (noi)

elemente din M, este de a aplica algoritmii din O)

Page 28: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 7

• Fie acum M orice mulțime definită structural ca

mai sus (cu ajutorul lui M’ și O) și o afirmație

generală de tipul Q = (m)(P(m)), adică

proprietatea P „privește” întreaga mulțime M

• Fie și afirmația Q’, corespunzătoare definiției

structurale a lui M, dată prin

Q’ = (a M’)(P(a))

(k N*)(m1, m2, ..., mk M)(o O)

(P(m1) P(m2) ... P(mk) P(m)),

unde m = o(m1, m2, ..., mk)

Page 29: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 8 Principiul general al inducţiei structurale

• Admitem că Q este adevărată dacă putem arăta că:

Baza. P(a) este adevărată, pentru fiecare a M’ (P este

adevărată pentru elementele de bază).

Pas inductiv. Presupunem acum că sunt adevărate

P(m1), P(m2), ..., P(mk). Atunci, arătăm că P(m) este

adevărată (presupunând că P este adevărată în

elementele vechi, arătăm că P este adevărată și în

elementele noi).

• Acest ultim pas trebuie demonstrat presupunând că

k N*, m1, m2, ..., mk M și o O (de aritate k, care satisface o(m1, m2, ..., mk = m), ele fiind oarecare,

dar fixate

Page 30: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 9

• Ideea este cea folosită în cazul N: în loc să arătăm Q, este

suficient să arătăm Q’ (nu întotdeauna...; observație: principiu vs

teoremă)

• Ca o primă concluzie, putem spune că logicile pot fi atât limbaje

de programare, cât și limbaje naturale, dar foarte exacte

• O logică particulară = limbaj (mulțime de...)

• Logicile modelează realitatea, întâi prin sintaxă (formulă =

program), apoi prin semantică/valoare de adevăr (și nu „sens

lingvistic”)

• Știm că semnificația unui program este dată (să zicem, în sens

imperativ, operațional) de execuțiile sale: pentru intrarea x, se

obține ieșirea y (prin efectuarea operațiilor indicate de textul

programului, în ordinea precizată, asupra valorilor inițiale și

intermediare)

Page 31: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 10

• Semnificația unei formule va fi dată, similar, tot

de execuții, adică de procedeele prin care se

obțin valorile de adevăr „finale”, în urma aplicării

operatorilor logici prezenți în formulă, în ordinea

fixată, valorilor de adevăr precizate la „intrare” (și

a celor intermediare)

• După cum am explicat deja, ideea de bază va fi

aceea de a construi logici pentru studiul coerent

al SISTEM-elor, plecând cu logicile cele mai

simple și „apropiindu-ne cât putem” de cele mai

„potrivite” și mai „simplu de folosit”

Page 32: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 11

Sintaxa LP

Baza (formulele elementare/atomice sunt formule):

A LP (A = {A1, A2, ...}).

Pas constructiv (obţinere formule noi din formule vechi):

(i) Dacă F LP atunci ( F) LP.

(ii) Dacă F1, F2 LP atunci (F1 F2) LP.

(iii) Dacă F1, F2 LP atunci (F1 F2) LP.

(iv) Dacă F LP atunci (F) LP.

Nimic altceva nu mai este formulă.

Semantica LP

• Vorbim despre algebre booleene și noțiunea de asignare

Page 33: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 12

• Teoremă (de extensie). Pentru fiecare asignare S,

S : A B există o unică extensie a acesteia,

S’ : LP B (numită și structură sau interpretare),

care satisface:

(i) S’(A) = S(A), pentru fiecare A A

(ii) S’(( F)) = pentru fiecare F LP

(iii) S’((F1 F2) ) = S’(F1) • S’(F2),

pentru fiecare F1, F2 LP

(iv) S’((F1 F2) ) = S’(F1) + S’(F2), pentru fiecare

F1, F2 LP

(v) S’((F)) = S(F), pentru fiecare F LP.

S '(F )

Page 34: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 13 • Definiţie (folosim de-acum S în loc de S’) .

-O formulă F LP se numeşte satisfiabilă dacă există măcar o

structură S (completă) pentru care formula este adevărată

(S(F) = 1). Se mai spune în acest caz că S este model pentru F

(simbolic, se mai scrie S ╞ F)

-O formulă este validă (tautologie) dacă orice structură este

model pentru ea

-O formulă este nesatisfiabilă (contradicţie) dacă este falsă în

orice structură (S(F) = 0, pentru fiecare S, sau S⊭ F, pentru

fiecare S).

• Restul problematicii (inclusiv formele normale, rezoluție și

rezolvarea sintactică a SAT) nu o mai reluăm explicit, nici pe

viitor (există în Bibliografie sau în link-uri din pagina mea, dacă

nu se regăsește ceva în slide-uri...căutați)

Page 35: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 14

• Teoremă (decidabilitatea pentru LP, a

problemei SAT). Satisfiabilitatea

(validitatea, nesatisfiabilitatea) formulelor

LP este decidabilă în timp exponenţial.

Page 36: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 15

Sintaxa LP1

• Pentru a construi mulţimea de formule a logicii cu

predicate de ordinul I, LP1, vom porni cu următoarele

mulţimi de simboluri:

-X = {x1, x2, …}: o mulţime cel mult numărabilă de

variabile funcţionale sau, pe scurt, variabile

-P = {P0, P1, …}: o mulţime cel mult numărabilă de

simboluri predicative (sau predicate, sau relaţii), cu

arităţi; la rândul său, fiecare Pi este o mulţime cel mult

numărabilă de predicate de aritate i (i N);

elementele lui P0 se mai numesc şi variabile

predicative

Page 37: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 16 -F = {F0, F1, ...}: o mulţime cel mult numărabilă de

simboluri funcţionale (sau funcţii) cu arităţi,

fiecare Fi fiind o mulţime cel mult numărabilă de

funcţii de aritate i (i N); elementele lui F0 se

numesc şi constante (funcţionale)

-C1 = {, , }: o mulţime de conectori logici

(conective logice), la care se pot adăuga, opţional,

şi alte simboluri cum ar fi , etc.

-C2 = {(x) | x X} U {( x) | x X}: o mulţime de

cuantificatori (cuantori), universali, respectiv

existenţiali ((x) se citeşte „pentru fiecare x”, sau

„pentru oricare (orice) x”, iar (x) – „există x”, „există

măcar un x” etc.)

Page 38: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 17

• Ca şi în cazul LP, vom porni cu alfabetul

total, adică reuniunea mulţimilor precedente,

împreună cu parantezele rotunde şi virgula

(pe scurt, P):

-Alf = X U (UPi ) U (UFi ) U C1 U C2 U P

• Mulţimile UPi şi UFi vor fi notate tot cu P ,

respectiv F, atunci când nu există confuzii

Page 39: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 18

• Definiţie (sintaxa LP1). Fie Alf alfabetul fixat anterior.

Atunci mulţimea formulelor calculului cu predicate de

ordinul I, LP1Alf, este dată constructiv prin:

Baza. Se defineşte mulţimea formulelor atomice, notată

cu At, prin:

(i) Po At (variabilele predicative sunt formule atomice)

(ii) Pentru fiecare n N*, pentru fiecare P Pn, pentru

fiecare t1, t2, …, tn T, avem P(t1, t2, ……, tn) At

(iii) Nimic altceva nu mai este formulă atomică.

• În cele de mai sus, T denotă mulţimea termilor

(funcţionali), care este la rândul ei definită constructiv

astfel:

Page 40: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 19 Baza. X T şi F0 T (variabilele şi constantele sunt termi; se mai

numesc şi elementari).

Pas constructiv. Pentru fiecare n N*, pentru fiecare f Fn, pentru fiecare

t1, t2, … , t n T, avem f(t1, t2, …, tn) T.

Concluzionăm această (primă) etapă a definiţiei prin:

Baza. At LP1 (formulele atomice sunt formule). Continuăm definirea lui

LP1Alf cu partea „formule noi din formule vechi”:

Pas constructiv.

(i) Dacă F LP1 atunci ( F) LP1.

(ii) Dacă F1, F2 LP1 atunci (F1 F2), (F1 F2) LP1 (dacă dorim,

putem introduce şi (F1 F2), (F1 F2) LP1, etc.).

(iii) Dacă F LP1 atunci (x)(F) LP1; punem şi ( x)(F) LP1, pentru

fiecare x X.

(iv) Dacă F LP1 atunci (F) LP1

Nimic altceva nu mai este formulă.

Page 41: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 20 Semantica LP1 (rezultate, complemente, legătură sintaxă-semantică)

• Trecem în revistă Teorema (de extensie), rezoluţie, SAT…(practic,

toată problematica logicii bivalente clasice sugerată la LP, cu accent

pe posibilitățile de generalizare la LP1 și la logicile „superioare”)

• Repetăm că ar trebui cunoscute, mai mult sau mai puțin, măcar la

acest nivel (înainte de a aminti de formalizarea unor aspecte legate

de securitate, criptografie, protocoale, logica BAN, etc.) :

-Teoriile logice și sistemele deductive

-Elemente de Programare logică (limbaje de tip PROLOG)

-Elemente de Programare funcţională (notația lambda, lambda

calculul; un limbaj comercial, implementat)

-Problematica privind Model-checking-ul și demonstrarea automată

-Elemente de logici superioare (să zicem, modale și temporale)

• Prezentăm doar un strict necesar, cu insistență pe logicile mai

avansate (urmăriți și celelalte link-uri amintite...)

Page 42: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 21

• Teorie logică - concept semantic pentru

definirea şi tratarea globală a unei mulţimi

de formule: TE

• O teorie logică este o (sub)clasă de formule

închisă la consecinţă semantică

• Cu alte cuvinte, o mulţime TE de formule (din

orice logică) este teorie logică dacă pentru

fiecare submulţime T TE şi fiecare (altă)

formulă G care este consecinţă semantică

din T, avem şi GTE

Page 43: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 22

• Sistem deductiv (de deducţie, de demonstraţie,

inferenţial) - concept sintactic pentru definirea şi

tratarea globală a unei mulţimi de formule FORM:

SD

• Se numeşte sistem deductiv în FORM, un cuplu

SD = <A, R> unde

- A FORM este o mulţime de axiome iar

- R FORM+ C o mulţime de reguli de inferenţă

(de deducţie, de demonstraţie)

Page 44: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 23

• În cele de mai sus, FORM+ denotă mulţimea relaţiilor de

oricâte argumente (cel puţin unul) peste FORM, iar C

reprezintă o mulţime de condiţii de aplicabilitate; fiecare

regulă de inferenţă r R , are astfel aspectul

r = < < G1, G2, … , Gn, G>, (c)>, unde n N,

iar G1, G2, … , Gn FORM; (c) C

• G1, G2, … , Gn sunt ipotezele (premizele) regulii, G

reprezintă concluzia (consecinţa) iar c desemnează

cazurile (modalităţile) în care regula poate fi aplicată;

vom putea scrie chiar r = < < {G1, G2, … , Gn}, G>, c>

deoarece ordinea ipotezelor nu este esenţială

Page 45: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 24 • O regulă r = < < {G1, G2, … , Gn}, G>, (c)> va fi

scrisă şi ca:

• În cazul în care n = 0 şi (c) lipseşte, r poate fi

identificată ca fiind o axiomă, după cum rezultă din

definiţia care urmează

• Câteodată, alături de c, sunt explicitate separat şi

restricţiile sintactice locale asupra (formei)

(meta)formulelor (de ce „meta”...)

1 2 nG , G ,... . , G

, cG

Page 46: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 25 • Definiţie (demonstraţie, deducţie sintactică, raţionament).

Fie un sistem deductiv SD = <A, R> în FORM. Se numeşte

demonstraţie (pentru Fm, pornind cu A) în SD o listă de

(meta)formule (D) : F1, F2, … , Fm astfel încât pentru fiecare

i [m], fie Fi A, fie Fi este obţinut din Fj1, Fj2, … , Fjn

folosind o regulă r = < < {Fj1, Fj2, … , Fjn}, Fi>, c> R,

unde j1, j2, ... , jn < i

• Prin urmare, fiecare element al listei (D) este fie o axiomă, fie

este concluzia unei reguli de inferenţă ale cărei ipoteze sunt

elemente anterioare din listă; de detaliat și:

• Teoreme de corectitudine şi completitudine (sau

incompletitudine: aritmetica Peano; Presburger; etc.)

• Sisteme de tip Hilbert şi Gentzen, deducţie naturală,

calculul cu secvențe: SD0, SD1, SD3 (măcar); rezoluția ca

sistem deductiv, etc.

Page 47: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 26

• Ar urma o altă parte, privind diagramele de decizie binară

(eventual, ordonate) poate nu ați făcut-o la timp, la capitolul de

logică clasică legată de algebre boolene; dar o regăsiți acum și în

slide-urile relative la „Logica de anul I ”

• Ştim ce înseamnă funcţii booleene (inclusiv algebra booleană B) şi

reprezentarea lor cu ajutorul tabelelor de adevăr sau cu expresii

(FNCP, de exemplu)

• O altă reprezentare a elementelor din FB (mulţimea tuturor

funcţiilor booleene) se bazează pe diagramele de decizie binare

((O)BDD – (Ordered) Binary Decision Diagrams)

• Alegerea celei mai „convenabile” reprezentări depinde de context

• Tot ceea ce vom menţiona aici este că în anumite cazuri o BDD

poate fi mai „compactă” decât o tabelă de adevăr pentru o aceeaşi

funcţie (din cauza anumitor redundanţe care pot fi exploatate)

Page 48: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 27 • Renunțăm la explicitarea programării funcționale,

continuând cu ceva despre programarea logică

• Primul pas în scrierea unui program de tip

PROLOG (pur), este să formalizăm afirmaţiile

(inclusiv interogarea) prin formule din LP1 (de

exemplu...)

• Pentru aceasta, identificăm mai întâi elementele

importante din realitatea (lumea, universul) avută

în vedere

• Se pot distinge astfel următoarele elemente:

-Obiecte (intuitiv, constante ale lumii reale)

Page 49: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 28

-Transformări între (mulţimi de) obiecte;

acestea s-ar reprezenta prin simboluri

funcţionale de aritate mai mare ca 0

-Nume generice pentru obiecte; avem nevoie de

acest lucru deoarece există exprimări de genul

„Lui Adam îi place orice persoană care...” ; vom

nota cu X mulţimea tuturor acestor nume (care

vor fi, intuitiv desigur, variabile) şi vom folosi

x, y,…X

-Relaţii (legături) între (mulţimi de) obiecte; de

exemplu, „Lui Adam îi place de Eva”

Page 50: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 29

• Al doilea pas poate fi descris prin

-Construirea Afirmaţiilor adică, în acest moment putem

traduce cunoştinţele existente în formule (ale logicii

aristotelice...), lucru urmat inevitabil de formularea

-Interogării (întrebării); prin aceasta, dorim de fapt să

știm dacă o (nouă) cunoștință (formulă) este consecință

semantică din baza de cunoștințe pe care am construit-o

până acum

• Al treilea pas constă în a găsi o respingere în LP1,

pornind cu clauzele lui F*, folosind (de exemplu)

rezoluţia de bază; prin urmare, calculăm mai întâi D(F) şi

apoi E(F) (sau/şi E’(F)), etc.

Page 51: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 30

• Un program logic (clasic, standard, pur)

este format dintr-o mulţime finită de formule

program, alcătuită din fapte şi o mulţime de

formule suplimentare; un program logic

interogat este un cuplu format dintr-un

program logic şi o formulă scop; toate

formulele implicate sunt formule Horn, aflate

în FNSC şi cuantificate universal (clauza scop

este la fel doar în urma negării ei)

Page 52: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LP/LP1 – 31 • Pentru a încheia această primă parte recapitulativă, să

spunem că cel mai simplu mod de a vorbi despre

calculabilitate și decidabilitate este de a apela la

noţiunile intuitive de problemă şi algoritm care

rezolvă o problemă

• Apoi este nevoie de stăpânirea unor concepte formale

cum ar fi limbaje formale și automate, mulţimi și funcții

recursive și recursiv enumerabile; maşini Türing;

Random Access Machines (RAM), etc.

• Situaţia este şi mai complexă dacă dorim să discutăm,

mai mult decât informal, despre eficiență, adică despre

(clasele de) complexitate (formală) sau despre

(in)tractabilitate (am mai zis: căutați singuri, sau link...)

Page 53: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 54: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LOGICI

MODALE ȘI TEMPORALE

(LMT) – 1 • Pentru logicile neclasice (în ansamblu) pe care le vom trece în

revistă în continuare, vom folosi schema propusă inițial

(sintaxă, semantică, eventual forme normale, sisteme

deductive, SAT și alte rezultate importante)

• „Avansăm” întâi spre logicile de încredere, care sunt cele mai

potrivite pentru „modelarea simplă” a părții/zonei de realitate

care ne interesează (comunicarea „sigură” în sistemele

multiagent „în INTERNET” = SISTEM, după cum am mai

precizat)

• Prin „logici neclasice” ar trebui înțeles: Modal, Temporal and

Epistemic Logics (inclusiv „logicile de încredere”, de fapt)

Page 55: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 2

• Logicile temporale pot fi privite drept cazuri particulare ale unor logici

modale, deși ele au în acest moment o definiție/existenţă şi o

evoluţie/aplicabilitate independentă (ar trebui însă altă formalizare...)

• Diverse logici modale au, de asemenea, o evoluţie individualizată în

anumite ramuri ale informaticii (legate în mod direct de concurenţă și

distributivitate, în marea lor majoritate), tratând separat subiecte cum ar fi,

de ex., cunoaşterea în sistemele multiagent

• Într-un final, logicile de încredere sunt (pot fi privite ca) logici

epistemice, iar logicile epistemice sunt logici modale „temporale” (vom

reveni...)

• Modalităţile/modurile principale (operatorii modali) ale logicii modale de

bază (clasice, standard) nu sunt mereu/neapărat (mai revenim...)

□ (box/always) şi ◊ (diamond/eventually), ci, posibil,

(circle/next), U (u/until) sau Ũ (ũ/releases) (sau chiar alții...)

• Depinzând de relația dintre lumile universului (vezi în continuare),

operatorii pot avea și alte semnificații intuitive (ca modalități, sau moduri de

adevăr)

Page 56: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 3 • Astfel, în funcţie context și de diferitele „nuanţe” (moduri/modalități

de „adevăr”), înafară de adevărat_în_viitor (se poate chiar înlocui

în viitor cu în trecut, dar nu insistăm pe moment; filozofic...), mai

putem avea şi adevărat_în_mod_necesar, crezut_a_fi_adevărat,

corespunde_cunoştinţelor_agentului_Q, etc.; operatorii modali nu

se mai citesc prin urmare întotdeauna_în_viitor/cândva_în_viitor ci

necesar/posibil, sau crezut_de_toţi/crezut_de_cineva, sau chiar

agentul_Q_ştie_sigur_că/din_ceea_ce_ştie_agentul_Q, etc.

• Vom nota cu Ф (sau cu MD) mulţimea formulelor logicii modale

de bază, definită constructiv (sintaxa MD!) peste alfabetul

L = A U P U C1 U C2, unde A = {p1, p2, …} este mulţimea cel mult

numărabilă a variabilelor propoziţionale (a literalilor pozitivi),

P = {( , )} este mulţimea parantezelor, C1 = {, , , , } este

mulţimea conectorilor booleeni iar C2 = {□, ◊} este mulţimea

operatorilor modali (acestea pot fi mai vaste sau mai reduse...)

Page 57: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 4

• Ā = {p1, p2, …} va denota mulţimea negaţiilor

variabilelor propoziţionale (a literalilor negativi)

• Nu vom introduce (deocamdată) explicit în L,

mulţimea de operatori 0-ari adică constantele

(sau simbolurile) {true, false} (posibil a fi notaţi în continuare şi prin - top, respectiv prin

- bottom); ei vor fi introduși totuși, dar ca

formule atomice, iar negațiile ca formule

compuse

• Ca de obicei, definiţiile structurale pot fi

prezentate mai succint dacă utilizăm notația BNF

(Backus–Naur Form)

Page 58: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 5 Definiţie (sintaxa logicii modale de bază: Ф/MD).

Baza (formule atomice).

(i) true, false Ф.

(ii) Pentru fiecare p A, avem p Ф.

Pas constructiv (formule noi din formule vechi).

(a) Dacă F Ф, atunci (F) Ф.

(b) Dacă F1, F2 Ф, atunci (F1 F2),

(F1 F2), (F1 F2), (F1 F2) Ф.

(c) Dacă F Ф, atunci (□F), (◊F) Ф.

(d) Dacă F Ф, atunci (F) Ф.

(e) Nimic altceva nu mai este în Ф.

Page 59: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 6 • BNF-ul corespunzător:

Ф ::= | | p | ( Ф) | (Ф Ф) | (Ф Ф) |

(Ф Ф) | (Ф Ф) | (□ Ф) | (◊ Ф), unde p A

(paranteze, priorități, arbori sintactici, gramatici...)

• Înainte de a furniza şi semantica, să precizăm că diferenţele faţă de logica temporală „aleasă de noi” (care va urma) sunt minore la nivel strict sintactic, cea mai importantă fiind posibilitatea de a aplica negaţia oricărei formule, încă de la început (devin formule atomice atât literalii pozitivi cât și cei negativi)

• Alegerile noastre vor fi (în mare parte) justificate pe parcurs

• Nu ne vom ocupa (acum) de probleme de genul „care este numărul minim” de conectori astfel încât „niciunul să nu poată fi exprimat (semantic) cu ajutorul celorlalţi” (alternativ, „care sunt bazele minimale pentru această logică”)

• Bazele sunt importante atunci când „lungimea” unei formule devine esențială (în algoritmii de model-checking, de ex.)

Page 60: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 7 • Definiţie (structuri Kripke modale). O structură Kripke

modală este un 4-uplu K = <A, W, R, Π>, unde:

-A este mulţimea variabilelor propoziţionale (nevidă, cel mult

numărabilă)

-W este mulţimea stărilor sau lumilor universului (nevidă, cel

mult numărabilă; sau, universul este format din lumi...)

-R W W este o relaţie de trecere (sau de accesibilitate, sau

de legătură între lumi)

-Π : W 2A este o funcţie care va ataşa fiecărei stări mulţimea

variabilelor propoziţionale adevărate în acea stare

• Se mai poate adăuga o mulțime de stări inițiale, W0 W (și

atunci K devine un 5-uplu); de obicei, card(W0) = 1

• Cu structurile Kripke am „intrat” deja în semantică...

Page 61: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 8 • Definiţie (semantica MD). Fie

K = <A, W, R, Π> o structură Kripke modală. Adevărul formulelor din Ф, în K, se obţine în două faze/etape:

(I) Adevărul formulelor într-o lume (stare) oarecare.

-Baza:

(i) Pentru fiecare w W, w true şi

w false („în cuvinte...”).

(ii) Pentru fiecare w W, w p dacă şi numai dacă p Π(w), pentru fiecare

p A.

Page 62: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 9 -Pas constructiv:

(a) Pentru fiecare w W, w ( F) dacă şi numai

dacă w F (pentru fiecare F Ф).

(b) Pentru fiecare w W, w (F1 F2) dacă şi

numai dacă w F1 şi w F2 (pentru fiecare F1,

F2 Ф).

(c) Pentru fiecare w W, w (F1 F2) dacă şi

numai dacă w F1 sau w F2 (pentru fiecare F1,

F2 Ф).

(d) Pentru fiecare w W, w (F1 F2) dacă şi

numai dacă: dacă w F1 atunci w F2 (pentru

fiecare F1, F2 Ф).

Page 63: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 10

(e) Pentru fiecare w W, w (F1 F2) dacă şi numai dacă: dacă

w F1 atunci w F2 şi reciproc (pentru fiecare F1, F2 Ф).

(f) Pentru fiecare w W, w (□F) dacă şi numai dacă avem:

w’ F pentru fiecare w’ W care satisface <w, w’> R (pentru fiecare

F Ф).

(g) Pentru fiecare w W, w (◊F) dacă şi numai dacă avem: există

w’ W care satisface <w, w’> R astfel încât w’ F (pentru fiecare

F Ф).

(II) Adevărul formulelor în structura dată. O formulă

F Ф este adevărată într-o structură Kripke, K, dacă şi numai dacă ea

este adevărată în orice lume w W (adică avem K F dacă şi numai

dacă w F, pentru fiecare w W; nedeterminism angelic și demonic,

există versus orice, etc.); putem scrie (convențional) K(F) = 1 (sau chiar

w(F) = 1, sau S(F) = 1,...); putem pune chiar, în situațiile care o cer,

K F dacă şi numai dacă w F, pentru fiecare w W0 .

Page 64: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 11

• Să notăm că, peste tot în cele de mai sus, era mai corect de scris w K F sau <K, w> F

Observaţie.

(1)Relaţia R nu este presupusă a fi totală; pot

exista lumi w care nu mai au succesori; pentru aceste lumi avem, de exemplu, w (◊F), pentru

fiecare F Ф (inclusiv pentru F = true !); dual, avem w (□F), pentru fiecare F Ф (inclusiv

pentru F = false !), deoarece afirmaţia „avem

(w’ F pentru fiecare w’ W care satisface

<w, w’> R)” este adevărată prin lipsă, sau în

mod implicit (true by default).

Page 65: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 12 (2) Expresia „lumea w’ este legată de lumea w (în K, prin R)” trebuie desigur

înţeleasă prin aceea că <w, w’> R; aceasta ne sugerează în primul rând

faptul că logica modală de bază are o interpretare (ca mod de adevăr) pentru

□/◊ (de genul „relația R dă tonul”, indiferent de ceea ce înțelegem prin lume):

în_toate_lumile_legate/pentru_măcar_o_lume_legată; ceea ce face ca

această logică să poată fi privită ca o generalizare a tuturor celor care vor fi

abordate de noi, inclusiv a logicilor temporale sau a celor „agent dependent”

(totul depinzând de înțelesul atribuit expresiei „lume legată”); în al doilea

rând, ar părea natural ca, în lipsa totalităţii, relaţia R să fie măcar reflexivă şi

tranzitivă (ceea ce poate schimba chiar afirmațiile simple anterioare; similar,

se pot face doar anumite convenții locale, de genul <w, w> R (pentru un

anumit w), atunci când ne ocupăm de o semantică concretă; și alte proprietăţi

generale pentru R pot fi luate în considerare, lucru care poate conduce la

rezultate surprinzătoare faţă de cele presupuse, intuitiv, a fi standard (vezi

exemplele din Huth/Ryan).

(3) Operatorii □ şi ◊ „seamănă” atât cu cuantificatorii din LP1 cât şi cu

cuantificatorii de cale din CTL (vezi mai jos), dar este evident că diferenţele

determină o clară separare în ceea ce priveşte problemele de decizie legate

de semantica formală din logicile respective (inclusiv SAT).

Page 66: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 13 • De acum încolo, dacă nu vom spune altceva, presupunem că R este

reflexivă și tranzitivă, dar nu este (neapărat) totală

• Exemplu. Fie structura Kripke K = <A, W, R, Π>, unde:

-A = {p, q, ...}.

-W = {w1, w2, w3, w4, w5, w6, ...}.

-R = {<w1, w2>, <w1, w3>, <w2, w3>, <w2, w2>, <w3, w2>, <w4, w5>,

<w5, w4>, <w5, w6>} (construiți graful care reprezintă R; este relația

reflexivă ?)

-Π(w1) = {q}, Π(w2) = {p, q}, Π(w3) = {p}, Π(w4) = {q}, Π(w5) = Ø,

Π(w6) = {p} (este adevărat că avem: w1 q, w1 (◊q), w1 (□q),

w5 (□p), w5 (□q), w5 (□p □q), w5 □(p q) ?) (graful „relațional”

se etichetează și cu elemente din codomeniul lui Π)

• Este adevărat că lumile de mai sus care satisfac formula

F = ((□p) p) sunt doar w2, w3, w4 și w6 ?

• Avem oare K F ?; dar în nedeterminismul angelic ? (voi, ce nu-i...)

Page 67: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 13/1

(EXEMPLU; REZOLVĂRI)

• Graful „lui R” este orientat, dublu etichetat pe

noduri și putem spune că reprezintă întreaga

structură K

• În cazul nostru, el va avea 6 noduri, etichetate cu

o primă etichetă care denotă lumea/starea (w1,

...,w6); a doua etichetă a fiecărui nod va fi

mulțimea stărilor adevărate în acel nod, adică

Π(wi), i [6] (de exemplu, a doua etichetă a lui

w2 este {p, q} iar a lui w5 este Ø)

• Vom avea arc de la w’ la w’’ ddacă <w’, w’’> R

Page 68: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 13/2

(EXEMPLU; REZOLVĂRI) • Avem w1 (◊q) ddacă există w’ W care satisface

<w1, w’> R, astfel încât w’ p; lucru adevărat, putând lua

w’ = w2 sau w’ = w3, deoarece p Π(w2) (= {p, q}) și

p Π(w3) (= {p})

• Pentru ca o stare w ((□p) p): fie w (□p), fie (exclusiv)

w (□p), dar atunci trebuie să avem și w p

• Să ne plasăm în a doua situație; pentru a avea w (□p), ar

trebui ca pentru fiecare w’ cu <w, w’> R, să avem și

w’ p; dacă luăm w = w1, atunci afirmația imediat

anterioară este adevărată (w’ = w2 sau w’ = w3, iar

p Π(w2) și p Π(w3)); dar pentru ca w1 ((□p) p), ne

trebuie și w1 p, ceea ce nu mai este adevărat, deoarece

p {q}

Page 69: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 13/3

(EXEMPLU; REZOLVĂRI) • Concluzionăm imediat că w1 ((□p) p)

• Desigur, rezultă și alte lucruri, în mod similar, dar,

posibil, nu cu aceeași concluzie), despre restul stărilor

• Dacă pornim de la cerința w (□p), caz în care nici nu

ne mai interesează ce se întâmplă cu adevărul lui p în

vreo stare (deoarece

((□p) p) devine implicit adevărată în w): ar trebui ca

să existe măcar o stare w’ cu

<w, w’> R, astfel încât p Π(w’); niciuna dintre

stările „noastre” nu se află însă în situația de-abia

descrisă

Page 70: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 14 • Există anumite dificultăți legate de definirea constructivă a

adevărului în trepte, folosit mai sus (întâi într-o lume, apoi în

structura corespunzătoare, apoi...)

• Definiţie (consecinţă semantică şi echivalenţe în logica modală de bază). Fie F Ф, G Ф şi K = <A, W, R, Π> o

structură Kripke. Spunem că G este consecinţă semantică din F în K (pe scurt, F K G) dacă şi numai dacă din w K F (pentru fiecare

F F) avem w K G şi aceasta pentru fiecare wW. Două formule

F şi G din Ф sunt tare echivalente în K (F K G) dacă şi numai dacă {F} K G şi {G} K F. Putem „merge mai departe” și vorbi

despre tare/slabă echivalență, validitate, satisfiabilitate, etc. (de

exemplu, F G dacă şi numai dacă F K G, pentru fiecare K...; F

este validă în K...; F este validă; F este satisfiabilă...).

• În acest cadru (pentru noi, prea) general, nu ne vom ocupa de

formele normale pentru formule (necesare, de ex., pentru aplicarea

rezoluției, ca metodă sintactică de testare a satisfiabilității)

• Amânăm și prezentarea unor rezultate importante...

Page 71: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 15 • Ca și logica modală, logica temporală definită direct (mai

corect: logicile temporale) reprezintă, în primul rând, o

extensie a logicii clasice bivalente (există și...extensii

clasice ale logicilor clasice; comparații: ierarhii, putere de

exprimare...), în care timpul (interpretat discret, nu

continuu, lucru totuși posibil...) este reprezentat implicit

prin anumiţi operatori sintactici şi apoi interpretat explicit

așa, în semantică

• Logicile temporale se constituie într-un limbaj potrivit

pentru a descrie proprietăţi importante ale unor

secvenţe/cuvinte infinite (sau chiar arbori infiniţi), care pot

reprezenta, ca suport, comportările temporale ale unui

sistem (concurent) real (este vorba aici inclusiv despre

sistemele multiagent)

Page 72: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 16 • Logica temporală poate fi privită, în același timp, și ca un caz

particular chiar al logicii dinamice (altă extensie/restricție a logicii

modale; nu insistăm), care au implementări comerciale de succes

(relativ la timp, lumile/stările nu „prea” există aprioric, ca entități

primordiale, ci se construiesc în momente succesive de timp, prin

„programe” care convertesc o lume la alta, prin acțiuni sau

evenimente care schimbă starea curentă, etc.; scalabilitatea poate

fi totuși o problemă...)

• În logica modală, principala idee era aceea că adevărul unei

formule depinde de contextul/lumea/universul în care aceasta

este folosită

• Contextul (privit ca o mulţime nevidă de stări/lumi care

inter-relaţionează) îl poate reprezenta însă nu doar acel univers

(abstract) înconjurător cu lumile/stările lui, ca mai înainte, ci și

timpul (privit ca entitate în sine), clasa de agenți, sistemul de

operare în ansamblu, mediul de programare, etc.

Page 73: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 17 • Structura/interpretarea unei formule în cazul unor asemenea logici

(neclasice) temporale (care, pentru fragmentele alese de noi, vor

rămâne extensionale, bivalente și bazate pe tertium non datur), va

furniza o unică valoare de adevăr pentru fiecare stare, într-un

context (moment de timp) dat

• Relaţia modală R, prin care se stabileau legăturile dintre stări, va fi

aici dedusă direct din modul în care va fi privit timpul (liniar sau

arborescent)

• În logica dinamică de ex., relaţia este generată de execuţia unor

programe reale, de obicei concurente (acţiuni/evenimente cumva

externe universului considerat, dar având propria lor interpretare)

• Pe scurt, putem privi intuitiv starea ca reprezentând o situație

posibilă a sistemului (eventual, multiagent...), la un moment dat de

timp; o succesiune temporală de stări corelate va fi o comportare

posibilă (în timp) a sistemului; o formulă adevărată, va descrie o

proprietate (dorită a fi) satisfăcută de către sistem, etc.

Page 74: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 18 • Vom începe cu o descriere a sintaxei şi semanticii logicii temporale

(propoziţionale) cu timp liniar (LTL/PTL), la nivel intuitiv

• Dacă ne gândim la sintaxa LP, formulele din LTL vor conţine (înafara variabilelor propoziţionale şi a conectorilor cunoscuţi ,, ..., cu ajutorul

cărora se exprimă adevăruri generale, simple, independente de timp), şi nişte

operatori noi, care sunt operatorii temporali de viitor (sintactic, unii dintre

aceștia pot să nu difere de operatorii modali întâlniți deja; pot fi și alții înafară

de cei pe care-i amintim; trecutul, încă, îl neglijăm)

• Dintre aceştia (primii trei sunt unari - știm asta - iar ultimii trei, binari) amintim:

(sau N, X) – circle/NeXt/tomorrow

(la_momentul_de_timp_imediat_următor)

□ (G) - box/always/Globally) (întotdeauna_în_viitor)

◊ (F) - diamond/eventually/Finally/sometimes) (cândva_în_viitor)

U – u/until (până_când_în_viitor)

Ũ (R, V) – ũ/releases (declanşează/provoacă_în_viitor)

W – double u/unless/Week until (înafară_de_cazul_când_în_viitor)

• Operatorii absolut necesari sunt aici (i-am ales pentru a constitui o bază; se pot selecta și alții, care se exprimă prin aceștia): , , , U

Page 75: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 19

• Din punct de vedere semantic se va schimba noţiunea de

structură/interpretare (Kripke, modală); desigur că formulele vor primi

(tot gradual/constructiv) o valoare de adevăr (0 sau 1), posibil diferită, în

funcţie de: secvenţa (de timp) aleasă, de valorile de adevăr ale

variabilelor propoziţionale în fiecare element al secvenţei şi de operatorii

care intră în componenţa formulelor

• Elementele/etichetele unei secvenţe (cuvânt infinit) se mai numesc stări,

ele identificând (în mod uzual) anumite situaţii care se pot petrece la

diversele locuri/momente de timp (timpul, considerat a fi unic și discret,

adică liniar „în curgerea sa”, va fi pur și simplu considerat ca fiind

reprezentat de mulțimea N)

• A alege o secvenţă înseamnă de fapt a alege stările componente

(identificate tot prin mulţimea variabilelor propoziţionale adevărate în ea)

şi ordinea acestora

• Să considerăm astfel secvenţa următoare care conţine stările s0, s1, s2,

s3, s0, s1, s2, s3, …, respectiv pe poziţiile/momentele de timp 0,1, 2, 3, 4,

5, 6, 7, …; mai scriem și w = w0w1w2... (unde wi este starea de pe poziția

i, i N)

Page 76: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 20

• Dacă s0 = {p, q}, s1 = { p, q},

s2 = { p, q} = s3, p şi q fiind variabile

propoziţionale/formule atomice, putem „picta” graful (arborele unar...):

(de „pus cum trebuie” în „poză”; s3 este

marcată, mai exact starea w3 care apare la

momentul 3; s0 apare la momentul 0, 4, ...; vezi și

continuarea...)

Page 77: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 21 • Este adevărat că (în „poză”): formulele F1 = p q şi

F2 = (p q) sunt adevărate în starea marcată iar

F3 = □p este falsă în întreaga secvenţă (voi, sau

slide următor) ?

• Reluând, dacă privim totul „de sus în jos”, adică din

perspectiva logicii modale, universul ar fi constituit

din clasa tuturor stărilor (privite ca mulțimi de

formule atomice, negate sau nu, cu condiția...), iar

relația dintre stări pentru o structură va fi practic

dedusă din relaţia temporală sugerată de o

cale/secvență (vezi mai jos)

• În acest mod, o secvență, va fi ea însăși privită ca o

structură/cale (Kripke temporală/liniară)

Page 78: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 21/1

(EXEMPLU; REZOLVĂRI)

• Să arătăm că F2 = (p q) este adevărată în w3

(= s3)

• Acest lucru (mai corect, w3 ((p q))), revine

(intuitiv !) la w4 (p q); astfel, atât p, cât și q,

trebuie să fie adevărate în starea w4, imediat

succesoare (în timp) stării w3; cum w4 este de

fapt s0 („etichetată” cu {p, q}), pentru ca F2 să fie

adevărată în starea (momentul) menționată,

trebuie ca p {p, q} și q {p, q} (ceea ce este

evident)

Page 79: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 22

• Pentru definiţiile formale, vom porni cu alfabetul

„logic” L = A U Ā U P U C1 U C2, unde

A = {p1, p2, …} este mulţimea (nevidă, cel mult

numărabilă) a variabilelor/formulelor atomice

propoziţionale (sau a literalilor pozitivi),

Ā = {p1, p2, …} este mulţimea negaţiilor

variabilelor propoziţionale (adică a literalilor

negativi), P = {( , )} este mulţimea parantezelor,

C1 = { - mai „altfel”,, } este mulţimea

conectorilor booleeni iar C2 = {, U, Ũ} este

mulţimea operatorilor temporali

Page 80: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 23 • Pentru că nu am introdus aici şi cuantificatorii, LTL este mai

degrabă (dacă privim „de jos în sus”) o extensie a LP decât a

LP1 (iar comentarii legate de extensii, fragmente, ierarhii ale

logicilor, privite ca mulțimi de fomule; putere de exprimare...)

• De aceea această mulţime se mai numeşte şi logică temporală

propoziţională (Propositional Temporal Logic - PTL)

• Faptul că LTL este şi cu timp liniar va fi justificat prin semantică

(mai exact, prin modalitatea de definire a unei structuri, adică

de obţinere a valorii de adevăr pentru o formulă)

• Logicile temporale studiate în continuare (LTL, CTL*, CTL...),

exprimă simplu realitatea „noastră” identificată până acum,

adică clase întregi de proprietăți dorite ale sistemelor (MA)

reale, cum ar fi cele de siguranță (safety),

permanență/vivacitate (liveness), corectitudine (fairness),

etc. (revenim...)

Page 81: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 24

• Definiţie (sintaxa LTL).

Baza (formule atomice).

(i) true, false sunt formule atomice şi elemente ale LTL.

(ii) Pentru fiecare p A, atât p, cât şi p ( Ā) sunt formule atomice şi

elemente ale LTL (prezente însă nu simultan într-o aceeaşi stare;

vezi semantica).

Pas constructiv (formule noi din formule vechi).

(a) Dacă F1, F2 LTL, atunci (F1 F2), (F1 F2) LTL.

(b) Dacă F LTL, atunci (F) LTL.

(c) Dacă F1, F2 LTL, atunci (F1 U F2), (F1 Ũ F2) LTL.

(d) Dacă F LTL, atunci (F) LTL.

(e) Nimic altceva nu mai este în LTL.

• Putem renunța (se va vedea mai clar puțin mai târziu) la folosirea explicită a operatorilor , Ũ, true, false

• Varianta BNF (voi...)

Page 82: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 25 Observaţie. Faţă de cazul „clasic, modal” am introdus (și)

negaţiile variabilelor propoziţionale în mulţimea

formulelor atomice, negaţia nemaifiind prezentată

explicit ca un conector pentru obținerea formulelor

compuse.

• Acest „dezavantaj” poate fi eliminat, la fel ca şi absenţa posibilă a altor operatori importanți (cum ar fi ◊, □, ,

true, false, Ũ, ...), prin folosirea unor echivalențe

(„evidente”/naturale, pe care le admitem deocamdată

fără demonstrație) și introducerea „globală” a lui

• Vom reveni după definirea semanticii formale

• Nicio modificare de asemenea natură (posibil a fi

adoptată chiar prin definiție/convenție) nu schimbă însă

esenţial rezultatele principale deja cunoscute/bănuite

Page 83: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 26 • Dacă nu există confuzii, vom folosi priorităţi pentru operatori și vom elimina anumite paranteze

corespondente (sau, uneori, scrierea lor cu bold) din formule (arbori, compilator, ...)

• Priorităţile general acceptate sunt, de obicei: 0 – pentru operatorii unari, 1 – pentru , şi 2 (şi

mai mare...) – pentru restul...

Definiţie (drum). Se numeşte drum (cale, urmă, rută, traseu, structură, secvență, cuvânt) pentru o

logică LTL (peste A) orice funcţie π : N 2A. Pentru un drum π vom nota cu πi sufixul său obţinut

prin înlăturarea primelor i elemente (deci a prefixului π(0), π(1), ..., π(i-1)). E vorba de funcţia

πi : N 2A dată prin πi(j) = π(i+j), pentru fiecare j N (i N*). Orice submulțime w a lui A se

numește stare; π(0) va fi numită starea inițială a căii π. Admitem de pe acum că F este

adevărată în π (π F) ddacă ea este adevărată în starea iniţială a căii respective (adică în

starea π(0) A); prin convenție, admitem mai sus și cazul i = 0 (π0 va denota pe π).

• Astfel, putem adăuga în sintaxă pe box și diamond, dar putem pune și direct (◊F) =def (true U F)

şi respectiv (□F) =def (false Ũ F); aceasta, intuitiv, „trăgând cu ochiul” la semantica Kripke

modală a operatorilor

• Mai exact, stabilind prin convenție că orice stare w este și succesorul său „implicit” (nu

întotdeauna și imediat, dacă ne gândim la drumuri !) vom putea spune (vezi mai jos, formal) că

π (□F) ddacă π(0) (□F), adică ddacă πi F (pentru fiecare i 0); similar pentru (◊F), adică

înlocuind „pentru fiecare i”, cu „există măcar (un) i”

Page 84: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 27 Definiţie (semantica LTL). Valoarea de adevăr pentru formulele LTL

într-o cale π se obţine structural astfel:

Baza.

(i) π true şi π false (pentru fiecare π).

(ii) π p ddacă p π(0), şi π p ddacă p π(0), pentru fiecare p A

(pentru fiecare π).

Pas constructiv.

(a) π (F1 F2) ddacă π F1 şi π F2, iar π (F1 F2) ddacă π F1

sau π F2 (pentru fiecare π).

(b) π (F) ddacă π1 F (pentru fiecare π).

(c) π (F1 U F2) ddacă există i 0 astfel încât πi F2 şi pentru fiecare

0 j < i avem πj F1; cumva „dual”, punem π (F1 Ũ F2) ddacă

pentru fiecare i 0 cu πi F2, există 0 j < i astfel încât πj F1

(pentru fiecare π). (d) π (F) dacă şi numai dacă π F (pentru fiecare π).

Page 85: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 28 • Intuitiv, avem π F1 U F2 ddacă fie F2 este adevărată în toată calea, fie, de la un

loc încolo; în acest ultim caz, până la acel loc, este mereu adevărată F1

• Silmilar, avem π F1 Ũ F2 ddacă pentru fiecare loc din cale începând cu care F2

nu este adevărată, există (măcar) un loc anterior în care este adevărată F1

• În cele de mai sus, trebuie (peste tot) adăugat „pentru fiecare F, F1, F2 LTL”

• Dacă admitem că o stare w ar fi inclusă în A U Ā (nu doar în A), atunci

implicit/prin convenție, se consideră că dacă p w, avem neapărat p w (nu şi

reciproc: dacă p w nu înseamnă că admitem ca p w)

• Mai mult, pentru nici o stare w şi atom p nu putem avea atât p w cât şi

p w

• Repetăm: în semantică putem introduce explicit toate definițiile dorite de

operatori (după cum i-am introdus sintactic), dar pentru a le păstra consistența

trebuie apoi demonstrate anumite ehivalențe generale

• Mergând pe o idee oarecum opusă și ținând cont, de exemplu, de „echivalențele”

de la începutul slide-ului cu titlul „RECAPITULARE LMT – 29”, relative la negația

„generală”, care pot fi interpretate drept definiția directă a acesteia, putem renunța

și la Ũ, true, false, (nu numai la □ și ◊)

• Furnizăm însă pe slide-urile imediat următoare câteva amănunte despre definițiile

temporale ale operatorilor modali întâlniți, precum și anumite echivalențe tari între

aceștia, care pot fi importante; vi le-am dat și vouă

Page 86: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/1

(OPERATORI ȘI ECHIVALENȚE) • Definițiile (în sensul de precizare a adevărului

într-o cale dată, π) directe (a) intuitiv, b) formal,

c) grafic) ale operatorilor temporali deja amintiți

ar fi (unele au mai fost „atinse”):

1. Next: π (F)

a) În pasul/momentul (imediat) următor (de timp), F

(trebuie să fie) este adevărată

b) π1 F

c) ○ ○ ○ ○ ... (F este adevărată în starea

punctată/înnegrită; în rest, nu contează)

Page 87: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/2

(OPERATORI ȘI ECHIVALENȚE) 2. Until: π (F U G)

a) F trebuie să rămână adevărată până când G devine adevărată (lucru care se și

întâmplă până la urmă)

b) Există i N astfel încât πi G, și, pentru fiecare 0 k i (trebuie să) avem πk F

c) ... ○ ○ ○ ... (F este adevărată în stările punctate și G este falsă în ele;

G devine adevărată în starea „înroșită”, care este prima pusă în evidență și poate

fi și prima din secvență; în rest, nu contează)

3. Release: π (F Ũ G) (cumva dual față de U)

a) G trebuie să rămână adevărată până când se întâmplă ca F să devină adevărată

(lucru care poate să nu se întâmple niciodată)

b) Pentru fiecare i N cu πi G, există 0 k < i astfel încât πk F

c) ... (F este falsă mereu deci și G rămâne mereu adevărată), sau,

... ○ ○ ○ ... (G este adevărată în stările punctate și F este falsă ele; în

starea „înroșită”, F devine adevărată iar G rămâne și ea adevărată; în rest, nu

contează)

Page 88: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/3

(OPERATORI ȘI ECHIVALENȚE) 4. Always: π (□F)

a) F trebuie să fie adevărată la fiecare pas/moment al căii

b) Pentru fiecare i N, avem πi F

c) ... (F este adevărată în toate stările)

5. Eventually: π (◊F)

a) Există măcar un moment de timp în care F este (va fi)

adevărată

b) Există i N astfel încât avem πi F

c) ○ ○ ... ○ ○ ○ ○ ... (F este adevărată în starea punctată,

care poate fi și prima; în stările de dinaintea ei, F este

falsă, iar în cele care urmează, nu contează)

Page 89: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/4

(OPERATORI ȘI ECHIVALENȚE) 6. Unless (weak until): π (F W G)

a) F trebuie să rămână adevărată până când G devine adevărată (ceea ce

poate să nu se întâmple niciodată)

b) Dacă există i N astfel încât πi G, atunci pentru fiecare

0 k i avem πk F

c) ... (G este permanent falsă) sau

... ○ ○ ○ ... (F este adevărată în stările punctate, G este falsă în

acestea, iar în starea „înroșită”, G este adevărată; în rest, nu contează)

• Continuăm cu câteva echivalențe, legate în special de introducerea

negației și exprimarea unor operatori în funcție de alții (este posibil ca

unele să mai fi fost prezentate anterior, eventual sub alte forme)

• Desigur că este vorba despre echivalența tare a formulelor în LTL, și avem F G dacă: π F ddacă π G, pentru fiecare cale π

• Mai concret, pentru fiecare F, G LTL, p A avem:

Page 90: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/5

(OPERATORI ȘI ECHIVALENȚE) (I)Echivalențe clasice:

-F G (F G)

-F G F G

-F G (F G) (G F)

-true p p

-false true

(II)Echivalențe legate de exprimarea unor operatori temporali în funcție de

alții (vezi și (III)(b)):

-(F Ũ G) (F U G)

-(F W G) (F U G) (□F) F U (G (□F)) G Ũ (G F)

-(F U G) (◊G) (F W G)

-(F Ũ G) G W (G F)

-(◊F) true U F (□(F))

-(□F) false Ũ F (◊(F))

-Este adevărat și că F U G ◊G este validă (pentru fiecare F)

Page 91: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/6

(OPERATORI ȘI ECHIVALENȚE) (III)Alte echivalențe utile:

(a)Distributivitate

-(F G) (F) (G)

-(F G) (F) (G)

-(F U G) (F) U (G)

-◊(F G) (◊F) (◊G)

-□(F G) (□F) (□G)

-H U (F G) (H U F) (H U G)

-(F G) U H (F U H) (G U H)

(b)Propagarea negației

- (F) ( F)

- (□F) ◊(F)

- (◊F) □(F)

- (F U G) (F Ũ G)

- (F Ũ G) (F U G)

Page 92: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/7

(OPERATORI ȘI ECHIVALENȚE) (c)Proprietăți temporale speciale (primele 3: idempotență; următoarele 5: expansiune; ultimele

2: absorbție)

-◊F ◊(◊F)

-□F □(□F)

-F U G F U (F U G) (F U G) U G

-F U G G (F (F U G))

-F W G G (F (F W G))

- F Ũ G G (F (F Ũ G))

-□F F (□F)

-◊F F (◊F)

- ◊(□(◊F)) □(◊F)

- □(◊(□F)) ◊(□F)

• Formulele LTL pot fi aduse, în sensul cunoscut (prin transformări sintactice care păstreză adevărul,

folosind echivalențele anterioare), la o formă normală numită NNL (Negation Normal Form; nu

insistăm)

• În NNL pot apare și operatorii Ũ, , true, false (care nu fac parte din baza sugerată, deoarece pot

fi exprimați cu ajutorul celorlalți), dar lungimea ei nu crește exponențial față de formula inițială; ea

va folosi în special la trecerea de la LTL la automate Büchi (este vorba despre amănunte legate de

model-checking; din nou, nu insistăm)

Page 93: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 28/8

(OPERATORI ȘI ECHIVALENȚE) • Să demonstrăm că (◊F) true U F, adică, pentru fiecare drum π, avem

π (◊F) ddacă π true U F; succesiv:

-π (◊F), ddacă există k N, cu πk F (din definiția lui ◊); ddacă există

k N, cu (πk F și pentru fiecare 0 j k, avem πj true), deoarece true

este adevărată în orice stare a drumului π; și, în sfârșit, ddacă

π true U F (din definiția lui U)

• Să demonstrăm și (□F) (◊(F)), adică, pentru fiecare drum π, avem

π (□F) ddacă π (◊(F)); succesiv:

-π (□F), ddacă pentru fiecare i N, avem πi F (din definiția lui □); ddacă

nu este adevărat că există i N, astfel încât (nu avem πi F) - legătura

dintre oricare și există în LP1, adică (vom folosi acum definițiile negației, de

oriunde) ddacă nu este adevărat că (există i N, astfel încât πi F); ddacă

nu este adevărat că (π ◊(F)); ddacă, în sfârșit, π (◊(F)) (din nou am

folosit definiția negației); restul demonstrațiilor - voi

Page 94: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 29 • Putem aplica negaţia şi formulelor oarecare din LTL ținând cont de definițiile (mai jos, peste tot,

ddacă poate fi înlocuit cu =def , sau cu ) :

-π (F) ddacă nu este adevărat că π F, adică, ddacă avem π F

-π (F1 U F2) ddacă π (F1) Ũ (F2)

-π (F1 Ũ F2) ddacă π (F1) U (F2)

-π (F1) ddacă π ((F1))

• Conform notaţiilor şi convenţiilor adoptate deja, π F va denota faptul că π este model pentru F

(sau, F este adevărată în π; sau, F este satisfăcută în/de π)

• Ideea principală (repetăm...) este că o cale reprezintă acum o structură şi că o formulă este

adevărată într-o cale π dacă şi numai dacă ea este adevărată în starea iniţială a acelei căi

• De exemplu, (F) este adevărată în π dacă şi numai dacă ea este adevărată în π(0), adică dacă şi

numai dacă F este adevărată în π1, adică dacă şi numai dacă F este adevărată în π1(0), adică dacă

şi numai dacă F este adevărată în π(1+0) = π(1), care este de fapt starea imediat succesoare lui

π(0) (în π)

• Nesurprinzător, vom spune că o formulă F LTL este satisfiabilă ddacă este adevărată în măcar

o cale și validă ddacă este adevărată în toate căile (folosim desigur un alfabet deja fixat)

• În plus, avem: pentru F1, F2 LTL spunem că F1 F2 ddacă π F1 implică π F2 și reciproc (F1 și

F2 sunt tare echivalente); etc.

• Am folosit metodologia generală de construcție punctuală a unei logici; până la „inginerie” mai

sunt lucruri de făcut...; oricum, deși încă fără a dispune/stăpâni anumite sisteme de demonstrație și

(eventual !) teorii logice asociate, avem: alfabet, sintaxă, semantică/adevăr = structură:

Page 95: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 30 -S-a pornit cu o structură (asignare, interpretare...) simplă, prin care se atribuie valori de adevăr

variabilelor propoziţionale (alfabet ...); practic, în cazul nostru, începem cu o mulţime

numărabilă (de fapt, cuvânt infinit) de stări, fiecare fiind element al lui 2A; dacă w 2A şi

p w, atunci p este adevărată în w (dacă p w, atunci negaţia sa este adevărată în w, adică

p w, adică p este falsă în w; dacă p w, nu înseamnă că p w...); sintaxa aleasă este

astfel mai mult un template pentru true, ca „definire” a adevărului „de bază”

-Se extinde apoi structura anterioară la formule; adică, ne interesează adevărul unei formule în

anumite mulţimi particulare de stări şi anume în drumuri; adevărul unei formule într-un

drum/cale este unic determinat de adevărul formulei în starea iniţială a drumului, adevăr care

(conform definiţiei structurale) se reduce în final la adevărul, în anumite stări (de asemenea

unic determinate), a variabilelor propoziţionale, adică la (ne)apartenența lor la starea

corespunzătoare

-După cum am mai remarcat (intuitiv), o cale π poate fi privită ca o structură Kripke modală

(acum, temporală), dacă se face paralela exactă cu relația R și funcția Π (și, desigur, cu mulțimea lumilor = stărilor modale, W); ideea ar fi ca, mai jos, să avem Kπ F în caz că

π F; adică, pe scurt:

-Dată orice cale π : N 2A , peste A (notăm π = w0w1..., cu wi A și π(i) = wi), componentele

rămase a fi precizate ale structurii Kripke (modale) atașate, Kπ = <A, Wπ, Rπ, Ππ>, sunt:

mulțimea lumilor, Wπ = {π0 = π, π1, π2,...}; apoi, <s, s’> Rπ ddacă s = πi și s’ = πi+1 (pentru

fiecare s, s’ Wπ adică pentru fiecare i N); în final, Ππ : W 2A , va fi dată prin

Ππ(πi) = πi(0) = π(i)

Page 96: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 31 • Se arată, prin inducție structurală, că este adevărată afirmația F: (pentru fiecare π)(P(π)),

unde P(π): (pentru fiecare G LTL)(dacă π G atunci Kπ G); pentru G este nevoie de a fi

considerate situațiile acceptate de sintaxa concretă (G = true, ( F), (F1 F2), (□F), etc.)

• Putem construi similar căi πK „corespunzătoare”, pornind de la structuri K (vezi mai jos)

• Vom defini structural/constructiv și mulțimea subformulelor unei formule F LTL, notată aici

cl(F) (și numită închidere), deși ea va fi utilă abia atunci când vom discuta despre de tip

model-checking (MC)

• Față de definiția cunoscută (bottom-up, de la LP, să zicem; algoritmi recursivi, terminare...),

definiția următoare este, în esență, varianta top-down

Definiţie (închiderea unei formule). Fie F LTL.

Baza. F cl(F).

Pas constructiv.

(i) Dacă (F1 * F2) cl(F), unde * {, , U, Ũ}, atunci F1, F2 cl(F).

(ii) Dacă (G) sau (G) cl(F) atunci G cl(F).

(iii) Nimic altceva nu mai este în cl(F); astfel, înțelegem (implicit) că procedeul de construcție

al lui cl(F) se încheie imediat după ce introducem toate formulele atomice care apar în F.

• Să menționăm că este adevărat rezultatul (am mai precizat că tot la (MC) ne vor interesa

formele normale și, eventual, alte echivalențe)

Teoremă (decidabilitatea SAT pentru LTL). Problema satisfiabilităţii (validităţii, nesatisfiabilităţii)

pentru clasa formulelor logicii temporale cu timp liniar este decidabilă.

Page 97: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 32

• Exemplu (trebuie rezolvat folosind definițiile formale introduse, adică noțiunea de

adevăr al unei formule într-o cale). Fie p, q, r A variabile propoziţionale şi formulele F1 = □(p (q)), F2 = □(p (q U r)), F3 = □(◊p), F4 = (p Ũ q). Avem

π Fi, i [4], după cum urmează (faceți voi ceea ce nu este făcut):

• F1 este satisfăcută în toate drumurile π care satisfac condiţia: fiecare stare în care

p este adevărată, este imediat urmată de o stare în care q este adevărată

• F2 este satisfăcută în toate drumurile π care satisfac condiţia: dacă p este

satisfăcută într-o stare, atunci, începând cu starea (imediat) următoare acesteia (şi

în următoarele...), fie r este adevărată (mereu), fie q este şi rămâne falsă până

când apare (ceea ce se întâmplă cu siguranţă) o (altă) stare în care r este

adevărată (și apoi, r rămâne adevărată până „la sfârșit”); putem chiar spune că

această a doua parte („fie q este...”) o include („la limită”) și pe prima („fie r este...”)

• F3 este satisfăcută în toate drumurile π care satisfac condiţia: p este adevărată

într-o infinitate de stări

• F4 este satisfăcută în toate drumurile π care satisfac condiţia: q este mereu

adevărată de la început, sau măcar o dată falsă, dar nu mereu începând cu acel

loc; dacă se întâmplă totuși așa ceva, atunci există măcar un loc anterior celui în

care q este falsă și în care p este adevărată

Page 98: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT – 32/1

(ADEVĂRUL ÎNTR-O CALE π)

• Vom lua doar pe F1; notăm π = w0w1..., cu

π(i) = wi, i N

• Avem π □(p (q)) ddacă

π(0) □(p (q)) ddacă w0 □(p (q));

deci trebuie să avem wi p (q), pentru

fiecare i N, adică exact faptul că „pentru

fiecare stare în care p este adevărată, este

necesar ca în starea imediat următoare

acesteia să fie adevărată q”

Page 99: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 33

• Înainte de a ne ocupa de o logică mai evoluată, CTL*/CTL (Computation

Tree Logic), să remarcăm că putem proceda și invers, adică putem

„trece” de la MD la LTL, ceea ce va implica mai târziu și trecerea de la

CTL*/CTL la LTL

• Astfel, dacă pornim cu o structură Kripke modală K = <A, W, R, Π>, și

notăm cu DK mulțimea tuturor „drumurilor Kripke, infinite” din K (conform relației R), putem spune că K F ddacă avem π F, pentru fiecare

element π din DK

• În mod natural, vom pune deci π DK ddacă π = w0w1... și

<wi, wi+1> R, pentru fiecare i N

• Putem înlocui, peste tot, pe W cu W0 (dacă este cazul)

• Remarcăm faptul că diferenţa principală dintre noile logici și logica

temporală (propoziţională) cu timp liniar este dată de ideea că timpul nu

este privit a fi liniar ci arborescent (chiar dacă un drum poate fi considerat

și el ca un arbore unar), adică, pentru fiecare stare curentă (atașată unui

„moment de timp”) pot exista mai multe stări (imediat) succesoare

Page 100: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 34 • Această presupunere este naturală dacă ne gândim, de exemplu, la

nedeterminismul generat implicit de evoluţia concurentă a unor mulțimi de procese

• Se schimbă din nou noţiunea de structură („fostă” Kripke modală, cale, Kripke

temporală...), trecându-se practic de la cuvinte infinite la arbori infiniți (desigur că și

sintaxa se schimbă, dar nu așa de vizibil)

• Începem, normal, cu sintaxa formală a noii (noilor) logici

• La alfabetul logic cunoscut, L = A U Ā U {true, false} U P U C1 U C2 ,

se adaugă şi o mulţime C3 = {E, A}, a cuantificatorilor (cuantorilor) de cale

• Vom nota L U C3 = Alf , transformarea (datorată introducerii noilor operatori fiind

(cam) de aceeaşi natură ca trecerea de la LP la LP1

• Intuitiv, aceşti cuantificatori se vor aplica formulelor LTL care vor deveni (în noul

context) aşa-numitele formule de stare, formule care vor fi, în continuare, folosite

pentru construcţia formulelor de cale (și...reciproc)

• A (sperăm să nu existe o confuzie; există și A...) se „citeşte” pentru fiecare (cale)

iar E – există (măcar o cale), de unde şi denumirea (preluată de la LP1) de

cuantori/cuantificatori

• Spre deosebire de cuantorii din LP1, aceștia nu se aplică unor variabile ci unor

formule (dar și în trecerea de la LP1 la LP2 se petrece ceva similar...), ceea ce va

face dificil de apreciat unde este „locul exact” al CTL*/CTL în comparaţie cu logicile

clasice LP/LP1 (LP2,...)

Page 101: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 35 Definiţie (sintaxa CTL*). Fie Alf alfabetul logic menţionat mai sus.

Mulţimea formulelor logicii temporale cu timp ramificat (CTL*, sau CTL*Alf)

este dată (bi)structural, imbricat, prin:

Formule de stare

Baza_1 (formule atomice de stare).

(i1) true, false sunt formule atomice (de stare) şi elemente ale CTL*.

(ii1) Pentru fiecare p A, fie p, fie p (exclusiv, în sensul de la LTL) sunt

formule atomice (de stare) şi elemente ale CTL*.

Pas constructiv_1 (formule noi din formule vechi).

(a1) Dacă F1, F2 CTL* sunt formule de stare, atunci (F1 F2),

(F1 F2) CTL* sunt formule de stare.

(b1) Dacă F CTL* este formulă de cale, atunci A(F), E(F) CTL* sunt

formule de stare.

(c1) Dacă F CTL* este formulă de stare, atunci (F) CTL* este formulă

de stare.

(d1) Nimic altceva nu mai este formulă de stare.

Page 102: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 36 Formule de cale

Baza_2 (formule atomice de cale).

(i2) Orice formulă de stare din CTL* este şi formulă

(atomică) de cale în CTL*.

Pas constructiv_2 (formule noi din formule vechi).

(a2) Dacă F CTL* este formulă de cale, atunci

(F) CTL* este formulă de cale.

(b2) Dacă F1, F2 CTL* sunt formule de cale, atunci

(F1 F2), (F1 F2) CTL* sunt formule de cale.

(c2) Dacă F1, F2 CTL* sunt formule de cale, atunci

(F1 U F2), (F1 Ũ F2) CTL* sunt formule de cale.

(d2) Dacă F CTL* este formulă de cale, atunci

(F) CTL* este formulă de cale.

(e2) Nimic altceva nu mai este formulă de cale.

Page 103: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 37

• De obicei se lucrează cu o parte (mai restrânsă; vezi mai jos) a lui

CTL*, notată CTL, și numită logica liniară cu timp ramificat, standard

Definiţie (sintaxa CTL). Definiţia este identică cu cea anterioară,

exceptând următoarele (și înlocuind acolo desigur, peste tot, CTL* cu

CTL):

• (a2): având textul „Dacă F CTL* este formulă de cale, atunci

(F) CTL* este formulă de cale” se înlocuieşte cu:

(a2’) Dacă F CTL este formulă de stare, atunci (F) CTL este

formulă de cale.

• (c2): având textul „Dacă F1, F2 CTL* sunt formule de cale, atunci

(F1 U F2), (F1 Ũ F2) CTL* sunt formule de cale” se înlocuieşte prin:

(c2’) Dacă F1, F2 CTL sunt formule de stare, atunci (F1 U F2),

(F1 Ũ F2) CTL sunt formule de cale.

• Versiunile BNF (voi)

Page 104: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 38

• Schimbându-se definiţia sintactică, se va schimba şi definiţia

lui cl(F) pentru F CTL* (şi apoi pentru

F CTL), într-un mod nu chiar evident (tot voi)

• Vom nota cu CTLS* - mulţimea formulelor de stare şi cu

CTLC* - mulţimea formulelor de cale; însă vom identifica

CTL* cu CTLS*, prin convenţie

• Procedăm similar și cu CTL

• Se poate deduce imediat incluziunea CTL CTL*, dacă

observăm că (la nivel sintactic, evident) „orice operator temporal (, U, Ũ) trebuie imediat (adică, înainte de a folosi

altul de acest tip) precedat de un cuantificator de cale”

• Exemplul cu arborele/subformule de cale/de stare pentru

formula (v-am dat foaie):

F = A((E(p) Ũ A(((p (q)) U r)))) (p, q, r A)

Page 105: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 39

• Definiţie (structură Kripke temporală ramificată). O

structură Kripke temporală ramificată este un 5-uplu

K = <A, W, R, w0, Π>, unde:

-A este mulţimea variabilelor propoziţionale (cel mult

numărabilă)

-W este mulţimea stărilor sau lumilor universului (nevidă; finită,

dacă nu se precizează altfel)

-R W W este o relaţie de trecere (sau, de accesibilitate),

totală, adică satisface condiţia

(w W)(w’ W)(<w, w’> R)

-w0 W este starea iniţială

-Π : W 2A este, ca și până acum, o funcţie care ataşează

fiecărei stări/lumi o mulţime de variabilele propoziţionale

(adevărate în acea stare)

Page 106: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 40

• Datorită faptului că relaţia R este totală, din fiecare stare

w W „porneşte” (măcar) un drum (secvenţă infinită de

stări) π = w0w1… (π(i) = wi) care satisface proprietatea

(i 0)(<wi, wi+1> R); desigur că aici am pus w = w0 (care

nu coincide neapărat cu w0!)

• Dacă identificăm, pentru un drum π, elementul π(i) cu

Π(wi), putem spune că din fiecare stare a unei structuri

Kripke, K, „începe” (măcar) o structură (cale, drum;

sequence, path, way, route, track) pentru LTL

• Vom spune că aceste „structuri pentru LTL-uri” sunt

generate de K (și pot fi gândite, în final, ca formând

împreună niște arbori pentru K)

• În acest context, legăturile cu LTL și MD sunt deja clare

Page 107: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 41

• Astfel, graful prin care se poate reprezenta structura K (vezi

imediat mai jos, nu e nimic nou) poate fi, tehnic vorbind,

„expandat” la un arbore cu rădăcina w0, din fiecare nod

„pornind” câte (măcar) o structură LTL, așa cum este sugerat

mai sus

• Mai exact, o structură K poate fi reprezentată printr-un graf orientat

etichetat în care nodurile sunt stările lui W, etichetele lor sunt

mulţimi de variabile propoziţionale reprezentând mulțimea de valori

a funcţiei Π, iar arcele descriu relaţia R

• De exemplu (poate și foi), în graful (bi-etichetat pe noduri) care

urmează avem reprezentată structura K dată prin A = {p, q, ...},

W = {w0, w1}, Π(w0) = {p}, Π(w1) = {q}; R este relaţia totală, adică

R = {<p, p>,<p, q>,<q, p>,<q,q>} (în cerculeţe trebuiau puse de fapt

w0 respectiv w1 iar p şi/sau q trebuie puse dedesubt, între acolade

corespunzătoare; se deduce ușor și arborele „derivat”)

Page 108: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 42

Page 109: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 43

Definiţie (semantica CTL*/CTL). Fie K = <A, W, R, w0, Π>

o structură Kripke temporală ramificată. Adevărul formulelor

CTL* în K se obţine structural, în trei faze imbricate:

(I) Adevărul formulelor CTL* într-o stare oarecare din W.

BazaI.

(iI) Pentru fiecare w W, w true şi w false.

(iiI) Pentru fiecare w W, w p dacă şi numai dacă

p Π(w), pentru fiecare p A şi w p dacă și numai dacă

p Π(w), pentru fiecare p A (sau, direct, pΠ(w)).

Page 110: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 44 Pas constructivI.

(aI) Pentru fiecare w W, w (F1 F2) dacă şi numai dacă

w F1 şi w F2, pentru fiecare F1, F2 CTL*.

(bI) Pentru fiecare w W, w (F1 F2) dacă şi numai dacă

w F1 sau w F2, pentru fiecare F1, F2 CTL*.

(cI) Pentru fiecare w W, avem w A(F) dacă şi numai dacă

pentru fiecare drum (structură LTL generată de K) începând

cu w, π = w0w1… (w0 = w), este adevărat că π F; pentru

fiecare F CTL*.

(dI) Pentru fiecare w W, avem w E(F) dacă şi numai dacă

există un drum (structură LTL generată de K) începând cu

w, π = w0, w1, … (w0 = w), astfel încât π F; pentru fiecare

F CTL*.

Page 111: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 45

(II) Adevărul formulelor CTL*/CTL într-un drum/cale

de stări din W (privit ca structură LTL generată de K).

BazaII.

(iII) Fie F orice formulă de stare din CTL*/CTL şi

π = w0w1… o secvenţă infinită de stări din W (structură LTL generată de K). Atunci avem π F

dacă şi numai dacă w0 F (știm deja că o formulă

este adevărată într-o structură LTL generată de K,

dacă şi numai dacă ea este adevărată în starea iniţială

a acelei structuri).

Page 112: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 46 Pas constructivII (pentru fiecare F, F1, F2 CTL*/CTL și fiecare π o

cale...).

(aII) Fie F1, F2 CTL*/CTL şi π o structură LTL generată de K. Atunci

π (F1 F2) dacă şi numai dacă π F1 şi π F2.

(bII) Fie F1, F2 CTL*/CTL şi π o structură LTL generată de K. Atunci

π (F1 F2) dacă şi numai dacă π F1 sau π F2.

(cII) Fie F CTL*/CTL şi π o structură LTL generată de K. Atunci

π (F) dacă şi numai dacă π1 F.

(dII) Fie F1, F2 CTL*/CTL şi π o structură LTL generată de K. Atunci

π (F1 U F2) dacă şi numai dacă există i0 astfel încât πi F2 şi

pentru fiecare 0 j i avem πj F1.

(eII) Fie F1, F2 CTL*/CTL şi π o structură LTL generată de K. Atunci

π (F1 Ũ F2) dacă şi numai dacă pentru fiecare i0 cu πi F2, există

0 j i astfel încât πj F1.

Page 113: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 47

(III) Adevărul formulelor CTL*/CTL în K. O formulă F CTL*/CTL

este adevărată într-o structură Kripke, K, dacă si numai dacă ea este

adevărată în orice structură LTL, π, generată de K, care porneşte cu

starea iniţială w0 (adică K F dacă şi numai dacă π F, pentru

fiecare π având π(0) = w0 = w0).

• Enunțăm și următorul rezultat, (tot) fără demonstrație:

Teoremă (putere de exprimare comparativă). Sunt

adevărate afirmaţiile:

(i) CTL CTL*.

(ii) LTL CTL*.

(iii) LTL CTL.

(iv) CTL LTL.

(v) CTL ∩ LTL ≠ Ø.

Page 114: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 48 • În ceea ce privește satisfiabilitatea formulelor CTL, la fel ca

în cazul LTL (înlocuind drum cu arbore și Kripke cu...alt

Kripke), ideea (vezi și MC) este să identificăm o astfel de

formulă cu mulţimea structurilor Kripke care sunt model

pentru ea, generând de fapt automatul (pe arbori) care

acceptă ca limbaj exact mulţimea acestor structuri

• Metodologia generală este similară, adică vom începe prin a

eticheta o structură Kripke candidat cu subformule (elemente

din cl) ale formulei date, ţinând cont de anumite reguli

semantice; formulele sunt și într-o anumită formă normală

• Concluzionăm că logicile temporale pot fi „traduse” în

automate, în sensul deja sugerat: mulţimea structurilor care

sunt model pentru o formulă coincide cu limbajul acceptat de

un anumit automat, construit (sintactic și algoritmic) din

formula dată

Page 115: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 49

• În acest mod, problema SAT pentru CTL (ca şi pentru LTL) se

reduce la o problemă privind apartenenţa unui obiect la un limbaj

dat (membership)

• Dimensiunea automatului ataşat pentru o formulă dată (oricum ar fi

ea definită formal) este însă exponenţială în dimensiunea formulei

(dacă ne referim la automatele nedeterministe ataşate unei

formule LTL) şi respectiv liniară în aceeaşi dimensiune (în ceea ce

priveşte automatele alternate construite pentru formulele CTL)

• Este adevărat rezultatul:

Teoremă (decidabilitatea SAT pentru CTL). Problema

satisfiabilităţii (validităţii, nesatisfiabilităţii) pentru clasa CTL este

decidabilă.

• Din păcate, nu același lucru se poate spune și despre CTL*...

Page 116: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 50 Exemplu global (voi, cel mai ușor folosindu-vă de arbori)

• Sunt formule CTL* (de stare):

A(p (E(□p)), A(□(◊p)), E(□(◊p))

• Sunt formule CTL (de stare): A(□p), E(□p), A(□E(p)),

E(□E(◊p))

• Ca o simplă observație (nu prea utilă...), dacă adoptăm

priorităţile standard corespunzătoare pentru operatori,

formulele precedente se vor putea scrie (de exemplu)

şi ca: A(p E□p), A(□◊p), E(□◊p), respectiv A□p, E□p,

A□Ep, E□E◊p

• În cele de mai sus, p A iar F G este (desigur) o

prescurtare pentru F G

Page 117: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 51 • Privind în ansamblu, lucrurile se complică şi mai mult

dacă ne propunem să tratăm logici mixte (în ceea ce

priveşte măcar noțiunea de adevăr adoptată)

• Toate aceste complicaţii se reflectă până la urmă în

modalitatea de a testa satisfiabilitatea formulelor

• În bibliografia sugerată sunt furnizate și exemple

practice/concrete, pentru diverse astfel de tipuri de

logici, cu referiri inclusiv la anumite sisteme deductive

(corecte şi complete)

• Există, în plus, numeroase alte tipuri de logici

neclasice (multivaluate, probabiliste, cuantice, etc.;

și...combinații ale acestora și combinații de

combinații...)

Page 118: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 52

• Până acum, au fost date/rezolvate și exemple (sper, edificatoare)

pe slide-uri, deși nu peste tot complete (dar mereu unde era

cazul), privind (ordinea nu este chiar exactă):

-K F; structurile Kripke modale ca modele pentru formulele MD

-manipularea formulelor LTL (ca limbaj introdus intuitiv)

-sintaxa (BNF pentru) LTL

-legăturile formale dintre MD și LTL; echivalențe; extinderea negației;

reprezentările grafice ale operatorilor temporali; folosirea inducției

structurale în eventualele demonstrații, etc.

-manipularea formulelor LTL, folosind definițiile formale

-sintaxa (BNF pentru) CTL*/CTL; extinderea închiderii/mulțimii de

subformule (cl(F)), de la LTL la CTL*/CTL; arborele sintactic

pentru formulele/subformulele de cale și stare, etc.

-reprezentările grafice ale diverselor căi/structuri Kripke

Page 119: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 53 • Motivațiile pentru introducerea logicilor temporale și

modale au fost legate în primul rând de ușurința de a

exprima „corect”, prin formule logice (text formal + adevăr)

o anumită parte a realității (= SISTEM)

• Să detaliem...

• Chiar începând cu afirmațiile aristotelice simple, este clar

că ceea ce putem exprima relativ simplu în LP1, nu se

poate face la fel în LP

• Să continuăm, considerând afirmația cumva clasică Îmi

este foame (*)

• Deși înțelesul ei „în sine” (lingvistic) nu se modifică

niciodată, adevărul poate varia (și) în timp

• Câteodată (*) este adevărată, altădată este falsă (dar nu

simultan)

Page 120: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 54 • Astfel, privind timpul ca o unică axă (dimensiune), „mergând” din

trecut spre viitor (se poate admite și existența unui moment zero),

în LTL putem jongla cu valorile de adevăr ale formulelor în

momente diferite (anumite afirmații având totuși o semantică

stabilă); cumva „opuse” sunt așa-numitele Computational Verb

Logics – CVL (nu insistăm)

• În CTL*/CTL, timpul este privit ca o mulțime „conectată” de

asemenea axe trecut/moment – viitor, atașate unor entități diverse

(de exemplu, agenți)

• Într-o asemenea logică, putem găsi valoarea de adevăr („pe axe”)

ale unor afirmații de tipul Există posibilitatea să rămân flămând

tot timpul (**) sau Există posibilitatea ca în cele din urmă să

nu-mi mai fie foame (***)

• Dacă nu știu dacă sau când Voi fi (mă voi) aproviziona(t) (****),

s-ar putea ca atât (**) cât și (***) să fie „cândva” adevărate ...

Page 121: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 55

• Este evident de pe acum că LMT sunt „mai bune” decât

LP/LP1, dacă ne gândim la exprimarea fidelă a

„proprietăților evolutive” ale comportării unor SISTEME

(chiar mai generale decât cele care ne interesează)

• Chiar proprietățile comportărilor unor asemenea

sisteme (reale, distribuite, concurente...) pot fi foarte

generale

• Putem vorbi astfel despre proprietăți de siguranță

(safety) sau de vivacitate/persistență/permanență

(liveness), care se exprimă „bine” în LMT („starea”,

mai jos, desemnând un moment temporal, deși...)

Page 122: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 56 • Safety (H = □(G)): Niciodată nu se va întâmpla ceva

rău/nedorit; sau chiar orice altă aserțiune prin care se afirmă de

fapt că „o anumită stare nu va fi atinsă niciodată”

• Liveness (H = □(◊G) sau H = □(F ◊G)): Ceva bun/folositor/de

dorit, va continua să se întâmple mereu; mai general, orice

aserțiune prin care se afirmă că „o anumită stare va fi

întotdeauna atinsă, indiferent de starea din care plecăm”

(eventual, în anumite condiții suplimentare, date de F) :

• Extrapolând mai mult chiar, am putea spune că proprietățile

legate de safety sunt acelea pentru care: fiecare contraexemplu

(comportare/drum infinit(ă)) are un prefix (finit) care satisface

condiția că, indiferent de cum este extins la un drum infinit,

rămâne un contraexemplu

• În același mod, pentru o proprietate privind liveness: fiecare

prefix finit al unui posibil contraexemplu, poate fi extins la un

drum infinit care este model pentru formula în cauză

Page 123: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 57

• Formalizând în diverse LMT:

-Formula F este o formulă de siguranță ddacă

fiecare drum π = w0w1... care nu este model

pentru F (π F) are un prefix finit π’ = w0w1...wk

astfel încât, pentru toate „extensiile” infinite ale

lui π’, π’’ = w0w1...wkw’k+1…, avem π’’ F

-Formula F este o formulă de persistență ddacă

fiecare secvență finită de stări π’ = w0w1...wk,

poate fi extinsă la un drum infinit π’’ (ca mai

sus), astfel încât π’’ F

Page 124: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 58

• Asa-numita Teoremă SL (Safety and Liveness Theorem)

stipulează chiar că orice formulă din LTL se poate

exprima ca o conjuncție dintre o proprietate de

siguranță și una de persistență

• Putem enumera astfel alte proprietăți, la fel de interesante:

-Întotdeauna adevărul lui F este imediat urmat de adevărul

lui G: H = □(F G) (unde F, G, ...)

-În cele din urmă, F va fi adevărată mereu: H = ◊(□F) (F, ...)

-Proprietățile generale numite de echitate (fairness): să

considerăm, de exemplu, situația în care o mulțime de

procese secvențiale „rulează” concurent, dar măcar unul

dintre acestea nu este niciodată „selectat”

Page 125: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 59 • Evitând considerațiile filozofice, putem extinde

sintactic LMT prin introducerea operatorilor de

trecut ; aceștia nu vor crește „puterea de exprimare”

a logicii respective (de obicei), dar, vor simplifica

(uneori) explicitarea anumitor proprietăți (putem face

referiri directe la un eveniment care a avut deja loc)

• În acest scop, se vor produce niște modificări explicite

și în semantică (neesențiale din punctul de vedere al

teoriei generale), cum ar fi înlocuirea axei temporale

N cu axa Z, a numerelor întregi și, în conformitate,

schimbarea noțiunii de drum/cale (sau a celei de stare

inițială), etc.

Page 126: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 60 • Operatorii la care vom (putea) face referire sunt (primii trei sunt

unari iar ultimul este binar):

(P sau X) – dark_circle/Previous/yesterday/neXt_in_the_past

(la_momentul_de_timp_imediat_anterior)

■ (G) – dark_box/has_always_been/Globally_in_the_past

(întotdeauna_în_trecut)

♦ (F) – dark_diamond/once_in_the_past/

sometimes/Finally_in_the_past)

(cândva_în_trecut)

S – Since

(de_la_un_anumit_moment_dat_în_trecut)

• Ne vom limita a-i aminti pe aceștia, ținând cont și de posibilitatea

de exprimare a unora în funcție de alții (nu insistăm)

Page 127: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 61 • Există numeroase (alte) variante de LMT (legate direct de

timp; de cerințele programării concurente/distribuite; de

agenți și mediu internautic, în care modalitățile de adevăr

sunt altfel interpretate decât temporal, etc.)

• Toate acestea se pot clasifica/compara după diverse

criterii generale, cum ar fi:

-Logici propoziționale vs. Logici de ordinul I

-Logici globale vs. Logici compoziționale

-Logici cu timp liniar vs. Logici cu timp ramificat

-Logici punctuale vs. Logici bazate pe intervale (de timp)

-Logici discrete vs. Logici continue (în timp)

-Logici care tratează trecutul vs. Logici care tratează viitorul

-Etc.

Page 128: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 62 • Ca exemple (fără a intra în detalii), amintim: logica

temporală a intervalelor (ITL/ Interval Temporal Logic),

μ-calculul, care, de fapt, include logica

Hennessy-Milner (HML), precum și logica CTL* (iar

CTL* include CTL, LTL, MITL = Metric Interval

Temporal Logic) sau STL (Signal Temporal Logic);

apoi, LTL include, într-un anumit sens, logica

temporală a acțiunilor (TLA/Temporal Logic of

Actions)

• „Apropiate” de cele amintite (mai exact, de logicile

temporale/cronologice/orare = tense logics), sunt și

așa-numitele logici modale bazate pe topologii/metrici,

sau locuri/poziții spațiale

Page 129: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 63 • Alte câteva relații interesante legate de semantica

(„comună”) a logicilor „noastre” LMT:

-Deși știm că atât CTL cât și LTL sunt submulțimi proprii

ale CTL*, ele nu sunt „echivalente”, în sensul că nu

există nicio formulă în CTL care să fie (semantic)

echivalentă cu (de pildă) formula (totuși, LTL) H =

◊(□p) (care este formulă de cale)

-Nu există nicio formulă în LTL care să fie (semantic) echivalentă cu formula CTL, F = A(□(p (E(q)

E((q)))))

-Există însă o submulțime proprie a lui CTL*, care este

o submulțime proprie atât a lui CTL, cât și a lui LTL

(toate formulele din LTL fiind „de stare”)

Page 130: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 64

• Se poate arăta că LTL este echivalentă (în sensul anterior) cu

așa-numita logică monadică de ordinul întâi a relației de ordine (FOMLO, sau FO[]), care este o logică „clasică” (First Order

Monadic Logic of Order)

• Dacă ne punem întrebarea (de exemplu) „De ce nu am exprimat și

pe U, binar, în funcție de (unii) operatorii temporali unari (gen

box)”, răspunsul constă în faptul că nu am folosit operatorii

adecvați

• Unul ar putea fi operatorul de succesiune/trecere

(succesor/chop), notat „|”, iar altul cel de cel mai mare punct

fix (GFP/Greatest Fixed Point), notat „vX.F” (F fiind o formulă

temporală „normală”, care conține numele generic X ca

subformulă); aici se face apel la calculul duratelor (DC/Duration

Calculus), care este o variantă a ITL, precum și la logica de punct

fix cu succesor (FLC/Fixpoint Logic with Chop), care extinde

μ-calculul modal (sau, echivalent) la logica lui Stephan Mertz

Page 131: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 65

• Acesta din urmă argumentează că, nu numai

că este adevărată Teorema SL, ci chiar că

sunt suficiente doar proprietățile de siguranță

pentru a exprima proprietățile reale

într-adevăr folositoare; logica sa este o

variantă a CTL*/CTL, care folosește operatorii

| și vX.F, negația doar pentru formulele

atomice, dar nu și „”

• Însă, în această logică, nu se poate exprima

(deloc) operatorul „◊”

Page 132: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 66 • Iată câteva echivalențe care implică și cuantificatorii

de cale:

(a)A(◊F) E(□(F))

(b)A(□F) E(◊(F))

(c)A(F) E((F))

(d)A(◊F) A(true U F)

(e)E(◊F) E(true U F)

(f)A(□F) E(true U (F))

(g)E(□F) A(true U (F))

• Ne vom opri aici cu recapitularea/punerea la punct a

unui limbaj coerent privind folosirea logicilor în

legătură cu reprezentarea proprietăților SISTEM-elor

Page 133: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 67 • N-am ajuns încă la ceea ce trebuia, adică la

logicile de încredere (chiar dacă BAN putea fi considerată ea însăși ca o logică „deja făcută”; și deci, „de recapitulat”)

• Se „vede” totuși imediat că nu putem exprima fidel toate proprietățile „dorite” ale

SISTEM-elor doar în LTM-urile menționate

• Vom face mai întâi o „paranteză” pentru a indica anumite „linii directoare” în ceea ce privește MC și ATP, pentru a puncta apoi mai bine cum trebuie construite logicile „potrivite”

Page 134: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

RECAPITULARE LMT - 68 • Să punctăm totuși faptul că Logicile epistemice (EL - Epistemic Logics)

formalizează noţiunile de cunoaștere (knoledge; episteme în greacă = a

ști/a cunoaște) și încredere (belief); vom mai reveni asupra „filozofiei din

spate”

• Astfel, logicile de încredere (sau Belief Logics - BL) sunt tratate de

obicei drept cazuri particulare de logici epistemice (filiera, ca și legătura

dintre MD și LTL, nu este chiar „străvezie”); câteodată sunt tratate

separat (și referite) ca Doxastic Logics, DL (doxa = presupunere, în

greacă); sau, Deontic Logics (exprimă permisiunea și obligativitatea;

deon = ceea ce este încadrat/potrivit)

• Relevanţa logicilor epistemice pentru AI (Artificial Intelligence) în

ansamblu, a fost remarcată de câţiva cercetători interesaţi în formalizarea

conceptului de cunoştinţe/cunoaștere ale agenţilor în sistemele distribuite;

aceasta, nu neapărat pornind cu scopul de a specifica sau verifica

protocoalele de securitate

• Ar trebui să discutăm în detaliu despre modalităţile de reprezentare a

cunoştinţelor şi metodele speciale de formalizare a raţionamentelor;

cu legături privind învățarea automată; din păcate...

Page 135: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 136: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 1 (MC) • Deoarece logicile temporale (și în special cele de tip CTL) sunt utilizate

(și) pentru crearea de „instrumente” de verificare formală (de tip ATP

sau/și MC), vom trece în revistă, pe scurt, acest subiect

• Metodele de verificare a corectitudinii protocoalelor de securitate (mai

general, de verificare a funcționării corecte a sistemelor concurente

reale/componentelor hard și soft, oricât de complexe), pot fi clasificate

după următoarele criterii principale:

(a) Bazate pe sintaxă/demonstraţie/sistem deductiv sau pe

semantică/model/teorie logică

-Într-o abordare bazată pe sintaxă, descriem sistemul/componenta printr-o

mulţime de formule Г (într-o logică fixată) şi proprietatea tot printr-o

formulă F (de obicei, în aceeaşi logică, dar nu este neapărat

semnificativ acest aspect)

-Verificarea constă în a demonstra că Г F (F este demonstrabilă pornind

cu mulțimea de axiome Г, sau, folosind mulțimea de axiome

suplimentare Г; asta, într-un sistem deductiv corespunzător, și utilizând

un ATP performant (alternativ, utilizând o implicare deosebită a

programatorului)

Page 137: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 2 (MC)

-Într-o abordare bazată pe semantică, sistemul/componenta este

reprezentat/ă printr-un model (formal; nu insistăm, poate fi și aici o

mulțime de formule) M, proprietatea se exprimă (tot) printr-o formulă F

(dintr-o logică convenabil aleasă), iar metoda de verificare (cu ajutorul unui așa-numit model-checker, MC) constă din a demonstra că M F

-În ambele situații (cum deja am remarcat pentru abordarea sintactică), ideal

ar fi ca totul să fie automatizat, prin urmare ca demonstratorul automat

să aibă doar o „mică parte de amestec” (sau, chiar deloc) a utilizatorului,

respectiv ca verificatorul să selecteze aprioric măcar un model posibil și procedura de verificare pentru M F să fie și ea automatizată

-Existența unei teoreme de completitudine şi corectitudine în acest context, ar avea drept consecință afirmația: Г F (cu ajutorul

demonstratorului) dacă și numai dacă M F (cu ajutorul verificatorului de

modele)

-Vom reveni (puțin...) asupra abordării semantice (adică asupra

construirii/sarcinilor unui MC), la sfârșitul acestui curs

Page 138: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 3 (MC) (b) Gradul de „algoritmizare”: după cum am mai amintit, este evident că

putem

trece dintr-o extremă în alta, adică de la o algoritmică „totală” (în situaţiile

particulare care permit acest lucru) la ceva complet „manual”; la „mijloc” ar

fi tehnicile de tip Computer Aassisted Interfaces (CAI)

(c) Se verifică o singură proprietate și/sau întregul comportament (sau doar

o parte), totul depinzând de posibilitatea de a implementa metode eficiente

(d) Domeniul principal de aplicabilitate: nu este acelaşi lucru dacă ne gândim

la hardware sau la software, la sisteme secvenţiale sau concurente, la

sisteme reactive (care „funcţionează” permanent) sau la unele care trebuie

să îşi oprească funcţionarea, la protocoale de securitate sau de

comunicare, etc.

(e) Verificarea este destinată a fi aplicată pentru un sistem care

există/funcţionează deja sau chiar înaintea proiectării acestuia; singurul

lucru pe care-l putem sublinia în plus acum, este faptul că verificarea

(formală) trebuie folosită cât mai devreme

Page 139: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 4 (MC) • Revenind la metodele bazate pe semantică,

putem spune că orice tehnică formală de verificare bazată pe model-checking este alcătuită din trei părţi distincte:

(1)Un cadru general pentru specificarea sistemelor reale cuprinzând un limbaj de descriere cât mai evoluat (sisteme concurente formale – FCS = sintaxa; sisteme tranziţionale - TS = semantica (alte formalisme: procese secvenţiale cooperante sau comunicante – CSP, algebre de proces,

μ-calcul, reţele Petri, reţele workflow, rewriting systems, etc.)

Page 140: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 5 (MC)

(2)Un limbaj pentru specificarea proprietăţilor

sistemelor reale (logica clasică, logica

modală, logica temporală, logica liniară a lui

Jean-Yves Girard, care este o logică

intensională, etc.); nu ar fi lipsit de interes ca

cele două limbaje să coincidă (vezi

programarea logică)

(3)O metodă/(semi)algoritm/metodologie

tratabilă prin care să se poate clar stabili

dacă o anumită descriere a unui sistem

satisface o anumită proprietate

Page 141: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 6 (MC) • Ne-am concentrat, cât de cât, asupra logicilor

neclasice (modale, temporale...), și, chiar mai

puțin, asupra unor formalisme ajutătoare, cum

ar fi FCS, TS , din motive (aproape...)

transparente

• O procedură/algoritm de tip model checking

(un model-checker) va răspunde „DA” dacă M

F şi „NU” altfel (repetăm, M denotă un model

„generat” de sistemul real formalizat, iar F este

o proprietate a sistemului, exprimată printr-o

formulă dintr-o logică corespunzătoare)

Page 142: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 7 (MC)

• Majoritatea model-checker-elor

comerciale produc şi un istoric al

comportamentelor unui sistem, deoarece

în caz de insucces se poate deduce ceea

ce trebuie „reparat” (vezi TLC pentru

TLA+)

• Formulele pot „captura” diferite aspecte

„naturale” (proprietăți generale...) ale

comportării sistemelor (după cum am mai

amintit; vom reveni)

Page 143: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 8 (MC) • Concluzii despre MC (ideal, ceea ce descriem se va putea folosi

și pentru sistemele de securitate, conform punctelor (1)-(3),

amintite anterior):

Metoda (VERIF)

• Reprezentăm sistemul real (în final, protocolul?) ca un FCS, F

• Reprezentăm proprietatea (dorită a fi verificată, a) sistemului printr-o formulă

modală/temporală/epistemică/BAN/...), notată G

• Construim sistemul tranziţional (cum?) ataşat lui F, TS ; limbajul acceptat de

acesta constituie totalitatea modelelor posibile pentru G, L(TS, F), unde

condiţia de acceptare F este aleasă corespunzător

• Construim automatul (Büchi) A (cum?), ataşat lui G (care, de dorit, ne

furnizează modelele posibile ale lui G) şi fie L(A, s0, F) limbajul acceptat de

automat (mulţimea de stări finale F este, la rândul ei, aleasă corespunzător)

• Demonstrăm că L(TS, F) = L(A, s0, F); chiar variante mai „slabe” (acest lucru

înseamnă SUCCES)

• Va trebui desigur să formalizăm (la locul potrivit) tot ceea ce dorim, trebuie,

este legat de SISTEM-e și să depășim și problema, inexistenței reale a unei

semantici formale convenabile pentru logicile de încredere

Page 144: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 9 (MC) SISTEM CERINȚE

formalizare formalizare

MODEL FORMULĂ

MODEL-CHECKER

(SUCCES ?)

nu da

CONTRAEXEMPLU GATA

(reluare)

• În cele de mai sus, reluarea se poate face

chiar de la SISTEM și/sau CERINȚE

Page 145: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

MODELE – 10 (MC) • Cât despre ATP-uri, ele pot fi folosite pe parcursul implementării

schemei anterioare (ne le explicităm), sau pot chiar înlocui întrega

procedură de după „MODEL + FORMULĂ” (startul aici fiind de fapt

o formulă „combinată”, gen BAN)

• Pentru metoda generală anterioară există și variante, care

apelează (și) la formula G, apoi la testarea decidabilității

problemelor de membership și/sau emptiness pentru limbaje (clase

de limbaje, etc.; de exemplu, intersecții ...)

• Calculul cu secvențe (SD1) este important atât „prin sine însuși”,

fiind vorba despre o variantă de sistem deductiv, de tip

Hilbert/Gentzen, cât și datorită legăturii strânse pe care o are (și)

cu deducția naturală (cu, mai exact, Gentzen Hauptsatz), deci și cu

MC

• Calculul cu secvențe folosește deducții (raționamente) cu un

anumit tip de metaformule, care sunt, pe scurt, liste/secvențe de

formule „obișnuite” (vezi din nou BAN)

Page 146: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 147: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 1 • Am terminat (pe moment) cu recapitularea „globală”

• Începem cu trecerea în revistă a unor concepte legate

de INTERNET, comunicare, agenți, securitate, pentru

a putea „construi” logica BAN (ca și „conținut”, va fi

doar „recapitulată”) și anumite extensii ale acesteia

• Simson Garfinkel (computer scientist):

INTERNET-ul nu este nesigur/șubred/plin de hazard

(insecure). Doar poate fi nesigur/lipsit de securitate

(unsecure). Insecuritatea reprezintă o stare mentală.

Utilizatorii de INTERNET pot fi insecure, și poate pe

bună dreptate...

Page 148: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 2

• Computer (sau Information) Security (CS) este o

ramură a IT (Information Technology) amintită în special

în legătură cu sistemele multiagent concurente şi

distribuite (în/şi reţele/mediu INTERNET)

• Obiectivul principal în cadrul domeniului este de a

proteja împotriva furtului, coruperii, sau chiar a

dezastrelor (mai mult sau mai puţin naturale…),

informaţiile care circulă prin „interiorul” sistemelor și între

acestea (simultan cu menținerea proprietăţilor generale

pozitive ale acestora)

• Informaţiile şi proprietăţile trebuie să rămână însă

accesibile (și „productive”) celor cărora le sunt adresate

Page 149: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 3

• Prin urmare, termenul de Computer (System) Security sugerează

ideea că există proceduri prin care informaţiile şi serviciile deosebit

de valoroase pot fi protejate aprioric de desconspirare (produsă în

urma anumitor activităţi neautorizate, de implicarea unor

„persoane”/entități nedemne de încredere sau chiar de apariţia

unor evenimente neprevăzute)

• Strategiile şi metodologiile introduse folosesc drept paradigmă

sintagma: prevenim/interzicem comportările nedorite, și nu

aceea că permitem doar comportările acceptabile

• Aria de discurs este foarte largă, dar aproape toate instrumentele

construite și folosite cu succes pentru atingerea scopului menționat

sunt bazate pe LOGICĂ

• Ceea ce vom putea face astfel, reprezintă o foarte mică parte din

necesar, dar totul este extrem de util

Page 150: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 4 • Se începe cu criptarea/encryption, care reprezintă

transformarea unei informaţii sursă/brută (plaintext) într-o informaţie codată (ciphertext) care ar fi „de neînțeles” pentru orice entitate care nu posedă anumite cunoştinţe suplimentare (în particular, nu are acces la așa-numitele chei/keys de criptare/decriptare)

• Transformarea textelor se face cu ajutorul unor algoritmi (cifruri/ciphers, sau, a criptosistemelor/criptosystems)

• În majoritatea cazurilor, aceștia sunt suficient de complecși fiind concepuți chiar „în trepte” (o treaptă/etapă putând diferi mult de alta, chiar la nivel conceptual)

• Algoritmii de criptare sunt dublaţi de algoritmi („duali”) de decriptare

• Detaliile necesare privind criptosistemele cu chei divizate/împărțite/shared sau/şi cele cu chei publice/public, vă sunt deja familiare

Page 151: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 5

• Și alte noţiuni necesare vă sunt la fel de familiare:

atac, adversar, atacator, etc.

• Vă este desigur cunoscută și noţiunea generală de

protocol; în particular (de exemplu) cea de

protocol de comunicare (TCPIP, etc.)

• Un cryptographic/security/encryption protocol

este un protocol (concret/implementabil sau chiar

abstract) care are înglobată suplimentar şi o funcţie

care (încearcă să) asigure securitatea (suplimentar)

prin aplicarea unor metode criptografice

Page 152: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 6 • În context, acceptăm că un protocol de securitate

reprezintă o strategie de comunicare între două sau mai

multe părți, folosită pentru a obține un anumit grad de

confidențialitate (legată de consecințele efectuării unei

tranzacții, adică a unei primitive de comunicare)

• Din motive practice, legate de comunicarea on-line, în timp

real, vom presupune implicit că textele prezente în

mesajele cuprinse în „tranzacții” sunt mereu criptate, adică

utilizăm protocoale criptografice

• Acestea sunt definite ca fiind algoritmi distribuiți

identificați prin secvențe de pași care specifică cu

exactitate acțiunile pe care trebuie să le efectueze două

sau mai multe entități, pentru a exprima anumite

obiective/proprietăți de securitate (a comunicării)

Page 153: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 7 • Vom considera că un protocol de securitate

încorporează cel puţin unul dintre următoarele aspecte (în plus față de protocoalele generale):

-Stabilirea cheilor sau „punerea lor de acord”

-Identificarea clară a „entităţilor” implicate în comunicare

-Criptarea simetrică şi autentificarea mesajelor prin

care se realizează comunicarea (de date/informații)

-Securizarea transmisiei datelor la nivelul cel

mai de jos (șiruri de biți)

• Pentru aceasta, se utilizează metode variate, compuse/în trepte, etc.

• De exemplu, TLS (Transport Layer Security) este un protocol criptografic folosit pentru a securiza legăturile HTTP (pe web)

Page 154: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 8

• Un astfel de protocol reprezintă de fapt un format/șablon/template, prin care se transmit date/informații între două (sau, mai general, între entitățile unui grup de) dispozitive/devices

• „Conținutul” (descrierea) protocolului va stabili cu exactitate și următoarele lucruri:

-ce modalitate de depistare/tratare a erorilor se folosește

-metoda de compresie a datelor (dacă se folosește vreuna)

-modalitatea prin care emițătorul indică faptul că a terminat transmisia mesajului

-modalitatea prin care receptorul indică faptul că a recepționat mesajul

• Alegerea utilizării unui protocol (de către un programator specializat), depinde nu doar de situația concretă și/sau de așteptări, ci și de alte avataje/dezavantaje (generale)

• Astfel, unele protocoale sunt mai simple (în sensul...), altele mai sigure (...), altele mai rapide (...), etc.

Page 155: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 9

• Din punctul de vedere al unui utilizator,

singurul aspect interesant (care merită

menționat) legat de folosirea în practică a

protocoalelor, este cerința ca

dispozitivul/computerul utilizat de el să

suporte protocolul ales pentru comunicare

• Să avem mereu în vedere și faptul că orice

protocol (abstract) poate fi implementat atât

în hard cât și prin soft, la diverse nivele de

profunzime, într-una sau mai multe etape și

trepte

Page 156: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 10 • Repetăm: toate protocoalele de securitate manipulate

sunt „programate” a funcţiona în medii interactive,

concrete sau abstracte (INTERNET, reţele, sisteme

multiagent distribuite, etc.); ne vom putea referi la ele

şi ca interactive protocols

• Mai jos enumerăm câteva dintre protocoalele (clasice,

universal folosite; sau, mai „de nișă”) pe care este

posibil să le „atingem” (nu neapărat în ordinea

sugerată)

• Anumite protocoale sunt dedicate satisfacerii doar a

unor (clase de) proprietăți specifice; altele sunt doar

didactice, altele se pot aplica pentru testarea mai

multor proprietăți diferite...

Page 157: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 11 -Kerberos (autentificare)

-OR (Onion Routing) și H(erbivore) (anonimitate)

-FFS (Feige, Fiat, Shamir), C(Carnivore) și P(Passwords)

(identificabilitate/autorizare; primul este și pentru intimitate)

-PGP (Pretty Good Privacy) (intimitate)

-HF (Hash Functions) (integritate)

-MR (Markowitch, Roggeman) și DS (Digital Signatures) (recunoaștere)

-NS(L) (Needham-Schroeder(-Löwe)) (cu chei publice sau chei divizate)

-WMF (Wide-Mouth(ed)-Frog) (didactic)

-OR (Otway, Rees) (scuze de ambiguitate; aici, doar scop didactic)

-Yahalom (doar didactic)

-NS (Neuman, Stubblebine) (didactic)

-(S)TWA (Shorted Two-Way Authentication) (autentificare)

-DF (Diffie, Hellman) (didactic)

-STS (Station-To-Station) (didactic)

-etc. (conform alegerilor voastre din referate)

Page 158: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 12

• Să precizăm câțiva termeni: autentificare = „Cine ești ?”;

autorizare = „Tu ești cel care trebuie să facă asta ?”; Denial

(refuz) Of Service (DOS); protejarea integrității = controlul

accesului la date „secrete”

• Să reamintim pe scurt și ce pot face intrușii/intruders, adică

adversarii:

-compromite routere, legături, algoritmi de routare, Domain Name

Systems (DNS), etc. (prin eavesdropping - „tras cu urechea”)

-trimite mesaje arbitrare (care să conțină inclusiv „IP header-e”

-răspunde unor mesaje anterior înregistrate

-modifica anumite mesaje „aflate în trafic”

-scrie coduri „malițioase” și „păcăli” anumite entități să le execute

• Vom intra în detalii acolo unde va fi necesar

• Repetăm: nu vorbim despre detalii de implementare

Page 159: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 13

• În ceea ce privește sistemele multiagent (MAS), ele pot fi gândite

conceptual ca reprezentând o strategie rezonabilă pentru

modelarea sistemelor (distribuite, reale) foarte complexe

• Deoarece proprietățile importante ale unui asemenea sistem

(privit ca tot) sunt mult prea complicate pentru a fi studiate în

mod direct (formal sau nu), putem (aprioric) împărți sistemul în

subsisteme care nu se întrepătrund, ci doar inter-reacționează

unul cu altul

• Fiecare asemenea „bucată” va fi referită ca reprezentând un

agent (inteligent d.p.d.v. cognitiv)

• Fiecare agent va fi (de dorit) mai simplu și deci mai ușor de

studiat

• Totuși, o asemenea noțiune este destul de sofisticată (chiar la

nivel intuitiv) și nu vom insista pe moment

Page 160: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 14

• Până acum, am amintit cum putem privi contextul, măcar la

nivel intuitiv: mediul (INTERNET, rețele/networks), criptarea,

protocoalele de comunicare/securitate, agenții, etc.

• Să spunem câteva lucruri suplimentare, la același nivel, despre

instrumentele alese pentru verificarea formală apriorică a

corectitudinii funcționării protocoalelor

• Acestea – după cum am mai precizat – se bazează pe (diverse

tipuri de) logici (în general, neclasice: modale, temporale, apoi

epistemice, de încredere, etc.)

• Logicile pot fi integrate, la rândul lor, în anumite

meta-modele formale (sau chiar tool-uri specifice,

implementate), împreună cu (parte din...) contextul sau alte

„instrumente”, mai mult sau mai puțin sofisticate, având sau nu

implementări comerciale

Page 161: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 15

• Modelul Dolev-Yao (MDY) este unul dintre aceste meta-modele folosite

pentru a demonstra (folosind logica) corectitudinea (proprietăţilor)

protocoalelor de securitate (interactive) integrate în contextul amintit

• În acest cadru, există încrederea (totală) că agenţii îşi pot controla

mediul; de exemplu, că ei pot controla distribuţia cheilor comune,

împărţite/divizate (shared)

• Pe scurt, în MDY, reţeaua/mediul INTERNET + „altele”, se reprezentă

direct, printr-o mulţime de entități, maşini, dispozitive (mai mult sau mai

puțin abstracte), care pot schimba informații/date, prin mesaje (mesajele

fiind constituite din texte brute, care pot fi însă definite/construite și cumva

formalizat)

• Se presupune că un intrus poate auzi/vedea, intercepta şi sintetiza orice

asemenea mesaj

• Se consideră că intrusul este limitat doar de restricţiile legate de metodele

de criptografie utilizate (nu și de alte tipuri de coerciție; altfel spus,

presupunem că atacatorul conduce transmisia și comunicarea se face

„pe sesiuni” distincte în timp)

Page 162: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 16 • Presupunem și că (deși nu vom folosi nimic explicit):

-Primitivele criptografice sunt modelate prin operatori (abstracţi)

-Dacă ne referim la criptarea (simetrică !) pentru un participant

X, ea se va reprezenta prin cuplul <EX, DX> (se evidențiază atât

funcţia de criptare, cât și cea de decriptare)

-Este îndeplinită proprietatea: EXDX = DXEX = 1X (compunerea

lor reprezintă identitatea)

-Dat un mesaj brut M, varianta sa criptată (EX(M)) nu poate

releva nimic despre M

-Deşi nu prea în concordanţă cu lumea reală, se mai presupune

și că adversarul nu poate „ghici” (sub nicio formă) mesajul

criptat (nici măcar la nivel de reprezentare 0-1) şi că nu poate

„ghici” nici cheile

Page 163: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 17

• Apoi, logicile de încredere sunt proiectate pentru a evidenţia

concluziile pe care le poate trage orice entitate participantă

(privită, în mare, ca ceva indivizibil/considerat ca tot) la un dialog

de comunicare, pe baza mesajelor primite/trimise şi pe baza unor

presupuneri iniţiale (beliefs), suplimentare celor de mai sus

• Ele sunt destinate conceperii tuturor raţionamentelor legate de

protocoalele de securitate, cum ar fi, de exemplu, cele care conduc

la un răspuns precis la întrebări de genul Protocolul funcționează

corect? sau Protocolul urmează/satisface specificațiile?

• Totul este privit la un nivel abstract, deducţiile nefăcându-se pe

şiruri de biţi, ci pe mesajele text existente sub diverse forme de

redare

• Se mai presupune că toţi participanţii sunt capabili să recunoască

(într-o anumită măsură) diverse forme de mesaje, chiar dacă în

exprimarea lor (viitoare, finală, 0-1,...) o parte din

formatul/conținutul iniţial ar lipsi

Page 164: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 18

• Ne aşteptăm ca o analiză bazată pe logicile de încredere să

garanteze că doar proprietăţile dorite privind, de exemplu

securitatea datelor, nereplicarea mesajelor (mai general, a

tranzacţiilor), admiterea doar a persoanelor de încredere,

etc., sunt acceptate în cursul fiecărei sesiuni de comunicare

• Evident că demonstraţiile formale (într-o logică dată) legate

de funcționarea dorită a protocoalelor abstracte

(formalizate și ele într-o anumită măsură), nu constituie o

garanţie a faptului că şi protocoalele concrete (presupuse a fi

implementări fidele ale celor abstracte) vor funcționa corect

• Există astfel destule presupuneri (ca mai sus) care pot fi

luate (teoretic) „drept bune”, dar care sunt nevalide în multe

cazuri reale (exemplu clasic de afirmație de acest gen:

criptoalgoritmul X este sigur)

Page 165: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 19 • Reamintim că vom privi logicile de încredere/belief logics ca

fiind logici modale (ar trebui să fie multisortate), bazate pe o

interpretare epistemică a operatorilor modali (adică a

modurilor/modalităților de adevăr)

• Și că epistemologia este o ramură a filozofiei privind natura

şi aria/limitările conceptului de cunoaştere/knoledge; sau, the

science of knoledge and (justified) belief

• Ar fi esențial să putem defini o distanţă adecvată (concretă,

măsurabilă, chiar probabilistic) dintre Knoledge (K) şi Belief

(B)

• Noţiunea de încredere trebuie înțeleasă cam așa: o persoană

fizică (pe post de agent) crede în mod rezonabil că…

Page 166: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 20

• Aceste tipuri de raţionament, legate de funcționarea conform specificației

a protocoalelor, au fost însă mult timp folosite doar în mod informal

• După cum știm, prima dintre logicile de încredere introduse (în contextul

menționat) a fost logica BAN (Burrows, Abadi, Needham), urmată, destul

de repede, de extensii mai expresive şi mai „evoluate”, cum ar fi logica

GNY (Gong, Needham, Yahalom), logica SyO (Syverson, van Oorshot) ,

sau logica AT (Abadi, Tuttle)

• O limitare neplăcută a tuturor acestor logici este necesitatea de a

adnota/anotate protocoalele cu formule logice suplimentare, pentru a

reprezenta fidel intenţiile celui care a trimis un anumit mesaj

• Este necesară uneori și adnotarea cu formule privind secretizarea sau

prospețimea/freshness unor anumite porţiuni de informaţie/mesaj

• În plus, în cadrul acestor logici nu se poate demonstra formal, în mod

direct, faptul că, de exemplu secretele/secrecy sunt protejate

• De fapt, conform MDY, acest lucru este presupus a fi adevărat în mod

implicit

Page 167: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 21 • „Mergând” mai în profunzime, când proiectăm/explicăm un protocol

criptografic (abstract), se foloseşte aproape mereu presupunerea

implicită „Deoarece acest mesaj a fost semnat de (maşina) Bob,

atunci (maşina) Alice poate fi sigură că acel mesaj provine de la B”,

aceasta devenind o certitudine informală (belief)

• Presupunerea anterioară stă la baza justificării faptului că un

protocol funcţionează/este corect

• Într-o „demonstraţie” bazată implicit pe această presupunere, va

lipsi o definiție formală a unei relaţii de încredere între parteneri,

precum și certitudinea reală (knoledge) că un mesaj nu este, de

exemplu, o copie a unui mesaj dintr-o sesiune anterioară

• Deşi logicile (formale) dedicate pe care le-am descris (sau pe care

le vom descrie) înglobează de obicei și anumite tehnici de

demonstrare (automată) sau de tip model-checking, ele sunt de

mare utilitate în sine, prin aceea că ajută la descoperirea unor

puncte sensibile ale oricărui protocol, puncte care ar favoriza

slăbiciunile acestuia și care ar putea fi ușor exploatate de adversari

Page 168: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 22 • Totuși, lipsa unei semantici formale simple și viabile reprezintă un mare

handicap în utilizarea eficientă și viabilă a unor asemenea logici: cu ele

avem doar încredere în ceea ce cunoaștem, nu și certitudini, avem

doar demonstrații, nu și o legătură clară cu adevărul real

• Protocoalele (criptografice) abstracte sunt de obicei specificate printr-o

secvenţă standard de mesaje (cu emițător și receptor precizați explicit),

având forma sintactică generală X → Y: listă

• Pe scurt, semnificația este aceea că X (emițător) îi trimite lui Y (receptor)

un mesaj text descris prin listă (astfel, în O1. de mai jos: P îi trimite lui S

mesajul format din P, Q, Np, adică...)

• O formă uzuală a protocolului Needham-Shroeder cu chei împărțite și

simetrice (vom reveni), ar putea fi dată de secvența

O1. P → S : P, Q, Np

O2. S → P : {Np, Q, Kpq, {Kpq, P}Kqs}Kps

O3. P → Q : {Kpq, P}Kqs

O4. Q → P : {Nq}Kpq

O5. P → Q : {Nq - 1}Kpq

Page 169: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 23

• Câteodată mai apare în listă şi ceasul (notat de obicei cu t)

adică timpul (local) al agentului (emițător)

• În cele de mai sus P, Q, S (nu facem diferența între P, Q, S și

p, q, s) sunt/joacă rolul unor maşini sau principali/(mulțimi de)

agenţi, etc.

• P și Q sunt uneori chiar persoane fizice (să zicem A și B de

mai înainte), iar S este considerat (aproape mereu) drept un

server/intermediar („de încredere”/trusted)

• Np şi Nq sunt cuvinte inventate/reproduse (nonce – din

franceză...: mesager, ambasador, reprezentantul papei pe

lângă un guvern străin = nunțiu papal)

• De fapt, ele sunt numere aleatoare, alese de către P

respectiv Q, şi folosite pentru a preveni atacurile prin

revenire/reluare (replay attacks)

Page 170: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 24 • Asemenea atacuri constau în faptul că un intrus va replica/duplica

părţi dintr-un mesaj vehiculat/păstrat într-una dintre sesiunile

anterioare

• Ideea generală a nonces-elor este că principalii verifică faptul că

valorile folosite în anumite mesaje criptate corespund celor corecte

ale acestora pentru sesiunea în curs; discrepanţele, care pot apare

de exemplu datorită prezenţei (accesibilităţii) mesajelor memorate

în cursul unor sesiuni anterioare, pot fi detectate astfel de către

principali, care pot să evite asemenea mesaje dacă protocolul este

gestionat corespunzător

• Din punctul de vedere al analizei protocoalelor, nonces-le sunt

tratate distinct de alte informaţii utilizate în cadrul unui protocol

• Un concept similar ar fi acela de confounders (co-fondator)

• Acest (alt) concept reprezintă apelul (tot) la numere aleatoare,

încorporate într-un mesaj, pentru a compara atacurile asupra

plaintext-ului (este vorba de cifrurile de tip public-key)

Page 171: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 25

• Kxy este o notaţie generică pentru o cheie K împărţită/divizată

(shared) de agenţii x şi y, iar ceva de genul {text}K, semnifică

faptul că întregul text este criptat cu K

• Scopul protocolului Needham-Schroeder cu (symmetric)

shared-keys este să permită ca P şi Q să fie de acord să

împartă/dețină în timpul comunicării cheia Kpq (comună) și să

facă acest lucru în siguranță

• Pentru aceasta, în primul rând, P şi Q vor face apel la

serverul (trusted) S, pe care se pot bizui ambii, și care va

genera cheia în timpul execuţiei protocolului

• În al doilea rând, S va comunica cu P şi Q folosind cheile

împărţite Kps respectiv Kqs, presupuse a fi cunoscute de la

bun început de către părţile implicate

Page 172: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 26 • Exprimarea anterioară este puţin ambiguă, deoarece, de

exemplu, se utilizează un acelaşi nume (să zicem K) atât

pentru informaţia pe care un agent o produce singur cât şi

pentru informaţia pe care acelaşi agent o primeşte din

exterior, de la o altă entitate

• Astfel, în mesajul codat 0-1 (final), Np este generat de P şi ca

urmare tratat de către acesta drept o constantă cunoscută,

dar, fiind primit de către S, S îl va privi ca fiind o variabilă

• Am putea desigur înlătura ambiguitatea prin notarea distinctă

(la nivel sintactic) a celor două modalităţi de utilizare

• Acest lucru ar uşura şi conceperea (eventuală a) unei

semantici formale, prin care să descriem comportarea

agenţilor (dar nu ar asigura implicit şi corectitudinea

acesteia); s-ar genera însă alte complicații sintactice

Page 173: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 27 • Vom presupune şi că din punctul de vedere al

protocoalelor criptografice, rămânem în MDY, adică

presupunem că criptarea este perfectă dar un intrus are

de fapt controlul complet (după cum am mai explicat) al

reţelei în sensul că poate vizualiza, şterge sau falsifica

orice mesaj (atenţie, precizăm din nou că aici nu

discutăm la nivel de şiruri de biţi)

• Există numeroase tehnici de analiză (multe dintre ele

automatizate măcar parţial) folosite în cadrul acestui

model şi cu ajutorul cărora s-au realizat demonstraţii

formale ale unor proprietăţi generale privind protocoalele

abstracte folosite, cum ar fi de exemplu asigurarea

secretizării sau asigurarea anonimatului

Page 174: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

CONCEPTE ȘI SISTEMe – 28 • Cu toate succesele sale, folosirea MDY (cu presupunerile

sale implicite) pentru a proiecta un protocol este cumva

nenaturală d.p.d.v. al gândirii umane

• Un om nu proiectează de obicei un protocol folosind

enumerarea tuturor acţiunilor care ar putea avea loc (cum

este, de exemplu, șirul de tranzacții O1. - O5.)

• Mai degrabă ne gândim la a folosi anumite concepte de

nivel superior, cum ar fi: cheia secretă este cunoscută doar

de către A şi B şi este singura folosită pentru comunicarea

dintre cei doi agenţi

• Astfel, vom putea deduce afirmaţii de genul: dacă un

mesaj soseşte criptat cu o cheie cunoscută doar mie şi

maşinii S, şi nu eu sunt acela care l-am trimis prima dată,

atunci el trebuie să fi fost trimis de către S

Page 175: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 176: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 1 • Pentru că am spus în mod repetat că logica BAN va fi

tratată (cumva, și „succesoarele” ei) ca o recapitulare a

ceva deja cunoscut de voi (accentul căzând aici pe partea

de logic engineering), vom „progresa” întâi (de la LTM),

spre anumite logici „intermediare”, tot epistemice, care vor

fi „înglobate” într-un formalism mai complex

• Formalismul include, prin sintaxa și semantica acestor noi

logici (deci într-un cadru unitar) și câteva caracteristici

amintite ale contextului: INTERNET, rețele, sisteme

multiagent, protocoale, comunicare, proprietăți de

„siguranță”, etc.

• Ne „lungim” doar până la momentul în care vom seziza că

orice formalism prea detaliat nu mai este benefic, ci poate

deveni chiar dăunător

Page 177: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 2 • Datorită marii complexități a sistemelor multiagent la nivel

conceptual și imposibilității de a face o demarcație semantică

clară/formală între a cunoaște (efectiv) și a crede (că se

cunoaște), folosirea logicilor de încredere într-un mod eficient, de

exemplu pentru demonstrarea proprietăților protocoalelor de

securitate, este desigur limitată

• Însă posibilitatea de a defini o asemenea semantică și de a enunța

o teoremă de corectitudine și completitudine, în condițiile

existenței, totuși, a unor sisteme deductive „promițătoare”, nu este

chiar iluzorie

• În principal, trebuie să restrângem întregul cadru general (structura

sistemului multiagent, tipul protocoalelor de securitate, propritățile

acestora care intresează, etc.) la anumite „fragmente”

• Aceste fragmente trebuie să poată fi, în primul rând, tratate în

modul menționat; apoi, să exprime părți suficient de „interesante”

din lumea reală

Page 178: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 3

• Vom începe cu prezentarea așa-numitei K-logici

• Aceasta reprezintă cea mai simplă logică epistemică

total formalizată

• Este, de fapt, o logică modală multiagent, care conține,

la nivel sintactic, câte un singur operator modal (Ki)

pentru fiecare agent i

• La nivel semantic, noțiunea de structură este (la

început) destul de apropiată de cea considerată pentru

o logică propozițională, adaptată însă pentru a

„cuprinde” mai mulți agenți, precum și operatorii modali

• În definițiile formale se vor folosi doar concepte deja

întâlnite (univers, relație, atomi, interpretări, validitate,

constructivism, etc.)

Page 179: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 4

• Definiție (univers). Ca și până acum, prin A se va

nota mulțimea variabilelor propoziționale (atomi

pozitivi). Prin R vom nota reuniunea (numărabilă a)

mulțimii tuturor relațiilor de aritate i peste A,

R i = {ri1, ri2, ...}, unde, desigur, rik Ai (produsul

cartezian al lui A cu el însuși de i-ori), unde i, k N.

Cuplul U = A, R se va numi univers.

• Definiție (structură). Se numește structură peste U,

orice tuplu s = r, a1, a2, ..., ak, r R k și

a1, a2, ..., ak r.

• Mulțimea tuturor structurilor peste U se va nota cu SU

Page 180: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 5

• Formalizarea aleasă va cuprinde și conceptele

(intuitive, până acum) de sistem multiagent și cea de

protocol de acțiune asociat fiecărui agent în parte (a

nu se confunda cu noțiunea de protocol de securitate!)

• Definiție (sistem multiagent). Se numește sistem multiagent un 3-uplu Mas = Ag, Gs, Act, unde:

-Ag = {A1, A2, …, An} reprezintă o mulțime finită, nevidă,

de agenți; fiecărui agent A i se asociază, în plus, o

mulțime (nevidă) de stări locale, LA; se presupune că

fiecare agent A este capabil să „memoreze și să

prelucreze informații”; întreaga cantitate de informație

la care A are acces la un moment dat este exprimată

prin starea sa locală din acel moment, lA LA

Page 181: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 6

-Gs denotă produsul LA1 LA2 ... LAn adică mulțimea

tuturor stărilor globale ale sistemului (indicii...)

-Act reprezintă o mulțime (numărabilă) de acțiuni abstracte;

acestea ar fi inițiate de către agenți și se manifestă în

sistem doar prin efectele secundare pe care le au, adică

prin schimbările pe care le produc (în urma efectuării lor)

asupra stărilor globale ale sistemului; fiecărui agent A i se

va asocia o mulțime de acțiuni pe care va putea să le

execute (el, dar posibil și alți agenți), ActA Act (A Ag)

Observație. Este util (câteodată) să se presupună că în Ag

este prezent un agent special, notat E (prin care se va

identifica influența contextului/mediului în care „evoluează”

sistemul); în acest caz, ceilalți agenți se vor numi obișnuiți.

Page 182: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 7

• Rezultă că sistemele (noastre) multiagent sunt entități

dinamice, dinamica fiind „exprimată” de transformările stării

globale făcute de către agenți (în urma execuției unor

acțiuni)

• Ar trebui să distingem și între comportările (o comportare

este orice sevență de acțiuni executate de către agenți)

așteptate ale unui sistem și cele posibile

• Definiție (protocol de acțiune). Un protocol de acțiune

(pentru un agent A, într-un sistem Mas dat) este orice funcție PA : LA P (ActA), prin care se specifică mulțimea

acțiunilor pe care un agent le poate efectua în fiecare dintre

stările sale locale. Se numește protocol reunit (pentru un

sistem Mas, în care Ag = {A1, A2, …, An}) orice n-uplu

P = PA1, PA2, ..., PAn.

Page 183: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 8

• Un sistem Mas „dotat” cu un protocol reunit corespunzător P (ca mai sus), poate fi prezentat și ca un graf etichetat (sistem tranzițional), în care nodurile sunt stările globale ale sistemului (Gs), iar arcele/tranzițiile reflectă relații, mai precis elemente corespunzătoare ale produsului cartezian ActA1 ActA2 ... ActAn (semnificația intuitivă fiind clară)

• Definiție (drum, cale). Se numește drum/cale (într-un sistem multiagent Mas), orice funcție

π : Time Gs (intuitiv, orice secvență finită/infinită de stări globale; dacă nu specificăm altceva, se ia Time = N).

Page 184: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 9 • Definiție (punct). Fie Mas = Ag, Gs, Act un sistem

multiagent unde Ag = {A1, A2, …, An}, π un drum și

m Time un moment de timp în Mas (ambele, oarecare).

Se numește punct/loc/moment în Mas, orice cuplu π, m. Ținând cont de definiția lui π în Mas, putem

spune că fiecărui punct îi este asociată o stare globală

g Gs, g = π(m).

• Deoarece g = l1, l2, ..., lj, ..., ln, cu lj LAj, vom nota pe lj

cu πj(m); cu alte cuvinte, vom identifica prin πj(m) starea

locală a agentului Aj, corespunzătoare stării globale g a lui

Mas (pentru fiecare j [n]), stare determinată de drumul π

la momentul m; dacă notăm cu mulțimea tuturor

drumurilor din Mas, prin () se va nota mulțimea tuturor

punctelor din sistemul dat (ar trebui să apară pe undeva,

ca indici, Mas și Time)

Page 185: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 10

• Câteodată (vom specifica explicit aceasta), dat sistemul

Mas, prin se va nota orice mulțime nevidă de drumuri din

Mas

• Admitem că este posibil ca în cazul „trecerii” de la un punct

la altul (adică de la momentul m la momentul „următor”,

notat m + 1, în cursul unui drum π) anumiți agenți să nu

afecteze deloc starea globală a sistemului, adică să nu

efectueze nici o acțiune; în acest caz, vom considera, prin

convenție, că acei agenți efectuează totuși o acțiune

specială (vidă, ascunsă), introdusă forțat în Act

• Mai spunem și că între două puncte consecutive (ca mai

sus), sistemul execută o rundă/un ciclu (pentru cazul

precedent, este vorba despre „runda m + 1” a drumului π)

Page 186: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 11

• Să revenim acum la K-logică

• Definiție (-interpretare). Fie fixat un univers U = A, R

și o structură peste U, s = r, a1, a2, ..., ak, r R k,

a1, a2, ..., ak r. O -interpretare pentru s (în U) este

orice funcție (notată tot cu ), care atașează fiecărui atom ai

(i [k]), un alt atom bi A; astfel, este de fapt o funcție de

la {a1, a2, ..., ak} la A (dată prin (ai) = bi); sau, echivalent (nu uităm că a1, a2, ..., ak r), ea poate fi privită ca o

(meta)funcție ’, de la SU la 2A (dată prin ’(s) = {b1, b2,...,bk},

unde (ai) = bi, i [k], iar s și r sunt ca mai sus).

• Oricum, nu vom mai face distincție între și ’ (la nivel conceptual) iar un cuplu s, se va numi și unitate de

informație (în universul dat)

Page 187: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 12 • Definiție (unitate de informație validă). Fie U un

univers, s = r, a1, a2, ... o structură (cu (ai) = bi), și

u = s, o unitate de informație în U; u se numește

validă dacă s’ = r, b1, b2, ... este la rândul ei o

structură, adică dacă (a1), (a2), ... r.

• Considerând acum un sistem multiagent

Mas = Ag, Gs, Act și U un univers, vom

presupune că pentru fiecare agent A Ag și orice

stare locală lA LA, lA conține (și) atomi; suplimentar,

vom impune restricția de a nu exista doi agenți

(obișnuiți) care, în stările lor locale din același moment

să conțină același atom a A

Page 188: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 13

• Dat un sistem multiagent Mas și un univers U (ca mai sus),

fiecare agent A va putea fi asociat cu zero, una, două sau mai multe unități de informație, u; orice cuplu A, u se va

numi reprezentare (accesibilă lui A); dacă u este validă, atunci reprezentarea A, u se va numi validă (și

accesibilă lui A)

• Vom defini în continuare, în contextul menționat (sunt fixate Mas, U, Φ, unde Φ este mulțimea tuturor

reprezentărilor din Mas), o formă preliminară

(propozițională) a K-logicii, pe care o vom nota cu PK (o

putem considera ca fiind „o logică propozițională peste

starea locală a agenților”)

• PK va denota, ca de obicei, și clasa de formule a acestei

logici

Page 189: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 14 • Sintaxa PK.

Baza. Dacă F Φ atunci F PK.

Pas constructiv.

(i) Dacă F PK atunci (F) PK.

(ii) Dacă F PK atunci (F) PK.

(iii) Dacă F, G PK atunci (F G) PK.

(iv) Nimic altceva nu mai este în PK.

• Definiție (sistem interpretat). Un sistem interpretat este un

4-uplu I = Mas, P, , , unde Mas este un sistem multiagent,

P este un protocol reunit pentru agenții lui Mas, este mulțimea

tuturor drumurilor posibile din Mas, iar este o interpretare

dependentă de puncte, adică o funcție prin care se asociază

valori de adevăr tuturor reprezentărilor din Φ corespunzătoare lui

Mas. Mai exact, pentru fiecare reprezentare p Φ și fiecare punct π, m (π , m Time), avem că (π, m)(p) este

fie true, fie false.

Page 190: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 15 • Semantica PK. Fie orice sistem interpretat I, orice punct

π, m din Mas și orice formulă F PK. Semantica lui F

va fi o valoare de adevăr (true, false), obținută constructiv

(conform definiției sintaxei), după cum urmează:

Baza. F = p Φ. Atunci F este adevărată în I și π, m

ddacă (π, m)(p) = true. Se scrie I, π, m p.

Pas constructiv. Fie F, G PK.

(i) I, π, m (F) ddacă I, π, m F.

(ii) I, π, m (F) ddacă I, π, m F.

(iii) I, π, m (F G) ddacă I, π, m F și

I, π, m G.

• Dacă dorim să discutăm doar despre reprezentările

accesibile unui agent A, se va folosi notația ΦA

Page 191: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 16 • Până acum nu am discutat încă despre knoledge

și belief (b sau ), sau despre k-interpretări și

-interpretări (simbolul K a apărut totuși...)

• Sunt necesare însă numeroase rezultate

(precum și introducerea altor concepte

esențiale), astfel încât nu insistăm pe alte detalii

• Doar vom trece pe scurt în revistă modul în care

se poate „prinde” semantic dinamica unui Mas și

cum se pot folosi logicile epistemice (urmează:

K-logica și KB-logica, privite ca extensii directe

ale PK) în scopul menționat încă de la început

Page 192: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 17 • După cum am mai spus, K-logica (KL) este cea mai

simplă logică epistemică pe care o vom introduce și ea este (și) o logică modală multiagent, pentru fiecare agent i existând un singur operator modal, Ki

• Fie Mas un sistem multiagent având card(Ag) = n,

U – un univers și Φ - mulțimea tuturor reprezentărilor din Mas

• Sintaxa KL. Baza și Pas-ul constructiv ((i)-(iii)) sunt exact ca la PK. Adăugăm pentru KL:

Pas constructiv ((iv) de acolo va referit aici prin (v)).

(iv) Dacă F KL atunci (Ki[F]) KL, i [n].

• Semantica KL. Și aceasta se obține prin extensia semanticii PK; este suficient să precizăm acum doar semnificația noilor operatori introduși sintactic, Ki:

Page 193: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 18 • Definiție (knoledge). Fie I = Mas, P, , un

sistem multiagent interpretat, un agent A și o formulă

F. Vom spune că A cunoaște „faptul” F, sau că A știe că F (este adevărată) (în punctul π, m ()), în

scriere KA[F], dacă avem:

I, π, m (KA[F]) ddacă I, π’, m’ F,

pentru fiecare π’, m’ KA(π, m).

• Notația KA(π, m) are semnificația intuitivă de mulțimea tuturor informațiilor unui agent A (sau, mulțimea tuturor punctelor despre care agentul A crede că pot apare exact pe locul lui π, m)

• Formal, punem:

KA(π, m) = {π’, m’ () | πA(m) = π’A(m’)}

Page 194: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 19 • Adică, în cele două stări globale ale lui Mas,

g = π(m) și g’ = π’(m’), corespunzătoare punctelor π, m și π’, m’, stările locale

πA(m) și π’A(m’) (ambele corespunzătoare

agentului A) vor coincide

• Două puncte care aparțin unei aceleași mulțimi KA(π, m) se numesc de nedistins

(indiscernabile) în raport cu agentul A

• Operatorul dual lui KA, notat PA (PA(F) reprezintă

KA(F) și desemnează faptul că A crede că F

este posibil(ă) (a fi adevărată); și (de

exemplu) se află într-un raport similar

Page 195: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 20 • În același context (și pentru fiecare...), se pot

demonstra un număr de afirmații, cum ar fi:

(C) I, π, m (KA[F]) (KA[G]) ddacă

I, π, m (KA[F G])

(K) Dacă I, π, m (KA[F]) (KA[F G]) atunci

I, π, m (KA[G])

(D) I, π, m (KA[F F])

(T) Dacă I, π, m (KA[F]) atunci I, π, m F

(4) Dacă I, π, m (KA[F]) atunci

I, π, m (KA[(KA[F])])

(5) Dacă I, π, m (KA[F]) atunci

I, π, m (KA[(KA[F])])

Page 196: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 21

• Se mai pot introduce și folosi (fără a se crește expresivitatea logicii

curente, dedicată cunoașterii, dar crescându-se simplitatea

reflectării directe a realității), trei noi operatori modali, dedicați reprezentării cunoașterii de grup: EA (fiecare agent din A

cunoaște), CA (cunoaștere uzuală, pentru întregul A) și DA

(cunoaștere distribuită, pentru întregul A)

• Mai precis, să considerăm Mas = Ag, Gs, Act un sistem

multiagent, unde Ag = {A1, A2, …, An} și I = Mas, P, , un

Mas interpretat, cu: A Ag, π, m un punct și F o formulă

• Definiție („fiecare cunoaște”). Dat I și un grup de agenți A, ca

mai sus, spunem că fiecare agent din A cunoaște formula F în punctul π, m, scris I, π, m (EA[F]), ddacă avem

I, π’, m’ F, pentru fiecare π’, m’ UAAKA(π, m).

Page 197: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 22 • Definiție („cunoaștere uzuală”). Dat I un sistem

multiagent interpretat, un grup de agenți A, o formulă F și un punct π, m, ca mai sus, spunem că F este

o cunoștință uzuală/informație cunoscută de către (toți) agenții din A, în punctul π, m, scris

I, π, m (CA[F]) ddacă avem

I, π, m (EA[(EA[(EA[F])...])]) (operatorul EA[•] se

aplică de un număr oarecare, dar finit, de ori).

• Definiție („cunoaștere distribuită”). În contextul

precedent, vom spune că formula F este o cunoștință distribuită între agenții din A, în punctul π, m, scris I, π, m (DA[F]), ddacă

avem I, π’, m’ F, pentru fiecare punct π’, m’

din ∩AAKA(π, m).

Page 198: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 23 • O soluție pentru a „prinde” în același context

formal și conceptul de credință/încredere/părere,

alături de cel de cunoaștere (sigură) (knoledge vs.

belief, simultan), vom apela la o altă extensie a

logicii PK, și anume la KB-logica

• Similar cu cazul K-logicii, KB-logica (KBL) este

o logică modală multiagent, folosind însă câte doi

operatori modali pentru fiecare agent A: KA și BA

• Fie astfel Mas un sistem multiagent având

card(Ag) = n, U – un univers și Φ - mulțimea

tuturor reprezentărilor din Mas

Page 199: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 24

• Sintaxa KBL. Baza și Pas constructiv (i)-(iii)

sunt exact ca la PK. Adăugăm pentru KBL:

Pas constructiv ((iv) de acolo devine aici (vi)).

(iv) Dacă F KBL atunci (Ki[F]) KBL, i [n].

(v) Dacă F KBL atunci (Bi[F]) KBL, i [n].

• Semantica KBL. Ca mai înainte, aceasta se

obține tot prin extensia directă a semanticii

PK; este suficient să precizăm semnificația

noilor operatori introduși sintactic, Ki și Bi; va fi

însă nevoie și de câteva „ajustări” față de KL

Page 200: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 25 • Să considerăm a fi fixate elementele de genul I,

Mas, , A, F, π, m (), π(m), πA(m), etc.,

toate având acum o semnificație intuitivă (de

fapt, și formală) implicită, rezultată din notațiile

folosite deja

• Pornind de la observația că în mulțimea:

()KA(π, m)={π’, m’() | πA(m) = π’A(m’)}

egalitatea din interior nu prea știm ce înseamnă

în cazuri concrete (dacă ar fi să ne gândim doar

la decidabilitate, de exemplu), o idee bună pare a

fi înlocuirea ei cu anumite relații de echivalență

cu o semnificație mai „realistă”

Page 201: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 26 • Vom „vorbi” astfel despre agenți determiniști și agenți

nedeterminiști; de acțiuni interne și acțiuni externe; de echivalența extrospectivă și de echivalența introspectivă; despre determinatori, ș.a.m.d.

• Definiție (echivalența extrospectivă). Fie date: sistemul

Mas = Ag, Gs, Act, protocolul reunit

P = PA1, PA2, ..., PAn (Ag = {A1, A2,…,An}), A Ag și două stări locale ale lui A, l, l’ LA. Spunem că l și l’ sunt extrospectiv echivalente, scris l ext l’, dacă sunt satisfăcute proprietățile:

(a) PA(l) = PA(l’) (reamintim că ActA Act și că

PA : LA P (ActA)).

(b) Dacă stările locale ale lui A, l1 și l1’ sunt atinse plecând de la l, respectiv l’, prin executarea exact a aceleiași secvențe de acțiuni, atunci avem și PA(l1) = PA(l1’).

Page 202: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 27 • Un agent A este determinist ddacă pentru fiecare

l LA avem card(PA(l)) 1

• În cele de mai sus, cuvântul acțiune și mulțimile de

acțiuni de tipul PA(l) se referă doar la așa-numitele

acțiuni externe

• Definiție (echivaleța introspectivă). Fie sistemul

Mas = Ag, Gs, Act, A Ag, l, l’ LA și o

mulțime (oarecare) de drumuri în Mas. Spunem că l și

l’ sunt introspectiv echivalente, scris l int l’, dacă

sunt satisfăcute condițiile:

(c) (a)(a det(l) ddacă a det(l’)).

(d) l F ddacă l’ F, pentru fiecare formulă F PK.

Page 203: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 28 • În definiția anterioară, legat de relația , s-au luat în

considerare doar -interpretările (vezi mai jos)

• Putem atunci înlocui, în interiorul egalității () (3 slide-

uri înapoi), simbolul „=” cu „ext” sau cu „int” și vom fi

mai aproape de realitate

• Termenul „extrospectiv” se referă astfel la faptul că

pentru un agent se iau în considerare doar acțiunile

sale care îi pot influența pe ceilalți agenți (adică cele

care arată ce acțiuni poate executa agentul respectiv,

„vizibile” prin „impactul” asupra unui alt agent); dacă

două stări locale diferite ale unui agent pot conduce la

secvențe identice de acțiuni (comportări identice),

atunci ele pot fi numite „echivalente” (extrospectiv)

Page 204: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 29

• În ceea ce privește celălalt tip de echivalență,

termenul „introspectiv” se referă la faptul că se ia în

considerare doar informația pe care agentul respectiv

o poate „vedea” (sau, cu care poate „lucra”, într-un

anumit punct); doar agentul însuși are acces direct la

starea sa locală

• Se pot defini și alte tipuri de relații de echivalență

(folosite în același scop, de a defini de fapt

indiscernabilitatea anumitor stări, altfel decât prin

egalitate): echivalența extrospectivă mărginită,

accesibilitatea extrospectivă (asta este doar reflexivă

și tranzitivă) și, similar, pentru introspectivitate; nu

insistăm, pe moment

Page 205: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 30 • Să revenim puțin la sistemele multiagent interpretate,

oprindu-ne la ideile de -interpretare, unitate de informație

și reprezentare validă

• Deși nu explicit, luând în calcul dinamica sistemelor

(agenți, stări, acțiuni, modificări de stări, adevărul

formulelor, etc.), am considerat de fapt două tipuri de

interpretări (folosite de fiecare agent pentru a raționa

despre lumea dinafara lui astfel încât să aleagă, în

cunoștință de cauză, acțiunile pe care le va efectua):

-k-interpretările utilizează doar reprezentările valide,

implicând sistemul în ansamblu și semnificând cunoaștere

--interpretările utilizează, în mod colectiv, valorile de

adevăr pe care fiecare agent A le asignează tuturor

reprezentărilor sale, ΦA; ele semnifică încredere

Page 206: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 31 • Am putea descrie succint totul prin „schema”:

Reprezentări ale contextului

Operatori

Formule

-interpretări k-interpretări

Credințe Cunoștințe

• Putem remarca astfel faptul că aici relația dintre „validitate” și

„adevăr” nu mai este cea uzuală: adevărul va fi pur și simplu ales

corespunzător (pentru a fi asignat) de către fiecare agent în parte,

în timp ce validitatea este o proprietate „dependentă de sistem”,

care depinde atât de starea internă a agenților, cât și de context

• De asemenea, putem spune acum că logica KL a folosit pentru () echivalența introspectivă, dar numai reprezentările valide; în acest

mod, pentru KL nu vor exista diferențe între -interpretări și

k-interpretări (tot ceea ce credem, este într-adevăr o

cunoștință reală); acestea vor fi ( =k)-interpretările

Page 207: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 32 • Vom vedea în continuare că KBL va utiliza pentru operatorii de

cunoaștere KA echivalența extrospectivă, iar pentru cei de încredere

BA, echivalența introspectivă (per ansamblu, vorbim practic doar de

–interpretări, deoarece se lucrează cu orice reprezentare, nu doar

cu cele valide)

• Pentru ultimele detalii (privind semantica formală pentru KBL), mai

sunt necesare însă (alte) câteva concepte noi

• Definiție (acțiune sistemică). Fie Mas un sistem multiagent, π un

drum în Mas. O acțiune sistemică este un obiect de forma

a* = g1, g2, p1, p2, unde g1 este starea globală a

sistemului în punctul p1 = π, m1 și g2 este starea globală a

sistemului în p2 = π, m1. g1 se numește starea inițială a acțiunii

respective (sau originea), iar g2 este starea finală (destinația).

Dacă g1 și g2 coincid, atunci a* va fi considerată implicit ca fiind

acțiunea vidă.

• De fapt, se presupune că un sistem „evoluează” doar datorită

execuției de acțiuni individuale ale agenților

Page 208: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 33 • Definiție (operație). Prin operație vom înțelege o

specificare exactă a unei mulțimi de schimbări (cum ar fi adăugarea sau ștergerea unor structuri), schimbări care pot fi operate/introduse într-un sistem de către un agent (sau un grup de agenți) în cursul trecerii de la o stare inițială la o stare finală (într-un drum).

• Definiție (acțiune abstractă). O acțiune abstractă este un cuplu a = cons, cost, unde cons (consecventul) este o operație, iar cost este un „cost asociat”.

• Cost-ul atașat unei acțiuni abstracte este o exprimare cantitativă privind timpul, spațiul, etc. (legată de „execuția” acțiunii; pot exista acțiuni care „iau” un timp fixat aprioric, altele care se execută „instantaneu”, etc.); el poate fi și ignorat, dacă nu este esențial

Page 209: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 34 • Definiție (acțiune concretă). O acțiune

concretă este un obiect a = a , p1, p2,

unde a este o acțiune abstractă iar p1, p2

este o pereche de puncte dintr-un același drum π

dintr-un Mas fixat.

• Acțiunile concrete instanțiază practic diverse

acțiuni abstracte (pentru un drum dat), marcând

momentele stării inițiale și stării finale

• Definiție (echivalența acțiunilor). Două acțiuni

concrete sunt echivalente, dacă prima lor

componentă este aceeași acțiune abstractă.

Page 210: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 35 • Definiție (acțiuni interne și acțiuni externe). O

acțiune (concretă) se numește internă dacă ea

modifică starea locală a agentului care a executat-o. O

acțiune (concretă) se numește externă dacă execuția

ei de către un agent modifică starea locală (și) a (cel

puțin) altui agent.

• Deoarece starea unui sistem (stare globală) se

formează cu ajutorul stărilor (locale) ale (tuturor)

agenților din sistemul respectiv, este ușor de văzut că

execuția oricărei acțiuni nevide are un efect sistemic

(intern sau/și extern)

• Este posibil ca o acțiune să fie doar internă, doar

externă, sau atât internă cât și externă, simultan

Page 211: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 36

• Definiție („determinarea” pentru o acțiune). Fie o acțiune a = a , p1, p2 și o formulă F. Prin (F, a)

vom exprima faptul că operația atașată acțiunii poate

fi cu adevărat executată (între punctele

p1 = π, m1 și p2 = π, m2) ddacă F va fi

evaluată la true, în punctul p1. În acest caz, formula

F va putea fi numită antecedent pentru acțiunea a, a

unui agent, iar expresia (F, a) va fi numită

determinator pentru a.

• Ideea ar fi că un agent poate efectiv executa o acțiune

doar dacă posedă (măcar) un determinator; putem

admite și acțiuni „spontane”, dacă considerăm

„formule vide/neimportante” (adevărate în orice punct)

Page 212: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 37 • Dacă nu „legăm”, în definiția precedentă, toate

reprezentările (interpretate) de antecedentul unui

același agent, am putea vorbi despre acțiuni

colective/distribuite; acestea vor fi acțiuni „sistemice”,

pe care niciun agent nu le poate executa singur

• Definiție (execuția unei acțiuni). Folosind expresia

(A, a), vom preciza că acțiunea a este executată de

agentul A, „undeva”, pe parcursul unui drum π.

• Implicația ar fi aceea că antecedentul (existent) al lui a,

trebuie să fie evaluat la true doar de către agentul A

însuși; definiția anterioară se poate însă extinde pentru

a „prinde” și ideea efectuării unor acțiuni de către

grupuri de agenți

Page 213: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 38 • În sfârșit, la baza formalizării conceptului de belief

(încredere, credință) vom pune următoarea idee: niciun

agent nu va ști cu siguranță și întotdeauna, care dintre

reprezentările (la care el are acces) este sau nu validă;

dar va ști cu siguranță, și mereu, că orice reprezentare

va fi ori validă, ori nu

• Definiție („încredere”, în sens operațional). O credință

va fi orice formulă F (-interpretată, element din

PK(/KL/KBL)), pe baza căreia (măcar) un agent A decide

să acționeze. Adică, va exista o acțiune a, pentru care

(F, a) este un determinator, F fiind evaluată la true în

contextul reprezentărilor accesibile lui A

• Se pot identifica chiar diverse subclase „interesante” de

credințe

Page 214: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 39 • Definiție (credința ca ipoteză). O ipoteză este o formulă

-interpretată, asupra căreia un anumit agent decide să

acționeze doar într-un mod strict intern.

• Definiție (credința drept convingere). O convingere

este o formulă -interpretată, asupra căreia un anumit

agent decide să acționeze într-un mod extern.

• Definiție (credința drept certitudine). O certitudine este

o formulă -interpretată, asupra căreia un anumit agent

reușește întotdeauna să acționeze într-un mod extern,

obținând mereu rezultatul dorit.

• Prezenta abordare nu atinge nivelul maxim de detaliere al

specificării (reluăm întrebarea: Ar fi așa ceva neapărat

necesar?), și chiar pentru unele concepte introduse ar fi

nevoie de o formalizare „mai completă”

Page 215: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 40 • Totuși, abordarea adoptată descrie cu claritate „structura” și activitatea locală a

oricărui agent (cunoaștem practic toate informațiile de care acesta dispune/are

acces, în fiecare punct), menținându-se, în același timp, un nivel „confortabil” de

generalitate

• Definiție (structurarea stării locale). Starea locală (structurată) a unui agent A

este tripletul lA = ΦA, lA(ΦA), det(lA), unde:

-ΦA: este mulțimea tuturor reprezentărilor „accesibile” agentului A (în starea respectivă).

-lA(ΦA): este o -interpretare, depinzând de agentul A și starea corespunzătoare, prin

care se atașează „valori de adevăr” tuturor elementelor din ΦA.

- det(lA): este mulțimea tuturor determinatorilor „legați” de A (și de lA), prin care se

limitează de fapt mulțimea acțiunilor care pot fi executate de A, pornind cu această

stare locală.

• Am folosit notația lA in loc de cea deja introdusă/consacrată, lA (pentru o stare

locală), tocmai pentru a lua în considerare în mod implicit structura detaliată și

componentele unei stări

• Situația generală (legată de descrierea stării locale a unui agent) se poate

sistematiza acum prin următoarea „schemă”:

Page 216: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 41 Reprezentări ale contextului |

(+ Operatori modali) |

Formule |

-interpretări k-interpretări |

Credințe Cunoștințe | determinatori acțiuni

|

(=k)-interpretări |

|

Ipoteze Convingeri Certitudini | interne externe

|

Partea STRUCTURALĂ | Partea OPERAȚIONALĂ

Starea locală a unui agent în PK, KL, KBL

Page 217: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 42 • În acest moment, se pot demonstra câteva rezultate utile

(în legătură, de exemplu, cu echivalențele care privesc

stările locale), cum ar fi (nu insistăm)

• Propoziție. Dat un agent determinist A, o acțiune a și o formulă F, într-un sistem multiagent interpretat I, avem:

Dacă I, πA(m) F (F, a) atunci (A, a); asta,

dacă a este internă și considerăm doar -interpretări

pentru sistem, sau, alternativ, dacă a este externă și se

folosesc k-interpretările.

• Propoziție. Dat un agent A și o acțiune a într-un sistem multiagent interpretat I, dacă I, π (A, a), atunci

există un punct π, m și un antecedent F, astfel încât

I, πA(m) F (F, a).

Page 218: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 43

• Înainte de a reveni la semantica KBL, considerăm util

să „filozofăm” din nou asupra noțiunii de befief (deși

noțiunea de knoledge pare foarte clară, ușor de

definit într-un cadru formal, după cum, de altfel, am

mai și făcut, nici aceasta nu este chiar așa simplă...)

• „Credințele sunt, în esență, judecăți și evaluări despre

noi înșine, despre alții, despre lumea din jurul

nostru...;... ele sunt considerate a fi generalizări

„corecte” legate de cauzalitate, înțeles și limite privind:

lumea din jurul nostru, comportarea, capabilitățile sau

îndemânările și chiar identitățile pe care ni le asumăm”

Page 219: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 44 • Definiție (semantica KBL). Este suficient să extindem

semantica PK, pentru operatorii modali „cunoscuți” deja,

KA și BA (în contextul legat de echivalențele extrospective

și introspective, de acțiunile interne și externe, etc.). Mai exact, fie I un sistem multiagent interpretat (folosim doar

-interpretările), un agent A și o formulă F KBL. Vom spune că A crede F în punctul π, m, scris pe scurt

BA[F], dacă:

I, π, m (BA[F]) ddacă I, π’, m’ F, pentru fiecare

π’, m’ KAint(π, m).

De asemenea, vom spune că A cunoaște F în punctul π, m, scris pe scurt KA[F], dacă:

I, π, m (KA[F]) ddacă I, π’, m’ F, pentru fiecare

π’, m’ KAext(π, m).

Page 220: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 45 • În cele de mai sus, desigur că avem:

KAint(π, m) = {π’, m’() | πA(m) int π’A(m’)}

KAext(π, m) = {π’, m’() | πA(m) ext π’A(m’)}

• Apropo și de ceea ce remarcam în legătură cu filozofia

cunoașterii, înțelesul lui „A cunoaște F” (agentul A știe

faptul F), nu este acela că A îi atașează lui F o valoare de

adevăr (true sau false); de fapt, ideea este aceea că A

este capabil de a izola o mulțime de stări globale

(indiscernabile între ele), folosindu-și doar starea sa locală

(internă)

• Ceea ce face ca această mulțime de stări globale

indiscernabile să fie relevantă, este aceea că în toate

stările, agentul poate executa o acțiune externă, bazată pe

reprezentarea la care se referă

Page 221: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 46 • Propoziție. Într-un sistem I, -interpretat ca mai sus,

este adevărată următoarea afirmație (deloc

surprinzătoare...) legată de knoledge și belief (pentru

fiecare formulă F și fiecare punct π, m):

Dacă I, π, m (KA[F]) atunci I, π, m (BA[F])

• Putem demonstra chiar mai mult, și anume niște

afirmații similare cu cele demonstrate în cazul KL, de

data aceasta (și) pentru operatorul BA (pentru KA rămân

adevărate aceleași proprietăți, deși este acum vorba

despre -interpretări și nu despre (=k)-interpretări)

• Mai exact, într-un sistem I, -interpretat, și pentru

fiecare F, G KBL și fiecare punct π, m, avem:

Page 222: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 47 (C) I, π, m (BA[F]) (BA[G]) ddacă

I, π, m (BA[F G])

(K) Dacă I, π, m (BA[F]) (BA[F G]) atunci

I, π, m (BA[G])

(D) I, π, m (BA[F F])

(T) Dacă I, π, m (BA[F]) atunci I, π, m F

(4) Dacă I, π, m (BA[F]) atunci

I, π, m (BA[(BA[F])])

(5) Dacă I, π, m (BA[F]) atunci

I, π, m (BA[(BA[F])])

Page 223: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 48 • În abordarea (aproape complet) formală adoptată pentru

logicile de încredere (K vs B) în sistemele multiagent, cea

mai mare provocare pentru un agent este de a determina

care dintre reprezentările la care are acces (punctual) sunt

valide și care nu

• O asemenea distingere va permite agentului să „opereze

înafara sa” într-un mod predictibil

• Totuși, un agent va putea doar să observe starea sa

internă; chiar rezultatul acțiunilor sale externe poate fi doar

evaluat, și anume prin studierea consecințelor avute

asupra stărilor interne

• Ar fi astfel nevoie de un fel de procedeu prin care un

agent să-și poată actualiza și studia (formal) credințele

• Vom apela la ceea ce s-ar putea numi strategii reale

Page 224: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 49 • „Strategiile reale implică o secvență de teste mentale și

criterii interne pe care o persoană le poate alege spre

aplicare, cu scopul de a evalua posibilitatea ca o anumită

experiență particulară să fie sau nu reală, sau ca un

anumit eveniment să se fi întâmplat (sau nu); strategia

aleasă este esențială pentru a distinge cât se poate de clar

între fantezie și realitate; strategiile reale sunt liantul dintre

knoledge și belief”

• Ca exemplificare, să considerăm un sistem multiagent Mas,

având doar doi agenți „generici”, mai precis un „observator”

A și „mediul”, E (orice alt posibil agent va fi „inclus” în E)

• Scopul practic cel mai important pentru A este cel de a

identifica stările extrospectiv echivalente ale lui A relative la

E, pentru a putea atașa fiecărei clase de echivalență o stare

locală diferită

Page 225: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 50

• Definiție (strategie reală). Vom numi strategie reală pentru

un agent A, orice relație binară ρA între mulțimea claselor de

echivalență generate de int, peste LA, și mulțimea claselor de

echivalență generate de ext, peste LE. Adică orice submulțime

ρA Dom(ρA) Ran(ρA).

• Pentru orice agent, este esențială interacțiunea sa cu mediul

înconjurător; în acest mod, comportarea sa va fi cu atât mai

adaptabilă cu cât acesta va fi mai capabil să distingă „corect”

între diversele contexte

• Deoarece un agent are acces doar la starea sa locală și

acțiunile pe care le face depind complet de această stare

locală, numărul de stări locale diferite va limita numărul de stări

globale la care agentul va fi nevoit să se adapteze (evident că

numărul de stări globale este cel puțin la fel de mare ca cel al

stărilor locale)

Page 226: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 51 • Definiție (strategii reale efective). O strategie reală

efectivă pentru un agent A, este o strategie reală de tip

funcțional, surjectivă. Mai exact, este o strategie reală care

satisface condiția că pentru fiecare clasă din Ran(ρA), va

exista cel puțin o clasă din Dom(ρA), cu care să se afle în

relația dată.

• În acest caz, chiar dacă un agent nu va face distincție dintre

una sau mai multe (toate) stările globale, acest lucru nu va

avea importanță deoarece stările globale imposibil de

distins una de alta, vor avea același efect asupra agentului;

astfel, acesta va fi capabil să se adapteze fiecărui caz în

parte, datorită deosebirilor dintre stările locale

• Prin urmare, o strategie reală efectivă va ajuta/asista

agentul să facă cea mai potrivită acțiune, indiferent de

situație

Page 227: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 52 • Definiție (strategie reală eficientă). O strategie reală

eficientă pentru un agent A, este o strategie reală de

tip funcțional, injectivă.

• O strategie reală eficientă nu va conține clase de

echivalență formate din stări locale, care să fie

„redundante”; o asemenea strategie nu va permite

agentului să facă cea mai potrivită acțiune în fiecare

situație, dar în schimb nu vor exista „confuzii” în ceea

ce privește răspunsul la întrebarea „ce acțiune trebuie

să fie făcută” în fiecare situație

• Definiție (strategie reală perfectă). O strategie reală

perfectă pentru un agent A, este o strategie reală

care este atât efectivă cât și eficientă.

Page 228: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 53 • O primă concluzie în abordarea considerată, ar fi deci aceea că, deși un

lucru valoros, „cunoașterea adevărului absolut” (?), prin folosirea

k-interpretărilor, are consecințe limitate în ceea ce privește strategiile

reale efective și niciuna dovedită legată de strategiile reale eficiente

• Găsirea unor strategii reale perfecte rămâne, chiar în cadrul unui

formalism destul de complet și sofisticat, un simplu ideal, care însă poate

(și merită) să fie (doar) căutat

• Ar fi de dorit să știm, de exemplu, unde putem plasa în cadrul

formalismului tocmai dezvoltat (în care există o definiție naturală a

semanticii pentru noțiunea de încredere), protocoalele de securitate,

proprietățile generale de securitate legate de acestea, sistemele

deductive și demonstrațiile de corectitudine, teoremele de

completitudine, etc.

• Cercetările sunt de-abia la început în această direcție, și tot ceea ce

putem face deocamdată este să trecem în revistă câteva dintre

modalitățile posibile prin care problemele practice pot fi soluționate cu

succes folosind ideile formalismului introdus

Page 229: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 54 • Desigur că prin adoptarea unui protocol de securitate într-un sistem

multiagent, se urmărește în primul rând ca tot ceea ce înseamnă

comunicare în sistem să se desfășoare în siguranță

• Vorbim astfel despre asigurarea apriorică a satifacerii/sau nu de către

sistem (în cazul utilizării respectivului protocol) a unor proprietăți generale

cum ar fi anonimitatea/anonimity, observabilitatea/observability,

nedectabilitatea/undetectability, identificabilitatea/identifiability,

secretizarea/secrecy, autenticitatea/authenticity, intimitatea/privacy, etc.

• Adică, „vorbim” despre posibilitatea formalizării unor asemenea proprietăți

și despre posibilitatea demonstrării formale a satisfacerii lor, de către un

protocol și un sistem dat (utilizând eventual un ATP sau un MC)

• Putem continua formalizarea anterior propusă cu introducerea, prin

formule, a definițiilor proprietăților, apoi a protocoalelor, ipotezelor

suplimentare, sistemelor deductive, etc.; sau putem proceda ca la logica

BAN, unde, în paralel, avem și definițiile semantice intuitive și putem

folosi direct sisteme deductive corecte (presupuse a fi și complete)

• Puteți să consultați lucrările lui F. Raimondi și A. Lomuscio la adresa

http://www.doc.ic.ac.uk./~alessio/papers/

Page 230: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 55 • Vom încheia această parte a cursului cu câteva considerații

generale

• Până la urmă, scopul final/fundamental al unui protocol de

securitate real nu este acela de a împiedica un observator

(fie el și malițios) să cunoască anumite fapte; ci de a

preveni consecințele nedorite ale posibilelor acțiuni pe

care acel observator ar putea să le execute (bazându-se pe

cunoașterea acelor fapte)

• E deja dovedit faptul că dacă limităm cunoștințele la care

poate avea acces un agent, numărul de acțiuni pe care

acesta le poate executa devine și el mai mic

• Considerăm totuși că accentul în definirea unui protocol de

securitate, care să aibă șanse să fie „sigur”, trebuie să

cadă pe restricțiile impuse asupra comportărilor agenților și

nu pe limitarea accesului lor la anumite cunoștințe

Page 231: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

„ÎNTRE” LTM ȘI BAN - 56

• Nici acest lucru nu este chiar ideal, deoarece limitarea acțiunilor poate

implica costuri foarte mari

• De aceea protocoalele ar trebui să se bazeze pe strategiile reale pe care

agenții le aleg, în scopul de a decide care sunt faptele semnificative

pentru lurea deciziei corecte

• Strategia aleasă (alegere bazată, posibil, și pe statistică și teoria

probabilităților; sau pe alte metode formale care tratează aproximarea)

va conduce, ideal, de la credințe și ipoteze, la convingeri și certitudini

• Avem astfel nevoie, pentru selectarea în cunoștință de cauză a unui

protocol care să asigure satisfacerea anumitor proprietăți de

securitate a comunicărilor (într-un sistem multiagent), atât de o

analiză calitativă formală (knoledge, belief, action, strategy, formal proof

și semantics, correctness și completeness, etc.), cât și de una cantitativă

(pentru a alege ceea ce este mai potrivit dintre definițiile formale

adoptate la nivel calitativ, folosind tot metode formale, cum ar fi teoria

măsurii, probabilități și statistică, etc.)

Page 232: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 233: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 1 • Logica BAN va fi furnizată direct prin anumite sisteme

deductive, folosite pentru definirea, analizarea și

autentificarea formală a unor protocoale (abstracte,

criptografice) privind schimbul de informaţii (comunicarea)

între anumite entități

• BAN ajută, în primul rând, persoanele implicate să determine

dacă informaţia vehiculată este demnă de încredere şi/sau

este sigură în raport cu o posibilă interceptare

(eavesdropping)

• De multe ori este necesar a se utiliza notaţii particulare,

corespunzătoare logicii concrete utilizate, chiar pentru

protocoalele în sine, care sunt descrise (adnotate) cu formule

• Această logică pleacă de la premiza că toate informaţiile care

se vehiculează se petrec într-un mediu vulnerabil, supus

posibilelor falsificări şi monitorizării publice

Page 234: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 2 • Am menționat deja că logica BAN este considerată a fi

o logică modală (epistemică) multisortată

• Sorturile, chiar dacă nu grupează explicit mulțimi de

obiecte, constă din mai multe categorii (clase):

agenţii/principalii, cheile de criptare, „cuvintele”

folosite o singură dată (nonces), formulele, etc.

• Observaţie. O secvenţă de raţionament în BAN

(demonstrația propriu-zisă în sistemul deductiv care

descrie logica), include de obicei trei scopuri:

1.Verificarea originii mesajului (authentication).

2.Verificarea „actualităţii” (freshness) mesajului.

3.Verificarea încrederii în transmiţător (trust).

Page 235: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 3

• Observaţie. Logicile BAN sunt, în general, decidabile:

-Mai exact, există un algoritm care, având la intrare anumite presupuneri şi o

concluzie ţintă/scop (formule scrise în „limbajul BAN” concret), se termină

(întotdeauna) cu răspunsul DA (concluzia este demonstrabilă din ipoteze,

în sistemul dat) sau NU (în caz contrar).

-Algoritmii clasici folosesc de obicei noțiunea de mulţime magică (D.

Monniaux).

-De remarcat totuşi că aceste logici, ca de altfel toate cele construite direct

sintactic, pe baza unui sistem deductiv (de tip SD1 și „implementând” o

semantică implicită), nu au și o semantică formală; ca urmare, nu

dispunem nici de vreo teoremă de corectitudine şi completitudine (TCC).

-„Succesoarele” BAN (cum ar fi logica GNY) „caută”, să modifice axiomele și

regulile de inferență pentru a „prinde” mai bine aspectele semantice (care

pot ține și de contextul în care sunt plasate SISTEM-ele) în partea de

sintaxă

Page 236: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 4 • CUM „inginerim” aceste (noi) logici? (pentru a ne

menține în cadrul propus de la bun început, adică acela

de a avea o metodologie standard de concepere,

descriere și folosire a unei anumite logici);

• „Metodologia” va fi standard, începând cu alegerea și

definirea constructivă a anumitor mulțimi:

-Alfabet (n-am mai explicitat, de exemplu: virgula, etc.)

-Formule (sintaxa)

-Axiome şi reguli de inferenţă (precizarea unui sistem de

deductiv)

• După cum deja am amintit, partea de semantică

formală (inclusiv TCC), poate fi dezvoltată în logici de

tipul PK, KL, KBL

Page 237: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 5

• P, Q, …(sau P1, P2, …) – entități „responsabile

cu comunicarea, adică agenți (principali)

• S (sau S1, S2, …) – servere (mașini), adică

dispozitive cu rol de „intermediari”

• X, Y (sau X1, X2, …, Y1, Y2, …) – mesaje, adică

plaintexte

• Np, Nq, …(sau NP, NQ, …) – nonces (NP este

ataşat agentului P, sau p; în sintaxă deci, nu

facem diferență între literele mari și mici, decât

dacă precizăm aceasta în mod explicit; uneori

nici indicii nu vor fi „plasați la locul lor”, iar

restricțiile sintactice vor fi mai „relaxate”)

Page 238: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 6 • Kxy (sau Kxy) – o cheie împărțită între agenţii x şi y

• K – o cheie publică sau o cheie secretă

• operatori binari:

1. believes/crede: |

2. has jurisdiction over/are control asupra: |

3. said/spune(a spus cândva): |

4. sees/vede (poate observa):

5. communicate/comunică (printr-o cheie K; sau, o cheie publică

+K, sau o cheie secretă corespunzătoare/matching

-K): ↔K (↔+K; ↔-K ; sau, indicele pus deasupra); vom mai scrie și

key/cheie(K, • ↔ •), ultimă notație pe care nu o mai evidențiem

însă sintactic (în BNF care urmează), deși o vom folosi des

6. from/de la (luând în considerare) cheia K: K (sau +K/-K)

7. (con)catenation/concatenare (de mesaje): <•,•>

Page 239: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 7

• operatori unari:

1.encryption/criptare (ţinând cont de cheia K):

{•}K (sau +K, –K)

2.fresh/proaspăt (nou, recent, actual): #(•)

3.has(posesses)/are(deține) cheia K: ׀→K (din

nou, putem folosi și +K și –K)

• Definiţia constructivă a sintaxei logicii BAN,

utilizând BNF (clasa formulelor acestei logici

o vom numi tot BAN, ca de obicei):

Page 240: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 8 • <server> ::= S1 | S2 | …

• <agent> ::= <server> | P1 | P2 | … | Q1 | Q2 | ...

• <machine> ::= <agent>

• <principal> ::= <agent>

• <message> ::= X1 | X2 | …

• <binary-operator> ::= | | | | | | | ↔K | ↔+K | ↔-K | K |

+K | -K | <•,•>

• <unary-operator> ::= {•}K | #(•) | ׀→K | ׀→+K | ׀→-K

• <nonce> ::= N | N<agent>

• <public-key> ::= K | K1 | K2 | … (sau +K,...)

• <secret-key> ::= K’ | K’1 | K’2 | … (sau –K,...)

• <shared-key> ::= K<agent><agent>

• <key> ::= <public-key> | <shared-key> | <secret-key>

Page 241: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 9 • <formula> ::=

<agent> <binary-operator> <message> |

| < <message>, <message>> |

| <agent> <binary-operator> <agent> |

| <unary-operator> <message> |

| <unary-operator> <agent>

• Observaţie. Formulele au o semnificație doar intuitivă,

dar...esențială (comentarii...). Mnemonicele folosite

sunt numele regulilor de inferență din sistemul deductiv

pentru BAN (articol D. Monniaux...), pe care îl vom

numi de acum încolo SD-BAN (în slide-urile care

urmează după exemplu).

Page 242: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE – 10

-Exemplu de derivare BAN

Page 243: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 11 • Pe scurt, axiomele (=formule BAN) şi regulile de inferenţă (=liste de

formule BAN: ipoteze + concluzie) ale SD-BAN arată după cum urmează

(este furnizată și câte o descriere intuitivă a semanticii/semnificației lor;

există și niște comentarii „de ajutor”; poate, și numele lor mnemonic):

Axiome

• 1A. P crede X (P| X): agentul P se comportă ca şi cum ar şti că mesajul

X este „adevărat” (adică provine de unde/de la cine trebuie) şi garantează

pentru X (chiar dacă este prezent şi în alte mesaje)

• 2A. P are jurisdicţie asupra lui X (P | X): părerea lui P despre

(adevărul lui) X trebuie tratată cu încredere/crezută (should be trusted); de

exemplu, distribuţia cheilor făcute de către servere trebuie crezută

• 3A. P spune X (P |X): la un anumit moment dat (în trecut), P a transmis

(şi a crezut) X, deşi (în prezent) se poate ca P să nu (mai) creadă X;

practic, nu se ştie dacă mesajul a fost trimis cu mult timp în urmă

(eventual, chiar în altă sesiune), sau în cursul acestei sesiuni de

comunicare; mai corect (intuitiv) ar fi (poate...) a spus în loc de spune

• 4A. P vede X (P X): P primeşte mesajul X, îl poate „citi” şi îl poate

retransmite

Page 244: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 12 • 5A. {X}K: mesajul X este criptat cu cheia K; în logica BAN se pot cripta şi

credinţele (beliefs) „adiacente” unei formule (vezi și 1A.)

-Mesajele pot fi privite prin prisma înţelesului lor; prin urmare, un mesaj Kpq

care „transportă” o cheie creată spre a fi folosită pentru comunicarea între

P şi Q, va fi reprezentat în această logică prin P↔Q (↔ are de obicei pe

Kpq deasupra, sau ca indice inferior, dreapta jos)

-Deoarece orice cheie este la rândul ei criptată într-un mod în care să nu

poată fi divulgată vreunui intrus (respectiv, „găsită” de către acesta),

mesajul transmis va fi criptat sub forma {Kpq}Kqs (de exemplu); formula

corespunzătoare va fi astfel {P↔Q}Kqs (din nou, ↔ având Kpq deasupra,

sau indice dreapta jos)

• 6A. nou(X) (#X): X nu a mai fost trimis anterior în sesiunea curentă; acest

lucru este în special valabil pentru nonces

-#X va fi folosit practic ca o alternativă pentru P |X în scopul de a stabili

faptul că un mesaj provenind de la P se referă într-adevăr la sesiunea

curentă, nefiind un mesaj mai vechi, memorat, pe care un intrus l-a folosit

(poate) într-un „replay attack”

Page 245: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 13 • 7A. cheie(K, P↔Q) (sau, știm asta, P↔Q cu K deasupra

sau indice...): P şi Q pot comunica folosind cheia comună (shared) K; mai mult, cheia K se consideră a fi bună, în sensul că nu va fi vreodată cunoscută/descoperită de către alt agent înafara lui P, Q, sau a altuia în care aceștia cred (beliefs, beliefs...)

-Să remarcăm faptul că aici am aplicat pentru prima oară și presupunerea că secretele sunt protejate în mod implicit, în MDY; operatorul este și comutativ: dacă P↔Q (cu K deasupra, sau...) atunci, implicit, Q↔P şi reciproc

• 8A. P are (deține) o cheie publică K (׀→ P, cu K/+K/-K deasupra, sau...)

-Presupunem, iarăşi implicit, că această cheie nu va putea niciodată fi descoperită de către niciun agent, cu excepţia lui P (sau a altuia în care P are încredere; din nou, beliefs, beliefs…)

Page 246: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 14 Reguli de inferenţă (postulate)

• Vom folosi formele de reprezentare ale acestora deja

(re)amintite (o regulă r se va scrie textual sub forma

< <{G1, G2, … , Gn}, G>, c>; sau în varianta „fracție”:

„sus – premizele, jos – ipotezele” şi între ele bara orizontală);

dar şi în altă variantă textuală, folosită mai jos și mai ușor de

redactat („Dacă...premize, atunci...concluzie”)

• Începem cu:

• 1I. Dacă (P crede cheie(K, P↔Q)) şi P vede {X}K, atunci P

crede (Q spune X), pentru fiecare K; clar, putem avea și S în

loc de P sau Q (ca și mai înainte...)

-Ideea din spatele acestei reguli este aceea că dacă o cheie K

este shared între doi agenţi P şi Q şi este menţinută secretă,

dacă P vede un mesaj criptat cu K atunci el poate (cu

siguranță...) crede că acesta provine de la Q

Page 247: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 15 -O presupunere (suplimentară) implicită (uşor de a fi

trecută cu vederea) este aceea că mesajul nu trebuie

neapărat să fie trimis de către P; Burrows, Abadi şi

Needham justifică acest lucru explicând că „{X}K” este

de fapt o prescurtare pentru „{X}K de la P”, ceea ce

înseamnă că criptarea a fost făcută chiar de către P

-Se mai presupune şi că fiecare agent îşi poate

recunoaşte mesajele criptate de către el însuşi şi astfel

le poate chiar ignora dacă dorește

-Regula (numită și MM1 – Message Meaning rule number

1) poate atunci fi „redată” prin (în general, regulile de

tip message meaning privesc interpretarea mesajelor

autentificate printr-o criptare care utilizează chei private

sau shared):

Page 248: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 16 • 1I’. Dacă (P crede (cheie(K, P↔Q))) şi (P vede

{X}K, provenienţa nefiind de la P), atunci P crede

(Q spune X)

-Aceasta reprezintă ceva uneasy (computațional); în

logica GNY se va introduce simbolul „*” pentru a se

specifica explicit faptul că un lucru „nu își are

originea în acel loc”, ceea ce ar face ca

presupunerea anterioară să devină internă logicii şi

regula, aici, să arate sub forma (numită şi (MM2)):

• 1I’’. Dacă P crede ( I→ Q (cu +K deasupra, sau

indice...)) şi P vede {X}-K, atunci P crede

(Q spune X)

Page 249: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 17

• 2I. Dacă P crede (Q spune X) şi P crede (nou(X)), atunci

P crede (Q crede X)

-Această regulă, notată şi cu (NV) (Nonce Verification sau (FR), the Freshness Rule, vezi în continuare), exprimă faptul că s-a verificat că un mesaj este recent (el a fost emis în cursul sesiunii curente) şi astfel emitentul crede încă în el; ea este astfel introdusă pentru a preveni acele replay attacks

• Observaţie. Pentru aceste prime reguli de inferenţă ar trebui precizat (din nou) că este valabilă condiţia locală de aplicabilitate (așa e și ce am subliniat pe slide-ul anterior) exprimată prin:

c1: P crede (nou(X))

• Desigur că dacă X nu este recunoscut ca fiind proaspăt,

s-ar putea să fie un mesaj vechi (depăşit şi, posibil, înlocuit deja de către un potenţial atacator)

Page 250: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 18 • 3I. Dacă P crede (Q are Jurisdicţie asupra lui X) şi P

crede (Q crede X), atunci P crede X

-Această regulă (notată şi (J)) „spune” că dacă P

crede că Q are jurisdicţie asupra lui X, atunci P va

crede Q pe baza faptului că X este adevărat

• 4I. Dacă P crede (Q spune <X, Y>), atunci

((P crede (Q spune X)) şi (P crede (Q spune Y)))

-Această regulă (ar fi de fapt două, având aceeași

ipoteză) este numită și (SG: Sees Group); ideea

este că dacă un agent a spus ceva despre o

mulţime (group) de mesaje, atunci a spus acel ceva

despre fiecare element din grup

• Mai introducem şi:

Page 251: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 19 • 5I. Deloc surprinzător, stipulăm că un agent va crede o

mulţime de mesaje, chiar afirmațiile/formulele eventual asociate, ddacă va crede fiecare element al mulţimii; reamintim faptul că perechile, adică împerecherea privită ca operator - e vorba despre concatenare în acest context - este asociativă şi comutativă; furnizăm 3 variante (X, Y, P sunt oarecare; BE provine de la BElief):

• 5Ia. (BE1) Dacă (P crede X) şi (P crede Y), atunci

(P crede <X, Y>)

• 5Ib. (BE2) Dacă P crede <X, Y>, atunci (P crede X) şi (P crede Y) (ar fi și aici două reguli...)

• 5Ic. (BE3) Dacă P crede (Q crede <X, Y>), atunci (P crede (Q crede X)) şi (P crede (Q crede Y)) (două...)

• Similar, introducem şi:

Page 252: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 20 • 5Id. (BE4) Dacă (P crede (Q crede X)) şi

(P crede (Q crede Y)), atunci P crede (Q crede <X, Y>)

• 6I. Dacă un agent vede o formulă, atunci el va putea vedea şi

componentele (subformulele) acesteia, dacă presupunem că

agentul cunoaşte cheile necesare (SP provine de la Sees

Part):

• 6Ia. (SP1) Dacă (P vede <X, Y>), atunci (P vede X)

şi (P vede Y) (două...)

• 6Ib. (SP2) Dacă (P vede {X}K ) şi (P crede (cheie(K, P↔Q))),

atunci (P vede X)

-Să punctăm faptul că ipoteza din ultima regulă este de fapt „P

crede (cheie(K, P↔Q))” şi nu „P vede K” (lucru care ar părea

totuși destul de…logic); de fapt, regula precedentă ar putea fi

înlocuită de către perechea de reguli:

Page 253: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 21 • 6Ib’. (SP2’) Dacă (P vede {X}K ) şi (P vede K), atunci P vede X

• 6Ib’’. (SP2’’) Dacă P crede (cheie(K, P↔Q)), atunci

P vede K

• 7I. Dacă o parte (subformulă) a unei formule este cunoscută a fi

nouă, atunci întreaga formulă trebuie să fie nouă; mai exact, avem:

• 7Ia. (FR1) Dacă P crede (X este proaspăt), atunci

P crede (<X, Y> este proaspăt), indiferent de cine este Y

• 7Ib. (FR2) Dacă P crede (X este proaspăt), atunci P crede

({X}K este proaspăt)

• Observaţie. Există o regulă unanim acceptată de către cei care

lucrează cu public-key criptosystems, şi anume faptul că mesajele

criptate cu ajutorul cheilor publice pot fi decriptate doar folosind

cheile private:

Page 254: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 22 • 8I. (SP3) Dacă (P vede {X}+K ) şi

(P crede (I→ P, cu +K deasupra...)), atunci

P vede X

-Să subliniem faptul că această regulă presupune și că

dacă K/+K reprezintă cheia publică, atunci P va deţine şi

cheia privată corespunzătoare

• Următoarea regulă este opţională și exprimă faptul că

pentru anumite criptosisteme cu cheie publică (cum ar fi

RSA), este posibil ca oricine deţine cheia publică să

poată descifra orice mesaj criptat cu o cheie privată

• 9I. (SP4) Dacă (P vede {X}-K ) şi

(P crede (I→ Q, (cu +K deasupra...))), atunci

P vede X

Page 255: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 23 • În sfârşit, reamintim regula (SG) (numită/notată

aici 10I):

• 10I. (SG) Dacă un principal a spus „un

grup/mulțime de lucruri”, atunci el le-a spus

separat pe fiecare (reciproca nu este adevărată

deoarece ar implica faptul că principalul spune

mereu toate lucrurile în acelaşi moment de timp),

adică (nu uităm nici de comutativitate...):

Dacă P crede (Q spune <X, Y>) atunci (P crede

(Q spune X))

Page 256: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 24 • Trebuie să repunctăm faptul că logica BAN a fost creată în primul

rând cu scopul de a fi o variantă viabilă pentru „o logică adaptată

unor cerinţe particulare de comunicare între agenți, în medii

internautice” (gen PK, KL, KBL – incomplete însă formal, în ce

privește modelarea adecvată a realității)

• S-a văzut că dacă încercăm să aplicăm asemenea tehnici la niște

protocoale particulare, trebuie neapărat să introducem construcţii

adiţionale; folosirea procedurilor de decizie automate este astfel

inevitabilă (lipsește și semantica formală) și poate fi folositoare și

pentru depistarea axiomelor şi regulilor de inferenţă care, eventual,

lipsesc

• Utilizând notaţiile bazate pe sistemele deductive, putem formaliza

corespunzător orice autentificare a unui protocol; mai mult, putem

demonstra că anumiţi agenţi (cred că) pot comunica (în siguranţă)

folosind nişte chei corespunzătoare

• Dacă demonstraţia eşuează, ar trebui să tragem concluzia că

a existat un atac care a compromis protocolul de comunicare

Page 257: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 25 • Și pentru reprezetarea demostraţiilor vom folosi metoda textuală

utilizată pentru reguli (şi/sau cea cu arbori); ca o variantă, acolo

unde nu există posibilitate de confuzie, vom folosi și notaţia

prescurtată a unui arbore, în care se indică doar ultima regulă de

inferenţă folosită dar ataşâdu-li-se premizelor şi o

codificare/adnotare a subarborilor ale căror rădăcini sunt

• Desigur că şi o regulă de inferenţă poate fi privită ca un caz

particular de demonstraţie (arbore), astfel încât putem adnota şi o

regulă; o asemenea adnotare poate fi complet generică (de

exemplu „α” pentru un subarbore oarecare) sau având o conotaţie

de mnemonic (cum ar fi „p” pentru o regulă pricipală sau „a” pentru

o regulă auxiliară)

• Observaţie. Pentru postulatele prezentate mai sus, putem adnota

premizele (ne va ajuta la construcţia mai simplă a unor

demonstraţii, vezi GNY) respectiv cu: p1 şi p2 în (MM1) şi (MM2),

a şi p în (NV), p şi a în (J), p în (BE2), (BE3), (SG) şi (SP1), p1 şi

p2 în (SP2), p şi a în (SP1’), p în (SP2’), p şi a în (SP3) şi (SP4).

Page 258: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 26 Concluzionând:

• Pentru logicile de încredere (BAN, pentru moment) dispunem de un sistem deductiv, fără a dispune de o teorie logică aferentă (adevăr, semantică formală...) și, evident, nici de o teoremă de corectitudine și completitudine

• Complicând teoria am putea introduce variabile multisortate (cu domenii corespunzătoare...) şi putem considera o stare ca fiind construită în accepțiunea clasică a structurilor Kripke modale (PK, KL, KBL și...mai mult...)

• Am putut interpreta operatori ca box şi diamond în sistemele multiagent:

agentul_Q_ştie_sigur_că /

din_ceea­_ce_ştie­_agentul_Q, etc.

• Punctăm iar că partea dificilă o reprezintă stabilirea unei diferenţe măsurabile dintre Knoledge şi Belief (alternativa: aproximare...)

• Nu am putut defini, în sensul (e.g.) logicilor epistemice modale (bazate pe, e.g., structuri Kripke), decât parțial, noţiuni ca adevăr şi model (satisfiabilitate, validitate, etc.); rezultă – BAN și...

Page 259: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE ÎNCREDERE - 27 • Se poate deci „lucra” la modalitatea și consecinţele

introducerii de elemente noi într-o structură Kripke

modală; după cum am mai spus, să definim de

exemplu o distanţă (în sens topologic!) formală între K

şi B şi – nu în ultimul rând – de a folosi (poate...) logici

probabilistice, fuzzy, genetice, cuantice, string-based,

etc., combinate (eventual) cu nişte (alte) logici

neclasice (modale, epistemice...) utilizate deja în

practică pentru sistemele multiagent și (separat sau

împreună!) „BAN-like”...

• Să nu uităm totuși că: Întregul poate fi „bun”, deşi

componentele pot fi „proaste” (și invers!)

• Vom continua cu două exemple comentate mai în

detaliu („originate” în „munca” lui D. Monniaux)

Page 260: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 261: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 1 Exemplul 1. Analiza bazată pe logica BAN a protocolului WIDE MOUTH(ED) FROG

• Acesta a fost propus în 1990 de către Burrows, Abadi, Needham ca exemplu pentru

necesitatea introducerii BAN (personal, nu cunosc originea acestui nume curios, dar

sunt destule glume pe net...); notația pe scurt: (WMF)

• Este un protocol de autentificare în rețele, permițând entităților implicate în comunicare

să-și dovedească propria identitate, evitându-se, în același timp (pe cât posibil),

interceptarea mesajelor și atacurile prin replicare

• Acest protocol – considerat a fi foarte simplu, chiar didactic – presupune

prezenţa a doar doi agenţi/participanţi, să-i notăm (obișnuit) cu A şi B; ei doresc

să aibă o comunicare secure, pe parcursul unei perioade fixate de timp (sesiuni),

utilizând un server de autentificare trusted, S, şi folosind „synchronized clocks

all around” (t, mai jos) = SPECIFICAREA (BRUTĂ A) PROTOCOLULUI

• Protocolul se furnizează (obișnuit) ca o listă de tranzacții + niște cerințe, care devin

formule BAN care adnotează tranzacțiile, sau chiar le reprezintă TOTAL în BAN

• Pornind cu aceste axiome suplimentare pentru SD-BAN (rezultă, să zicem, SD-BAN+),

vom dori să demonstrăm formal, de exemplu, că protocolul funcționează corect

(alternativ, satisface specificația brută) folosind logica BAN, sistemul SD-BAN+

• Prezentăm întâi protocolul și cerințele suplimentare, inclusiv pe cele considerate a fi

satisfăcute în mod implicit (cum ar fi faptul că pentru mesajele schimbate între

participanți este folosită o anumită formă de criptare/autentificare, cunoscută aprioric)

Page 262: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 2 • Se presupune, de exemplu, că A nu știe cu siguranță că B chiar există, sau dacă

acesta este mereu disponibil; comunicarea ar putea fi deci oprită (periodic, în timp) și

S trebuie să se „descurce” în aceste cazuri (deși generează doar Kbs nu și celelate

chei)

• Mai jos, TA și TS sunt timestamps („mărci ale orei reale”, emise la momentul primei

trimiteri a mesajului)

• Cheile sunt chei simetrice (partajate), Kas fiind cunoscută doar de A și S (similar, Kbs)

• Cheia Kab (cheia de sesiune, partajată între A și B), este generată (ca și Kas de

altfel), și complet determinată de „competentul” A, care o poate (re)folosi pentru

criptarea altor mesaje, atâta timp cât nu se schimbă mărcile de oră

• Folosind o notaţie standard, protocolul poate fi prezentat inițial prin următoarele două

tranzacții (prima „spune” că A îi trimite lui S mesajul A, {TA, Kab, B}Kas, etc....):

1Ex1. A → S: A, {TA, Kab, B}Kas

2Ex1. S → B: {TS, Kab, A}Kbs

• Începând formalizarea în BAN, putem deja presupune că sunt „adevărate”

afirmațiile/formulele

(P – de la Presupunere; similar, mai jos, D – de la Deducție):

1PEx1. A crede (cheie(Kas, A ↔ S))

2PEx1. S crede (cheie(Kas, A ↔ S))

3PEx1. B crede (cheie(Kbs, B ↔ S))

Page 263: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 3 4PEx1. S crede (cheie(Kbs, B ↔ S))

5PEx1. A crede (cheie(Kbs, A ↔ B))

• Mai mult, vom utiliza, de câte ori va fi nevoie, formulele BAN obținute conform

precizării:

• (af1)Fiecare comunicare de tipul P → Q: M (M fiind desigur o listă, adică un

mesaj), va genera o formulă BAN de forma C vede M (C putând fi un

participant la comunicare, dar...și un atacator, câteodată)

• La rândul lui, B este doritor să considere această cheie ca fiind sigură, deoarece

„vine” de la A; acceptăm astfel și „adevărul” formulei:

6PEx1. B crede (A are jurisdicţie asupra lui

cheie(Kab, A ↔ B))

• De asemenea, B doreşte să aibă încredere și în S (anume, acesta ar trebui să

transmită în siguranţă cheile de la/la A), deci vom pune:

7PEx1. B crede (S are jurisdicţie asupra lui

(A crede (cheie(Kab, A ↔ B))))

• Dacă B crede că S crede că A doreşte să utilizeze o cheie specifică pentru a

comunica cu B, atunci B va trebui chiar practic să aibă încredere în S; adică, vom

admite și:

8PEx1. B crede (cheie(Kab, A ↔ B))

Page 264: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 4 • Astfel asigurați, pentru ca protocolul să funcționeze intuitiv

corect, putem presupune că A (își) citeşte ceasul, obţinând timpul

curent, t, şi apoi trimite un mesaj corespunzător lui S; ajungem

astfel la al treilea mesaj care trebuie să facă parte din protocol:

3Ex1. A → S : {t, cheie(Kab, A ↔ B)}Kas

-Mai precis, A îi trimite lui S cheia curentă de comunicare cu B (de

sesiune), aleasă/generată deja, precum şi timpul/ceasul curent,

totul criptat cu cheia sa privată de autentificare pentru server, Kas

• Acum dispunem de suficiente formule suplimentare (chiar prea

multe, pentru că nu le vom folosi probabil pe toate), pentru a

putea începe o demonstrație în SD-BAN+; prin ceea ce urmează,

justificăm de fapt și de ce au fost introduse anumite reguli de

inferență în sistemul deductiv menționat

• Avem astfel Ipotezele S crede (cheie(Kas, A ↔ S)) (2PEx1) şi

S vede {t, cheie(Kab, A ↔ B)}Kas (din 3Ex1 și (af1))

Page 265: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 5 • Folosind (MM1), cu P S, Q A, X {t, cheie(Kab, A ↔ B)}, tragem Concluzia:

1DEx1. S crede (A spune {t, cheie(Kab, A ↔ B)})

• Mai mult, pe X îl putem privi ca fiind format din concatenarea lui Y1 t și

Y2 cheie(Kab, A ↔ B) și atunci, luând 1DEx1 ca Ipoteză în (SG),

cu P S, Q A, deducem:

2DEx1. S crede (A spune t) și

3DEx1. S crede (A spune (cheie(Kab, A ↔ B)))

• Din cauza prezenței lui t, S (și B) nu va crede că mesajul X de-abia primit de la A

a fost preluat/citit de către vreun atacator în trecut; admitem deci fără

demonstrație:

9PEx1a;b;c. S crede (nou(X)); S crede (nou(Y1)); S crede (nou(Y2)); la fel B

• Acum, deoarece S crede (A spune X), din (1DEx1) și S crede (nou(X)), din (9PEx1a), deducem, prin (NV) cu P S, Q A, Concluziile (respectiv):

4DEx1a;b;c. S crede (A crede X); S crede (A crede Y1); S crede (A crede Y2)

• Având informațiile anterioare și ceasurile fiind sincronizate, S va putea trimite lui B

un mesaj conținând timpul t, identitatea lui A și formula A crede Y2; prin urmare,

putem adăuga al patrulea mesaj la protocolul nostru, alături de cele două de la

început și de cel de-al treilea, „găsit” pe parcurs (de unde, B vede {...}, din (af1)):

4Ex1. S → B: {t, A, A crede (cheie(Kab, A ↔ B))}Kbs

Page 266: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 6 • Deoarece mesajul 4Ex1 și este criptat cu cheia Kbs şi, conform 3PEx1,

avem B crede (cheie(Kbs, B ↔ S)), în acest moment deducem că

5DEx1. B crede (S spune ({t, A, A crede (cheie(Kab, A ↔ B))}))

• Mai precis, pentru a trage Concluzia anterioară, am aplicat Ipotezelor 4Ex1 (B vede...) şi 3PEx1 regula (MM1) cu P B, X {t, A, A crede (cheie(Kab, A ↔ B))}

• În acest moment, suntem exact în situația de pe slide-ul anterior, imediat după 1DEx1,

dar cu „B crede...” în loc de „S crede...”, cu „S spune...” în loc de „A spune...” și cu

mesajul {t, A crede (cheie(Kab, A ↔ B))} pe „post” de X (pe A îl putem ignora, neavând

importanță în deducții)

• Repetând pașii (aplicând regulile) făcuți anterior (inclusiv presupunerile relative la

noutate) deducem:

6DEx1. B crede (S crede (A crede (cheie(Kab, A ↔ B))))

• Acum, presupunem implicit (normal, conform primelor ipoteze din enunțul (WMF)) că

B crede (S are jurisdicție asupra lui (cheie(Kab, A ↔ B)), iar din această afirmație și

6DEx1 ca Ipoteze, aplicăm (J) și găsim adevărată:

7DEx1. B crede (A crede (cheie(Kab, A ↔ B)))

• Similar (tot ipoteze (WMF)), B crede (A are jurisdicție asupra lui (cheie(Kab, A ↔ B)), și

folosind această afirmație și 7DEx1, obținem prin (J):

8DEx1. B crede (cheie(Kab, A ↔ B))

Page 267: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 7 • Astfel, B va putea contacta pe A în mod direct și în siguranță, folosind Kab ca pe

o direct session key, reciproc desigur implicit, datorită lui 5PEx1 (Q.E.D.)

• Să pesupunem acum că renunţăm la ipoteza ceasurilor sincronizate

• În acest caz, S va primi mesajul 3Ex1 de la A, {t, cheie(Kab, A ↔ B)}Kas, dar nu mai

poate conchide că t este nou

• S ştie însă că A a trimis cândva acest mesaj (deoarece este criptat cu cheia Kas), dar

nu şi că acesta ar fi un mesaj recent; de aceea S nu poate crede că A doreşte

neapărat să continue să folosească cheia Kab

• Acest lucru (folosirea în viitor a lui Kab) ar putea permite un atac direct asupra

protocolului: un atacator care ar fi în stare să captureze mesajele ar putea „ghici” una

dintre cheile Kab dintr-o sesiune mai veche (deşi acest lucru ar putea dura „mult” timp);

atacatorul ar putea răspunde la vechiul mesaj {t, cheie(Kab, A ↔ B)} prin trimiterea

acestuia lui S; dacă ceasurile nu sunt sincronizate (poate tocmai datorită aceluiaşi

atac), S ar putea crede acest mesaj (practic, vechi!) şi ar putea cere ca B să utilizeze

în continuare cheia veche, deja compromisă

• Prin urmare, ipoteza ceasurilor sincronizate este esențială pentru corectitudinea

protocolului (funcționarea acestuia conform specificației inițiale)

• Putem spune că am terminat o analiză (sumară) a protocolului (WMF) (voi - de

transcris demonstrațiile textuale anterioare, comentate, în arbori de derivare „legați”,

compleți)

Page 268: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 269: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 8 • Exemplul 2 (Protocolul Needham-Schroeder în logica

BAN)

• Să ne ocupăm de analiza şi formalizarea (cât se poate, din

punct de vedere semantic) a protocolului cu chei divizate (și

simetrice) Needham-Schroeder, (NSS); acesta este

important în sine, dar şi prin faptul că multe alte protocoale

sunt practic derivate din acesta (cum ar fi Kerberos)

• În plus, acesta are o slăbiciune majoră, care ar putea fi

demonstrată și apoi eliminată, dacă se utilizează un cadru

formal corespunzător

• Vom descrie activitatea protocolului (funcționarea lui) printr-o

secvenţă de afirmaţii/formule BAN (ca și în Exemplul 1)

• Reamintim mai întâi că acceptăm (af1), care poate genera

formule BAN utile, oricând va fi nevoie

Page 270: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 9

• În cele ce urmează, vom și înlătura anumite „indicaţii” din

textele/mesajele din formulele generate, care nu joacă nici un rol în

demonstraţia BAN (cum ar fi, uneori, numele agenţilor) şi vom

înlocui anumite elemente sintactice prin înţelesul lor semantic

(pentru îmbunătățirea transparenței și înțelegerii)

• Spre exemplu, cheia proaspăt generată Kpq, destinată a fi utilizată

pentru comunicarea între P şi Q în sesiunea curentă, va fi

idealizată/precizată prin perechea de formule BAN

cheie(Kpq, P ↔ Q) şi #(cheie(Kpq, P ↔ Q)), care vor fi notate cu

1PEx2a respectiv 1PEx2b (pot fi folosite chiar ca mesaje în

axiome); ele vor fi ipoteze/axiome suplimentare, posibil a fi folosite

într-o derivare (prescurtăm asta prin (af2)); a se revedea și

axiomele 7A și 6A (SD-BAN)

• Reluăm acum mesajele care compun protocolul, deși nu chiar

exact așa cum le știam (O1. – O5.); dar ținând cont (și) de

afirmațiile (af1) și (af2):

Page 271: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 10

• 2Ex2. S → P:

{Np, cheie(Kpq, P ↔ Q),

#(cheie(Kpq, P ↔ Q)),

{cheie(Kpq, P ↔ Q)}Kqs}Kps

• 3Ex2. P → Q:

{ cheie(Kpq, P ↔ Q)}Kqs

• 4Ex2. Q → P:

{Nq, cheie(Kpq, P ↔ Q)}Kpq

Page 272: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 11

• 5Ex2. P → Q: {Nq, cheie(Kpq, P ↔ Q)}Kpq

• Primul mesaj cunoscut (O1.) este omis, deoarece nu contribuie cu nimic

la evidenţierea proprietăţilor logice ale protocolului pe parcursul

demonstrației; astfel, notația 1Ex2 nu va fi deloc atribuită

• Din O2. și O3. sunt omise niște nume de agenți, inutile d.p.d.v.

SD-BAN

• Ar trebui totuşi să nu uităm faptul că Np este creat exact înaintea primului

mesaj trimis şi trebuie considerat ca fiind proaspăt,

deci P crede #(Np), notată 2PEx2, va fi și ea o ipoteză suplimentară

folosibilă într-o derivare

• Ultimele două mesaje apar puțin modificate și simetrice; astfel, în 4Ex2

apare și cheie(Kpq, P ↔ Q) față de O4. (formulă menționată în (af2)), iar

în O5. se folosea Nq – 1 în loc de Nq, apărând în (actualizatul) 5Ex2 și

cheie(Kpq, P ↔ Q)

• În acest mod, cel puțin teoretic, un intrus nu va putea replica lui P

folosind propriul său mesaj (gen 4Ex2)

Page 273: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 12 • Avem nevoie, probabil, și de următoarele presupuneri

suplimentare (formule BAN considerate ca fiind „adevărate”),cu observația că, implicit, agenţii (inclusiv serverul) ştiu cum să comunice folosind criptografia cu chei divizate/simetrice (presupunere folosită și în Exemplul 1):

3PEx2. P crede (cheie(Kps, P ↔ S))

4PEx2. Q crede (cheie(Kqs, Q ↔ S))

5PEx2. S crede (cheie(Kps, P ↔ S))

6PEx2. S crede (cheie(Kqs, Q ↔ S))

7PEx2. S crede (cheie(Kpq, P ↔ Q))

• P şi Q cred astfel că serverul este sigur și va furniza nişte chei proaspete şi corecte; ei vor accepta orice cheie K furnizată de către server; atunci este normal să acceptăm și adevărul formulelor următoare, pentru fiecare K:

8PEx2. P crede (S are jurisdicţie asupra lui cheie(K, P ↔ Q))

9PEx2. P crede (S are jurisdicţie asupra lui #(cheie(K, P ↔ Q)))

10PEx2. Q crede (S are jurisdicţie asupra lui cheie(K, P ↔ Q))

Page 274: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 13 • Repetăm: formulele precizate (1PEx2 – 10PEx2) vor fi

adăugate, ca și până acum, ca nişte (scheme) de

axiome/ipoteze suplimentare (formule „adevărate”),

la SD-BAN

• Singura valoare pentru K (din 8PEx2 – 10PEx2) care va

avea sens pentru a trage anumite concluzii utile legate de

funcționarea/corectitudinea protocolului (NSS), este Kpq;

schemele anterioare ar putea astfel fi înlocuite chiar cu

(lucru nu prea greu în cazul în care s-ar folosi un

demonstrator automat):

11PEx2. P crede (S are jurisdicţie asupra lui cheie(Kpq, P↔Q))

12PEx2. P crede (S are jurisdicţie asupra lui

#(cheie(Kpq, P↔Q)))

13PEx2. Q crede (S are jurisdicţie asupra lui cheie(Kpq, P↔Q))

Page 275: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 14

• În mod cu totul nesurprinzător, fiecare agent va crede

în prospeţimea a ceea ce generează el însuşi (iarăşi,

axiome suplimentare):

14PEx2. P crede (#(Np)) (deja întâlnit, ca 2PEx2)

15PEx2. Q crede (#(Nq))

16PEx2. S crede (#(cheie(Kpq, P ↔ Q)))

• Presupunerea 16PEx2 este utilă în atingerea scopurilor

protocolului reformulat, dar este pusă sub semnul

îndoielii de către anumiți experți; protocolul (NSS) a fost

astfel criticat pentru folosirea acestei

presupuneri,deoarece se pot demonstra și anumite

proprietăți nedorite; autorii lui nici măcar nu au fost

conştienţi că au folosit-o (în mod implicit)

Page 276: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 15 • Având astfel SD-BAN, folosind și (poate nu chiar toate) ipotezele

suplimentare adoptate (SD-BAN+), vom dezvolta un raționament

asupra protocolului (NSS), prin care vom demonstra că acesta

funcționează (parțial) corect (satisface „ceea ce se dorește de la

el”, adică specificațiile)

• În primul rând, P trebuie să se asigure că cheia folosită pentru a

comunica cu Q este proaspătă; trebuie deci să fie posibil să

deducem în SD-BAN+ formula

H1 = P crede #(cheie(Kpq, P ↔ Q))

• Începem demonstrația folosind ca Ipoteze pe (a), „adevărată”

conform 2Ex2 și (af1), și pe (b), „adevărată” conform 3PEx2

(ordinea ipotezelor nu este totuși esențială aici), pentru a obține

(pe slide-ul care urmează) Concluzia (i), folosind (MM1):

(a)P vede {Np, cheie(Kpq, P ↔ Q),

#(cheie(Kpq, P ↔ Q)), {cheie(Kpq, P ↔ Q)}Kqs}Kps

(b)P crede (cheie(Kps, P ↔ S))

Page 277: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 16 (i)P crede (S spune (Np, cheie(Kpq, P ↔ Q),

#(cheie(Kpq, P ↔ Q)), {cheie(Kpq, P ↔ Q)}Kqs))

• Urmărind forma generală a lui (MM1), în care proveniența cheii K poate să nu fie de la P, la aplicarea ei am folosit particularizările:

K Kps, Q S și X = Np, cheie(Kpq, P ↔ Q), #(cheie(Kpq, P ↔ Q)), {cheie(Kpq, P ↔ Q)}Kqs

• Continuăm cu aplicarea lui (SG) (putem spune că se aplică chiar de două ori dacă ținem cont de necesitatea de a și permuta elementele mesajului în cauză pentru a găsi X1 și X2), Ipoteza fiind (i) de mai sus; X este mesajul anterior, dar privit ca fiind format prin concatenare (X = X1, X2) din

X1 = Np, #cheie(Kpq, P ↔ Q) și

X2 = cheie(Kpq, P ↔ Q), {cheie(Kpq, P ↔ Q)}Kqs

• Concluzia, urmărind forma generală (unde X X1, Y X2 și Q S) a regulii (SG), este:

(ii)P crede (S spune (Np, #cheie(Kpq, P ↔ Q)))

• Separat de ceea ce am dedus până acum, aplicăm (FR1) Ipotezei

P crede (#(Np)) („adevărată” conform 2PEx2) pentru a trage Concluzia:

(iii)P crede #(Np, #( cheie(Kpq, P ↔ Q)))

Page 278: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 17

• În forma generală a lui (FR1) am luat X Np și

Y #( cheie(Kpq, P ↔ Q))

• În continuare, (ii) şi (iii), vor constitui alte două Ipoteze, pentru a aplica (NV) şi a găsi:

(iv)P crede (S crede (Np, #(cheie(Kpq, P ↔ Q))))

• Uitându-ne la forma generală a lui (NV), anterior am

folosit-o cu Q S și X Np, #(cheie(Kpq, P ↔ Q))

• Acum luăm (iv) drept Ipoteză și deducem, folosind (BE2), Concluzia (în forma generală a lui (BE2), am luat X Np și

Y #(cheie(Kpq, P ↔ Q))):

(v)P crede (S crede (#(cheie(Kpq, P ↔ Q))))

• În sfârșit, folosim acum Ipoteza („adevărată” din 9PEx2):

(vi)P crede (S are jurisdicție asupra lui #(cheie(K, P ↔ Q)))

care, împreună cu (v) și folosind (J), conduce la Concluzia:

(vii)P crede (#(cheie(K, P ↔ Q))), pentru fiecare K

• Drept urmare, am demonstrat în SD-BAN+ formula pe care ne-am propus-o, și anume H1, care este caz particular pentru (vii) (K Kpq)

Page 279: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 18

• Demonstrația lui H1 v-am dat-o pictorial (adică... arbore)

• Continuăm cu o a doua deducţie posibilă în (NSS) și folosind SD-BAN+; utilizarea lui H1, tocmai demonstrată, devine esențială

• Avem deja următoarele posibile Ipoteze de start, obținute (H1) sau folosite ((a), (b)) în cazul precedent:

(a)P vede

{Np, cheie(Kpq, P ↔ Q),

#(cheie(Kpq, P ↔ Q)),

{cheie(Kpq, P ↔ Q)}Kqs}Kps (2Ex2)

(b)P crede (cheie(Kps, P ↔ S)) (3PEx2)

(c)P crede (#(cheie(Kpq, P ↔ Q))) (H1, adică (vii))

Page 280: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 19 • Vom obține Concluzia (viii) (sau, fosta (i)), prin aplicarea

lui (MM1) Ipotezelor (a) și (b), exact ca în prima

demonstrație:

(viii)P crede

(S spune (Np, cheie(Kpq, P ↔ Q), #(cheie(Kpq, P ↔ Q)),

{cheie(Kpq, P ↔ Q)}Kqs))

• Urmăm în continuare un drum similar cu prima

demonstrație, adică aplicăm întâi (SG), de două ori să

zicem, formulei anterioare ca Ipoteză, deducând

Concluzia (punem, în forma generală a lui (SG), ca înainte, Q S, dar permutăm altfel mesajul

X Np, cheie(Kpq, P ↔ Q),

#(cheie(Kpq, P ↔ Q))), {cheie(Kpq, P ↔ Q)}Kqs):

(ix)P crede (S spune (cheie(Kpq, P ↔ Q)))

Page 281: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 20 • Putem acum deduce Concluzia (x), utilizând (vii) (sau (c), sau H1)

şi (ix) ca Ipoteze (cu Q S, X cheie(Kpq, P ↔ Q)) pentru regula

(NV):

(x)P crede (S crede (cheie(Kpq, P ↔ Q)))

• Vom utiliza apoi (x), drept primă Ipoteză, împreună cu

P crede (S are jurisdicție asupra lui (cheie(K, P ↔ Q))), pentru

fiecare K (aceasta este 8PEx2), pentru a deduce Concluzia

(folosind regula (J)):

(xi)P crede (cheie(Kpq, P ↔ Q)) ( H2), unde S și X sunt ca în pasul

imediat precedent (de făcut voi „poza” cu a doua demonstrație)

• Să notăm faptul că în acest moment, Q nu are nici o posibilitate de a verifica formal că mesajul X ( cheie(Kpq, P ↔ Q)) este proaspăt

• Vom face totuși acest lucru dacă ne folosim de unele dintre

presupunerile suplimentare admise inițial (a se (re)vedea 1PEx2a,

1PEx2b, (af2) și axiomele BAN notate 7A, 6A), adică admitem

„adevărul” formulelor (aici începe a treia demonstrație – voi, „poza”):

Page 282: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 21 (f)Q crede (#(cheie(K, P ↔ Q))), pentru fiecare K, și, evident

(g)Q crede (#(cheie(Kpq, P ↔ Q))) ( H3)

• Apoi, conform 4PEx2, avem:

(d)Q crede (cheie (Kqs, Q S))

• Iar conform 3Ex2 și (af1), avem și:

(e)Q vede (cheie({Kpq, P ↔ Q}Kqs))

• Cu (d) și (e) ca Ipoteze, putem aplica (MM1), în a cărei formă generală punem P Q, Q S, K Kqs și X cheie(Kpq, P ↔ Q)

• Găsim astfel Concluzia:

(xii)Q crede (S spune (cheie(Kpq, P ↔ Q)))

• În continuare, prin regula (NV) (P Q, Q S și X cheie(Kpq, P

↔ Q)) și folosind ca Ipoteze pe (xii) și (g) de mai sus, obținem

Concluzia:

(xiii)Q crede (S crede (cheie(Kpq, P ↔ Q)))

Page 283: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 22 • De asemenea, din 10PEx2, adică

Q crede (S are jurisdicție asupra lui (cheie(K, P ↔ Q))), pentru fiecare K, am găsit 13PEx2 (punând K Kpq), adică

(xiv)Q crede (S are jurisdicție asupra lui (cheie(Kpq, P ↔ Q)))

• În acest moment folosim (xiii) și (xiv) ca Ipoteze pentru (J), găsind

Concluzia:

(xv)Q crede (cheie(Kpq, P ↔ Q)) ( H4)

• În ultimul pas de derivare, de aplicare a lui (J) (forma concretă), am pus iar P Q, Q S și X cheie(Kpq, P ↔ Q), în forma sa

generală

• Uitându-ne la (xiv) și (xv), mai exact, la întreaga demonstrație

prin care am arătat că sunt „adevărate” H1, H2, H3 și H4, putem

spune că P şi Q sunt convinși de faptul că fiecare dintre ei au

primit cu adevărat cheia reală (prin intermediul lui S) şi ambii

pot să o folosească în siguranță (inclusiv pentru orice alt mesaj,

„normal”, transmis de la unul la altul)

Page 284: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 23 • Putem acum arăta chiar mai mult, continuând practic demonstrația

anterioară

• Folosim pentru început Ipotezele

P crede (cheie(Kpq, P ↔ Q)), adică (xi)/H2 și

P vede ({Nq, cheie(Kpq, P ↔ Q)}Kpq ), obținută din 4Ex2 și (af1)

• Aplicăm acestora (MM1), luând în forma generală

K Kpq și X Nq, cheie(Kpq, P ↔ Q); se obține Concluzia:

P crede (Q spune Nq, cheie(Kpq, P ↔ Q)); aceasta devine

Ipoteză pentru (SG) și găsim „adevărată”:

(xvi)P crede (Q spune (cheie(Kpq, P ↔ Q)))

• Acum, folosind formula (xvi) drept o Ipoteză, împreună cu o alta (și anume H1), pentru a aplica regula (NV), cu X cheie(Kpq, P ↔ Q),

găsim Concluzia:

(xvii)P crede (Q crede (cheie(Kpq, P ↔ Q))) ( H5)

Page 285: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 24 • Urmând (aproape) aceeași serie de pași, vom găsi „adevărată” și formula

(xviii)Q crede (P crede (cheie(Kpq, P ↔ Q))) ( H6)

• Mai detaliat, avem succesiv...

• Din Ipoteza Q crede (#(Nq)) (o admitem în mod similar cu formula P

crede (#(Np), care a fost notată 2PEx2 și a fost admisă ca fiind

„adevărată” deoarece Np este generat de P, înaintea oricărui mesaj trimis de acesta), aplicând (FR1), cu Y cheie(Kpq, P ↔ Q), deducem

Concluzia:

(xix)Q crede (#Nq, cheie(Kpq, P ↔ Q))

• Folosim acum Ipotezele (xv)/H4 şi

Q vede ({Nq, cheie(Kpq, P ↔ Q)}Kpq) (obținută direct din 4Ex2 și (af1)), aplicăm (MM1), cu K Kp, P și Q schimbați între ei (ceea ce aici este

posibil, lucru neadevărat în general deoarece comutativitatea între parteneri nu este mereu permisă), X Nq, cheie(Kpq, P ↔ Q),

deducând:

(xx)Q crede (P spune Nq, cheie(Kpq, P ↔ Q))

Page 286: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 25

• În acest moment, folosind (xx) şi (xix) ca Ipoteze pentru regula

(NV) și punând în forma generală X Nq, cheie(Kpq, P ↔ Q),

din nou cu P și Q schimbați unul cu celălalt, obținem

Concluzia:

(xxi)Q crede (P crede Nq, cheie(Kpq, P ↔ Q))

• În sfârşit, utilizând (xxi) ca Ipoteză pentru (BE3) în care luăm

X Nq, Y cheie(Kpq, P ↔ Q), cu P și Q interschimbați, găsim

exact ceea ce am dorit, adică H6 (aici se termină a 3-a derivare)

• Acest lucru indică și mai pregnant (după cum precizasem),

faptul că fiecare dintre principalii P şi Q crede în celălalt, cel

puţin prin aceea că împart în siguranţă o cheie secretă divizată

Kpq, cu ajutorul căreia pot comunica pe parcursul întregii

sesiuni

• Voi - „poza” (arborele) pentru întreaga demonstrație (reamintim că

o aveți doar pe cea care descrie obținerea lui H1)

Page 287: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 26 • Să ne indicăm şi câteva „slăbiciuni” ale acestui protocol;

presupunerea că Q crede (#(cheie(K, P ↔ Q))) (pentru

fiecare K), folosită anterior, semnifică faptul că Q va admite o

propunere de a crede într-o cheie Kpq fără a fi capabil să

verifice cumva faptul că această cheie este și „potrivită”

(nouă) pentru sesiunea în curs

• De fapt, să presupunem că un intrus C a „vizualizat” şi

memorat (e.g., de pe net...) o sesiune (anterioară) în care

erau implicaţi P şi Q; asta înseamnă că el a memorat, de

exemplu, un mesaj real {Kpq, P}Kqs; să presupunem

suplimentar că intrusul a făcut cumva astfel încât să

cunoască cheia Kpq; în acest moment, acesta poate

„depersonaliza” pe P, cu scopul de a iniţia o comunicare cu

Q, folosind informaţia memorată și (NSS)

Page 288: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 27

Adică, se vor lansa mesajele:

• (a)C Q : {Kpq, P}Kqs

• (b)Q C: {Nq}Kpq

• (c)C Q : {Nq - 1}Kpq

• În acest moment Q va crede că poate comunica

cu P folosind cheia de sesiune (secretă) Kpq, și va

începe de fapt o comunicare cu intrusul, crezând

sincer că el este P

• Cu alte cuvinte: dacă o „cheie de sesiune” a

fost compromisă, toate sesiunile ulterioare

pot fi compromise

Page 289: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 28 • Acest fapt contrazice puternic una dintre motivaţiile principale care

promovează utilizarea cheilor de sesiune, care spune că trebuie să

limităm expunerea mesajelor, gândindu-ne atât la perioada de timp

cât şi la volumul de informaţie transmis, în cazul în care cheia de

sesiune este compromisă

• Denning şi Sacco punctează faptul că o compromitere a unei chei de

sesiune poate avea consecinţe nefaste: un intrus are timp „nelimitat”

pentru a regăsi o o cheie folosită într-o sesiune anterioară, pentru ca apoi

să o folosească ca şi cum ar fi proaspătă (1981)

• Bauer, Berson şi Feiertag punctează la rândul lor faptul că există în

realitate consecinţe chiar mai dramatice dacă, de exemplu, cheia privată

a lui P (cu S) a fost şi ea compromisă: un intrus poate folosi această

cheie pentru a obţine chei de sesiune şi a lua contact acceptat cu mulţi

alţi principali, eventual implicați în comunicare (nu ne-am prea implicat

până acum în problematica comunicării între grupuri...); de asemenea,

în condiţiile menţionate, intrusul poate continua să folosească cheile de

sesiune obţinute chiar şi după ce P şi-a schimbat cheia proprie (1983)

• Folosirea logicii BAN pentru a analiza protocolul (NSS) confirmă

aceste dubii

Page 290: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXEMPLE: DERIVĂRI ÎN BAN - 29

• Ca o concluzie imediată (rezultată și din exemple), să

menţionăm faptul că logica BAN are cu adevărat succes în

identificarea unor presupuneri, aparent firești, dar care pot

avea efecte nedorite pentru un protocol de securitate, cel

puțin în ceea ce priveşte prospeţimea unui mesaj

• Identificarea acestor presupuneri „nefaste” se face prin

demonstrarea unor afirmații în BAN (SD-BAN; fiecare

SD-BAN+ fiind creat special, practic pentru fiecare

protocol concret în parte)

• Folosind această logică, putem găsi metode specifice de a

răspunde unui replay attack

• Au existat însă și destule critici (e adevărat,

constructive...), soldate cu dezvoltarea unor noi logici de

încredere

Page 291: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 292: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 1 • Logica BAN a fost (destul de) criticată pentru „este o

idealizare”, cumva formalizată (dar nu total) însă „dubioasă” a

modelului Dolev-Yao (acesta fiind deja idealizat față de

realitate): în cadrul ei se fac anumite presupuneri semantice

(reflectate în sintaxă) neadecvate

• Știm deja tratamentul pe care logica BAN îl aplică situaţiilor

în care un principal P trimite un mesaj de răspuns pentru

{M}Kpq, de la Q (unde Kpq este o cheie divizată între P şi Q)

• Atunci P poate crede că acest mesaj provine într-adevăr de

la Q doar dacă P este sigur că acest mesaj nu este un

răspuns al unuia dintre propriile sale mesaje „anterioare”

• Logica GNY este o logică de încredere care rezolvă o

asemenea problemă, precum şi altele nemenţionate încă

(desigur, nefiind nici ea „perfectă”; ce urmează este, în mare,

din articolul lui D. Monniaux: ”Decision Procedures...”)

Page 293: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 2

• Logica GNY nu necesită anumite presupuneri

„universale” aşa cum face logica BAN; de exemplu,

nu se presupune că redundanţa este întotdeauna

„prinsă” în mesajele criptate încorporate

• În loc de acest lucru, este folosită o nouă noţiune de

„recunoaştere”, prin care se gestionează și alte

concepte privind conţinutul mesajelor

• De asemenea (vezi comentariul anterior), nu se mai

presupune că un principal (agent) poate întotdeauna

determina dacă un mesaj a fost sau nu transmis

vreodată (în trecut desigur; eventual, în altă sesiune)

de către el însuşi

Page 294: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 3 • Logica GNY separă, de asemenea, pentru un principal,

ceea ce spune/said, de ceea ce crede/posedă (has)

• Să precizăm încă o dată faptul că există şi alte extensii

BAN, care tind să facă lucruri similare, sau chiar mai

complexe și (desigur) de dorit, dar pe care nu avem

timp să le discutăm pe larg (deși, poate, le-am amintit

la început)

• Să începem cu un exemplu

• Fie protocolul didactic dat prin:

(a)A B : Na

(b)B A : {Na}-Kb

(c)A B : {Kab}+Kb

Page 295: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 4 • Acest protocol trebuie înţeles astfel: în pasul (a), A trimite

către B un număr (nou) generat aleator, Na; B răspunde

apoi cu cheia de (de)criptare a lui Na, prin cheia sa

privată -Kb; A răspunde prin criptarea unei (noi) chei

destinate sesiunii curente, noi (adică Kab), folosind cheia

publică a lui B (+Kb)

• Pentru a ilustra modul în care funcţionează aici sistemul

deductiv al logicilor de încredere vom prezenta mai întâi

o versiune idealizată (în GNY) a protocolului precedent

(transformarea tranzacțiilor în formule, cu ajutorul simbolului „ ”, a mai fost folosită de noi):

(a’)B Na

(b’)A {Na}-Kb

(c’)B ({Kab}+Kb cheie(Kab, A↔B))

Page 296: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 5

• „Steluţa” () semnifică faptul că ceea ce urmează nu

provine de la entitatea care a primit mesajul (am mai

amintit despre asta...)

• Ceea ce urmează după „săgeata tremurată” ()

reprezintă o adnotare/formulă GNY care sugerează

faptul că Kab este destinată a fi o cheie partajată secretă

(desigur, pentru comunicarea dintre A şi B)

• Vom mai avea nevoie și de nişte presupuneri semantice

suplimentare, care se vor descrie astfel în GNY:

(i) A +Kb (A posedă/are/deține cheia publică +Kb)

(ii) A ⫢ ׀→ B, cu + Kb deasupra lui ׀→ (A crede că B

are/posedă +Kb care este cheia sa publică; sau, A crede

că +Kb este cheia publică a lui B); deci, crede = ⫢

Page 297: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 6 (iii) A ⫢ Φ(Na) (A crede că Na poate fi recunoscut; adică, dacă

A vede o parte a unui mesaj despre care bănuie că

reprezintă Na, atunci A poate chiar verifica acest lucru)

(iv) A ⫢ #(Na) (A crede că Na este proaspăt, adică Na a fost

folosit pentru prima dată în această sesiune de comunicare

care folosește acest protocol, și nu într-o sesiune

anterioară)

• Desigur că din acest moment se modifică întreg eșafodajul

sintactic construit de noi pentru BAN (operatori, formule

elementare, axiome, reguli de inferenţă, sisteme deductive,

etc.), chiar provenit din cel semantic/intuitiv; dar într-un

mod ușor de reprodus

• Nu vom furniza întreg sistemul deductiv „actualizat”; lista

completă a regulilor este în articolul specificat al lui Gong,

Needham, Yahalom (voi...)

Page 298: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 7 • Totuși, ca exemplu de derivare în SD-GNY+, demonstrăm formula

A ⫢ (B Na) (voi...arbore...)

• Mai întâi, știm că (uitându-ne la tranzacția (b) al protocolului) A vede

mesajul constând din criptarea lui Na prin cheia privată folosită pentru

cheile private/publice Kb (vorbim de fapt de (b’), ca fiind Ipoteza 1); folosim

și presupunerea (i) (aceea că A posedă cheia publică corespunzătoare);

aceasta va fi Ipoteza 2 (pentru presupusa următoare regulă de aplicat)

• Folosim în continuare şi presupunerea (ii), admițând că B utilizează cheia

privată Kb nu pe cea publică; aceasta este Ipoteza 3

• Folosim și (iii) (sub forma A crede că recunoaşte Na), ca Ipoteza 4

• Având aceste 4 ipoteze, am putea deduce (concluzie a unei reguli) faptul

că A crede că B spune Na; prin urmare, dispunem de o primă regulă de

inferență în SD-GNY+, notată (I4) în articol

• Atunci, folosind presupunerea (iv) (adică A crede că Na este proaspăt),

putem deduce exact formula dorită mai sus (A crede că B deține Na); am

folosit și regula I6 (4 și 6 reprezintă de fapt numărul total de ipoteze folosit

până la acel moment de aplicare)

Page 299: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 8 • Scopul final al protocolului analizat poate fi acela de a

a-i induce lui B ideea de a crede faptul că A crede că Kab este într-adevăr cheia lor divizată de sesiune (ceea ce se întâmpla în general și până acum, la celelalte protocoale)

• Adică de a demonstra formula GNY

B ⫢ (A ⫢ cheie(Kab, A↔B))

• Oricum, tranzacția/mesajul (c) de mai înainte ar putea fi procesat de către un intrus care are acces la +Kb

• Aceasta este o presupunere realistă, Kb fiind o cheie publică care poate înlocui Kab oricând se doreşte

• Folosind însă metodele logicii formale (SD-uri), nu vom putea deduce că protocolul menţionat va îndeplini acest scop, acest lucru neputând fi dedus printr-o derivare GNY din ipotezele menţionate

Page 300: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

EXTENSII BAN – 9

• Arborele corespunzător exemplului anterior (care e o

demonstație textuală) – voi

• Să spunem ceva în plus despre decidabilitate

• Un fapt puţin cunoscut despre logicile de încredere BAN,

GNY, etc. (chiar modale, în general și epistemice, în

particular), este acela că ele sunt (cocepute să fie) decidabile

• Mai exact, să existe un algoritm care, pornind ca intrare cu o

mulţime (finită) de ipoteze (formule suplimentare față de

axiome în SD-ul atașat logicii corespunzătoare) H1, H2, ..., Hn,

precum şi cu o concluzie C, se termină întotdeauna cu

răspunsul DA, dacă C poate fi dedusă (și) din H1, H2, ..., Hn,

folosind regulile de inferenţă considerate din SD-ul

corespunzător, și NU, în caz contrar

• Acest lucru nu este deloc uşor de arătat

Page 301: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 302: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 1 • Să punctăm astfel că, nu toate logicile de încredere sunt

decidabile (în sensul precizat mai înainte; sau chiar în cel

legat şi de eventuala semantică: existența, sau nu, a unor

teoreme de corectitudine și completitudine – vezi Mas...)

• Mai departe, analiza protocoalelor criptografice în

metamodelul Dolev-Yao (în prezenţa unor ipoteze

suplimentare rezonabile, chiar restrictive), este de asemenea

nedecidabilă dacă se permite existenţa unui număr nelimitat

de sesiuni (chiar dacă mesajele sunt restricţionate la a avea

o „adâncime” mărginită – bounded depth)

• Revenind, există cel puţin două metode generale tradiţionale

pentru a testa dacă o formulă/concluzie F admite o derivare (Γ F) pornind de la o mulţime de ipoteze (axiome

suplimentare) Γ într-un sistem deductiv atașat unei logici de

încredere particulare

Page 303: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 2 • (I)Forward chaining: pornind cu ipotezele Γ, se

aplică toate regulile de deducţie posibile pentru a

deriva noi formule, continuându-se cu reuniunea

dintre ipoteze şi noile formule deduse cărora li se

aplică din nou regulile de deducţie, etc., până când

(eventually) se obţine concluzia

• (II)Backward chaining: pornind cu bănuita ţintă F

(purported), trebuie găsite toate regulile (şi toate

instanţierile de variabile prezente în ele), care ar

putea conduce la acea concluzie; apoi, se încearcă,

recursiv (folosind metode de tip backtracking), să se

regăsească ipotezele fiecărei reguli (pentru fiecare

instanţiere)

Page 304: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 3

• Există însă două probleme majore privind implementarea

sistemelor deductive prezentate pentru BAN şi GNY

• Întâi, atât metoda forward cât şi cea backward pot să nu se

termine; avem de-a face deci cu metode semidecidabile,

adică cu semialgoritmi

• Apoi, există reguli care nu sunt prea „potrivite” pentru forward

chaining (căutarea înainte), cum ar fi (FR1), instanţiată la

„Dacă P ⫢ #(X), atunci P ⫢ #<X, Y>, pentru fiecare Y” are o

concluzie în care sunt prezente variabile care nu sunt

prezente în ipoteze

• Ar fi astfel imposibil să aplice metoda forward fără a se

introduce variabile care să reprezinte formule necunoscute;

similar, regula (BE2) nu este prea potrivită cu metoda

backward chaining (de căutare înapoi)

Page 305: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 4

• Dacă vom încerca să implementăm direct (şi naiv)

regulile BAN/GNY într-un demonstrator automat

(acest lucru s-a şi făcut deja), demonstratorul are

mari şanse să „intre” într-un spaţiu de căutare cu un

număr infinit de stări (posibile demonstraţii) ceea ce

desigur denotă faptul că algoritmul (posibil) nu se va

termina nici măcar atunci când concluzia nu este

demonstrabilă

• Mai mult, chiar în cazurile de terminare timpul de

calcul poate fi prohibitiv (de mare) pentru că

procedura „simplă” va explora numeroase căi

nefolositoare

Page 306: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 5 • Abordarea, datorată lui D. Kindred şi J. M. Wing

şi geralizată de D. Monniaux, reprezintă de fapt o

rafinare a unei combinaţii între căutările înainte şi

înapoi (incluzând și folosirea mulțimilor

magice/magic sets)

• Vom prezenta pe scurt această metodă în ceea

ce urmează; metoda analizează în special logica

GNY, dar este suficient de generică pentru a

putea fi aplicată şi altor logici similare

• Ea se bazează pe aplicarea „atentă” a căutării

înainte

Page 307: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 6 • Metoda care va fi prezentată (...„pentru cunoscători ”, de fapt...) a

mai fost aplicată pentru variante „echivalente” ale GNY-ului indicat de noi

• Dar, să revenim puţin la logica BAN; vom partiţiona, pentru început, regulile de derivare în două subclase

(I) Reguli de descompunere, în care toate variabilele concluziei se regăsesc în premize (ele sunt folosite în căutarea înainte)

• În cadrul lor, vom distinge între două tipuri de premize: principale (cel puţin una) şi secundare sau auxiliare (opţionale, care pot lipsi); varibilele din premizele auxiliare constituie o submulţime a celor din premizele principale

• Regulile de descompunere vor fi reprezentate sub forma (formele) cunoscute, cu precizarea că premizele vor fi liste ordonate: prima sublistă va fi constituită din cele principale, iar separarea între subliste se face prin (să zicem) „;”

• Alternativ, în cadrul unei demonstraţii prescurtate, premizele principale ar putea fi adnotate cu „p” iar cele auxiliare cu „a” (eventual, cu indici)

Page 308: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 7 (II) Reguli de compunere, în care toate variabilele premizelor se

regăsesc în concluzie (ele sunt folosite în căutarea înapoi)

• Intuitiv, regulile de compunere introduc constructori (cum ar fi

împerecherea) iar cele de descompunere „rup” constructorii

(sunt destructori; cum ar fi selectarea primei componente a

unei perechi)

Observaţie. Partiţionarea unei mulţimi de reguli în două

subclase este foarte similară cu cea folosită de „magic

sets”, unde regulile principale sunt denumite growing (în

creștere) iar cele auxiliare shrinking (în scădere).

• Se poate găsi o similaritate puternică şi cu împărţirea regulilor

deducţiei naturale în reguli de introducere şi reguli de

eliminare (vezi mai jos Teorema 1, privind demonstraţiile

normalizate sau,pe scurt, normale)

-Această teoremă este foarte asemănătoare cu teorema de

normalizare (Gentzen Hauptsatz) pentru deducţia naturală

Page 309: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 8 • Logica GNY (şi cele similare) îndeplinesc

criteriul demonstraţiei/derivării normale: dacă există o derivare D : Γ F atunci există

şi o derivare normală Γ ’ F

• O derivare se numeşte normală dacă nu

există nicio regulă de compunere care să fie

folosită ca „regulă rădăcină” a subderivării

care generează o premiză principală a unei

reguli de descompunere

• Mai exact, pentru fiecare regulă de

descompunere „d” folosită în D, care are:

Page 310: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 9

• Ipoteze principale: P1, P2, …, Pn

• Ipoteze auxiliare: A1, A2, …, Am

• Concluzie: C

• Și unde la deducerea ipotezelor principale s-au

folosit nişte „pre-reguli” r1, r2, …, rn, niciuna dintre

ele nefiind reguli de compoziţie (spunem că este

prezentă o tăietură la „d”)

• Informal, acest lucru ar însemna faptul că ar fi

posibil să deducem orice poate fi demonstrat, fără a

trebui să compunem ceva şi apoi să descompunem

acel ceva

Page 311: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 10

• De exemplu, putem avea o derivare

Ipoteze: P X, P Y

Concluzie: P <X, Y>

(cu α ca ramură anterioară pentru deducerea lui

P X şi cu β pentru deducerea lui P Y); se

aplică apoi (BE1) și, folosind ultima concluzie

drept ipoteză şi aplicând (BE2) găsim iar P X

• Cu alte cuvinte, compunând şi decompunând putem

obţine ceva ce se putea găsi direct

Page 312: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 11 • Extinzând GNY, putem defini o nouă logică, inițial prin

introducerea unui simbol special numit scop: X va

însemna „dorim să-l compunem pe X”

• Mai mult, internalizăm aceasta în strategia/algoritmul

de decizie permițând aplicarea unei reguli de

compunere doar în cazul în care concluzia ei „se va

compune” (la rândul său)

• Transformarea amintită va transforma o regulă de

compunere

Ipoteze: H1, H2, …, Hn

Concluzie: C

într-o pereche de reguli:

Page 313: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 12 1.Ipoteze: C, H1, H2, …, Hn

Concluzie: C

2.Ipoteză: C

Concluzii: H1, H2, …, Hn

• Odată cu acestea, aveam de fapt și regula de

descompunere dată prin:

Ipoteze: P1, P2, …, Pn, A1, A2, … , Am

Concluzie: C

unde n > 0, m ≥ 0 (Pi sunt premize

principale, iar Aj sunt premize auxiliare)

Page 314: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 13 • Aceasta va genera şi regula dată prin:

Ipoteze: P1, P2, … , Pn

Concluzii: A1, A2, …, Am

Teorema 1. Pentru fiecare sistem deductiv în care există

posibilitatea de a se efectua transformările anterioare, notat direct prin „” și notând cu „’ ” sistemul obținut

prin efectuarea transformărilor, avem: pentru fiecare mulțime de ipoteze suplimentare Γ avem Γ C ddacă

Γ, C ’ C.

• Să reflectăm puțin asupra procedurii de decizie aplicate

• Începem prin a observa că interesul de a transforma problema iniţială legată de „” într-una legată de „’ “

are o dublă motivaţie:

Page 315: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 14 -Toate regulile din „’ “ se „potrivesc” a fi folosite cu

forward-chaining

-Pentru fiecare mulţime finită de ipoteze Γ,

lungimea derivărilor pentru „’ “ pornind cu Γ este

mărginită (superior); acest lucru se poate arăta

dacă introducem o funcţie de măsură/lungime

prin care se atribuie o valoare (număr întreg)

fiecărei formule F (măsura sa va fi notată |F|)

într-un asemenea mod încât lungimea concluziei

unei „’ “-reguli este strict mai mică decât

lungimea maximă totală a premizelor

Page 316: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 15

• Acest lucru va însemna că pentru fiecare mulţime finită de

ipoteze Γ, mulţimea concluziilor care pot fi derivate din Γ este

finită şi poate fi complet enumerată prin aplicarea exhaustivă a regulilor din „’ “ (se mai numeşte saturarea ipotezelor prin

sistemul forward-chaining „’ “)

• Procedura de decizie pentru „’ “ devine astfel foarte simplă

(ca enunț general, nu ca implementare!): pentru a testa dacă

Γ ’ F, este suficient să „saturăm” Γ în „’ “ şi apoi să testăm

dacă F aparţine mulţimii de formule generate

• Să notăm că deşi Γ este este utilizată pentru demonstrarea

terminării procesului de saturare, aceste lucru nu implică în mod expres „calculul” efectiv, adică obținerea întregului Γ

• Iată definiţia lui |·| (slide-ul următor va fi numit Tabel 1):

Page 317: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 16 • Dacă F = K sau F = P sau F = Np, atunci |F| = 1

• Dacă F = (P ⫢ X) sau F = (X), atunci

|F| = 1 + |X|

• Dacă F = (P X) sau F = cheie(K, P↔Q) sau

F = ׀→ P (cu (+)K deasupra), atunci |F| = 2 + |X|

• Dacă F = {X}K, atunci |F| = 3 + |X| + |K|

• Dacă F = <X, Y>, atunci |F| = 1 + |X| + |Y|

• Dacă F = P | X sau P | X, atunci

|F| = 3 + |X|

• Evident că pentru un mesaj sau o cheie, măsura/

lungimea este dată de numărul de caractere

Page 318: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 17

• Folosind Teorema 1, poate fi obţinută cu uşurinţă o procedură de decizie privind „“ (în logica BAN sau,

uşor modificată, în logica GNY)

• Trebuie mare atenţie pentru ca implementarea să

respecte regulile teoretice precizate în procedura de

saturare (mai ales în cazul logicilor mai complexe,

cum ar fi chiar GNY)

• După cum am mai specificat, implementările „naive”

pot genera costuri prohibitive (nu putem pur şi simplu

încerca toate regulile la fiecare pas pentru găsirea

unei derivări; de fapt, problema „alegrii rapide” nu

este caracteristică algoritmului anterior...)

Page 319: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 18

• Există numeroase posibilităţi de optimizare, atât

la nivel de teorie cât şi la nivel de practică

• Timpul de implementare poate fi redus, chiar în

cazurile complicate, la nivel de secunde,

implementările bazate pe forward-chaining fiind

mai eficiente (în general; în cazurile „naturale”)

• Reținem și ideea că scopul general al unor

asemenea implementări nu este doar de a

demonstra corectitudinea protocoalelor

utilizând logici specifice, ci şi de a identifica

presupunerile neconvenabile

Page 320: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 19 • Spre exemplu, am putea spune că este „mai bine” să

folosim F şi „’ “ decât F şi „“

• A se (re)vedea și articolul de bibliografie („tot” al lui D.

Monniaux) „Analysis of Cryptographic Protocols

using Logics of Belief: an Overview”

• Marea problemă este legată totuși de semantică

• Mai exact, fie o introducem direct în considerații (Mas...), fie este nevoie de un instrument formal suplimentar prin care să fim siguri că utilizăm regulile „potrivite” în derivare

• Astfel, suntem oare siguri că nu deducem (prin derivări,

cu semantica „înglobată” ceva greşit datorită unei

„loophole” („portiță” spre o eroare, datorată unei,

eventuale, ciclări) ?

Page 321: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 20

• Vom analiza în viitor legătura

logicilor de încredere cu Isabelle

(într-un mod cât de cât precis)

• Pentru aceasta, vom prezenta pe

scurt în ceea ce urmează

protocolul Needham-Schröder-

Löwe cu chei publice, (NSLP)

Page 322: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 21 • Pentru introducerea (NSLP) vom folosi modalitatea

deja cunoscută (sperăm) a listării tranzițiilor absolut

necesare pentru prima comunicare între

agenții/principalii A și B (fără a se folosi vreun server

intermediar și fără a ne interesa conținutul efectiv al

mesajelor care vor constitui ulterior esența

comunicării); nucleul protocolului este, într-o primă

fază:

• T1. A B: {Na, A}Kb

• T2. B A: {Na, Nb}Ka

• T3. A B: {Nb}Kb

• Protocolul a fost introdus sub această formă în 1978,

găsit greșit 20 de ani mai târziu, apoi reparat de Löwe

Page 323: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 22

• Protocolul folosește criptografia cu chei publice

• Fiecare „persoană” posedă o cheie privată știută

numai de ea și o cheie publică cunoscută de toată

lumea (sintactic, nu vom face diferențe de scriere între

cheile private și cele publice, cam ca și până acum;

diferența se va face doar în semantică, la nivel intuitiv

deocamdată)

• Dacă persoana A vrea sa îi trimită persoanei B un

mesaj (secret) atunci persoana A criptează mesajul

folosind cheia publică a persoanei B

• Doar persoana B are cheia privată care se potrivește

pentru a decripta mesajul lui A

Page 324: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 23 • În prima tranzacție, A îi trimite lui B un mesaj ce conține nonce-ul Na

împreună cu numele lui A (criptate folosind cheia publică a lui B (Kb)

• În a doua, B îi trimite lui A un mesaj constând atât din Na cât și din Nb și

criptat folosind cheia publică a lui A (Ka)

• În ultima tranzacție, A returnează Nb lui B (criptat cu cheia lui B)

• Când A recepționează mesajul al doilea, ea știe că B a primit mesajul ei,

deoarece doar el ar fi putut decripta {Na, A}Kb și „extrage” apoi Na (indici...)

• La fel, în cazul celui de-al treilea mesaj, B știe că A este cu adevărat

persoana activă, cu care comunică în sesiune

• Despre acest protocol de credea inițial că poate fi presupus a satisface

implicit proprietatea că Na și Nb sunt (secrete) cunoscute doar de către A

si B

• Această proprietate se „traducea” apoi explicit și în logica de încredere

aleasă (împreună cu tranzacțiile T1. – T3., în modul cunoscut) și se

folosea în demonstrațiile de corectitudine ale protocolului

Page 325: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 24 • Löwe a arătat că acest lucru este fals, sugerând un

replay attack de genul: dacă A „rulează” protocolul și

cu C, atunci C poate să înceapă o nouă rulare a

protocului cu B (C dându-se drept A)

• În final, B va crede că a rulat protocolul cu A, fără a ști

că C cunoștea Na și Nb și a folosit acest lucru pentru a

se substitui lui A (nu insistăm...)

• Corecția propusă de Löwe și demonstrată apoi a fi

viabilă, a fost de a introduce și numele lui B în mesajul

(trimis de B lui A) din tranzacția a doua, aceasta

devenind:

• T2’. B A: {Na, Nb, B}Ka

Page 326: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 25 • Astfel, nucleul protocolului (NSLP) va fi format în

continuare din:

T1’. A B: {Na, A}Kb

T2’. B A: {Na, Nb, B}Ka

T3’. A B: {Nb}Kb

• Ar urma acum transcrierea tranzacțiilor și ipotezelor

suplimentare în BAN/GNY/etc. și apoi retranscrierea

lor și a regulilor de inferență în Isabelle

• Isabelle este însă un demonstrator automat folosit în

cazuri reale și având un limbaj propriu de specificare a

formulelor (ipoteze, concluzii, reguli, ș.a.m.d.)

implicate într-o demonstrație (revenim, la „seminar”)

Page 327: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 26 • Totuși, să menționăm că procedeul prin care va trebui să

ajungem să ne plasăm „mai aproape de realitate”, adică mai

aproape de cadrul formal de scriere a specificațiilor pentru

Isabelle constă din executarea succesivă a următoarelor

activități

• Trebuie început prin a cunoaște detaliat acest cadru formal,

care este în esență un limbaj de programare concret, de tip

programare funcțională (ca exprimare; e combinată totuși

cu programarea logică și cea bazată pe reguli; desigur, și

pe cea imperativă clasică...)

• Apoi ar trebui căpătată abilitatea de a exprima corect în

acest cadru toate conceptele legate de mediul internautic,

protocoale de comunicare, securitate, atacuri, vulnerabilități,

etc. (măcar cele care ne sunt absolut necesare la un

moment dat)

Page 328: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 27 • Exprimarea într-un asemenea limbaj poate fi făcută la

diverse nivele de detaliere/abstractizare: de pildă, un

nonce se reprezintă pe 20 de octeți, că o cheie de

criptare este un simplu număr natural, că o cheie

publică se poate mapa într-o cheie privată și reciproc,

că un text criptat poate fi decriptat folosind doar o

singură cheie și producând un text simplu, etc.

• Dar am putea (la modul ideal) traduce/reprezenta în

acel cadru formal și protocolul în sine, semantica sa

operațională (măcar), atacatorii și comportamentul

acestora, comportamentul sistemului în ansamblu

(rezultat în urma apariției unor evenimente, ca rezultat

al efectuării anumitor acțiuni de către participanții la

comunicare, fie ei doriți sau nu...)

Page 329: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LOGICI DE TIP BAN & SD-uri – 28 • Repetăm că, în ceea ce privește proprietățile

protocoalelor, se pot demonstra în logicile de

încredere (și nu numai...) lucruri „mai simple”

(legate,de exemplu, de încredere) sau „mai complexe”

(legate, să zicem, de secretizare, autentificare,

comunicarea sigură în grupuri, efectul pierderii cheilor,

etc.)

• Ceea ce se demonstrează depinde nu doar de

abilitățile personale necesare (amintite) ci și de

înțelegerea profundă a mediului formal implementat,

precum și de posibilitatea de a-l extinde (desigur, când

este cazul); aici vorbim e.g. despre teoria (axiomatică

a) mulțimilor, demonstrații prin inducție bazată pe

reguli, specificare formală și paradigme de programare

Page 330: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 331: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 1 • Un protocol de securitate este o secvență (finită) de mesaje

text (sau tranzacții/șabloane de comunicare), reprezentând

comunicarea între două entități (fiecare instanțiere este privită

ca o sesiune de comunicare distinctă de altele posibile), în

mediu internautic (MAS), având emițătorul (U) și receptorul (V)

precizați în mod explicit:

U V: text (U îi transmite lui/trimite lui V informația/datele precizate

în text)

• Porțiunile distincte de text sunt separate prin virgulă, iar aceste

porțiuni individualizate pot reprezenta texte reale (sau chiar

obiecte mai complexe), dar și diverse prescurtări, extensii,

mnemonice, codificări, criptări, etc. ale acestora

• Ca (sub)porțiuni de text, putem identifica:

-(grupuri de) agenți (participanți la comunicare; mai sunt numiți și

principali, servere (de obicei, trusted, în care orice participant se

poate încrede), mașini, dispozitive)

Page 332: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 2 -chei de criptare/decriptare (simetrice, în general); divizate/împărțite,

publice, secrete (corespunzătoare celor publice) și folosite pentru

algoritmii (cifruri, criptosisteme) de criptare/decriptare a textului sursă

într-un text cifrat; se încearcă astfel împiedicarea finalizării unor atacuri

(în special al celor prin revenire, care folosesc informațiile vehiculate într-

o sesiune de comunicare anterioară temporal) ale unor intruși (atacatori,

adversari, persoane rău intenționate, corupte; de obicei, textele cifrate

apar delimitate de acolade, indicându-se și cheia folosită)

-mesageri (co-fondatori, nonces), care sunt numere pseudoaleatoare,

prin care se identifică sesiunea curentă a unei comunicări (prospețimea

informației)

-timpul curent de transmitere a text-ului (pentru transmițător)

-o marcă (suplimentară) de timp, folosită eventual de participanții la

comunicare pentru idenficarea mai sigură a sesiunii de proveniență

(curentă sau nu) a (părții de) text în care apare

-formule (BAN), care, practic, adnotează anumite (sub)porțiuni de text

-alte informații (legate, de exemplu, de poziția geografică a celor care

comunică) necesare identificării (autentificării) entităților

Page 333: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 3 • Ordinea tranzacțiilor din fiecare instanțiere

(execuție) a unui protocol (într-o sesiune) este

implicită, fixată aprioric de poziția lor în lista ce

descrie protocolul

• Ca pas următor, fiecare tranzacție din lista

anterioară (protocol description) este

transformată într-o formulă (BAN), printr-un

proces numit idealizare

• Ca, de fapt, în orice logică în care formulele

„apar” ca „traduceri” dintr-un limbaj informal,

ideea de „idealizare” este specificată vag și

extrem de greu de a fi aplicată „corect”

Page 334: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 4 • Anumite „variații” ale protocoalelor pot să nu se

distingă suficient în reprezentarea lor logică (ca

formule BAN), deși anumite variații ar putea fi critice

pentru a decide dacă un protocol este sigur (sau nu),

vs. proprietatea selectată

• Din această cauză, analiza BAN (nu doar ea, din

păcate...) poate fi chiar periculoasă deoarece este

posibil să „ateste” un protocol ca fiind sigur, deși în

realitate nu este cazul (vom reveni; poate...)

• „Trecând peste” (pe moment), după descrierea unui

protocol printr-o listă de tranzacții, formulele BAN

obținute prin traducere sunt adăugate (ca axiome

suplimentare) la axiomele sistemului deductiv al BAN

(SD-BAN devenind SD-BAN+)

Page 335: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 5 • Iată operatorii care vor apare în formulele BAN care

reprezintă „idealizări” ale protocoalelor

• • ⫢ •: believes/crede (A crede S: A acționează ca și cum S

este „de încredere”)

• • | • : has jurisdiction over/are control, jurisdicție,

autoritate asupra lui (S are autoritate asupra lui A)

• • |~ •: said/spune, trimite, a spus cândva, a trimis

(cândva) mesajul (A a trimis mesajul X)

• • • : sees/vede, a primit mesajul (A a primit mesajul X)

• • ↔K • : communicate/comunică prin (cheia divizată) K;

se poate și „prin (cheia publică) +K”, sau „prin cheia

secretă (matching)/corespunzătoare cheii publice +K,

adică –K”); eventual, și cu indici inferiori de tip A sau B

(A ↔K B, A ↔+K B, A ↔-K B)

Page 336: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 6 • key/cheie(K, • ↔ •) va fi o notație alternativă

pentru • ↔K • (sau cu +K/-K...)

• • K • : from/de la (luând în considerare

cheia K; sau +K/-K) (A de la B)

• <•, •> : (con)catenation/concatenare

(alăturare textuală de mesaje; <X, Y> = XY)

• {•}K : encryption/criptare mesaj (cu cheia K,

+K, -K) ({X}K)

• #(•) : fresh/mesajul este proaspăt, nou (#(X))

• K(•) : has, posesses/are, deține cheia K→׀

(+K, -K) (׀→K(A))

Page 337: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 7

• Reamintim și că simbolurile care sunt indici

inferiori (dreapta) pentru operatori, pot apare

și/sau deasupra operatorului respectiv, că „A”

se poate scrie și „a”; sau: Ka este de fapt Ka

• Să exemplificăm cu protocolul Otway-Rees

• În cadrul acestui protocol se presupune

implicit (cam ca peste tot) că se folosește un

algoritm simetric de criptare/decriptare, care

asigură, tot implicit, autentificarea și

confidențialitatea informației criptate

• Lista „brută” a tranzacțiilor este:

Page 338: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 8 1) A B: M, A, B, {NA, M, A, B}Kas

2) B S: M, A, B, {NA, M, A, B}Kas,

{NB, M, A, B}Kbs

3) S B: M, {NA, KAB}Kas, {NB, KAB}Kbs

4) B A: M, {NA, KAB}Kas

• Precizăm doar că M este un (alt) nonce „creat”

de A; sperăm că restul semnificațiilor lingvistice

sunt conoscute

• Se va reveni asupra acestui protocol

• Versiunea sa idealizată va fi, într-o primă etapă:

Page 339: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 9

1) A B: {NA, NC}Kas

2) B S: {NA, NC}Kas, {NB, NC}Kbs

3) S B: {NA, (A ↔Kab B), (B |~ NC)}Kas,

{NB, (A ↔Kab B), (A |~ NC)}Kbs

4) B A: {NB, (A ↔Kab B), (A |~ NC)}Kbs

• Desigur că, în plus, fiecare tranzacție de forma

U V: {X}K..., se va înlocui cu două formule BAN,

de forma V {X}K... și U|~{X}K... (C este un alt nume,

fictiv, al lui A)

• Această idealizare este dată de inițiatori și se poate

arăta că ea este „ambiguă”, în sensul sugerat

Page 340: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 10

• Axiomele (schemele de...) SD-BAN sunt:

1A. P crede X (P ⫢ X)

2A. P are control asupra lui X (P | X)

3A. P spune/trimite X (P |~ X)

4A. P vede X (P X)

5A. {X}K : mesajul X este criptat cu cheia K

6A. #(X): mesajul X este nou/proaspăt (uneori,

este și o alternativă pentru P spune X)

Page 341: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 11 7A. cheie(K, P ↔ Q) (sau P ↔K Q, sau...): se aplică de

obicei presupunerea că secretele sunt protejate în mod implicit în modelul Dolev-Yao, deci nu vom folosi ipoteze suplimentare pentru acest lucru în demonstrații; de asemenea implicit, presupunem că operatorul este comutativ, în sensul că dacă P ↔ Q atunci vom avea și Q ↔ P, şi reciproc; această formulă poate fi un mesaj

8A. P deține cheia K (׀→K(P)): se presupune implicit că cheia K nu va putea niciodată fi descoperită de către niciun alt agent; cu excepţia desigur a lui P, sau a altuia în care P are încredere (exprimată explicit)

• În general: P este agent, S este server, X este mesaj, K este cheie, etc. (ceea ce înseamnă că schemele sunt valabile „pentru fiecare...”)

Page 342: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 12 • Regulile vor fi redactate sub forma: Dacă premize atunci concluzii

(premizele/concluziile vor fi separate prin și).

• Voi: rescriere sub formă standard/arborescentă și folosind

exprimarea simbolică

• 1I. (MM1) Dacă (P crede (cheie(K, P ↔ Q))) şi (P vede {X}K),

atunci (P crede (Q spune X))

• Reamintim că în general, regulile de tip Message Meaning privesc

interpretarea mesajelor autentificate printr-o criptare care utilizează

chei private sau divizate

• Astfel, regula poate fi redată și prin:

• 1I’. Dacă (P crede (cheie(K, P ↔ Q))) şi (P vede {X}K, dar

provenienţa nu este de la P), atunci (P crede (Q spune X))

• Anticipând, în logica GNY se va introduce simbolul (operatorul unar) „” pentru a se specifica faptul că o (sub)componentă „nu își

are originea în acel loc”, ceea ce ar face ca presupunerea

anterioară să devină internă logicii şi regula să arate sub forma:

Page 343: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 13 • 1I’’. (MM2) Dacă (P crede (׀→K (Q))) şi (P vede {X}-K),

atunci (P crede (Q spune X))

• 2I. (NV) Dacă (P crede (Q spune X)) şi (P crede

(#(X))), atunci (P crede (Q crede X))

• Această regulă, Nonce Verification, mai are variante

numite mai jos (FR) (de la Freshness Rule)

• În plus, pentru aceste prime reguli de inferenţă, să

reamintim că, condiţia de aplicabilitate exprimată prin

formula (c1): P crede (#(X)) este câteodată admisă ca

fiind valabilă implicit (în asemenea situații, sunt însă

posibile replay attacks)

• 3I. (J) Dacă (P crede (Q are control asupra lui X)) şi

(P crede (Q crede X)), atunci (P crede X)

Page 344: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 14 4I. (SG) Dacă (P crede (Q spune <X, Y>)) atunci

((P crede (Q spune X)) şi (P crede (Q spune Y)))

• Numele anterior provine de la Sees Group. Continuăm cu:

5I. Se poate și „invers”, adică vom admite de fapt corectitudinea

schemelor (mnemonicul provine de la BElief) :

5Ia. (BE1) Dacă ((P crede X) şi (P crede Y)) atunci (P crede <X,Y>)

5Ib. (BE2) Dacă (P crede <X, Y>) atunci ((P crede X) şi

(P crede Y))

5Ic. (BE3) Dacă (P crede (Q crede <X, Y>))

atunci ((P crede (Q crede X)) şi (P crede (Q crede Y)))

5Id. (BE4) Dacă (P crede (Q crede X)) şi (P crede (Q crede Y))

atunci (P crede (Q crede <X, Y>))

• 6I. Reamintim că, mai jos, presupunem implicit că agentul P

cunoaşte cheile necesare (mnemonicul provine de la Sees Part):

Page 345: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 15 6Ia. (SP1) Dacă (P vede <X, Y>) atunci ((P vede X) şi (P

vede Y))

6Ib. (SP2) Dacă (P vede {X}K ) şi (P crede (cheie(K,P ↔ Q)))

atunci (P vede X)

Reamintim și că regula imediat anterioară ar putea fi,

câteodată, înlocuită de:

6Ib’. (SP2’) Dacă ((P vede {X}K ) şi (P vede K)) atunci

(P vede X)

6Ib’’. (SP2’’) Dacă P crede (cheie(K, P ↔ Q)) atunci

(P vede K)

7I. Revenind la prospețime, vom introduce:

7Ia. (FR1) Dacă (P crede (#(X))) atunci (P crede

(#(<X,Y>))), pentru fiecare Y

7Ib. (FR2) Dacă (P crede (#(X))) atunci (P crede (#({X}K)))

Page 346: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

REMEMBER - 16 • Următoarea regulă este uneori acceptată implicit (mesajele

criptate cu ajutorul cheilor publice, K/+K, pot fi decriptate

doar folosind cheile private, -K):

8I. (SP3) Dacă ((P vede {X}+K) şi (P crede ׀→+K(P)) atunci

(P vede X)

• Penultima schemă este opţională în BAN (dar, câteodată

este bine ca cineva care deţine o anumită cheie publică, să

poată descifra orice mesaj criptat cu o cheie privată):

9I. (SP4) Dacă ((P vede {X}-K) şi (P crede (׀→+K(Q)) atunci

(P vede X)

• Regula (SG), (dată la 4I.), poate fi, în acest moment,

reformulată prin:

10I. (SG) Dacă (P crede (Q spune <X, Y>)) atunci (P crede

(Q spune X))

Page 347: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 348: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 1

• Pe scurt, câteva lucruri (unele deja amintite) despre

sisteme deductive (noțiune sintactică) și despre teorii logice

(noțiune semantică)

• O teorie logică este o mulţime de formule închisă la

consecinţă semantică (exemplu clasic și de interes: clasa

formulelor valide dintr-o logică dată)

• Un sistem deductiv, sau de demonstraţie, este format

din axiome (valide) + reguli de inferenţă (sound); eventual,

plus „câteva” ipoteze suplimentare (satisfiabile)

• O teoremă de corectitudine şi completitudine certifică

legătura dintre „adevăr” și „demonstrație”: tot ceea ce este

demonstrabil este adevărat (corectitudine) și (reciproc) tot

ceea ce este adevărat este demonstrabil (completitudine)

Page 349: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 2

• Repetând, noțiunea de teorie logică (TE) este

un concept semantic pentru definirea şi

tratarea globală a unei mulţimi de „formule”

• O teorie logică este astfel, formal, o

(sub)clasă de formule (dintr-o logică dată),

care este închisă la consecinţă semantică

• Cu alte cuvinte, o mulţime TE de formule este

teorie logică dacă pentru fiecare submulţime

M TE şi fiecare (altă) formulă G care este

consecinţă semantică din M, avem şi G TE

Page 350: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 3 • Notaţii pentru „consecinţă semantică”:

I F; F, sau Ø F (pentru „F – validă”)

• Cs(F) – mulţimea consecinţelor semantice din

F FORM (la modul „cel mai general”; nu

insistăm...)

• Nu insistăm nici asupra altor concepte cum ar

fi cele privind tipurile de teorii: (ne)degenerate,

(in)consistente, complete, recursive (recursiv

enumerabile), etc.

Page 351: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 4

• Noțiunea de sistem deductiv (de deducţie, de

demonstraţie, inferenţial), pe scurt SD, este un

concept sintactic pentru definirea şi tratarea

globală a unei mulţimi de „formule”

• Se numeşte sistem deductiv în FORM, care

reprezintă mulţimea „(meta)formulelor” dintr-o logică dată, un cuplu SD = <A, R> unde

- A FORM este o mulţime de axiome iar

- R FORM+ C este o mulţime de reguli de

inferenţă (de deducţie, de demonstraţie)

Page 352: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 5

• În cele de mai sus, FORM+ denotă mulţimea relaţiilor

de oricâte argumente (cel puţin unul) peste FORM, iar C reprezintă o mulţime de condiţii de aplicabilitate

• Fiecare regulă de inferenţă r R , are astfel aspectul

r = < < G1, G2, … , Gn, G>, c>, unde n N,

iar G1, G2, … , Gn, G FORM; c C

• G1, G2, … , Gn sunt ipotezele (premizele) regulii, G

reprezintă concluzia (consecinţa) iar c desemnează

cazurile (modalităţile) în care regula poate fi aplicată.

Vom scrie chiar r = < < {G1, G2, … , Gn}, G>, c>

deoarece ordinea ipotezelor nu este esenţială

Page 353: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 6

• Mulţimea C nu a fost specificată formal, din

cauza generalităţii ei; putem spune totuşi că

elementele sale sunt (meta)predicate (condiții

„de satisfăcut” pentru formule, demonstrații,

etc.)

• Regulile vor fi folosite pentru a construi

demonstraţii în paşi succesivi, la un pas

aplicându-se o regulă (similar cu situaţia

rezoluţiei…unde…)

Page 354: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 7

• O regulă r = < < {G1, G2, … , Gn}, G>, c> va fi scrisă

şi ca:

• Câteodată, alături de c, sunt explicitate separat şi

restricţiile sintactice locale asupra (formei)

(meta)formulelor

• În cazul în care n = 0 şi c lipseşte, r poate fi

identificată ca fiind o axiomă, după cum rezultă din

definiţia care va urma

1 2 nG , G ,... . , G

, cG

Page 355: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 8

• Există însă posibilitatea ca în afara restricţiilor

sintactice „locale”, date de forma formulelor implicate

(ceea ce face ca regulile să fie, de fapt, scheme

generale) să se interzică aplicarea regulii (schemei)

pe considerente semantice „globale” (forma

demonstraţiei, apariţia în demonstraţie a unei formule

nedorite la acel pas, păstrarea completitudinii unei

teorii etc.)

• Dacă c este ataşată unei reguli r (c poate lipsi, mai

exact ea poate fi „condiţia permanent adevărată

indiferent de context”), înseamnă că în orice

demonstraţie, r va putea fi aplicată la un moment dat

doar dacă c este adevărată la momentul respectiv

Page 356: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 9 • Definiţie. Fie un sistem deductiv SD = <A, R> în

FORM. Se numeşte demonstraţie (pentru Fk, pornind cu A) în SD o listă de (meta)formule, (D), F1, F2, … , Fk

astfel încât pentru fiecare i [k], fie Fi A, fie Fi este

obţinut din Fj1, Fj2, … , Fjm folosind o regulă r = < < {Fj1, Fj2, … , Fjm}, Fi>, c> din R,, unde j1, j2, ... , jm < i

• Prin urmare, fiecare element al listei (D) este fie o

axiomă, fie este concluzia unei reguli de inferenţă ale

cărei ipoteze sunt elemente anterioare din listă (toate

elementele unei liste se numesc și teoreme)

• Dacă F este teoremă în SD, se mai spune că F este consecință sintactică din A folosind R (scris SD F, sau

Ø SD F; sau chiar I SD F, dacă folosim un sistem

„extins”, SD’, ca mai jos)

Page 357: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 10

• O demonstrație (raționament formal !), se poate reprezenta ca un graf, sau chiar ca un arbore

• Putem considera că un sistem de demonstrație poate conține, pe lângă axiome (de obicei acestea sunt formule valide, „știute” ca fiind așa printr-o altă metodă credibilă), și, eventual, niște ipoteze suplimentare (considerate, de obicei, a fi formule, măcar satisfiabile)

• Vorbim atunci de SD’ = <A’, R>, A’ = A UI, I reprezentând „axiomele suplimentare”

• Notăm Th(SD) = {F FORM | există o demonstraţie (D) pentru F în SD} (se poate da şi o definiţie constructivă pentru Th(SD)…voi)

Page 358: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 11

• Și în legătură cu sistemele deductive putem

discuta despre: tipuri de sisteme deductive

(boolean complete, finit axiomatizabile, etc.),

sau ddespre clasificarea generală a acestora

(Hilbert, Gentzen, etc.), dar nu insistăm...

• Este evident că ceea ce ne propunem să

folosim (pentru IA, în general), sunt sistemele

corecte și complete pentru clasa formulelor

valide din orice logică dată (varianta SD-BAN

este „altfel”...)

Page 359: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 12 • Definiție. Considerând orice prefix al oricărei

demonstraţii (privită textual) (D) dintr-un sistem SD,

acesta poate fi considerat ca o nouă regulă de

inferenţă (derivată din cele iniţiale): concluzia noii

reguli este ultima formulă din demonstraţia respectivă,

iar ipotezele sunt reprezentate de restul formulelor

care apar (regulă de inferență derivată).

• Definiţie. Două sisteme SD1 şi SD2 sunt echivalente

dacă pentru fiecare mulţime de (meta)formule I (poate

fi chiar vidă) şi fiecare (meta)formulă F avem:

I SD1 F dacă şi numai dacă I SD2 F.

Page 360: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 13 • Dacă un sistem are „mai multe” reguli de

inferență decât axiome, el se numește de tip

Gentzen(-Jaskowski)

• Un asemenea sistem va fi SD0, sau deducţia

naturală, care nu are nicio axiomă...

• În cazul în care balanţa este inversată (există

„mai multe” axiome decât reguli de inferenţă,

ca în cazul SD3), sistemele sunt cunoscute

sub numele de sisteme (de tip) Hilbert

• SD0 este echivalent cu SD3 (dacă „suntem”

în LP, LP1,...)

Page 361: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 14

• Sistemul SD3 este un sistem deductiv standard (Hilbert), finit

specificat, care generează întreaga clasă (şi numai pe

aceasta) a formulelor valide din LP (extinzându-l, vom obține

același lucru pentru LP1)

• Sistemul a fost introdus pentru prima dată de către A. Church

(1954)

• Axiome (ASD3). Condiţiile sintactice sunt doar F, G, H LP:

1. F (G F)

2. (F (G H)) ((F G) (F H))

3. ( F G) (( F G) F)

• Observații...(alfabet, limbaj...)

Page 362: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 15 • Să remarcăm deja faptul că mulțimea LP trebuie considerată

ca fiind construită peste alfabetul care conţine drept conectori

doar pe „” şi „”

• Dacă dorim să utilizăm şi ceilalţi conectori, putem face acest

lucru utilizându-i doar ca notaţii (de exemplu, A B va

reprezenta de fapt A B; etc.)

• Reguli de inferenţă (RSD3). Există doar restricţii de natură

sintactică (lipsind condiţiile de aplicabilitate): F, G LP

• Schema de regulă este chiar modus ponens (pe scurt, (MP)):

1.

F G ,F

G

Page 363: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 16 • Continuăm prezentarea cu un sistem de tip

Gentzen, și anume SD0 (rămâne în sarcina voastră să citiți despre extensia SD3 la LP1)

• Mai precis, este vorba despre deducția naturală

• Prima abordare (axată în special pe aspectele teoretice), urmează imediat

• După aceea, descriem abordarea din M. Huth/M. Ryan (carte menționată în bibliografie)

• Clasa FORM este, pentru început, LP

• Alfabetul peste care sunt construite formulele conține în acest caz doar conectorii (notat aici și prin ) și

• Încercați să “combinați” cele două abordări…

Page 364: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 17 • După cum am mai spus, regulile de inferență sunt „mai

multe” decât axiomele

• SD0 nu are nicio axiomă

• O demonstrație, sensul deducției naturale va fi definită

în mod direct ca fiind un arbore (și nu o listă)

• Un arbore de deducție naturală are pe nivelul 0 (cel

al frunzelor) formule oarecare (numite și ipoteze, sau

premize, pentru anumite reguli de inferență din sistem)

• Următoarele niveluri sunt obținute constructiv din

precedentele

• Astfel, nivelul i va conține concluziile inferențelor având

ca premize elemente ale nivelurilor anterioare 1,2,...,i-1

(rădăcina fiind „rezultatul final“ al demonstrației)

Page 365: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 18

• O caracteristică importantă a acestui sistem este

aceea că acele condiții de aplicabilitate c

asociate regulilor (dacă există), au aspectul

„înlătură ipoteza F” (termenul se referă aici

exclusiv la frunzele arborelui curent)

• Înlăturarea nu este una efectivă: doar marcăm

frunzele corespunzătoare (de exemplu, folosind

numere; diferite de la pas la pas)

• F va fi o formulă validă în LP ddacă este

rădăcina unui arbore de deducție naturală având

toate ipotezele înlăturate (pe parcursul

demonstrației)

Page 366: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 19

Page 367: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 20 • Vom furniza toate regulile corespunzătoare unui sistem

SD0, folosind notațiile generale deja introduse

• Orice regulă este de fapt o schemă (valabilă pentru

fiecare formulă; acestea sunt notate aici cu

A, B, … LP, și nu cu F,G, ...); ele au asociate atât un

număde ordine, cât și un mnemonic

• Schemele 3. şi 4. au și alternative, deoarece trebuie să

„captăm” comutativitatea conjuncției la nivel sintactic

(ele se vor numi 3’., și respectiv 4’.)

• Mnemonicele „vin” de la următoarele cuvinte:

E – eliminare; I – introducere; N – negare; C –

conjuncție (pentru primele patru reguli)

Page 368: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 21

• 1. (EN) , c: ipoteza A este înlăturată

• 2. (IN) , c: ipoteza A este înlăturată

• 3. (EC)

• 4. (IC)

B , B

A

B , B

A

A B A B

A Bs i

A ,B A ,B

A B B As i

Page 369: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 22 • De fapt SD0 este un sistem predicativ, finit

specificat și boolean complet; dacă introducem

direct și conectorii și în alfabet, putem folosi și

următoarele reguli derivate:

• 5. (ED) 6. (ID)

• 7. (EI) 8. (II)

• 9. (DN) , c: ipoteza A este

înlăturată

A B ,¬ A A B ,¬ B

B As i

A A

A B B As i

A ,A B

B

B

A B

A A

A As i

Page 370: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 23

• Noile mnemonice: ED - eliminarea disjuncției,

ID – introducerea disjuncției,

EI – eliminarea implicației, II – introducerea

implicației, și, în sfârșit, DN – dubla negație

• După ce tratăm pe scurt un exemplu „mic”

(vezi următorul slide), „trecem” la descrierea

celeilalte abordări menționate, „luată” din

cartea menționată (H/R)

Page 371: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 24 • Exemplu. Să arătam în SD0 „validitatea secvenței” (vezi ceea ce urmează)

( A C), ( B C), ( A B) C.

• Într-adevăr, putem construi arborele:

A

A C

C

( A B) A B

A B

B C

C

B

( A C) ( B C)

C

1

2 1

2

3 3

(iv)

(vi)

(v)

(ii)

(iii) (i)

3

Page 372: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 25

• Este evident că într-o carte se pot explica mult mai

multe decât într-un discurs: citiți Huth/Ryan (măcar

paginile numerotate acolo 1-30)

• Exemplul 1. Dacă trenul ajunge mai târziu și nu sunt

taxiuri în stație, atunci Ion va întârzia la întâlnirea

fixată. Ion nu întârzie la întâlnire. Trenul ajunge într-

adevăr mai târziu. Prin urmare, erau taxiuri în stație.

p: trenul ajunge mai târziu

q: sunt taxiuri în stație

r: Ion întârzie la întâlnirea fixată

• Raționament = demonstrație:

(p (q)) r, r, p q (secvență; premize, concluzie)

Page 373: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 26

• În general: 1, 2, …, n ψ

• H/R: p, q,…; ; ; , ψ,..; Φ, ,…

Eu: A, B,…; ; □; F, G,…; F, G,…

• Există o similaritate evidentă între aceste demonstrații și

cele de tip Hilbert (SD3…): F1, F2, …, Fm-1 (premize), Fm

(concluzie)

• Demonstrațiile prin deducție naturală sunt „mai complexe”:

ele pot include (implicit!) alte (sub)demonstrații, care pot fi

exprimate prin noi reguli de inferență („derivate”, în sensul

anterior)

• H/R: By applying proof rules to the premises, we hope to

get some more formulae, and by applying more proof rules

to those, to eventually obtain the conclusion

Page 374: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 27 • Observație. Nu este întotdeauna simplu să știm care reguli trebuie

aplicate și în ce ordine; sau, mai rău, am putea folosi „șabloane”

invalide în raționamente (demonstrând, de exemplu,

p, q p q)

• Vom prezenta acum16 reguli de inferență pentru deducția naturală

(ultimele 4 sunt de fapt reguli derivate): (i), (e1), (e2), (i1), (i2), (e), (i), (e), (i), (e), (e), (e), (MT), (i), (PBC), și

(LEM) (H/R, pag. 27/Figure 1.2.); ca de obicei, i „vine” de la

introducere, și e – de la eliminare; apoi (în cele derivate): Modus

Tollens (modul negativ), Proof By Contradiction (reductio ad

absurdum), și respectiv Law (of the) Excluded Middle (tertium non

datur)

• Vom „trece în revistă” câteva exemple; vezi și H/R, la adresa

directă, dar accesibilă doar din cadrul Facultății:

http://profs.info.uaic.ro/~masalagiu/resources/HR.pdf

Page 375: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 28 • Începem prin a „discuta” regulile (i), (e1), și (e2)

(reamintim, vezi pag. 27, în H/R)

• Simbolul „” denotă evident orice contradicție (în context, este doar o formulă de forma sau )

• Exemplul 2. Arătați că secvența p q, r q r este

„validă” (cuvântul nu are semnificația uzuală; nu avem

încă nicio referire la vreo semantică formală…).

• Scrieți: p q

r

„spații…”

q r

• A construi o demonstrație înseamnă a completa

spațiile aflate între premize și concluzie (prin aplicarea

unei secvențe potrivite de reguli de inferență)

Page 376: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 29 • Obținem: 1 p q premiză

2 r premiză

3 q (e2) 1

4 q r (i) 3, 2

• Desigur că și ψ din the „tabelul” corespunzător (H/R, pag. 27), pot fi „instanțiate” nu doar cu formule atomice (repetăm: nu dispunem aici, încă, de o semantică formală, de o teoremă de substituție, etc.)

• Demonstrația precedentă poate fi prezentată și printr-un arbore etichetat, având rădăcina q r și frunzele p q, și r (surpriză?!), după cum urmează:

Page 377: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 30

p q

(e2)

q r

(i)

q r

• Mai înainte am „turtit” acest arbore într-o prezentare de tip listă

verticală (necesitând folosirea unor pointeri, ca 1, 2, 3, 4)

• Pot exista diferite modalități de a „demonstra o concluzie” (arbori

diferiți, o ordine diferită de aplicare a regulilor, chiar reguli

schimbate…)

• Cel mai important lucru pe care trebuie să-l înțelegem este acela că

orice „presupusă demonstrație” poate fi verificată că este corectă

(în sensul aplicării corecte a tuturor regulilor, pe parcursul

dezvoltării ei), prin „controlul” fiecărei linii în parte (începând de sus)

Page 378: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 31 • În exemplul precedent am folosit doar „și”-regulile

• Să continuăm cu regulile referitoare la dubla negație (i.e. (e) și (i)) (pag. 27…)

• Intuitiv (nu avem semantică formală…), nu există vreo diferență între formulele și

• H/R: The sentence “It is not true that it does not rain” is

just a more sophisticated way of saying “It rains”

(and…conversely…)

• Exemplul 3. Demonstrați singuri validitatea secvenței: p, (q r) p r.

• Indicație: Se pornește cu ambele premize, apoi se aplică

de două ori ceva de la dubla negație (una la fiecare pas);

pentru a termina, se aplică „și”-regulile (similar ca mai

sus)

Page 379: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 32 • Iată demonstrația pentru Exemplul 3:

1 p premiză

2 (q r) premiză

3 p (i) 1

4 q r (e) 2

5 r (e2) 4

6 p r (i) 3, 5

• Exemplul 4. Demonstrați secvența (preferabil

singuri; apoi comparați ceea ce ați făcut voi cu

soluția dată de mine): (p q) r, s t q s.

Page 380: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 33

1 (p q) r premiză

2 s t premiză

3 p q (e1) 1

4 q (e2) 3

5 s (e1) 2

6 q s (i) 4, 5

• A voastră care este? Sunt diferențe? De ce?!

Page 381: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 34 • După cum ați bănuit (?), mai este mult de „muncit”…

• Trebuie discutate restul regulilor (începând cu eliminarea implicației…)

• Trebuie definită (și...folosită) echivalența sintactică

• Trebuie descoperită modalitatea prin care putem adăuga noi formule (înafară de premizele „obișnuite”) numite presupuneri (acestea fiind inspirate de o anumită „încredere contextuală”)

• Acestea trebuie apoi înlăturate...ba chiar (de cele mai multe ori) și restul premizelor...

• Trebuie, în final, să învățăm cum să demonstrăm teoreme (formule valide în sensul semanticii formale), adică secvențe de forma Ø (pe scurt: )

• Sfat repetat: citiți (cât de puțin din) H/R…

Page 382: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 35 • Presupunând că mi-ați urmat sfatul anterior, să

amintim, totuși, câteva lucruri legate de extensia

sistemului SD0 (deducția naturală, sub forma din

H/R) la LP1

• Nu uitați că v-am furnizat lista completă a

(axiomelor și) regulilor de inferență pentru acest

tip de deducție naturală

• Diferența față de textul din H/R este dată de

faptul că la fiecare listă de ipoteze „normale” ale

fiecărei secvențe, este adăugată și o listă

„generică” de (posibile) ipoteze suplimentare

(așa cum s-a mai menționat), notată cu A

Page 383: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 36

• Dacă ipotezele A sunt aceleași pentru „o clasă de reguli”,

le putem elimina

• De exemplu, în cazul „manipulării” lui „” putem scrie (așa

cum se procedează de altfel în H/R și cum am făcut și noi

pentru cazul LP) toate regulile corespunzătoare ( „i”,

„e1”, respectiv „e2”) sub forma:

F G F G F G

F G F G

• Adăugarea de ipoteze „diferite” (pentru diverse secvențe),

se poate face explicit, introducând acele noi ipoteze într-un

chenar/dreptunghi)

• Atunci, regulile pentru „” („i” respectiv „e”) vor căpăta aspectul:

Page 384: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 37

F

•(chenarul este aici)

G F G, F

F G G

Page 385: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 38 • Pentru a vă verifica cunoștințele (presupuse a fi fost)

însușite, încercați să demonstrați că următoarele sunt

secvențe valide (folosind sistemul deducției naturale

din H/R):

1. P(x) Q(x), P(x) R(x) Q(x) R(x)

2. P(t), (x)(P(x) Q(x)) Q(t)

3. (x)(P(x)) (x)(P(x))

4. (x)(P(x) Q(x)), (x)(P(x)) (x)(Q(x))

5. (x)(P(x) Q(x)), (x)(P(x)) (x)(Q(x))

6. (x)(P(x)) (x)( P(x))

• Simbolul „” reprezintă desigur două secvențe

„corespondente”

Page 386: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 39 • Pentru final, vom preciza alte câteva aspecte

interesante privind legătura dintre teoriile logice și

sistemele de demonstrație

• Să ne gândim la reprezentarea prin (meta)formule a

unei baze de cunoştinţe

• Din păcate nu există metode semantice efective

(algoritmice) convenabile pentru a testa aprioric dacă o

mulţime dată de (meta)formule este sau nu închisă la

consecinţă semantică, sau dacă o anumită

(meta)formulă este satisfiabilă sau validă

• Alternativa este de a folosi metode sintactice, care au

avantajul că pot fi totuşi automatizate (măcar parţial)

Page 387: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 40

• Se pune problema axiomatizării teoriilor

logice, cu ajutorul sistemelor de

demonstraţie

• Acest lucru înseamnă că având dată o teorie (de

exemplu, mulţimea formulelor valide din LP1)

TE FORM, trebuie să găsim o submulţime A’ = A U I TE de „axiome” şi/sau ipoteze

suplimentare, precum şi o mulţime de reguli de inferenţă R (adică un sistem de

demonstraţie SD’ = <A’, R>) astfel încât

TE = Th(SD’)

Page 388: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 41

• În acest caz, se impune de obicei ca A’ să fie

măcar o mulţime satisfiabilă (există măcar o structură S astfel încât pentru fiecare F A’

avem S(F) = 1), sau chiar validă (dacă A’

conţine măcar o contradicţie, atunci orice

(meta)formulă este consecinţă semantică din A’ )

• Forma generală a lui A’ se explică tocmai prin

aceea că am admis că A conţine formulele

valide iar I pe cele (dovedite a fi…)

satisfiabile

Page 389: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 42

• Mai general, să presupunem că pornim cu o mulţime

de (meta)formule A’ FORM, de cunoştinţe primare,

unanim acceptate ca fiind „adevărate”, adică despre

care ştim (nu ne interesează deocamdată prin ce

metodă am aflat acest lucru) că reprezintă formule

valide/satisfiabile în contextul descris mai sus

• Pentru a axiomatiza teoria dată, trebuie să mai găsim şi o mulţime de reguli de inferenţă R astfel încât să

avem Cs(A’) = Th(SD’) (am notat cu Cs(A’) mulţimea

tuturor consecinţelor semantice din A’, în raport cu

noţiunea de adevăr adoptată, şi cu SD’ sistemul compus din A’ şi R)

Page 390: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 43

• Putem lua în considerare şi situaţia inversă, în care avem dat un sistem SD’ = <A’, R> şi dorim să vedem

dacă Th(SD’) este într-adevăr o teorie logică, şi,

mai mult, dacă Cs(A’) = Th(SD’ )

• Definiţie. Un sistem de demonstraţie SD’ = <A’, R> se

numeşte corect şi complet pentru o teorie TE dacă TE = Th(SD’) = Cs(A’) şi A’ TE. O teorie TE este

axiomatizabilă dacă există un sistem deductiv

SD’ = <A’, R> corect şi complet pentru ea, adică

satisfăcând condiţiile anterioare.

• Dacă SD’ este finit specificabil (axiomatizabil), atunci

teoria corespunzătoare se numeşte finit

axiomatizabilă

Page 391: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 44 • În cele de mai sus, dacă I este mulţimea vidă atunci

TE este alcătuită doar din (meta)formule valide

• În cazul teoriilor „reale”, I cuprinde în general

cunoştinţele primare ale lumii respective (Presburger…), iar A axiomele „logice” (de genul celor

„puse” în SD3)

• Teoremă (de corectitudine şi completitudine – formă generală). Fie o clasă de (meta)formule FORM, o clasă de structuri admisibile Str pentru FORM (prin care se defineşte noţiunea de adevăr), un sistem deductiv SD’ = <A’, R> în FORM, unde A’ = A U I (A fiind alcătuită din formule valide şi I din formule satisfiabile) şi o teorie logică TE FORM, astfel încât TE = Cs(A’). Atunci Th(SD’) = Cs(A’).

Page 392: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 45

• Observaţie. A demonstra corectitudinea înseamnă a arăta că Th(SD’) Cs(A’) iar completitudinea, că

Th(SD’) Cs(A’)

• Teorema se mai poate enunţa şi sub una din formele

echivalente, destul de des întâlnite:

-Teoria TE admite un sistem deductiv corect şi

complet

-În condiţiile precizate, avem, pentru fiecare

metaformulă F FORM: I ├SD F dacă şi numai dacă I ╞ F

• Practic, este de dorit ca teoria TE să fie (eventual,

chiar finit) axiomatizabilă

Page 393: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 46 • În cazul în care este vorba de o teorie formată doar din

formule valide (atunci va lipsi I), teorema capătă forma

simplificată:

„Pentru fiecare F FORM, avem: ├SD F dacă şi numai

dacă ╞ F”

• În cele de mai sus am folosit notaţia ├SD F pentru a exprima faptul că F Th(SD), unde

SD = <A, R>, sau, în momentul în care SD este implicit,

├F poate nota chiar faptul că F este o formulă validă

• Teoremă (teorema de completitudine a lui K. Gödel, 1930). I ├SD3 F dacă şi numai dacă

I ╞ F.

Page 394: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 47 • Iată alte câteva rezultate interesante

• Teoremă. Sistemul SD0 este corect şi complet pentru Val(LP1)

• Teoremă. Sistemele SD0 şi SD3 sunt

echivalente. Mai mult, pentru fiecare mulţime de formule închise J LP1 şi fiecare formulă

F LP1, avem: J ├SD0 F dacă şi numai dacă J ├SD3 F

• Sistemul SD1 (nu insistăm...), numit și

„calculul cu secvențe”, este atât o generalizare

a lui SD0, cât și a celor de tip, e.g., SD-BAN

Page 395: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

DEDUCȚIA NATURALĂ - 48

• D.p.d.v. practic, avem nevoie de teorii

„puternice” (care să conţină măcar

„aritmetica”, „egalitatea” şi axiomele logice

„primare” Presburger…); acestea sunt

incomplete, din păcate

Page 396: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 397: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

ALTE LOGICI PRIVIND

SECURITATEA ÎN SISTEMELE

MULTIAGENT (LSSM) - 1 • Vom prezenta o scurtă descriere a logicii

justificărilor plauzibile (Logic of Plausible

Justifications/LPJ): CE, CUM, DE CE studiem...

• Aceasta este o „combinație” între așa-numitele logici

ale justificărilor și logicile (de încredere!) bazate pe

plauzibilitate

• Este utilă pentru acele sisteme multiagent (MA) în

care fiecare agent vrea și poate să-și exprime în mod

explicit justificarea faptului că el crede într-o anumită

afirmație (...construcție noi logici...„vorbim cuvinte”...)

Page 398: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 2 • Logicile epistemice în general și logicile de încredere

în particular, sunt suficient de expresive pentru a

„prinde” noțiunile de K/B ale (multi)agenților într-un

MA (un agent „știe” ceea ce „știe” altul; fiecare agent

dintr-un grup „știe” că..., etc.)

• Limitări ale (majorității) acestora:

-K sau B ale unui agent reprezintă noțiuni statice, adică

ele nu se modifică în timp (în aceste logici,

modalitatea prin care agenții pot comunica nu poate fi

descrisă satisfăcător)

-K modelată prin aceste logici este cumva implicită (dacă

un agent știe ceva, o face din cauza unui motiv rămas

nespecificat)

Page 399: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 3 • Pentru „tratarea” primei limitări, s-au introdus logicile

epistemice dinamice (Dynamic Epistemic Logics/DEL)

• În cadrul lor se pot descrie „acte” ale comunicării între

agenți

• Acestea constau în „anunțuri”/afirmații adevărate

(despre cunoștințe!), făcute de către un agent (sau de

către un observator extern) pentru ceilalți agenți (sau o

parte a lor)

• „Munca” de început a fost extinsă pentru a cuprinde nu

doar K ci chiar B

• Acestea pot astfel ambele „evolua” cu timpul (desigur

că credințele, spre deosebire de cunoștințe care

rămân adevărate, se pot dovedi a fi false într-un final)

Page 400: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 4 • Semantica DEL-urilor se bazează pe așa-

numitele modele de plauzibilitate

• În cadrul acestora, fiecare agent are o ordine

proprie, „bazată pe plauzibilitate”, pentru toate

stările posibile ale unui model posibil; agentul va

crede doar în acele afirmații care sunt adevărate

în „stările cele mai plauzibile” (conform ordinii

sale de plauzibilitate)

• Schimbările care pot interveni asupra

(adevărului/falsității) credințelor sunt astfel

modelate prin schimbările care intervin în ordinile

de plauzibilitate ale agenților

Page 401: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 5 • Pentru a „trata” a doua limitare, au fost introduse

logicile justificative (Justification/evidence Logics/JL)

• În aceste logici, în locul formulelor care „spun” ceva de

genul „Agentul i știe/crede ”, se folosesc formule de

tipul „t este agentul care justifică evidența faptului că

agentul i știe/crede ”

• JL sunt astfel logici în care fiecare cunoștință avută de

către un agent este însoțită de o justificare explicită a

a acestui lucru

• De aceea logicle mai sunt numite și logicile cunoașterii

explicite (Logics of Explicit Knoledge/LEK) sau logicile

cunoașterii bazate pe evidență (Logics of Evidence-

Based Knoledge/LEBK)

Page 402: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 6 • Totuși, comunicând/făcând o afirmație despre ceva în care

crede (fie pentru alt agent, fie pentru un observator extern

– vezi „alegeri de primar” (!)), n-ar trebui să considerăm

acele anunțuri ca fiind chiar adevărate, ci doar sincere

(orice agent crede în ceea ce anunță)

• O abordare mai realistă, pentru ca un agent să convingă

pe alții de faptul că credințele sale sunt adevărate (că B

sunt K!), ar fi ca agentul nu doar să spună în ce crede, ci

și de ce crede în acel ceva

• Am avea astfel nevoie de niște logici dinamice de

încredere bazate pe evidență (Dynamic Logics of

Evidence-Based Beliefs/DLEBB)

• Cu alte cuvinte diferența dintre K și B poate fi „umplută”

prin adăugarea lui D (dinamicii, evoluției în timp) și a lui E

(evidenței)

Page 403: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 7 • Propunerea noastră pentru construcția unei logici

de tipul de mai sus (nu uitați că așa ceva

însemnă în plus SD, și, poate, TE și anumite

proprietăți formale ale lor: consistență,...)

cuprinde două direcții

• O primă direcție este de natură sintactică și

înseamnă îmbogățirea alfabetului/limbajului cu

termi (și formule) care descriu/modelează explicit

evidența

• A doua direcție este de natură semantică și

înseamnă definirea unei semantici formale

bazată pe plauzibilitate

Page 404: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 8

• Reamintind că principalul scop pe care îl urmărim

inventând noua logică este acela de a modela (cât

de cât) formal noțiunea de credință/încredere/Belief,

să subliniem că în LPJ justificările (unor credințe) pot

fi însă defectuoase/imperfecte/greșite și

instabile/nedemne de încredere

• Folosind semantica bazată pe plauzibilitate

(modele„plauzibile”), vom putea însă introduce formal

noțiunea de evidență/justificare plauzibilă pentru un

agent

Page 405: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 9 • Astfel, dacă un agent are o evidență plauzibilă

pentru a crede o anumită afirmație/formulă,

atunci el o va crede cu adevărat; dar, deoarece

evidența pe care s-a bazat poate fi greșită, există

posibilitatea ca afirmația respectivă să fie falsă

• În consecință, LPJ este o logică modală

normalizată (normal modal logic; vezi Wiki),

având o semantică Kripke standard; aceasta va

conține și o definiție formală a noțiunii de

evidență plauzibilă pentru un agent, care se va

baza introducerea unei relații de plauzibilitate

Page 406: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 10 • Articolul de bază (accesibil la adresa

http://dx.doi.org/10.1016/j.tcs.2015.07.018 ) este axat în

principal pe procesele de comunicare în sisteme

multiagent legate de argumentație și dezbatere

• În cadrul ei, după cum am mai amintit, putem descrie

formal plauzibilitatea evidențelor pentru orice agent

(grup de agenți)

• Mai mult, se va „localiza” un sistem deductiv corect

și (tare) complet pentru ea (care va avea proprietatea

modelului finit)

• În cadrul articolului se analizează și complexitatea

problemelor SAT și Model-Checking

Page 407: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 11 • Intenția pe viitor este de a construi o logică

asemănătoare chiar pentru exprimarea formală

a încrederii (într-un mod explicit), prin

adăugarea la LPJ a acțiunilor concrete care

vor modela comunicarea dintre agenți (în cursul

proceselor de argumentație și dezbatere)

• Puteți face chiar voi acest lucru (articolul este

din 2015...)?

• Eventual, luînd în calcul (cum de altfel s-a făcut

la BAN...) doar „comunicarea pură” și

„siguranța” ei ?

• No, să purcedem...cu LPJ și plausibility models

Page 408: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 12 • Alfabetul logicii este

L = A E X C {} P, unde:

-A = mulțime numărabilă de atomi

-E = mulțime numărabilă de constante „de

evidență”

-X = mulțime numărabilă de variabile de „evidență”

-C = {, } (singurii conectori)

-P = {(, )} (mulțimea de paranteze rotunde)

- = true

• Toate mulțimile implicate sunt disjuncte două

câte două

Page 409: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 13 Sintaxa LPJ

• Se definesc, constructiv (prin BNF):

-T = mulțimea termilor de evidență (t T, c E,

x X)

t ::= c | x | t • t | t + t | !t

-F = mulțimea formulelor ;sau, cum am notat de

obicei, LPJ (p A, F F, t T)

F ::= p | | (F) | (F F) | (t:F)

• Vom folosi abrevierile standard pentru

false/, , și

Page 410: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 14 Semantica LPJ

Definiție. Se numește cadru/corp/frame pentru LPJ un cuplu I = W, R unde W este o mulțime nevidă de stări/lumi și R W W este o relație reflexivă și tranzitivă.

Definiție. Un model Fitting pentru LPJ este un triplet M = I, V, , unde I este un cadru, V este o funcție (de evaluare/interpretare),

V : A 2W, iar este o funcție de evidență,

: W T 2F, care satisface condițiile:

-Dacă (F1 F2) (w, s) și F1 (w, t), atunci

F2 (w, s • t).

Page 411: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 15

- (w, s) (w, t) (w, s + t).

- Dacă F (w, t), atunci (t:F) (w, !t).

- Dacă wRw’, atunci (w, t) (w’, t).

- Dacă F (w, c) și c E, atunci F trebuie să

fie validă (definiția urmează).

• Definiție. Fie M = I, V, un model Fitting.

Definim întâi adevărul unei formule într-o stare (uzual: M, w F, citit...), constructiv,

după definițiile claselor T și F :

Page 412: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 16 - M, w p ddacă w V(p).

- M, w pentru fiecare w W.

- M, w (F) ddacă M, w F.

- M, w (F1 F2) ddacă M, w (F1) și

M, w (F2).

- M, w (t:F) ddacă (F (w, t) și pentru fiecare w’ W,

cu wRw’, avem M, w’ F).

F F este satisfiabilă dacă există o stare

w W astfel încât M, w F.

Definiție. F F este validă/global satisfiabilă în M

dacă pentru fiecare stare w W avem

M, w F. Notație: M F.

Page 413: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 17 Definiție. Dacă F este global satisfiabilă în orice model

M al unui cadru I = W, R, spunem că F este validă

în I (notație I F). În sfârșit, dacă F este validă în

toate cadrele (adică în toate modelele fiecărui cadru), spunem că F F este validă (notație: F).

• Conform definițiilor semantice precedente, ne-am

putea gândi la „•” ca fiind un fel de modus ponens

pentru controlul evidenței, la „+” ca fiind o formă de

combinare a evidențelor și la „!” ca reprezentând un

constructor pentru evidență (privită „în sine”) și asta în

cazul formulelor care nu mai necesită vreo (altă)

justificare, ele fiind de fapt valide

• Conform acestor definiții, vom avea și diverse tipuri de

echivalențe () între formule

Page 414: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 18 • Continuăm partea de semantică cu introducerea

conceptului de model de plauzibilitate pentru LPJ

(ca particularizare din DEL), deocamdată pentru

sisteme cu un singur agent

Definiție. Un cadru de plauzibilitate este un cuplu I = W, unde W este o mulțime nevidă

de stări/lumi și W W este o relație

reflexivă, tranzitivă și totală.

• Totalitatea înseamnă că pentru fiecare

v, w W avem fie v w, fie w v, fie ambele;

adică „” este o relație de preordine totală, care

se mai numește și ordine de plauzibilitate

Page 415: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 19

• Dacă privim „” ca pe o relație epistemică, vom

putea spune că dacă v w atunci agentul (unic)

nu știe cu siguranță în care dintre stări(le) v sau

w se află sistemul (în care „acționează”); dar

consideră/presupune că w este la fel de mult sau

chiar, poate, (mult) mai plauzibilă decât v (adică

„v ar conține mai multe informații vagi decât w” și

este mai puțin „credibilă”)

• Desigur, dacă v w și w v, atunci w este

(strict) mai plauzibilă decât v

• Iar dacă v w și w v, agentul va considera

ambele stări ca fiind egal plauzibile

Page 416: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 20 • Ideea de mai sus (fără ceea ce am subliniat), legată

de interpretarea relației „” în sensul că v w

înseamnă că „w este mai plauzibilă decât v”, este

cumva contra-intuitivă (adică faptul că cele mai

plauzibile stări sunt cele „minimale în raport cu

preordinea „” ”)

• Lucrurile se schimbă dacă vom presupune în plus că

„” este bine-formată (well-founded), adică W nu

conține lanțuri infinite numărabile descrescătoare (w1

w2 ...; formal, este nevoie și de axioma alegerii...)

• Atunci am avea garantat faptul că mulțimea stărilor

cele mai plauzibile (minimale, în sensul precedent)

este bine definită, adică poate fi găsită algoritmic

Page 417: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 21

• În consecință, deoarece „” este tranzitivă și

conectată (adică reflexivă și totală), agentul

poate considera că, în orice stare (a sistemului,

să zicem) ar fi (și în oricare alta ar „trece”), va

ști care este mai plauzibilă decât alta

Definiție. Un model de plauzibilitate este un cuplu M = I, V, unde I este un cadru de

plauzibilitate iar V este o funcție de evaluare,

V : A 2W.

• Să vedem acum ce fel de credințe (B) pot fi

descrise cu ajutorul unui model de plauzibilitate

Page 418: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 22 • Mai întâi, să observăm că toate tipurile de credințe au

ceva în comun, care sigur le separă de cunoștințe (K):

există oricând posibilitatea ca o credință să fie în

realitate un fapt fals și nu unul adevărat

• Desigur că B rămân consistente: niciun agent nu va

crede simultan atât în F, cât și în F

• În continuare, ne plasăm în cadrul formal descris, presupunem că un model dat de plauzibilitate M este

finit, sau că relația „” este bine-formată

• Atunci putem considera mulțimea

Best(M) = {w W | (v W)(v w)} și putem

introduce „cea mai slabă” noțiune de credință, notată B, prin (este o modalitate, mai exact un operator unar):

Page 419: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 23 M, w (B F) ddacă pentru fiecare v Best(M),

avem M, v F (să notăm că B nu este direct asociat cu relația „”)

• Astfel, un agent va crede (în) faptul/formula F (doar) dacă formula va fi adevărată în (toate) cele mai plauzibile stări (conform ordinii de plauzibilitate)

• Vom presupune în plus că modalitatea B este normalizată (adică satisface

(B(F G)) ((BF) (BG)))

• Acum putem defini o modalitate „de tip always/□”, care va fi numită credință sigură/safe belief, prin:

Page 420: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 24 M, w (□F) ddacă pentru fiecare v W cu

w v, avem M, v F (e presupusă și ea a fi

normalizată)

• Prin urmare, un agent va avea o credință

sigură într-o formulă (o va crede cu

siguranță ca fiind adevărată), (doar) dacă

aceasta este satisfăcută în toate stările care

sunt la fel de plauzibile, sau mai mult, decât

starea curentă

• Am putea spune că „credința sigură implică

credința”

Page 421: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 25 • Totuși, „siguranța” unei credințe ar putea fi

dedusă doar de către un „observator extern”,

deoarece pentru ca un agent să știe că una

dintre credințele sale este sigură, ar trebui să

cunoască în ce stare curentă se află (sistemul)

• În sfârșit, vom defini și noțiunea de credință

tare/strong belief într-o formulă/fapt F; asta însă

doar fixând presupunerile suplimentare: F este

satisfăcută în măcar o stare și toate stările în

care F este satisfăcută sunt mai plauzibile decât

toate stările în care F nu este satisfăcută

Page 422: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 26 • Credința tare implică și ea credința, deși nu este

normalizată/normală

• Revenim acum la LPJ extinsă, de această dată „completă”, adică definită pentru mai mulți agenți, etc. (o vom nota la fel, începând de acum)

• Vom porni acum cu:

- A = {1, 2, ..., n}, o mulțime finită de agenți

- A = mulțime numărabilă de atomi

- Xi = mulțime numărabilă de variabile de „evidență”, pentru fiecare agent i A

• Toate mulțimile sunt disjuncte două câte două

Page 423: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 27 • Clasa formulelor (notată F, sau LPJ) și clasa termilor de de evidență (T ) sunt date

prin BNF-urile (i A, j N, p A, xij Xi, g este un term care nu apare prin A, F

sau Xi-uri):

F ::= p | | (F) | (F F) | (KiF) | (□iF) | (t:iF) | ([t?]F) | (t »i F) | (Pit)

t ::= p | g | xij | ᵵ | t + t

• Aceste ultime definiții vor fi deci folosite de acum înainte

• După cum vedem, față de „vechiul” LPJ, nu mai există operatorii „•” sau „!”, nici o

mulțime E de constante de evidență (g va fi singura constantă de evidență)

• Se observă că în noul context formulele atomice sunt (și) termi

• Semnificația intuitivă a termilor de tip ᵵ, precum și a noilor formule (dedusă din

semantica operatorilor modali = modalităților introduși(se) mai sus) o vom da după

prezentarea semanticii formale

• Diferența dintre „vechea” logică a justificării și „noul” LPJ va fi generată de fapt

tocmai de diferența semantică dintre termii de evidență din cele două logici

• Vom folosi (uneori explicit) și operatorii duali, cum ar fi (putem pune și „”, „egal

prin definiție”, în loc de „”):

Page 424: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 28 (KiF) ( (Ki(F)))

(◊iF) ( (□i(F)))

(t?F) ( [t?](F))

• Deși ar putea fi definiți analog, nu vom mai defini dualii pentru „»i”, Pi și :i, pentru că nu-i vom utiliza deloc

Definiție. Se numește cadru pentru LPJ un triplet I = W, {~i}i A, {i}i A, unde:

- W este o mulțime nevidă de stări.

- ~i W W este o relație de echivalență (i A).

- i W W este o relație reflexivă și tranzitivă

(i A).

Page 425: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 29 - Mai mult, pentru fiecare i A, relațiile ~i și i

satisfac proprietatea ~i = i (i)-1, notată (*),

unde: (i)-1 = {v, w W W | w, v i}.

- Relația = (i A ~i) satisface următoarea

proprietate: pentru fiecare pereche de stări v, w W W, impunem ca v w, adică

există i A astfel încât v ~i w; această ultimă

proprietate se numește conectivitate slabă.

• Într-un cadru LPJ, relațiile „i” reprezintă relațiile de plauzibilitate pentru fiecare agent i A în

parte și sunt de fapr relații de preordine, similar

cu cazul agentului unic

Page 426: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 30 • Tot ca în cazul agentului unic, dacă v i w, atunci

agentul i A (care nu știe cu siguranță în care dintre

stările „globale”, v și w, se află în realitate) va

considera că w este „la fel, sau (mult) mai plauzibilă”

decât v

• Deoarece relațiile „~i” sunt practic definite prin (*),

acestea sunt de fapt relații de indiscernabilitate între

stările fiecărui agent

• Să notăm că în noul „scenariu”, relațiile „i” nu mai

sunt totale, dacă sunt considerate individual; totuși,

proprietatea de conectivitate slabă va implica faptul că

fiecare pereche de stări dintr-un cadru dat, vor fi

indiscernabile una de alta pentru măcar un agent

Page 427: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe

LSSM - 31

Definiție. Un model pentru (o logică) LPJ este un triplet M = I, V, unde I este un cadru, V este o funcție

(de evaluare), V : A 2W, iar este o funcție de

evidență, : T 2W, care satisface condițiile:

- (p) = V (p), pentru fiecare p A.

- (g) = W.

- (ᵵ) = W \ (t).

- (t1 + t2) = (t1) (t2).

• Întrebări pentru voi: „Goriac”; de ce „finit” și „fixat

dinainte”; „intuiția” pentru construcția termilor de

evidență...(„bonus”...)

• Continuăm după ce v-ați gândit...(!)

Page 428: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 429: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe
Page 430: Logici de încredere în securitatea informaţieimasalagiu/pub/Logici de incredere.pdf · • Fiecare coordonator de lecție (seminar/laborator) va stabili îns (și alte) cerinţe