packages feed

cpsa-4.4.4: tst/kerberos-variant-guar.scm

(defprotocol kerberos-variant basic
  (defrole init
    (vars (a name) (b name) (ks name) (t n text) (t-prime text) (l text) (a-ks-lt k skey)
	  (ticket mesg))
    (trace
     (send (cat a b ks))
     (recv
      (cat (enc (cat t l k a b ks) a-ks-lt)
	   ticket))
     (send (cat (enc (cat a t n) k) ticket))
     (recv (enc n t-prime k))))
  (defrole resp
    (vars (a name) (b name) (ks name) (t n text) (t-prime text) (l text) (b-ks-lt k skey))
    (trace (recv (cat (enc (cat a t n) k) (enc (cat "ticket" t l k a b ks) b-ks-lt)))
      (send (enc n t-prime k))))
  (defrole keyserver
    (vars (a name) (b name) (ks name) (t text) (l text) (a-ks-lt b-ks-lt k skey))
    (trace
     (recv (cat a b ks))
     (guar (and (fact long-term a ks a-ks-lt)
		(fact long-term b ks b-ks-lt)))
     (send
      (cat (enc (cat t l k a b ks) a-ks-lt)
           (enc (cat "ticket" t l k a b ks) b-ks-lt))))
    (uniq-orig k))

  (defrule long-term-key-non
    (forall
     ((p ks name) (k-lt skey))
     (implies (fact long-term p ks k-lt)
	      (non k-lt)))))


(defskeleton kerberos-variant
  (vars (a name) (b name) (ks name) (t n text) (a-ks-lt b-ks-lt skey))
  (defstrand init 4 (a a) (b b) (ks ks) (n n) (a-ks-lt a-ks-lt)) 
  (non-orig a-ks-lt)
  (uniq-orig n))

(defskeleton kerberos-variant
  (vars (a name) (b name) (ks name) (b-ks-lt skey))
  (defstrand resp 2 (a a) (b b) (ks ks) (b-ks-lt b-ks-lt))
  (non-orig b-ks-lt))

(defskeleton kerberos-variant
  (vars (a name) (b name) (ks name) (a-ks-lt b-ks-lt skey))
  (defstrand keyserver 2 (a a) (b b) (ks ks)(a-ks-lt a-ks-lt) (b-ks-lt b-ks-lt))
  (non-orig a-ks-lt b-ks-lt))