Advertisement
Guest User

Untitled

a guest
Oct 10th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. Protocol: TLS_1_3
  2.  
  3. # Very simplified model
  4.  
  5. Types: Agent A,B,s;
  6. Number NA,NB,X,Y;
  7. Function pk,clientK,serverK,kdf,h,mac,data
  8.  
  9. Knowledge: A: A,B,pk(A),pk(s),inv(pk(A)),{A,pk(A)}inv(pk(s)),B,clientK,serverK,kdf,g,h,mac,data;
  10. B: A,B,pk(B),pk(s),inv(pk(B)),{B,pk(B)}inv(pk(s)),clientK,serverK,kdf,g,h,mac,data
  11.  
  12. Actions:
  13.  
  14. A->B:
  15. # Client Hello
  16. A,exp(g,X)
  17. B->A:
  18. # Server Hello
  19. exp(g,Y)
  20. # k1 := clientK(exp(exp(g,X),Y))
  21. # k2 := serverK(exp(exp(g,X),Y))
  22. # Server Certificate {| {B,pk(B)}inv(pk(s)) |}k2
  23. , {| {B,pk(B)}inv(pk(s)) |} serverK(exp(exp(g,X),Y))
  24. # Server Certificate Verification / Finished {| {h(exp(g,X),exp(g,Y))}inv(pk(B)) |}k2
  25. , {| {h(exp(g,X),exp(g,Y))}inv(pk(B)) |}serverK(exp(exp(g,X),Y))
  26. A->B:
  27. # Client Finished {|h(exp(g,X),exp(g,Y))|}k1
  28. {|h(exp(g,X),exp(g,Y))|}clientK(exp(exp(g,X),Y))
  29. # Client send Data {| DATA_A |}k1
  30. , {| data,DATA_A |}clientK(exp(exp(g,X),Y))
  31. B->A:
  32. # Server send Data {| DATA_B |}k2
  33. {| data,DATA_B |}serverK(exp(exp(g,X),Y))
  34.  
  35.  
  36. Goals:
  37.  
  38. B authenticates A on DATA_A
  39. A authenticates B on DATA_B
  40. DATA_A secret between A,B
  41. DATA_B secret between A,B
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement