Academia.eduAcademia.edu

Efficient Zero-Knowledge Identification Schemes for Smart Cards

1992, The Computer Journal

Secure identification is an important security issue to avoid computer fraud due to masquerading. This can be achieved with zero-knowledge based smart cards. We present very efficient new zero-knowledge schemes in a general algebraic setting. Particular cases of our scheme improve the performance of the Guillou-Quisquater and the Chaum-Evertsevan de Graaf schemes. Our scheme is formally proven and, overall, is more efficient than currently available schemes including the Fiat-Shamir scheme. As an application we discuss how our scheme can be used for identification, in particular as an electronic passport scheme.

Efficient Zero-Knowledge Identification Schemes for Smart Cards M. BURMESTER*1, Y. DESMEDT*2 AND T. BETH3 1 Department of Mathematics, University of London-RHBNC, Egham, Surrey TW20 OEX Department of EE & CS, University of Wisconsin - Milwaukee, P.O. Box 784, Wl 53201, USA 3 European Institute for System Security, Universitdt Karlsruhe, Fakultat fur Jnformatik, D-7500 Karlsruhe, Germany 2 Secure identification is an important security issue to avoid computer fraud due to masquerading. This can be achieved with zero-knowledge based smart cards. We present very efficient new zero-knowledge schemes in a general algebraic setting. Particular cases of our scheme improve the performance of the Guillou-Quisquater and the Chaum-Evertsevan de Graaf schemes. Our scheme is formally proven and, overall, is more efficient than currently available schemes including the Fiat-Shamir scheme. As an application we discuss how our scheme can be used for identification, in particular as an electronic passport scheme. Received May 1991, revised September 1991 * Research partly done while visiting the EISS, University of Karlsruhe, West Germany. Furthermore, to an increasing degree credit cards are accepted for identification purposes (although without pictures). Fake passports and fake drivers' licenses are handy tools for criminals and terrorists. A brief survey of identification schemes Let us briefly overview the history of identification mechanisms. One of the oldest methods of identification has been the password. This mechanism is based on secret knowledge. As already mentioned this solution is insecure because the prover reveals his secret. Indeed the prover does not know if he identifies himself to an adversary who could later on use the password fraudulently. Other techniques rely on the assumption that it is hard (expensive) to produce certain types of cards. However old-fashioned cards 'can be manufactured, without excessive difficulty, to resemble true cards sufficiently well as to deceive most people having to deal with them'.15 Recently systems relying on the physical description of the individual have been proposed. Such systems have a questionable security and in many circumstances this approach is either too expensive, or too impractical or unacceptable for the users. Davies and Price have stressed this last aspect,14 giving examples, for example measuring lips for identification purposes which would be rejected on hygienic grounds. The idea of measuring fingerprints creates the fear that some machines could cut an individual's finger. Today, a major research topic in data security is the design of secure identification mechanisms.35-4121 Recently great attention has been directed to identification based on zero-knowledge.22 The prover does not have to reveal his secret password. Instead, he proves (using interactive challenges) to a verifier the knowledge of a secret without revealing it. Since this proof requires a computation, a chip card which contains the secret of the prover is used. At first glance, it appears that the verifier cannot masquerade as the prover, because the secret is not revealed. However, it has been pointed out 318 that the verifier could perform an on-line fraud by forwarding THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 21 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 1. INTRODUCTION To guarantee computer security one needs a secure login. Login methods used nowadays are insecure. When typing in a password on a terminal bystanders can easily overlook and see what is being entered. Worse, often one is logging in at a remote machine, thousands of miles away. The password travels electronically from a terminal or a personal computer to the remote machine and meanwhile it is easy to eavesdrop. Due to the use of workstations and the progress in networking, ethernet based Local Area Networks (LANs) have become common. For such networks the password of each user passes through all local workstations, making the task of eavesdropping much easier. In many cases of computer break-in the attacker does not have to eavesdrop to get the password, but just consults a dictionary of frequently used passwords. So there is no doubt that more secure login procedures must be developed. In our paper we discuss techniques to achieve this. Before addressing this problem we remark that entering a PIN in an Automatic Teller Machine (ATM), or at a Point of Sales (POS) terminal, is a special case of login. The same applies for phone cards. Although the amount involved in such transactions usually is small, criminal organisations are sometimes targeting ATMs and POSs. Indeed due to the very large number of customers the total amount involved in such transactions could be enormous. To reduce such criminal activities some credit card companies are using cards which are harder to forge, for example, by displaying a hologram. In some countries, such as France,27 smart cards are already in use today to further reduce the risk. The problem of secure login is a special case of the problem of secure identification. Identification is the process in which an individual (the prover) identifies himself to another individual or a machine. The last party is called the verifier. Tokens for identification purposes such as, drivers' licences, identification cards, passports and visas, are often used in our society. M. BURMESTER, Y. DESMEDT AND T. BETH Definitions In this paper we focus on the development of new and faster zero-knowledge protocols. A characteristic property of our protocols is that the number of messages exchanged, or rounds, is 'almost-constant'. This property to a large extent accounts for their efficiency. A function / = t(n) of the natural numbers is almost-constant if it is an unbounded function which grows very slowly, for example significantly slower than logw. For our purpose it is not necessary to specify such functions any further, but if it helps to have a particular function in mind then we could take t(n) = log *n (so t{n) grows slower than any iterated logarithm).7 We note that if fg are functions of the natural numbers then J{ri) = O(g(n)) if there is a constant c such that f[n) < cg(n) for (almost) all n, and f[n) = &(g(n)) if there are positive constants c, d such that cg(n) ^f{ri) < dg(n) for (almost) all n. Finally a set L belongs to the class BPP if it can be recognised by a polynomially bounded probabilistic Turing machine with bounded error probability.23 2. AN ALMOST-CONSTANT ROUND PROTOCOL In this Section we discuss intuitively the concept of zeroknowledge schemes, by considering a concrete new example. We use this to make a practical identification scheme for passports and remote login (see Section 7). This scheme will be utilised as the building block for a zero-knowledge proof (of membership) for the discrete logarithm problem, which is the most efficient so far presented (see Corollary 2 of Section 5). The discrete logarithm is an important one-way function which is often used in modern cryptography. 22 Many key exchange protocols19'3334 and the El Gamal signature scheme20 have been based on the discrete logarithm. As an illustrative example, when we perform our calculations mod 7, then the discrete logarithm of 2 base 5 is 4, because 5 4 s 2 (mod 7). When 7 is replaced by a very large prime number then finding the discrete logarithm, or even finding whether it exists, is considered to be difficult.37 Let p be a prime number and Z p be the ring of integers modulo p. Define kp to be the largest divisor of p~ 1 whose prime factors are at least as large asi; = flog2p]. We note that it is easy to compute kp. We shall consider a language (set) L whose elements are the strings x = (/;/?,/?), where /? is an element of Z* = Zp\{0} for which 0*p = l(mod/>) and IeZ* is such that /? /• " = l(modp) for some seZv_v That is, L = {(/;£,/>) \p is a prime, p,IeZ*; p"v = l(mod/?); ^seZv^:I-ps = l(modp)}. We call / the ' public' number and s the ' secret' number. Let Hbe the subgroup of Z*() which has order kp. Then the public numbers are elements of H. Observe that any PeH,fl 4= 1, has order at least v = \\og2p\. In the following protocol, \p\ is the binary length of p and aeRA indicates that the element a is selected randomly with uniform distribution from the set A. Protocol (P, V): Input x = (/;/?,/>). V checks that p is a prime,42 then computes kv and checks that IeH and that /?*? = l(mod/>). If any one of these conditions fails then V halts and rejects. Otherwise the following Steps are repeated / times independently, where t = t(\p\) is almost-constant. Step 1. P sends to V: z = /T(mod/?), where reRZv_1. Step 2. V sends to P: q, where qeRZM. Step 3. P verifies that qeZM, and if so, sends to V: y = r + qs{rnod. (/?— 1)), where the * is such that P"I= Step 4. V verifies that yeZp_x and that z = pyP{modp). If this check fails then the protocol is halted. After t complete rounds V accepts (V is convinced). This protocol is a proof of membership in the language L. That is, when xeL then the verifier will (almost) always accept, whereas when x$L the verifier will (almost) always reject. Indeed, when xeL then Pv-IQ=Pr-pQ'-P = z(PsI)'' = z(mo<ip), so that the verification in Step 4 checks and V always accepts. Next \etx$L. When I$Hor/?*? ^ l(mod/>), Kalways rejects. When IeH and /?*" = l(mod/?) and when there is no s such that PSI = 1 (mod p), then it can be shown (Lemma 1 of Section 5) that it is not possible, even for an infinitely powerful dishonest prover, to answer more than one of the queries q in Step 3 of any particular round. So the probability that V will accept after t consecutive rounds when there is no s such that PSI = l(modp) is negligible (at most \p\~'). The protocol is also a zero-knowledge proof (a formal definition and proof are given in Section 5). Intuitively, the prover does not reveal any new knowledge to the verifier because the verifier can simulate by himself the communications of the protocol. The verifier can guess THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 the bits which are being exchanged. Techniques to avoid this, and similar frauds, have been proposed3'5 and make zero-knowledge identification attractive when implemented carefully. One of these is that a trusted centre keeps a black list of stolen or lost tokens. Another is that the prover's secret is hidden from him, to prevent the prover from helping others impersonate him. This can be achieved by having the trusted centre encapsulate the secret in a tamper-proof device. All so far known problems with zero-knowledge based identification methods can be easily overcome, except the rental of smart cards. If no physical description is used then it is hard to detect this fraud because the card is identified and not the individual. However, one could argue that it is unlikely that one will rent one's own credit card! This paper is organised as follows. In the remainder of this section we give some definitions. In Section 2 we discuss a particular case of our protocol and introduce zero-knowledge informally. In Section 3 we describe the general protocol, and in Section 4 we discuss its efficiency. In Sections 5 and 6 we prove that our protocol is a zeroknowledge proof. Many informally presented zeroknowledge schemes have collapsed, or require radical modifications.10 For this reason we have opted for a formal approach. At a first reading the proofs could be omitted. In Section 7 we consider an application of our scheme to electronic passports, and we conclude in Section 8. IDENTIFICATION SCHEMES FOR SMART CARDS 3. A GENERAL PROTOCOL The protocol above can be generalised. One obvious generalisation is to replace Z p by any finite field GF(q). There are many other possible settings. One such setting is based on elliptic curves whose ^-rational points form an Abelian group. Discrete logarithms on elliptic curves have recently been extensively studied because in our present state of knowledge they implement much faster algorithms 36 ' 32>8 (for a given level of security). To allow for such settings, and for others which cannot be foreseen, we shall consider a general protocol. The protocol in Section 2 is based on the homomorphism Zp_1( + )->Z*(-):r^-pr. We can generalise this by taking a group homomorphism/:(/->//. However, to make a complexity theoretic treatment possible we have to consider families fn:Gn-> Hn of such homomorphisms. Here Gn,Hn are groups, and fn{ab)=fja)fn{b) for all a,beGn. These families are indexed by a string neJ, where J is an infinite subset of {0,1}*. To have cryptographic value the functions /„ must be one-way. A number of things are specified by n. In particular, the triple (/„, Gn, Hn) is described in some uniform way. Also n specifies a number v = v(n) which will be used in our protocol. For convenience, and when there is no ambiguity, we will omit the subscript n from Gn and Hn (but not from /„). The input x of our protocol consists of the 'public number' IeHn and the string n. We use the abbreviation JC = (/;«). General Protocol (P,V): Input x = (/;«)• V checks that neJ and IeH, calculates v = v(n), and then executes a probabilistic polynomial time test T to be specified later (7* is always true when unspecified). If any of these conditions fails then V halts the protocol and rejects (the proof of P). Otherwise the following steps are repeated / times independently, where t = t(\n\) is almostconstant. Step 1. P sends to V: z =/ n (r), where reRG. Step 2. V sends to P: q, where qeRZv. Step 3. P verifies that qeZv and if so, sends to V: y = r-^eG, where the s is such that //„(• ? ) = 1. Step 4. V verifies that yeG and that z = fn(y)-I«. If this check fails then the protocol is halted. After t successful rounds V accepts (the proof of P). In order that the verifier can execute efficiently his part of the protocol we have to restrict the setting as follows: • the mappings /„ and the operation of Hn can be executed in polynomial time (in \n\), • LG = U neJ Gn and LH = U neJ Hn are in BPP. • / can be efficiently represented, that is |/| is O(\n\). • it is easy to recognise the strings n of J (that is, J belongs to BPP). From now on we shall assume that these conditions are always satisfied. In Section 5 we will prove that this protocol is a proof of membership for the language L = {(/;«)\neJ; Iefn(Gn)}, if appropriate conditions are satisfied. In Section 6 we consider the case when the protocol is a proof of knowledge. 4. EFFICIENCY In this section we discuss the performance of our protocol and compare it with existing schemes. We shall assume that v (the number of 'queries' in Step 2) is polynomially bounded in \n\, and hence that \v\ = C>(log|«|). For the communication and computation complexity we only consider the case when the elements of the groups G, H are modular numbers and when the group operations can be expressed in terms of modular operations. For convenience we assume that H = Z* (the set of numbers modulo m which are relatively prime to m) and that the length of the input is ®(\m\). The performance of our protocol will be measured in terms of \m\. The number of iterations An interactive protocol is of Arthur-Merlin (A-M) type if the strings sent by the honest verifier consist of random bits.2 It has been shown24 that a constant round A-M proof for a language L cannot be proven zero-knowledge (using black-box simulation) unless L belongs to BPP. This result has been extended to proofs of knowledge.30 Our protocol is A-M (for us v is not necessarily a power of 2: however this makes little difference). Consequently, in the cases when our protocol is a zero-knowledge proof, our choice of almost-constant rounds is optimal (provided that the corresponding problem is hard). To achieve almost-constant rounds we have had to use a relatively large v. The idea of using such vs is related to 'deep coin tosses'.28 However, in earlier work no bounds THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 23 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 his own question q and obtain by himself the z and y which the prover would send him. That is he can produce strings (z,q,y) which satisfy the conditions in Step 4, with the same distribution as in the actual protocol. A crucial aspect of this simulation is that given any q and any y it is easy to obtain an appropriate z. Of course a simulated proof will not convince the verifier that xeL. This protocol with suitable preprocessing can be used to recognise the elements of any subgroup </?> generated by /? of Z*, with no restriction on the order of p or / (Corollary 2 of Section 5). If the factors of (/?— 1) are not known then it is generally believed that checking membership in L is a hard problem.1 So a prover P who has unlimited computational power can use this protocol to prove that xeL to a verifier with limited resources. Next suppose that the verifier V is given the factors of (p— 1), say as an additional part of the common input x. Then V can easily check by himself membership in L. Indeed from the factors of (p— 1) the verifier can obtain the order of ft, say d. Then when the initial test is satisfied, xeL if and only if /" = l(mod/>), since Z* is a cyclic group (from elementary group theory). However, even though Fcan confirm the existence of an s such that 0s • I = l(mod/>), it is generally believed1 that it is hard to find such an s. This is called the discrete logarithm problem. In this case the protocol can be used as a proof of knowledge. The prover convinces the verifier that he 'knows' a secret s such that /?*• / = l(mod/>), and not merely that there exists such an s (as in the case of proofs of membership). M. BURMESTER, Y. DESMEDT AND T. BETH were set on v, resulting in informal systems which are not zero-knowledge (provided that the corresponding problem is hard). complexity to |/?| log^ J/?| (see Section 5, Corollary 2, and Section 6, Corollary 3). The Schnorr identification scheme40 uses a one round protocol and therefore is not zero-knowledge24 (unless the discrete logarithm problem is easy). This scheme is not necessarily sound.9 However, if the Schnorr protocol is modified so that Corollary 3 of Section 6 applies, then we get an almost-constant round zero-knowledge proof. We note that it is not necessary for the order of /? to be a prime number (as in Ref. 40). The number of bits communicated With each round of the protocol \m\ bits are communicated in Step 1 and Step 3 and \v\ bits in Step 2. For t iterations we have t(2\m\ + \v\) bits. Since \v\ = O(log \m\), when / « log^lml, the number of bits communicated is Comparison with other schemes In Table 1 we compare the performance of many schemes. For the Fiat-Shamir scheme,22 G = H = Z m (-), where m = pq,p,q distinct primes, and f-.r-^-r2. The input x = (I1,...,Ilc;m) has k public numbers, k = 0(log|ra|). We can take the number of rounds to be / x log1+c \m\ so that the number bits communicated is t(2\m\+k) « |w|log1+*|w|. The (average) number of multiplications is t(k + 2) x k\og1+c\m\. For the GuillouQuisquater28 and Ohta-Okamoto 38 schemes we have G = H = Z* (•) and/: r -»- r", and we get the same bounds. However if our conditions for Corollary 1 of Section 5 apply, then we can take t « log* \m\ and the communication complexity reduces to \m\ log* \m\ bits. For the Chaum-Evertse-van de Graaf scheme11 and the Beth scheme4 we have G = Zp_x{ + ),pa prime, H = Z*( •) and /:r->/T,/?eZ*,andwecan taker « Iog1+C\p\. The number of bits communicated is t(2\p\+k) « |/?|log1+£|/>|, where k = O(\og\p\) is the number of secrets, and the number of multiplications is k\p\ log* \p\. If we use our protocol in Section 2 then we can reduce the communication Reducing the computational complexity We consider the protocol in Section 2 when G = Zp_1( + ) and/ n :G->//;/• -• /T,/?e/f . In this case the computational complexity can be as much as |/?| log^ |/?| multiplications. We can reduce this to Iog1+£|/>| by modifying the language in such a way that H is replaced by / / ' , a subgroup of H with superpolynomial order, G by G' = Zord(H.)( + ) c Zp_1( + ), and f G ' p p 5. A PROOF OF MEMBERSHIP Definitions We present an overview of the concept of zero-knowledge interactive proofs.25 Informally a proof should convince a reader, i.e. a verifier, that a theorem is true. It should not be possible for the verifier to be convinced of an untruth. With interactive proofs25 the verifier is allowed to ask questions. For us both the prover and the verifier will use randomness (toss coins). The randomness is obtained from private random tapes (that is bit strings with uniform distribution). As a consequence the verifier is only convinced with a certain probability. Formally the prover P and the verifier V are probabilistic interactive Turing machines. P and V share a common input tape, private work tapes and private random tapes. The interaction is done by using communication tapes. Definition 1. Let L c { 0 , l } * be a language and let (P, V) be a pair of interactive probabilistic Turing machines. (P, V) is an interactive proof for L if for common input x, # Completeness: when xeL then (P, V) accepts with overwhelming probability ( > 1 — (1/|JC|°, any a) # Soundness: when x$L, for any prover P', (Pr, V) accepts only with negligible probability (< (l/|x| a ), any a). P' is a prover who may deviate from the protocol (for example, in an attempt to prove to V an untruth). With this setting it is customary to assume that P has unlimited Table 1. The complexity of some zero-knowledge identification schemes. |JC| is the length of the input Zero-knowledge schemes Number of rounds Bits communicated Multiplications Fiat-Shamir22 Guillou-Quisquater,28 Ohta-Okamoto38 Chaum-Evertse-van de Graaf,11 Beth" Schnorr40 (not zero-knowledge) Our scheme (Particular cases) log11+"£ \x\ |JC| log 1 + c |x| /c log 1+E |jcj, A: = 0 ( l o g | * | ) log 1+£ |*| 24 Iog |*| Iog 1+C |jc| One log«W j * | log 1+c |JC| Wlog 1+£ W 0(|x|) Wlog«W THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 fc|*|log1+£|*|,fc = 0(log|*|) 0(1*1) (without preprocessing) Iog1+£|*| Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 The number of operations We shall assume, for convenience, that the cost of multiplication in G is no more than in Hand that the cost of the exponentiation r° in H is (on average) 3/2 log q multiplications. Suppose that the cost of computing /„(/-) eH,reG, is equivalent to l(r) multiplications in H. Then we have l{r) multiplications in Step 1,1+ 3/2 log q multiplications in Step 3, and 1 + /(y) + 3/2 log q multiplications in the verification step. For f«log'|m| iterations we get approximately (l(r) + l(y) + O(log\m\)) log* \m\ multiplications, since q < v and \v\ = OQog \m\). If we assume that l(r) = @(\v|), for example when fn(r) = r" (as in many schemes 28388 ), then the computational complexity is approximately Iog1+£|w| multiplications. When l(r) = 0(|/"|), for example when f(f)=pr (as in many schemes), 11440 the computational complexity is approximately |m|log£|w| multiplications (in the general case). IDENTIFICATION SCHEMES FOR SMART CARDS Definition 2. An interactive proof (P, V) for L is perfect zero-knowledge^ if, for every V there is an expected polynomial time Turing machine Mv., the simulator, which given xeL and h will generate a distribution which is identical to that generated by View(P „.)(.*, h). We also have25 statistical and computational zeroknowledge. These, however, will not concern us here. when xeL, then the view of any verifier V can be simulated by a probabilistic expected polynomial time Turing machine Mv., with an identical distribution. We use the technique of'probing and resetting' the verifier.25 In our case Mv. first prepares ' transcripts' of the form (z = fn(r) • I", q,y = r), where r eR G and q eR Zv, and then obtains the appropriate distribution by probing and resetting V. The simulator can do this because the expected number of probings is O(tv), which is polynomial in |.v|. • We remark that if / is linear in |«| then we can do without condition Cl in Theorem 1. Corollary 1. Suppose that v is as in Theorem 1, and that there exists an integer k = k(n) such that C2 H" c fjfi): that is, for any IeH there exists such that Ik =fn(w), C3 Theorem 1. Suppose that the following condition is satisfied: Cl VneJ:v = \]ogn\:\/IeHn\\/qeZ°v: Pefn(Gn)=>Iefn(Gn). Then protocol (P, V) is a perfect zero-knowledge proof for the language L = {(/,ri)\neJ;Ief n (G n )}. To prove this theorem we use the following, Lemma 1. Suppose that condition Cl is satisfied. If there is a zeHn for which there is more than one qeZv such that z = fn(y)-I°, some yeGn, then Iefn(Gn). Proof. If 2 =/„(/)• /* ' =/,(/)• /• " for / , y"eG, and q',q"eZv,q' > q", then fn(y)Iq = 1 with y = ( / T V , q = q'-q". So /• = fn(y-1)efn(G), and by condition Cl we have Iefn{G). • Proof of Theorem. Completeness follows directly from the fact that/ n is a homomorphism. For soundness we have to show that if x$L then the probability with which the verifier will accept is negligible. From the Lemma there cannot be more than one query q such that z=fn(y)I". Since the verifier V chooses the qeZv randomly with a uniform probability distribution, the probability that the verification in Step 4 is successful when x $ L is bounded by 1 /v. This is the probability of error per iteration. So the probability that V will accept after / independent iterations is bounded by v~'. This is negligible. Indeed we are assuming that v = 0(|«|) and that \n\ = Q(\x\). So v~l = (1/0(1x1)'), which is negligible when / is unbounded. For perfect zero-knowledge we have to show that The smallest prime factor ofk is at least v. Then protocol (P, V) is a perfect zero-knowledge interactive proof for L provided that test T checks these conditions. Proof. We only need to show that conditions C2 and C3 imply Cl of Theorem 1. Suppose that P =fn(u),IeH,qeZ°v,ueG. Then since 0 < q < v and since the smallest prime factor of k is at least v, we must have gcd(q, k) - 1. So there exist integers a, d with aq + dk=\. Consequently I = Iaq+d" = Iaq • Idk = a d fniMY-fniwf =fn(u w )efn(G), since /• = / » for some weG by condition C2. So Iefn(G) and we get condition Cl. Our zero-knowledge proof of membership aweG • Examples. We will consider two particular cases for which condition C2 is trivially satisfied. In the first case, Gn = Hn = Z* a n d / » : r + r * . with m = m{n),k = k(n). Then Hkn = (Z*)* =fn{Gn). This case has been discussed elsewhere.8 The second case is the one considered in Section 2. For this protocol we have H* = {1}. Corollary 2. The discrete logarithm decision problem is polynomial-time reducible (efficiently) to the language in Section 2. This result can be generalised to the (relaxed) discrete logarithm over any Abelian group with known order. This implies that after suitable preprocessing16 the zero-knowledge proof of Section 2 recognises the elements of any subgroup of Z*. Proof. Our argument is based on smooth numbers 12 and the Pohlig-Hellmann algorithm.39 Let the input be (I;P,p). The verifier first checks that / ^ e ^ p ) . If this is successful, the prover and verifier use the protocol of Section 2 with input (/<p-1)/*J>;£<p-1>/*p,/7). • 6. PROOFS OF KNOWLEDGE Definitions We refer the reader to the discussion at the end of Section 2 for an example of a proof of knowledge. The only difference from a proof of membership is that with proofs of knowledge a dishonest prover who does not know the secret (or an equivalent) should fail to convince the verifier. The problem is to define the meaning of 'knowledge', allowing for knowledge one is not aware of. The solution4321 is to employ an 'outsider', the extractor, who succeeds in extracting from the prover (a THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 25 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 computational resources (and can therefore 'recognise' the elements of L), whereas V is polynomially bounded (and cannot check membership by himself, if this is a 'hard' problem). P and V are the 'honest' parties. We shall now consider the impact of a possibly dishonest verifier V on a proof (P, V). V may deviate from the protocol in an attempt to gain some additional knowledge, for example, about the input x. Informally a proof is zero-knowledge2b if it guarantees that the prover reveals no more knowledge than that xeL (one bit), to any verifier V. V may wish to use previously obtained knowledge. To allow for this we shall assume that the verifier has an additional tape, called the history tape, on which such knowledge can be written. During the execution of a proof, P and V exchange messages. We define the view of V to be everything that V sees. That is, the messages exchanged and the portion of the random tape that V uses. Clearly V will gain no further knowledge if this view can be simulated without any help from the prover. We define View(P v^(x, h) to be the random variable whose value is the view of V. Here h is the contents of the history tape of V. Formally we have, M. BURMESTER, Y. DESMEDT AND T. BETH The zero-knowledge proof of knowledge For proofs of knowledge the prover P is polynomially bounded. So we have to assume, additionally, that # the operation in Gn can be executed in polynomial time (otherwise P cannot compute y in Step 3), 0 for all y&Gn,y~x can be computed in polynomial time. With such proofs, P proves that it knows an s such that I-fn(s) = 1 (and not merely that such an s exists). So condition Cl of Theorem 1 must be strengthened. Theorem 2. Suppose that x = (/; n), that v is as in Theorem 1 and that, C4 There exists a probabilistic polynomial time algorithm which for any neJ, when given as input n, IeHn,qeZ°v,ueGn with I" =/„(«), will output an weGn such that I =fn(w). Then the protocol (P, V) is a perfect zero-knowledge proof of knowledge of the relation R = {(x, s) | n eJ; seGn ;/• /„(* ) = 1}. Furthermore (P, V) is unrestricted input zero-knowledge if test T checks that Iefn(Gn). Proof. The proof of completeness and zero-knowledge are the same as for Theorem 1. The proof of soundness is similar to that in Feige-Fiat-Shamir when one defines vertices of degree 2, or more, as 'heavy'.21 We assume that (a portion of) the random tape of a (possibly cheating) prover P' is such that the verifier V accepts with non-negligible probability when the input is x, and show that there is a probabilistic polynomial time machine M which will obtain a witness seG such that I-fn(s) = 1. As in Feige-Fiat-Shamir,21 by probing and resetting the prover P', it is possible for M to find in expected polynomial time a ' heavy' vertex (of degree 2 or more), and hence to obtain a zeH,y',y"eG, and numbers q',q"eZv,q' > q", such that z = /„(/)/*' = fn(y")I"'. So M can obtain q = q' — q" and u = (.y')" 1 /' such that /* =/„(«). Then by using condition C4, M can compute &weG such that / = fn(w), and thus an s = w'1 such that I-fn(s)= 1. • 26 When Gn and Hn are cyclic groups then condition C4 can be simplified. Corollary 3. Suppose that Gn and Hn are cyclic groups, that fn:Gn^-Hn;r^-pr, that /? is given, and that C5 The order offn(Gn), say m, is known, and test T checks that Im = 1. Then condition C4 is satisfied. Proof. Test T is equivalent to that in Theorem 2. Observe31 that for any divisor d of the order of a cyclic group there is only one subgroup of order d. So for any IeH: IefJJJ), if and only if, Im = 1. We shall now show that condition C5 implies condition C4 of Theorem 2. Suppose that I" =/ n («) = ^JeH^e^ueG. Since Im = 1, we must have / =fn(w) = /T for some weG. So ffw = P". Let m0 = gcd(<7,m) with m = m'mo,q = q'm0, u = u'm0. Then there exists29 an integer a such that, w = au mod m' + cm', for some ceZn (1) Now m0 ^ q < v, so c is polynomially bounded in \x\. Consequently it is possible to compute in polynomial time all the values of w in (1) and thus obtain the appropriate w. So we get condition C4. • Examples. Consider the case when Gn = Hn = Z% and fn{r):r^r", with TV = N{n),k = k{n), and gcd(/c, <j>(N)) = 1 (a trusted centre which may know the factorisation of JV must guarantee this). Then we only need condition C3 to get C4 of Theorem 2. So we have a zero-knowledge proof of knowledge if the smallest prime factor of k is at least v. Indeed suppose that we are given IeH,qeZ°v,ueG with I" = uk(modN). Then by C3, gcd(g, k) = 1, so that aq + bk = 1 for suitable a, b. So / = IaQ+bk = uak • Ibk = (M°/ 6 )*(mod N). Thus / = ^(mod N) for w = ual"(mod N), and we have condition C4. For the second example we take Gn = Zp_v Hn = Z* and fn:r^-pr,PeZ*. The input \s{I;p,y,p), were y is the list of all prime factors of (/? — 1). Note that it is easy to compute the order m of /?, given y. So we apply Corollary 3 to get a zero-knowledge proof of knowledge. Remark. Let us compare Corollary 1 to Corollary 3. When H is cyclic, condition C2 of Corollary 1 is satisfied for k = h/m (the index of/„((?) in H). Indeed in this case Hk=fn(G). However, in Corollary 3 we make no assumption on the size or the factors of k. Corollary 3 can be extended to Abelian groups, with minor adjustments. We recall that finite Abelian groups have an independent set of generators31 with invariant properties. Corollary 4. Suppose that Hn is an Abelian group, that a set of independent generators fi(,i= \,...,b, offn(Gn) is given, that the orders mi of fi( are given, that Gn = Zmy +) x ... x ZmJi + ){direct product), and that v is as in Ttieorem 1. Let fn:{ul,...,u^)->T\b_lf%K Suppose that the order of Hn, say h, is given and that m = !!*_! mi is relative prime to k = h/m. Then protocol (A, B) is a perfect unrestricted input zero-knowledge proof of knowledge of the relation R= {(iI;n),(sl,...,sb))\neJ;(s1,...,sb)eGn; =1}, m provided that test T checks that I = 1. THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 machine) the secret. The extractor will fail if the prover does not know the secret. The formal setting for proofs of knowledge21 requires that both the prover P and the verifier Fare polynomially bounded Turing machines, and the prover has access to a restricted oracle (from which he obtains the secret). Definition 3. (P, V) is an interactive proof ofknowledge21 of the relation R if for common input x, # Completeness: (P, V) will accept x = (I;ri)with overwhelming probability when (x,s)eR. 0 Soundness: there is a probabilistic polynomial time Turing machine M (the extractor) which is such that, given any P' and any string h: if (/>', V) accepts x with non-negligible probability then M will output an / = M(P'', h, x) which is such that (x, s') e R with overwhelming probability. Definition 4. Zero-knowledge is as for proofs of languages. We have unrestricted input zero-knowledge21 if the simulator can simulate the view of V even when x$L, where L = {x\3s:(x, s)eR}. IDENTIFICATION SCHEMES FOR SMART CARDS Proof. We show that /„((?) e BPP and that condition C4 of Theorem 2 applies. Observe31 that H has only one subgroup which has order m since gcd(w, k) = 1. Thus IefJG), if and only if, Im = I. The rest is similar to Corollary 3. • This result holds for any set of independent generators /?( of/n((7n). Corollary 4 can be modified to allow for the case when gcd(w, k) 4= 1, provided that we impose a condition on the index k. We have Corollary 5. We get the same conclusion as in Corollary 4 if we replace the condition k = h/m by the assumption that k satisfies conditions C2 and C3 of Corollary 1. Proof. We show that condition C4 is valid. If IeH,u = (u1,...,u,,)eG and qeZ°v are such that, /'=/„(») = #""#», electronic passport. The country encapsules k and s in a tamper-proof electronic passport (modern smart cards are not very tamper-proof), k, s are the secret numbers of the passport. Verification of a passport. To verify a passport x = (/;/;/?; y/;a;p), a verifier must first check that y/, a, and p are as published, that J is not on the black list, and that (modp). (4) aJ-l=w^ Then he must check that the secret numbers of the passport are k, s. For this purpose our protocol is used twice as a proof of existence (or knowledge) of a k and an s such that /? = a*(modp) and I = ft'{modp). Then *JI= aJ-ks{modp) and / = au"(mod/>), so that from (4) we see that k, s must satisfy (3). (2) and if condition C2 holds, then it is possible to compute in polynomial time a w = (w1,...,wl>)eG such that /=/ B (w) = ^ - - - ^ » . Indeed by C2 there is a in Corollary 3, we can compute in polynomial time the iv(. We now proceed as in Corollary 1. In this case we have /"« = #"—#"», and hence / = ft*.*"-^"**"*, where a, d are such that aq + dk = 1. • 7. APPLICATIONS Passports are an important means of identification. Compared with other identification tokens (or tools) such as credit cards, there are many centres, each one distrusting the other, that issue tokens. An electronic passport scheme An international body, say the U.N. (or I.S.O.), organises a setting in which various countries can issue unforgeable electronic passports.13 It is assumed that the countries will not trust the U.N., or each other. Furthermore it should not be possible for citizens to make passports, or for one country to issue passports for another country. Initiation. The U.N. chooses a large prime number p and a primitive element a.eZ* (it is not necessary for a to be primitive, but its order must be superpolynomial in \p\). The U.N. guarantees that p, a are correct and makes these numbers public. Registration of a country. Each participating country chooses a random ueZv_x and computes y/ = a". The public number of the country is yi, and the secret number is u. Making a passport. For each citizen who applies for a passport, the country chooses a random keZ%_lt such that the smallest prime factor of A: is at least v,v = flogp]. Then it computes P = a* mod/?, and the secret number s by solving the congruence20 up+ks = J (mod(p-l)), (3) where / i s the value of a string which identifies the citizen (name, etc.). The numbers /,/? = a*mod/? and [ = P~'modp, are the public numbers of the passport. These can be read using bar codes or may be given by the In our introduction we mentioned that login was a special case of identification. The aspect of remoteness of login makes it possible for an active eavesdropper to divert the zero-knowledge proof to another verifier (remote machine). The scheme above can be extended to cover this case. To solve17 this problem the prover signs20 the name of the remote machine J, and keeps the resulting signature k, s secret. This time, u is the secret key of the prover and y/ is his public key. To login he proves knowledge of k, s to the remote machine. 8. CONCLUSION Modern cryptography is being used to securely authenticate and sign messages. Many schemes rely on the difficulty of factoring or on the discrete logarithm. The use of cryptography has led to the design of more secure identification tokens. Zero-knowledge identification schemes have the advantage that the secret used to identify is guaranteed not to leak. A lot of research has concentrated on finding more efficient zero-knowledge schemes. In this paper we present new schemes for which the efficiency is far better than that of existing schemes. Although our examples have focused on schemes which are based on the discrete logarithm and on factoring, our setting is more general. We have presented two practical identification schemes: a cryptographic passport scheme and a secure remote login scheme. These can be further enhanced by using smart cards. Generalisations In this paper we have assumed that v = flog«]. We can extend all our results to the case when \n\a ^ v J* \n\", where a, b are constants, 0 < a < b. The input for our protocol x = (/; n) has only one /. We can easily extend all our results to the case when there are / inputs /„...,/„ where / is a constant. The proof is then a proof of existence (or knowledge) of secrets st for the Ivj = 1,...,/. Acknowledgement The authors wish to thank an anonymous referee for helpful suggestions. THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 27 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 (w1,...,wb)eG such that I* = ffi-~fi°*. Then by (2), /s* = ptu,...^ku, = ffqwl...p,uiQ S m c e t n e p( a r e independent, we must have qw( = ku((modmi),i =],...,b. As A secure remote login scheme M. BURMESTER, Y. DESMEDT AND T. BETH REFERENCES 28 abuses of the Fiat-Shamir passport protocol. Advances in Cryptology - Crypto 87, Lecture Notes in Computer Science 293, edited by C. Pomerance, Springer-Verlag, Berlin, pp 21-39 (1988). 19. W. Diffie and M. E. Hellman, New directions in cryptography. IEEE Trans. Inform. Theory IT-22 (6), 644-654 (1976). 20. T. ElGamal, A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. Inform Theory 31, 469-472 (1985). 21. U. Feige, A. Fiat and A.Shamir, Zero knowledge proofs of identity. Journal of Cryptology, 1(2), 77-94 (1988). 22. A. Fiat and A. Shamir, How to prove yourself: Practical solutions to identification and signature problems. Advances in Cryptology - Crypto 86, Lecture Notes in Computer Science 263, edited by A. Odlyzko, Springer-Verlag, Berlin, pp. 186-194 (1987). 23. J. Gill, Computational complexity of probabilistic Turing machines. Siam J. Comput., 6 (4), 675-695 (1977). 24. O. Goldreich and H. Krawczyk. On the composition of zero-knowledge proof systems. Proceedings of 17th International Colloquium on Automata, Languages and Programming (ICALP), Lecture Notes in Computer Science 443, Springer-Verlag, Berlin, pp. 268-282 (1990). 25. S. Goldwasser, S. Micali and C. Rackoff, The knowledge complexity of interactive proof systems. Siam J. Comput., 18(1), 186-208(1989). 26. R. Graham, D. E. Knuth and O. Patashnik, Concrete Mathematics - A foundation for computer science. AddisonWesley, Reading, MA, (1989). 27. L. Guillou, Data encipherement: Techniques, standards and applications, Proc. la Carte a Me'moire, pp. 17-23. Paris, France (1983). 28. L. C. Guillou and J.-J. Quisquater, A practical zeroknowledge protocol fitted to security microprocessor minimizing both transmission and memory. Advances in Cryptology — Eurocrypt 88, Lecture Notes in Computer Science 330, edited by C. G. Gunther, pp. 123-128. Springer-Verlag, Berlin (1988). 29. Hua, Introduction to Number Theory. Springer, New York (1982). 30. T. Itoh and K. Sakurai, On the complexity of constant round zkip of possession of information. Manuscript (1990). 31. N. Jacobson, Basic Algebra I. W. H. Freeman and Company, New York (1985). 32. N. Koblitz, Elliptic curve cryptosystems. Mathematics of Computation, 48, 203-209 (1987). 33. A. IConheim, Cryptography: A Primer. John Wiley, Toronto (1981). 34. J. L. Massey and J. K. Omura, A New Multiplicative Algorithm over Finite Fields and its Applicability in Public-Key Cryptography. Presented at Eurocrypt 83, Udine, Italy. 35. P. D. Merillat, Secure stand-alone positive personnel identity verification system (ssa-ppiv). Technical Report SAND79-0070, Sandia National Laboratories (1979). 36. V. Miller, Use of elliptic curves in cryptography. Advances in Cryptology - Crypto 85, Lecture Notes in Computer Science 218, edited by Hugh C. Williams, pp. 417-426. Springer-Verlag (1986). 37. A. M. Odlyzko, Discrete logs in a finite field and their cryptographic significance. Advances in CryptologyEurocrypt 84, Lecture Notes in Computer Science 209, edited by T. Beth, N. Cot and I. Ingemarsson, pp. 224-314. Springer-Verlag, Berlin (1984). 38. K. Ohta and T. Okamoto, A modification of the FiatShamir scheme. Advances in Cryptology - Crypto 88, THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 1. L. M. Adleman and K. S. McCurley, Open problems in number theoretic complexity. Discrete Algorithms and Complexity, Proceedings of the Japan-US Joint Seminar {Perspective in Computing series, Vol. 15), edited by D. Johnson, T. Nishizeki, A. Nozaki and H. Wilf, pp. 263-286. Academic Press, Orlando, Florida (1986). 2. L. Babai, Trading group theory for randomness. Proceedings of the seventeenth annual ACM Symp. Theory of Computing, STOC. pp. 421-429 (1985). 3. S. Bengio, G. Brassard, Y. Desmedt, C. Goutier and J.-J. Quisquater, Secure implementations of identification systems. Accepted for publication in the Journal of Cryptology. 4. T. Beth, A Fiat-Shamir-like authentication protocol for the El-Gamal-scheme. In Advances in Cryptology Eurocrypt 88, Lecture Notes in Computer Science 330, edited by C. G. Gunther, pp. 77-84. Springer-Verlag, Berlin (1988). 5. T. Beth and Y. Desmedt, Identification tokens-or: Solving the chess grandmaster problem. Presented at Crypto 90, August 12-15, 1990, Sant Barbara, California, U.S.A. To appear in: Proc. of Crypto 90, Lecture Notes in Computer Science, Springer-Verlag. 6. T. Beth and F. Schaefer, Non-Supersingular Elliptic Curves for Public Key Cryptosystems. Presented at Eurocrypt 91, April 8-11, 1991, Brighton, England. To appear in: Proc. of Eurocrypt 91, Lecture Notes in Computer Science, Springer-Verlag. 7. G. Brassard and P. Bratley, Algorithmics - Theory & Practice. Prentice Hall (1988). 8. M. V. D. Burmester, An optimal class of interactive zeroknowledge proofs. Submitted to Information Processing Letters, under revision. 9. M. V. D. Burmester, A remark on the efficiency of identification schemes. Advances in Cryptology - Eurocrypt 90, Lecture Notes in Computer Science 473, edited by I. B. Damgard, pp. 493-495. Springer-Verlag, Berlin (1991). 10. M. V. D. Burmester and Y. G. Desmedt, Remarks on the soundness of proofs. Electronics Letters, 25 (22), pp. 1509-1511 (1989). 11. D. Chaum, J.-H. Evertse and J. van de Graaf, An improved protocol for demonstrating possession of discrete logarithms and some generalizations. Advances in Cryptology - Eurocrypt 87, Lecture Notes in Computer Science 304, edited by D. Chaum and W. L. Price, pp. 127-141. Springer-Verlag, Berlin (1988). 12. D. Coppersmith, A. Odlyzko and R. Schroeppel, Discrete logarithms in GF(p). Algorithmica, pp. 1-15 (1986). 13. G. Davida and Y. Desmedt, Passports and visas versus IDs. Advances in Cryptology — Eurocrypt 88, Lecture Notes in Computer Science 330, edited by C. G. Gunther, pp. 183-188. Springer-Verlag, Berlin (1988). 14. D. W. Davies and W. L. Price. Security for Computer Networks. John Wiley and Sons, New York (1984). 15. D. W. Davies and W. L. Price. Security for Computer Networks. John Wiley and Sons, New York, second edition (1989). 16. Y. Desmedt and M. Burmester, An efficient zero-knowledge scheme for the discrete logarithm based on smooth numbers. To be presented at Asiacrypt 91, November 11-14, Fujiyoshida, Yamanashi, Japan. To appear in: Proc. of Asiacrypt 91, Lecture Notes in Computer Science, Springer-Verlag. 17. Y. Desmedt, Major security problems with the " unforgeable" (Feige-)Fiat-Shamir proofs of identity and how to overcome them. Securicom 88, 6th worldwide congress on computer and communications security and protection, SEDEP Paris, France, pp. 147-159 (1988). 18. Y. Desmedt, C. Goutier and S. Bengio, Special uses and IDENTIFICATION SCHEMES FOR SMART CARDS Lecture Notes in Computer Science 403, edited by S. Goldwasser, pp. 232-243. Springer-Verlag (1990). 39. S. C. Pohlig and M. E. Hellman, An improved algorithm for computing logarithms over GF{p) and its cryptographic significance. IEEE Trans. Inform. Theory, IT-24 (1), 106-110(1978). 40. C. P. Schnorr, Efficient identification and signatures for smart cards. Advances in Cryptology - Crypto 89, Lecture Notes in Computer Science 435, edited by G. Brassard, pp. 239-252. Springer-Verlag (1990). 41. G. J. Simmons, A system for verifying user identity and authorization at the point-of-sale or access. Cryptologia, 8 (1), 1-21 (1984). 42. R. Solovay and V. Strassen, A fast Monte-Carlo test for primality. SIAM Journal on Computing, 6 (1), 84-85, erratum (1978), ibid, 7, 118 (1977). 43. M. Tompa and H. Woll, Random self-reducibility and zero-knowledge interactive proofs of possession of information. The Computer Society of IEEE, 28th Annual Symp. on Foundations of Computer Science (FOCS), pp. 472-482, IEEE Computer Society Press (1987). Book Review BRIAN SHACKEL and SIMON RICHARDSON (eds), Human Factors for Informatics Usability, Cambridge University Press, 1991. £35, ISBN 0-521-36570-8. perspective, is elaborated in the chapter by Leela Damodaran. The last part discusses some of the more basic interface issues. Ben Shneiderman shows the various styles of interface dialogues and Patricia Wright explains the reasons for the prevalence of poor documentation, and methods by which it can be improved. In the final chapter, Chapanis argues that lack of evaluation is why some computers, computer programs and manuals are hard to use. He gives guidelines for evaluation and cites numerous relevant examples. Overall, the book brings together an interesting, well-written and worthwhile collection of papers, and an extensive collection of references; my only criticism is the length of time taken to achieve this status. As Shackel points out, much of the material is as timely now as it was five years ago when the papers were written. However, it is clear, especially from the screens in some chapters, that the material is somewhat dated. Indeed, much has happened on the human factors front in the last few years, as is evident from CHI and similar conferences. This is a solid and useful book for anyone interested in interface design issues including undergraduate and postgraduate students. Although more recent material is missing, what is in this book is valuable, and inevitably something had to be omitted. MILDRED L. G. SHAW University of Calgary THE COMPUTER JOURNAL, VOL. 35, NO. 1, 1992 29 Downloaded from http://comjnl.oxfordjournals.org/ by guest on July 20, 2016 This book is the outcome of an Advanced Study Course held in December 1986. It is divided into five parts: Informatics Usability - introduction, scope and importance; System Design - orientation and approaches; Special topics in depth; Organisational aspects and design in large systems; and Design and Evaluation - some specific methods. In the preface Shackel explains the main objectives: to review the knowledge and methods available from the field of human factors to help improve the usability of informatics systems; to present recent theoretical and methodological developments in this field; to stimulate increased application of this knowledge and these methods. In the first part Brian Shackel and Simon Richardson give a background to human factors and usability, and in the following chapters Shackel goes into more detail about usability, its design and evaluation. In chapter 3, Alphonse Chapanis reviews many studies of human factors issues in real world situations and attempts to evaluate the cost savings involved in good human factors designs. Part 1 commences with Ken Eason and Susan Harker discussing the needs of a broad range of users and how human factors can help if they are incorporated in the design process. Tom Stewart's chapter again looks at these issues but from a consultant's perspective, and William Newman's lends yet another voice from the perspective of the system designer. Arthur Gardner describes an attempt to classify different sources of existing advice from the literature on human factors into an overall framework, and locate them within the system life cycle. Phil Barnard starts the section on special topics with a discussion of the contribution of cognitive psychology. This is another attempt to establish a much-needed framework within which to place aspects of usability. Formal models are discussed by Jurgen Ziegler and Hans-Jorg Bullinger; and they finish with a table showing where each method has been used, and conclude that no one method is universally applicable to all situations. The following chapter by Brian Gaines applies familiar human-computer interface design principles to expert systems which generate new modes of interaction between people and computers. Part 4, with chapters by Greif, Mumford and Damodaran, emphasises organisational aspects of design. In particular Siegfried Greif discusses the dimensions which must be considered: size, centralisation versus decentralisation, the reward and feedback system, and division of labour or specialisation. Enid Mumford looks at participation in design and describes the ETHICS methodology which deals with organisational factors in design; and the human factors strategy, a holistic approach to IT from the users organisation's