Home
        as a PDF
         Contents
1.       The process Q A R represents an interrupt mechanism  it initially  acts like Q  but may be interrupted by the performance of any event of R   and will then continue to act like R     ample   TimedAgreement B role  A role  ds  AuthTime  B     AddTime Agreement B role  A role  ds  B    AuthTime      The above process allows at most AuthTime tocks during  the execution of Agreement B role  A role  ds  B   i e    between the signal Running and signal Commit events   thus it specifies that the Commit signal must occur within  AuthTime tocks of the Running signal    We can test whether a system correctly achieves timed  agreement by testing whether the appropriate abstraction of  the system  built from timed agents  refines n copies of the  above specification     SYSTEM meets  TimedAgreement   B role  A role  ds  AuthTime  B         But now we must redefine the  _     notation so as to syn   chronize all the individual specifications on tock events     PREP it cee Ps   tock   tock     n    Formally  P     RUN   tock   and P  1  P    P         tock   The other untimed authentication specifications can sim     ilarly be lifted to timed specifications by using the Add   Time function     TimedNonInjectiveAgreement   B role  A role  ds  AuthTime  B     a    AddTime   NonInjectiveAgreement B role  A role  ds   B    AuthTime      TimedW eak Agreement A role  AuthTime  B     AddTime Weak Agreement A role  B   AuthTime    TimedAliveness A role  AuthTime  B   AddTime Aliveness A role
2.      nb Nonce    comm B A  Msg2  Encrypt  pka   na  nb     gt   signal Running INIT role A B na nb    comm A B  Msg3  Encrypt  PK B    nb     gt   signal Commit I NIT role A B na nb    SKIP    The way in which protocol messages are represented by  CSP events should be obvious  for example  the event    comm A B  Msg1  Encrypt  PK  B    na  A       represents the message     Message 1  A    B    na  A pK B      The channel signal is used to express properties of  the beliefs of the agent  An event of the form signal   Running role A B na nb represents that the agent A be   lieves that he is taking the role role in a run of the protocol  with B  using nonces na and nb  such an event is performed  immediately before the last message that A sends  An  event of the form signal Commit role A B na nb repres   ents that the agent A thinks he has successfully completed  a run of the protocol  taking role role  with B  using the  nonces na and nb  such an event is performed after A   s last  event in the protocol  These signal events will be used in  formalizing our authentication specifications  The commit  and running signals include  in some standard order  all the  data items that the agents are supposed to agree on    In order to represent the fact that the intruder may in   terfere with the normal operation of the protocol  a CSP   renaming is applied to the above processes  with the effect  that outputs may be intercepted by the intruder  and so fail  to reach their intended des
3.    2 4 Agreement    We use the term     injective agreement     or simply     agreement     when we want to insist that there is a one one  relationship between the two agents    runs  This one one re   lationship may be important in  for example  financial pro   tocols     Definition 2 4  Agreement   We say that a protocol guar   antees to an initiator A agreement with a responder B on a  set of data items ds if  whenever A  acting as initiator  com   pletes a run of the protocol  apparently with responder B   then B has previously been running the protocol  apparently  with A  and B was acting as responder in his run  and the  two agents agreed on the data values corresponding to all  the variables in ds  and each such run of A corresponds to a  unique run of B     We will use the term full agreement to refer to agreement on  all the atomic data items used in the protocol run  For vari   ous reasons  we consider this to be the most useful defini   tion of authentication  it insists that the two agents agree on  all the essential features of the protocol run  while avoiding  specifying features that are hard to achieve and less likely  to be required    A few protocols achieve non injective agreement  but not   injective  agreement  an agent A is tricked into thinking  that B is trying to establish two sessions with him  whereas  B was only trying to establish a single run  For example   in the Kerberos protocol  15   the freshness of one agent  is guaranteed only by a times
4.    The intensional specification does not  in general  give  any guarantee of recentness  For example  consider the one  step protocol from Section 2 5  this meets the intensional  specification  but does not achieve recent authentication   However  in most protocols recentness is guaranteed by the  way in which messages are interleaved  suppose the pro   tocol is such that A sends a message to B and later receives  a message back from B  possibly via third parties   suppose  further that A is implemented to time out if the run is tak   ing too long  so any actions that occurred since A started  the run should be considered recent  then if the intensional  specification is met  then it must be the case that the corres   ponding actions of B occurred after A started this protocol  run  so B   s actions must indeed have been recent  Roscoe  discusses other ways in which intensional specifications can  be adapted to deal with time     Diffie  van Oorschot and Wiener  5  have a similar defin   ition of authentication  They specify that when an agent A  completes a run of the protocol  apparently with B  then B  has been running the protocol  and the two agents    records  of the runs match  that is  the messages each sees are the  same in all fields relevant to authentication  and the agents  agree upon which messages were incoming and which out   going  However  the definition of matching is such that B  may not necessarily think that he was running the protocol  with A  Thus th
5.    ing                    TOCKS n      if n   0 then SKIP   else  tock  gt  TOCK S n     1  O SKIP    TSKIP   tock  gt  TSKIP O SKIP              We now define a function AddTime that turns an untimed  representation P of an agent into a timed one  The timed  process initially allows an arbitrary amount of time to pass  before a run begins  Once the run has begun  at most  MazRunTime tocks should occur during the run itself  if  an extra tock occurs  then the agent should timeout  and just  allow time to pass before terminating  This may be defined  as follows      AddTime P  MaxRunTime     tock     AddTime P  MaxRunTime                   P     TOCKS MazRunTime    A tock  gt  TSKIP       In fact  the above definition allows the agent to non   deterministically abort the run after fewer than Maz Run   Time time units  this corresponds to the agent aborting  for some reason we are not modelling  such as user inter   vention  However  if more than MaxRunTime tocks oc   cur  then one of the tocks must trigger the timeout  Note   though  that the trace set of the process is not affected by  this possibility of early timeout     We apply the AddT ime function to all the processes rep   resenting untimed agents  so as to build timed versions  we  then combine these timed agents together to build a timed  system    We are now ready to produce the timed authentication  specifications  We use the AddTime function to lift the un   timed agreement specifications to timed versions  For ex
6.   B   AuthTime      The following lemma is analogous to the lemmas of Sec   tion 4     Lemma 5 1   e If ds  C ds and    SYSTEM meets  TimedAgreement   B role  A role  ds  AuthTime  B      then    SYSTEM meets  TimedAgreement   B role  A role  ds   AuthTime  B         e If ds    C ds and    SYSTEM meets  TimedNonInjectiveAgreement   B role  A role  ds  AuthTime  B        then  SYSTEM meets    TimedNonInjectiveAgreement   B role  A role  ds   AuthTime  B        e If  SYSTEM meets  TimedAgreement   B role  A role  ds  AuthTime  B      then    SYSTEM meets  TimedNonInjectiveAgreement   B role  A role  ds  AuthTime  B        e Suppose the agent B can perform a maximum of m runs  with role B role  and n runs with other roles  If    SYSTEM meets  TimedNonInjective Agreement   B role  A role  ds  AuthTime  B        then  SYSTEM meets  TimedW eak Agreement   A role  AuthTime  B          e If    SYSTEM meets  TimedW eak Agreement A role  AuthTime  B        then    SYSTEM meets  TimedAliveness A role  AuthTime  B         The timed authentication specifications are antimono   tonic in the time parameter     Lemma 5 2  Let TimedSpec _  be one of the timed  authentication specifications  with parameter representing  the time  for example  TimedSpec t    TimedAlive   ness A role  t  B    and let t  lt  t   Then if    SYSTEM meets TimedSpec t        then  SYSTEM meets TimedSpec t          Finally  the timed specifications imply the corresponding  untimed specifications     Lemma 5 3  Let Spe
7.  Running B role B A d  d event     This can be adapted to insist upon agreement of only  some of the data values  for example     NonInjectiveAgreement B role  A role   d    B     signal Running B role B  A d  dy  gt   RUN   signal Commit A role A B dj  ds     d      Data       Non injective agreement can then be tested analogously  to agreement     SYSTEM meets  NonInjectiveAgreement B role  A role  ds   B         As with injective agreement  agreement on some set of  data items implies agreement on any smaller set     Lemma 4 2  Ifds C ds  and     SYSTEM meets  NonInjective Agreement   B role  A role ds1  B       then   SYSTEM meets    NonInjective Agreement   B role  A role  ds2   B         Non injective agreement is a weaker requirement that  agreement  this is formalized by the following lemma     Lemma 4 3  If  SYSTEM meets Agreement B role  A role ds  B       then    SYSTEM meets  NonInjectiveAgreement B role  A role  ds   B         4 3 Weak agreement    We can weaken the previous specification  so that A re   ceives no guarantee as to which role B thought he was tak   ing  and no guarantee regarding agreement on data  We  define the specification     Weak Agreement A role  B     signal Running  B role B  A ds   gt   RUN   signal Commit A role A B ds     ds     Data        That is  A may think he has completed an arbitrary number  of runs  taking role A role  with B  if B thinks he has been  running the protocol  taking some role B role  with A  pos   sibly using diffe
8.  between A and B     Message 1  A    B    A  khan     This protocol gives B a guarantee of non injective agree   ment on k  but gives no guarantee of recentness  because  the message contains no information that B knows to be  fresh  The protocol can be strengthened to achieve recent  non injective agreement by adding a timestamp to the mes   sage    Also  in a setting where key compromise is possible   there is a well known attack on the Needham Schroeder  Secret Key Protocol  16   presented in  4   once a key has  been compromised  the intruder may replay messages from  an earlier protocol run so as to imitate the initiator  thus   if we make the reasonable assumption that compromising  keys takes quite a long time  the protocol guarantees non   injective agreement  but not recent non injective agreement     2 6 Discussion    All of the above definitions used a phrase of the form    B  has previously been running the protocol     We take this to  mean that B has progressed at least as far as the last mes   sage that B sends  clearly A can never be assured that B  received any subsequent messages  Note that it is possible  to define weaker specifications  where A is only assured that  B has at least started the protocol    It should be obvious that the above forms of authentica   tion without recentness are in increasing order of strength   as are the forms of authentication with recentness  Further     each definition using recentness is stronger than the corres   ponding d
9.  by the agent to  whom the authentication is made  However  when there is  no agreement upon a fresh variable  an alternative approach  has to be found     5 2 Timed authentication    We now consider an alternative method of ensuring re   centness  namely through introducing a representation of  time into the CSP model of the system  We represent the  passage of one unit of time by an event tock  We then in   terpret    recently    to mean within the last AuthTime time  units  where AuthTime is a parameter provided by the pro   tocol tester  called the authentication time  Below  we will  check whether the protocol correctly achieves recent au   thentication by performing a test of the form  whenever A    commits to a session  apparently with B  then B was run   ning the protocol within the last AuthTime tocks  possibly  with other conditions  corresponding to the different forms  of authentication     In order for the protocol to meet such a specification  we  will assume that each agent will timeout if a particular run  lasts for longer than some time MazxRunTime   Clearly  if such an implementation assumption is not met  we have  little chance of meeting a timed specification   Below  we  will define a function that takes an untimed definition of an  agent  and gives a timed version  with such a timeout    First  we define two subsidiary processes  TOC K S n   will perform at most n tocks before terminating  TSK IP  will perform an arbitrary number of tocks before terminat
10.  in  the way we model the intruder and the honest agents  For  example  above we made the assumption that honest agents  would time out if runs are taking too long  we normally as   sume that the intruder is unable to decrypt messages unless  he has the appropriate key  and we normally assume that  the encryption method used has no    interesting    algebraic  properties  However  none of these assumptions are really  necessary  by altering the way we model the system  we can  remove these assumptions  Note  though  that the authentic   ation specifications discussed in this paper are independent  of the implementation assumptions  and so would still be  applicable under different assumptions     Acknowledgements    I would like to thank Steve Schneider  Bill Roscoe  and Dieter Gollmann for interesting discussions and useful  comments on the work in this paper     References     1  S  M  Bellovin and M  Merritt  Limitations of the Kerberos  authentication system  ACM Computer Communications Re   view  20 5  119 132  1990     2  R  Bird  I  Gopal  A  Herzberg  P  A  Janson  S  Kutten   R  Mulva  and M  Yung  Systematic design of a family of  attack resistant authentication protocols  IEEE Journal on  Selected Areas in Communications  11 5  679 693  1993     3  M  Burrows  M  Abadi  and R  Needham  A logic of au   thentication  Proceedings of the Royal Society of London  A  426 233 271  1989  A preliminary version appeared as  Digital Equipment Corporation Systems Research Cent
11. A Hierarchy of Authentication Specifications    Gavin Lowe    Department of Mathematics and Computer Science  University of Leicester  University Road  Leicester  LE  7RH  UK    E mail  gavin  lowe mcs le ac uk    Abstract    Many security protocols have the aim of authenticating  one agent to another  Yet there is no clear consensus in the  academic literature about precisely what    authentication     means  In this paper we suggest that the appropriate au   thentication requirement will depend upon the use to which  the protocol is put  and identify several possible definitions  of    authentication     We formalize each definition using the  process algebra CSP  use this formalism to study their rel   ative strengths  and show how the model checker FDR can  be used to test whether a system running the protocol meets  such a specification     1 Introduction    Many security protocols have appeared in the academic  literature  these protocols often have the aim of achieving  authentication  i e   one agent should become sure of the  identity of the other  The protocols are designed to suc   ceed even in the presence of a malicious agent  called an  intruder  who has complete control over the communica   tions network  and so can intercept messages  and introduce  new messages into the system  possibly using information  from messages he has seen  However  it is rarely made clear  precisely what is meant by the term    authentication     This  may be dangerous  for a user ma
12. Examples include my attack on the  Needham Schroeder Public Key protocol  16  in  10      2 3 Non injective agreement    The following definition adds the condition that the two  agents agree as to which roles each was taking  and that they  agree upon some of the data items used in the exchange     Definition 2 3  Non injective agreement   We say that a  protocol guarantees to an initiator A non injective agree   ment with a responder B on a set of data items ds  where ds  is a set of free variables appearing in the protocol descrip   tion  if  whenever A  acting as initiator  completes a run of    the protocol  apparently with responder B  then B has pre   viously been running the protocol  apparently with A  and  B was acting as responder in his run  and the two agents  agreed on the data values corresponding to all the variables  in ds     Note that this does not guarantee that there is a one one  relationship between the runs of A and the runs of B  hence  the adjective    non injective      A may believe that he has  completed two runs  when B has only been taking part in a  single run    A few protocols achieve a guarantee of weak agreement   but not non injective agreement  For example  if the ori   ginal Andrew protocol  21  is adapted to detect mirror at   tacks  then it achieves weak agreement  but does not achieve  non injective agreement on all the data values  an attack  in  3  shows how an intruder can get A to accept a key dif   ferent from the one used by B  
13. P        P     P     We will  take aP       aP     We now formalize the different authentication specifica   tions  we consider the specifications in the reverse order to  that in the introduction  We will consider a pair of agents   A and B  taking the roles A role and B role  respectively   and consider the question of whether the protocol correctly  authenticates B to A     4 1 Agreement    We begin with the agreement specification  Suppose the  protocol uses two data items d   and d2  and we want to test  whether the protocol guarantees to an arbitrary agent A tak   ing the role A role  agreement with an agent B  taking the  role B role  on both the data items d   and d2  This will  be the case if  whenever A completes a run of the protocol  apparently with B  then B has previously been running the  protocol  apparently with A  using the same values for the  data items  and there is a one one relationship between A   s  runs and B   s runs  Now  B running the protocol  taking the  role B role  apparently with A  using particular values dj  and d  for the data items d   and d2  is represented by the  event signal Running B role B A d    d  similarly  A  completing the protocol  taking the role A role  apparently  with B  using the same values for the data items  is rep   resented by the event signal Commit A role A B d  d   Thus we will want to ensure that the abstraction of the sys   tem to the appropriate alphabet satisfies the following spe   cification     Agreement B 
14. ated can per   form more than one run of the protocol  In this case  we  want to ensure that every Commit event is matched by a  corresponding Running event  If B can perform at most n  runs  then there will be at most n Running events  so we  want to consider the following refinement check     SYSTEM meets  Agreement B role  A role   d  d2   B         Note that this specification guarantees that only one C om   mit event may correspond to each Running event  thus  ensuring that the initiator commits to only a single session  for each run of the protocol performed by the responder    In some cases it will be the case that we want to ensure  that the agents involved agree on the values of some data  items  but allow them to disagree on other data items  For  example  if we want the agents to agree on dj  but allow  them to disagree on d2  then we may use the specification     Agreement B role  A role   d      B     signal Running B role B  A d  dy     gt   signal Commit A role A B d d   gt  STOP    If we do not insist that they agree on any data items  then  we may use the specification     Agreement B role  A role      B     signal Running B role B  A  d   d   gt   signal Commit  A role A B d1 d   gt  STOP    In general  the third argument of the Agreement macro  should be a subset of the data variables appearing in the  signal Running and signal Commit events    In the above  we have considered a protocol using a  pair of data values  it should be obvious how to gener   aliz
15. bove techniques are easily extended to cover the more  general case    We may augment the signal events with an extra field  representing the identity of the protocol that an agent thinks  he   s running  and can then adapt the authentication spe   cifications appropriately  For example  the following spe   cification is an adaptation of the Aliveness specification   which guarantees that when one agent completes a run of  protocol protId  then the other agent was running the same  protocol     AlivenessSameProtocol  protId  A role  B     signal Running protId  B role B C ds   gt   RUN   signal Commit protId A role A B ds     ds     Data    A     Agent      Similarly  the following specification allows the agents to  be running different protocols     AlivenessSameProtocol protId  A role  B     signal Running  protId   B role B C ds   gt   RUN   signal Commit protId A role A B ds     ds     Data   A A     Agent       5 Formalizing authentication specifications  with recentness    As described in the introduction  the specifications from  the previous section do not insist that the runs are in any way  contemporaneous  one agent may commit even though the  other has not performed any events recently  In this section    we strengthen the specifications to insist that the runs are  contemporaneous  There are a number of ways of achiev   ing this  we outline two possible approaches in the follow   ing two subsections  two other possible approaches are de   scribed in  12     Thro
16. c be one of the untimed authentic   ation specifications  and let TimedSpec be the corres   ponding timed specification  i e   TimedSpec   Add   Time Spec  AuthTime   If SYSTEM meets Timed   Spec then SY STEM meets Spec     6 Conclusions    In this paper we have considered the question of the  meaning of the term    entity authentication     We argued  that different authentication requirements may be appropri   ate for different circumstances  and identified a number of  possible authentication specifications    We formalized each authentication specification using  the process algebra CSP  used this formalism to study their  relative strengths  and showed how to use the model checker  FDR to test whether a system running a protocol achieves  the various authentication requirements    Our authentication specifications have much in common  with Schneider   s work  22  23   He uses a trace specific   ation T authenticates R to mean that events from T au   thenticate events from R  events from T can happen only if  there have been preceding events from R     T authenticates R   tr   R    gt tr T        Note that the above test does not capture our notion of  injectivity  if an event from R occurs  then there may be  several subsequent events from T  Nor does it capture our  notion of recentness  the events from T may occur some  time after the corresponding events from R  However  it  is not hard to adapt the specification to as to capture both  injectivity and recentness    Th
17. e NonInjectiveAgreement  WeakAgreement  and Aliveness tests of this paper may be seen as testing  whether a Commit signal authenticates a corresponding    Running signal  This is made formal as follows     SYSTEM meets  NonInjectiveAgreement B role  A role  ds  B   iff  VA     Agent  ds      Data     SYSTEM sat  signal Commit A role A B ds    authenticates   signal Running B role B A ds       SYSTEM meets Weak Agreement A role  B    iff   VA     Agent     SYSTEM sat   signal Commit A role A B ds   ds     Data    authenticates   signal Running B role B A ds  B role     ROLE   ds      Data       SYSTEM meets Aliveness A role  B   if f  SYSTEM sat   signal Commit A role A B ds    ds     Data  A A     Agent   authenticates   signal Running B role B C ds  B role     ROLE    ds      Data  AC     Agent                 Casper is a program that takes an abstract description  of a security protocol  and produces a corresponding CSP  description  suitable for checking using FDR  Each of the  authentication specifications considered in this paper have  been implemented within Casper  Thus Casper and FDR  can be used together to test which  if any  authentication  specifications are met by a particular protocol  A num   ber of case studies using these techniques are available via  the Casper World Wide Web page  14   these case studies  demonstrate the practicality of our methods     When analyzing protocols using FDR  we make a num   ber of implementation assumptions  which are reflected
18. e are a number of attacks upon  protocols that lead to an agent A thinking he has established  a key with another agent B  when in fact he has been run   ning the protocol with an intruder imitating B  and the in   truder ends up knowing the key  this is a failure of authen   tication  because B has been incorrectly authenticated  and  a failure of secrecy  because the intruder has learnt the key  that was supposed to remain secret    In the next section we give precise  although informal   definitions of authentication  first in the case where recent   ness is not required  and then in the case where recentness  is required  In Section 3 we describe the CSP approach to  modelling security protocols  and set up some of the mech   anism for formalizing the authentication properties  In Sec   tion 4 we formalize the authentication properties without re   centness  and prove a number of results relating them  Then  in Section 5  we lift these specifications to include recent   ness  We sum up in Section 6  Because of limitations on  space  we omit all proofs from this paper  the interested  reader is referred to  12      2 Forms of authentication    In this section we identify four different reasonable  meanings of the word    authentication     But first  we need    to discuss the setting in which the definitions will apply    We will consider protocols that aim to authenticate a re   sponder B to an initiator A  possibly with the help of a third  party  a server  We use the wo
19. e to an arbitrary set of data variables ds  We will  write signal Running B role B A ds    to indicate agent  B thinking that he is running the protocol using values ds     for the data variables ds  and similarly for the Commit sig   nal  strictly speaking  ds is a set  and ds    is an enumeration  of the elements of ds  in some standard order     It should be obvious that if a protocol guarantees agree   ment on some set ds  of data values  then it will guarantee    agreement on any smaller set ds2  The following lemma  formalizes this     Lemma 4 1  Ifds C ds  and    SYSTEM meets  Agreement B role  A role  ds   B         then    SYSTEM meets  Agreement B role  A role  ds2  B         4 2 Non injective agreement    In the previous subsection  we insisted that there was a  one one relationship between the runs of A and those of B   In some settings  this injectivity may not be important  and  so we will allow A to commit an arbitrary number of times   for each run of B     NonInjectiveAgreement   B role  A role   d  d2    B     signal Running B role B  A d  d      gt   RUN   signal Commit A role A B d  d        That is  A may think he has completed an arbitrary number  of runs  taking role A role  with B  using data values d  and  di   i e   perform an arbitrary number of signal Commit   A role A B d   d  events  if B thinks he has been running  the protocol  taking role B role  with A  using the same  data values  at least once  i e   if he has performed at least  one signal
20. ecurity properties and CSP  In JEEE Com   puter Society Symposium on Security and Privacy  Oakland   1996    S  Schneider  Using CSP for protocol analysis  the  Needham Schroeder Public Key Protocol  Technical Report  CSD TR 96 14  Royal Holloway  1996    P  Syverson  A taxonomy of replay attacks  In Proceedings  of the 7th IEEE Computer Security Foundations Workshop   pages 131 136  1994    S  Yamaguchi  K  Okayama  and H  Miyahara  Design and  implementation of an authentication system in WIDE Inter   net environment  In Proc  10th IEEE Region Conf  on Com   puter and Communication Systems  1990     
21. efinition without recentness  We will prove these  facts later  after we have formalized the authentication spe   cifications     2 7 Comparisons    Roscoe  20  introduces the notion of an intensional spe   cification     No node can believe a protocol run has completed  unless a correct series of messages has occurred   consistent as to all the various parameters  up  to and including the last message the given node  communicates     That is  if an agent completes a protocol run  then the pro   tocol must have proceeded essentially as the protocol de   signer intended  each agent must have seen the expected  sequence of messages  all agreeing on the values of atomic  data items  and with the correct relative orders of messages    Roscoe shows how to produce a CSP representation of  the above specification  this specification can be checked  using the model checker FDR  in a setting very similar to  our own    This is a strong definition of authentication  stronger than  our definition of full agreement  It is at least as strong as full  agreement  for suppose a protocol satisfies the intensional  specification  and that an agent A believes it has completed  a protocol run with B  Then from the intensional specifica   tion  B   s view of the protocol run must agree with A   s  and  in particular B must have thought he was running the pro   tocol with A  and the two agents agree upon the roles each  take  and upon the values of all atomic data items  further   from the way in 
22. er re   port No  39  1989     4  D  E  Denning and G  M  Sacco  Timestamps in key distri   bution protocols  Communications of the ACM  24 8  533   536  1981     5  W  Diffie  P  C  van Oorschot  and M  J  Wiener  Authentic   ation and authenticated key exchanges  Designs  Codes and  Cryptography  2 107 125  1992      6  Formal Systems  Europe  Ltd  Failures Divergence    Refinement   FDR 2   User Manual  1997  Avail   able via URL ftp   ftp comlab ox ac uk pub   Packages FDR      7  D  Gollmann  What do we mean by entity authentication   In IEEE Symposium on Research in Security and Privacy   1996     8  C  A  R  Hoare  Communicating Sequential Processes  Pren   tice Hall  1985     9  T  Hwang and Y  H  Chen  On the security of SPLICE AS     the authentication system in WIDE Internet  Information  Processing Letters  53 97 101  1995     10  G  Lowe  An attack on the Needham Schroeder public   key authentication protocol  Information Processing Letters   56 131 133  1995     11  G  Lowe  Breaking and fixing the Needham Schroeder  public key protocol using FDR  In Proceedings of TACAS   volume 1055 of Lecture Notes in Computer Science  pages  147 166  Springer Verlag  1996  Also in Software     Concepts and Tools  17 93 102  1996     12  G  Lowe  A hierarchy of authentication specifications   Technical Report 1996 33  Department of Mathematics and  Computer Science  University of Leicester  1996     13  G  Lowe  A family of attacks upon authentication protocols   Technical Rep
23. f the other agent B with whom A  is running the protocol  therefore  in most cases A should at  least be assured that B thought he was running the protocol  with A  However  some researchers take the view that it is  enough for B to be present  and that A need not receive any  further assurance as to B   s current state  We should recog   nize that the different authentication specifications may all  be valid goals  there are circumstances in which the weaker  specifications are all that is needed  in other circumstances   a stronger specification may be required  However  the de   signer of any protocol should make it clear which form of  authentication is supposed to be achieved    In this paper we will introduce different terms corres   ponding to some of the possible meanings of the word    au   thentication    considered above  We formalize each of these  meanings using the process algebra CSP  8   The use of  CSP has two advantages     It will allow us to compare the strengths of the different  authentication specifications     It will open up the possibility of automatically checking  whether a system running the protocol achieves the goals  stated for it  using a model checker such as FDR  19  6      We should stress  though  that most of our results are in   dependent of CSP  CSP just provides a convenient tool for    formalizing and reasoning about the specifications    Most of the possible meanings of authentication refer  to the recent state of an agent B when ano
24. fferent protocol  This  raises the question of interaction between protocols  where  an intruder can learn information in one protocol that he can  use in an attack on another protocol  In this paper we mainly  restrict our attention to systems running a single protocol   we briefly discuss how to extend these techniques to cover  systems running several protocols in Section 4 5  However   in general it will be very difficult to prove results about a  system running several protocols  we need to be sure that  no protocol acts as an oracle for any other     2 2 Weak agreement    We strengthen the above definition to insist that B agreed  he was running the protocol with A     Definition 2 2  Weak agreement   We say that a pro   tocol guarantees to an initiator A weak agreement with an   other agent B if  whenever A  acting as initiator  com   pletes a run of the protocol  apparently with responder B   then B has previously been running the protocol  apparently  with A     Note that B may not necessarily have been acting as respon   der    Several protocols achieve a guarantee of liveness  but fail  to guarantee weak agreement  The normal scenario is that  the intruder imitates an agent B to attack A  by using B as  an oracle in a parallel run in which the intruder adopts his  own identity  thus A believes he has been running the pro   tocol with B  but B does not believe he has been running  the protocol with A   B thinks he has been running the pro   tocol with the intruder  
25. he process Agreement  has the effect of making the above refinement check test  whether B is correctly authenticated to all agents who  take the role A role  The reason why we test whether a  single agent B is correctly authenticated  rather than testing  whether all agents who take the role B role are correctly  authenticated  is purely pragmatic  the latter check would  become very slow for large systems  The reason for the  slightly odd parameterization is to keep consistency with  the tool Casper  which we will discuss in the concluding  section  which automatically produces CSP descriptions of  security protocols  and specifications similar to the above   from a more abstract definition     The above form of refinement check will be very com   mon in the rest of this paper  so we introduce a shorthand  for it     SYSTEM meets SPEC    SPEC C SYSTEM    X aSPEC      So the above test is written     SYSTEM meets  Agreement B role  A role   d  d2    B      For example  to test whether the Needham Schroeder  Public Key Protocol guarantees to an arbitrary responder B  agreement with the initiator Alice on the nonces na and nb   we should test     SYSTEM meets  Agreement   INIT role  RES P role   na nb    Alice      It turns out that the above specification is not met  the pro   tocol does not correctly authenticate the initiator   as can be  seen from the attack in  10  11      We now generalize the above refinement checks to con   sider the case where the agent being authentic
26. is definition is weaker than our weak agree   ment specification     Gollmann  7  defines four goals of authentication proto   cols  We consider here two of these goals  which concern  whether a protocol authenticates B to A  Goal G3 states  that a cryptographic key associated with B has to be used  during the protocol run   The term    cryptographic key    is  intended to be interpreted fairly broadly  so as to include   for example  shared secrets used for authentication  in the  case where a key is shared between two agents  the word     associated    is supposed to be interpreted as referring to the  agent who actually used the key in question   The reason   ing behind G3 is that B should be authenticated only if an  action has occurred that must have been performed by B   Hence this is similar to our recent aliveness specification    Goal G4 states that the origin of all messages in the pro   tocol has to be authenticated  In other words  if A receives  a message  apparently from B  then B previously tried to    send this message to A  It is left vague whether B necessar   ily sent this message recently  and whether A may receive  two messages for a single message sent by B  and so the  above goal can be interpreted in different ways  However   this goal is clearly similar to Roscoe   s intensional specific   ation     Paulson  17  18  uses the theorem prover Isabelle to ana   lyse security protocols  He proves properties of the form   if A receives a message of a certai
27. n form  which appears  to come from B  then B indeed sent that message  Thus  his notion of authentication is similar to our non injective  agreement   The form of authentication he considers is ne   cessarily non injective  because of a feature of his model  that allows an agent to respond several times to a single  message  there is no real reason why this feature could not  be changed  in which case he would be able to deal with  injective agreement  although possibly at additional com   putational expense      3 Modelling protocols using CSP    In this section we briefly review the method we use for  modelling security protocols using CSP  For a fuller de   scription  the reader is referred to  11   All the authentica   tion specifications we are considering are safety specifica   tions  as opposed to liveness specifications   we will there   fore be working in the traces model of CSP  which is ad   equate for expressing safety properties    As an example  we consider the 3 message version of  the Needham Schroeder Public Key protocol  16  10   The  protocol can be defined by     Messagel  A   B  A B   na  A  pK B   Message 2  B    A   B A  na nb px a   Message 3  AB  A B   nb pK B       Each agent is represented by a CSP process that sends  and receives the appropriate protocol messages  augmented  with extra events that signal the beliefs of the agent  For  example     INITIATOR  A  na  pka     Biei env A  Env0  B   gt     comm  A B  Msg1  Encrypt  PK  B    na  A     gt
28. ort 1997 5  Department of Mathematics and  Computer Science  University of Leicester  1997     14  G  Lowe  Casper  A compiler for the analysis of security  protocols  1997  In this volume  World Wide Web home  page at URL http    www mcs le ac uk   glowe   Security Casper index html      15      16      17      18      19      20      21      22      23      24      25     S  P  Miller  C  Neumann  J  I  Schiller  and J  H  Saltzer   Kerberos authentication and authorization system  Pro   ject Athena Technical Plan Section E 2 1  MIT  1987   Available from URL ftp    athena dist mit edu   pub kerberos doc techplan PS    R  Needham and M  Schroeder  Using encryption for au   thentication in large networks of computers  Communica   tions of the ACM  21 12  993 999  1978    L  Paulson  Proving Properties of Security Protocols by In   duction  Technical Report 409  University of Cambridge  Computer Laboratory  1996    L  Paulson  Mechanized Proofs of Security Protocols   Needham Schroeder with Public Keys  Technical Report  413  University of Cambridge Computer Laboratory  1997   A  W  Roscoe  Model checking CSP  In A Classical Mind   Essays in Honour of C  A  R  Hoare  Prentice Hall  1994   A  W  Roscoe  Intensional specification of security proto   cols  In 9th IEEE Computer Security Foundations Work   shop  pages 28 38  1996    M  Satyanarayanan  Integrating security in a large dis   tributed system  ACM Transactions on Computer Systems   7 3  247 280  1989    S  Schneider  S
29. rd    role    to refer to the part  an agent is taking in the protocol run  i e  initiator  respon   der or server   It should be obvious how to generalize these  ideas to include extra agents playing additional roles  or to  reverse the direction of authentication    We do not restrict ourselves to the case where a particu   lar agent may only ever adopt a single role  on the contrary   an agent may act as an initiator in some runs  and as a re   sponder in other runs  and possibly even as a server in others   although this latter case would be unusual     It is worth drawing a distinction between the free vari   ables appearing in a description of a protocol  and the ac   tual values with which those free variables are instantiated   For example  in a protocol description  the free variable A  is often used to represent the initiator  in actual runs  this  variable will be instantiated with the identities of actual  agents  often different identities in different runs  We will  denote free variables representing agents by single letters   A  B  etc   and will denote actual agents    identities by  proper names  Alice  Bob  etc    for other data items  we  will use small letters for free variables  na  kab  etc    and  names beginning with a capital letter for actual values  Na   Kab  etc      As explained in the introduction  we begin by consider   ing the cases without recentness  and then extend the defin   itions to include recentness     2 1 Aliveness    The following i
30. rent data values  at least once    Weak agreement can then be checked using the refine   ment test     SYSTEM meets WeakAgreement A role  B         The following lemma shows that weak agreement is in   deed a weakening of non injective agreement     Lemma 4 4  Suppose the agent B can perform a max   imum of m runs with role B role  and n runs with other  roles  If     SYSTEM meets  NonInjectiveAgreement B role  A role  ds  B         then     SYSTEM meets WeakAgreement A role  B             4 4 Aliveness    Finally  we weaken the specification still further  so that  A receives no guarantee that B thought he was running the  protocol with A  A merely receives a guarantee that B was  previously running the protocol with somebody     Aliveness A role  B     signal Running  B role B C ds   gt   RUN   signal Commit A role A B ds    ds     Data   A A     Agent      That is  A may think he has completed an arbitrary num   ber of runs  taking role A role  with B  if B thinks he has  previously been running the protocol    Agreement can then be checked using the refinement  test     SYSTEM meets Agreement A role  B         The following lemma shows that weak agreement is in   deed a strengthening of aliveness     Lemma 4 5  If  SYSTEM meets Weak Agreement A role  B       then    SYSTEM meets Aliveness A role  B         4 5 Disagreeing over the protocol being run    All of the above discussion has assumed that we are op   erating in a system with only a single protocol  However   the a
31. role  A role   d  d2   B     signal Running B role B  A d  d   gt   signal Commit A role A B d  d   gt  STOP     This specification says that whenever A performs an event  of the form signal Commit A role A B d  d  then B  has previously performed a corresponding event signal   Running  B role B A d     d   That is  whenever A signals  that he thinks he has completed the protocol  taking the  role A role  with B  using the data values d  and d4  then  B has previously been running the protocol  taking the role  B role  with A  using the same data values   Remember  that we are working in the traces model of CSP  so the above  specification does not insist that a signal Commit event  must occur     Figure 1 illustrates the meanings of the arguments    Consider the case where each agent may take part in a  single run of the protocol  We may test whether the pro   tocol correctly authenticates a particular agent B  taking  role B role  to an arbitrary agent A  taking role A role     Role of agent being authenticated    Role of agent to whom authentication is made    Data items agreed upon    Identity of agent being authenticated    Agreement B role  A role  ds  B     Figure 1  The arguments of Agreement    with agreement on all the data items  by testing     Agreement B role  A role   d1  d2   B  E  SYSTEM          X    where   X   aAgreement B role  A role   d1  d2   B       where    is the set of all events   The fact that A   s identity is  not included in the parameters of t
32. s what we consider to be the weakest  reasonable definition of authentication     Definition 2 1  Aliveness   We say that a protocol guar   antees to an initiator A aliveness of another agent B if   whenever A  acting as initiator  completes a run of the pro   tocol  apparently with responder B  then B has previously  been running the protocol     Note that B may not necessarily have believed that he was  running the protocol with A  Also  B may not have been  running the protocol recently    Many protocols fail to achieve even this weak form of  authentication  In several cases  this is due to an intruder  launching a mirror attack  simply reflecting an agent   s mes   sages back at himself  examples appear in  2   In other   more subtle attacks  an intruder attacks an agent A by us   ing a second run of a protocol with the same agent A  so as  to use the second run as an oracle  for example the attack  on the BAN version of the Yahalom protocol  3  in  24    Other attacks are due to more blatant errors  for example     the attack on the SPLICE protocol  25  in  9   which ex   ploits the fact that key delivery messages  from a key server   do not include the identity of the agent whose key is being  delivered    Closely related to the notion of aliveness is the case  where  when A completes a run of the protocol  apparently  with B  then B has previously been present  but not ne   cessarily running the protocol in question   it may be that  B has been running a completely di
33. tamp  thus  an intruder can  replay these messages  within the lifetime of the timestamp   to complete a second run  note that this attack assumes that  the agents do not check that the timestamps they receive are  distinct from all previous timestamps  Bellovin and Merritt    report  1  that early implementations did not perform this  check  Similar attacks are described in  13      2 5 Recentness    Finally  we lift the above definitions to ensure recentness   The meaning of    recent    will depend on the circumstances   sometimes we will take it to mean within the duration of A   s  run  sometimes we will take it to mean at most t time units  before A completed his run  for suitable t  called the au   thentication time  clearly the value of t will be implementa   tion dependent   the designer or implementer of the protocol  should make clear what degree of recentness is guaranteed   We use the terms recent aliveness  recent weak agreement   recent non injective agreement  and recent agreement to  refer to the above specifications strengthened to insist that  B   s run was recent  rather than just at some time in the past   we will add the phrase    within    time units    where the pro   tocol guarantees a particular authentication time    Some protocols meet a particular authentication specific   ation without recentness  but fail to meet the correspond   ing specification with recentness  For example  consider  the following one step protocol  where kab is a key shared 
34. ther agent A  completes a run of the protocol  apparently with B  For  example  a typical authentication specification  which we  will call recent aliveness below  is that when A completes a  run of the protocol  apparently with B  then B has recently  been running the same protocol  It turns out that the recent   ness is the hardest part of the specification to formalize in  CSP  it normally requires modelling the passage of time  To  simplify our presentation  we begin by considering authen   tication specifications in the case where recentness is not  required  for example  we consider a specification  called  aliveness below  that states that when A completes a run of  the protocol  apparently with B  then B has previously  not  necessarily recently  been running the same protocol  Later  we lift our specifications to include recentness    It is my experience that most attacks upon protocols  break the weaker specifications where recentness is not re   quired  thus from a pragmatic point of view  when using  a tool such as FDR to look for attacks upon a protocol  it  is sensible to begin by looking for attacks on these weaker  specifications  since these tests are faster than in the cases  including recentness    Note that we will not directly consider questions of  secrecy in this paper  It is not difficult to formalize secrecy  within CSP  using techniques similar to those discussed  here  Secrecy and authentication specifications are often  broken in the same way  ther
35. tination   and inputs may be faked   that is  produced by the intruder     The parameters of these processes are instantiated with  appropriate actual values  this allows us  for example   to define several INITIATOR processes with the iden   tity Alice  representing that the agent Alice may run the  protocol several times    The processes are then combined together in parallel  with a process representing the most general intruder who  can interact with the protocol  This intruder may  oversee  messages passing in the system  and so learn new messages   intercept messages  decrypt messages he has seen  if he has  the appropriate key  and so learn new  sub  messages  en   crypt messages he has seen with keys that he knows so as  to create new messages  and use the knowledge he has ac   cumulated to send fake messages    FDR can be used to check whether the resulting system  correctly achieves the goals of the protocol  Formalizing  these goals is the subject of the rest of this paper     4 Formalizing authentication specifications  without recentness    As explained in the introduction  we begin by formal   izing authentication specifications that ignore issues of re   centness  In the next section we adapt these specifications  to include recentness    We introduce two pieces of notation that we will need  If  P is a process  we define aP to be its alphabet  We write  P    for the interleaving of n copies of P     P      Pill        P      ee    n    Formally  P    STOP and 
36. ughout this section we will make an implementation  assumption that no run lasts for too long  if a run lasts for  longer than some allowable maximum  then the agent s  in  question should time out and abort the run  This will mean  that any two events within the duration of a particular run  should be considered to be recent to one another     5 1 Recentness through freshness    In some cases  the recentness of an agent   s run can be  guaranteed by agreement on a fresh data value  For ex   ample  consider the example of the Needham Schroeder  Public Key Protocol  and suppose we have shown that     SYSTEM meets  Agreement   RESP role  INIT role   na nb   Bob         for some agent Bob  That is  if any initiator A completes  a run of the protocol  apparently with Bob  using particular  values for the nonces  then A can be sure that at some time  in the past  Bob believed that he was acting as responder in  a run of the protocol with A  using the same values for the  nonces  However  it is assumed that A invented the value  of na as a fresh value for this particular run  Hence Bob   s  run must have occurred at some time after A invented this  nonce  Thus  from the implementation assumption about  A   s runs not lasting too long  Bob must have performed this  run recently    This style of argument can be used with both the Agree   ment and NonInjectiveAgreement specifications  and  will guarantee recentness whenever the agents agree on  some data value that is freshly invented
37. which intensional specifications are form   alized in CSP  there must be a one one relationship between  A   s runs and B   s runs  Hence full agreement is achieved    The intensional specification is strictly stronger than full  agreement for two reasons     In some protocols  an agent A receives an encrypted com   ponent that he is not supposed to decrypt  but merely for   ward to another agent B  In these cases  there is a simple  attack where the intruder replaces this component with an  arbitrary component  but then reverses the switch when A  tries forwarding the component to B  This would not be  considered an attack when using the full agreement specific   ation  but is an attack under the intensional specification     Consider a protocol where a server sends two consecutive  messages to A and to B  respectively  The intensional spe   cification would insist that A and B receive these messages  in the same order  However  there is a simple attack where  the intruder delays A   s message so that it arrives just after    B receives his message  However  this would not be con   sidered an attack when using the full agreement specifica   tion     It is arguable whether the above two attacks should really  be considered as attacks  However  there are settings where  the precise contents or the precise orderings of messages  may be important  We would stress again our philosophy  that protocol designers should specify precisely what their  protocols are supposed to achieve 
38. y assume that the protocol  satisfies a stronger condition than the one that was intended  by the protocol designer  and so may place more reliance  upon the protocol than is justified  In order to alleviate this  problem  we study various possible meanings of the word  authentication  We formalize these meanings using the pro   cess algebra CSP  8     Suppose an agent A completes a run of an authentication  protocol  apparently with B  then what can A deduce about  the state of B  Can A deduce that B has recently been  alive  Can A deduce that B has recently been running the  same protocol as A  Maybe A can deduce that B thought    he was running the protocol with A  as opposed to some  third party  C   And maybe the two agents agree upon who  initiated the exchange  and who responded  Further  they  may agree upon the values of some or all of the data items   such as nonces and keys  used in the run  Can A assume  that there was a one one relationship between his runs and  B   s runs  or might it be the case that A has completed more  runs than B  And can A deduce that he and B agreed upon  the contents of all messages sent from one to the other    It is my experience that different researchers will give  different answers to the above questions  In order to reason  and argue about authentication protocols  we must first of  all define what we mean by    authentication     My own view  is that an authentication protocol is designed to assure an  agent A as to the identity o
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
WFM5000, WFM4000  NPT 1100 - MeVita.it  Untitled  Black Flag HG-11050 Instructions / Assembly  取扱説明書 (操作編) - Psn  Sennheiser MM50 headset  MSI B75A-G43 GAMING motherboard  ABS535T SERVICE MANUAL  ソフィア BBT 通信 - 基礎体温を簡単管理 ソフィアシリーズ    Copyright © All rights reserved. 
   Failed to retrieve file