The notion of a Secretly Embedded Trapdoor with Universal Protection (SETUP) and its variations on attacking black-box cryptosystems has been recently introduced. The basic definitions, issues, and examples of various setup attacks (called Kleptographic attacks) have also been presented. The goal of this work is to describe a methodological way of attacking cryptosystems which exploits certain relations between cryptosystem instances which exist within cryptosystems. We call such relations "kleptograms". The identified kleptogram is used as the base for searching for a setup.In particular, we employ as a discrete log based kleptogram a basic setup that was presented for the Diffie-Hellman key exchange. We show how it can be embedded in a large number of systems: the ElGamal encryption algorithm, the ElGamal signature algorithm, DSA, the Schnorr signature algorithm, and the Menezes-Vanstone PKCS. These embeddings can be extended directly to the MTI two-pass protocol, the Girault key agreement protocol, and many other cryptographic systems. These attacks demonstrate a systematic way to mount kleptographic attacks. They also show the vulnerability of systems based on the difficulty of computing discrete logs.The setup attack on DSA exhibits a large bandwidth channel capable of leaking information which hardware black-box implementations (e.g., the Capstone chip) can use. We also show how to employ such channels for what we call "device marking".Finally, note that it has been perceived that the DSA signature scheme was originally designed to be robust against its abuse as a public-key channel- to distinguish it from RSA signatures (where the signing function is actually a decryption function). In this paper we refute this "perceived advantage" and show how the DSA system (in hardware or software) can be easily modified to securely leak private keys and secure messages between two cooperating parties.
The technology of mobile agents, where software pieces of active control and storage (called mobile agents) travel the network and perform tasks distributively, is of growing interest as an Internet technology. Similarly, smartcard holders can be considered mobile users as they access the network at various points. Such mobile processing can be employed in large scale census applications in statistics gathering, in surveys and tallying, in reading and collecting local control information, etc. This distributed computing paradigm where local pieces of data are getting accumulated in a mobile unit presents new information security challenges. Here, we point at some problems it poses and suggest solutions. The basic problem considered involves the design of a mobile agent that is capable of traversing an untrusted (curious) network while gathering and securing data from the nodes that it visits. We assume that some subset of the nodes may collaborate to track the agent, and we assume that snapshots of memory are taken at each node at times that are unpredictable to the agent. The data that is gathered must be securely stored within the agent and the adversarial nodes must remain oblivious to what is taken by the agent. In addition, the agent’s movement throughout the network should be made difficult to trace. Furthermore, we assume that the agent is limited in storage capacity. To prevent the nodes from getting decryption capability, the agent must carry a public key for (asymmetric) encryption. We present an economical solution that we call “sliding encryption≓. This is a new mode of operation of public key cryptosystems that allows the encryption of small amounts of plaintext yielding small amounts of ciphertext. Furthermore, the encryption is performed so that it is intractable to recover the plaintext without the appropriate private key. We also describe how to modify sliding encryption so that the resulting ciphertexts are hard to correlate, thus making it possible to have mobile agents that are not easy to trace. Sliding encryption is applicable to mobile agent technology and may have independent applications to “storage-limited technology≓ such as smartcards and mobile units.
In this paper we solve the open problem known as the “software key escrow” problem. To this end we develop a cryptographic notion of auto-recoverable auto-certifiable cryptosystems. We first present the exact specification of the problem, based on what software key escrow can hope to achieve. Then we develop our new scheme, which is an efficient reduction to a software key escrow system from a certified public key system. Namely, our scheme is as efficient for users to use as a public key infrastructure, it does not require a tamper-resistant hardware (i.e., it can be distributed in software to users), and the scheme is shadow public key resistant (does not allow the users to publish public keys other then the ones certified). The scheme enables the efficient verification of the fact that a given user's private key is escrowed properly.
A Cunningham chain of length k is a finite set of primes p 1, p 2,...,p k such that p i+1=2p i +1, or p i+1=2p i−1 for i=1,2,3, ...,k−1. In this paper we present an algorithm that finds Cunningham chains of the form p i+1=2p i+1 for i=2,3 and a prime p 1. Such a chain of primes were recently shown to be cryptographically significant in solving the problem of Auto-Recoverable Auto-Certifiable Cryptosystems [YY98]. For this application, the primes p 1 and p 2 should be large to provide for a secure enough setting for the discrete log problem. We introduce a number of simple but useful speed-up methods, such as what we call trial remaindering and explain a heuristic algorithm to find such chains. We ran our algorithm on a Pentium 166 MHz machine. We found values for p 1, starting at a value which is 512 bits and ending at a value for p 1 which is 1,376 bits in length. We give some of these values in the appendix. The feasibility of efficiently finding such primes, in turn, enables the system in [YY98] which is a software-based public key system with key recovery (note that every cryptosystem which is suggested for actual use must be checked to insure that its computations are feasible).
In this paper we present an RSA backdoor that, for example, can be used for a hardware-based RSA key recovery system. The system is robust in the sense that a successful reverse-engineer is not able to obtain previous nor future RSA private keys that have been/will be generated within the key generation device. The construction employs the notion of two elliptic curves in which one is the “twist” of the other. We present a proof in the random oracle model that the generated RSA key pairs that are produced by the cryptographic black-box are computationally indistinguishable (under ECDDH) from “normal” RSA key pairs, thus ensuring the integrity of the outputs. Furthermore, the security level of the key recovery mechanism is nearly identical to that of the key pair being generated. Thus, the solution provides an “equitable” level of security for the end user. This solution also gives a number of new kleptographic applications.
We present the first (1,2)-SETUP algorithm for the RSA digital signature scheme with appendix. A SETUP algorithm C′ is an algorithmic modification of algorithm C that (1) contains an asymmetric backdoor that can only be used by the designer, even if the backdoor algorithm is fully public, and (2) ensures that the public outputs of C and C′ are computationally indistinguishable under black-box queries. The SETUP is presented in RSASSA-PSS and it transmits the RSA private key within two w.l.o.g consecutive digital signatures. This problem has been solved for DSA and other discrete-log based digital signature algorithms, but not RSA. We therefore solve a long-standing problem in kleptography.
In this paper we present the first general purpose subliminal channel that can be built into a secret symmetric cipher by a malicious designer. Subliminal channels traditionally exploit randomness that is used in probabilistic cryptosystems. In contrast, our channel is built into a deterministic block cipher, and thus it is based on a new principle. It is a broadcast channel that assumes that the sender and the receiver know the subliminal message ms (i.e., something derived from their common key). We show that the designer can expect to be able to read ms when O(|ms|log|ms|) plaintext/ciphertext pairs are obtained. Here |ms| is the length of ms in bits. We show how to turn the channel into a narrowcast channel using a deterministic asymmetric cipher and then present an application of the narrowcast channel. In this application, the secret block cipher securely and subliminally transmits the symmetric key of the sender and receiver to the malicious designer and confidentiality holds even when the cipher is made public.
Smartcards are becoming an integral part of public key infrastructures since they are separate computing devices that can store and utilize private keys without ever revealing them. Since the private keys are generated, stored, and used onboard to sign/decrypt data, smartcards are ideal when in the hands of a trusted private key owner. But, it is well known that nonreputability is only achieved when the private key owner does not expose his or her own private signing key. This implies that a very strong threat model exists in smartcard security: the user is not trusted to keep his or her own private key secret. It is a point in fact that corporations worldwide are concerned with this very problem and are making efforts to ensure that their employees cannot disclose their own signing private keys. An employee that could do so could later repudiate signatures on purchase orders, sales, and other legally binding transactions. A weakness in smart card PKI certification is shown that allows users to spoof the key generation processes on their smartcards and in effect grant them access to the bits of their private keys. A simple countermeasure is given that thwarts the possibility of this attack.
A Publicly Verifiable Secret Sharing (PVSS)sc heme allows a prover to verifiably prove that a value with specific properties is shared among a number of parties. This verification can be performed by anyone. Stadler introduced a PVSS for proving that the discrete log of an element is shared [S96], and based the PVSS on double-decker exponentiation. Schoenmakers recently presented a PVSS scheme that is as hard to break as deciding Diffie-Hellman (DDH)[Sch99]. He further showed how a PVSS can be used to improve on a number of applications: fair electronic cash (with anonymity revocation), universally verifiable electronic voting, and software key escrow schemes. When the solution in [Sch99] is used for sharing a key corresponding to a given public key, the double-decker exponentiation method and specific assumptions are still required. Here we improve on [Sch99] and present a PVSS for sharing discrete logs that is as hard to break as the Discrete-Log problem itself, thus weakening the assumption of [Sch99]. Our solution differs in that it can be used directly to implement the sharing of private keys (avoiding the double decker methods). The scheme can therefore be implemented with any semantically secure encryption method (paying only by a moderate increase in proof length). A major property of our PVSS is that it provides an algebraic decoupling of the recovering participants (who can be simply represented by any set of public keys)from the sharing operation. Thus, our scheme diverts from the traditional polynomialsecret- sharing-based VSS. We call this concept Separable Shareholders.
The deployment of a "public-key infrastructure" (PKI) has recently started. Another recent concern in business and on the national level is the issue of escrowed encryption, key recovery, and emergency access to information (e.g., in the medical record area). Independent development of a PKI and an escrowed PKI (whenever required or desired) will pose a lot of constraints, duplication efforts and increased costs of the deployment. It will introduce inter-operability issues which will be hard to overcome. Thus, what we advocate here is a joint design of an escrowed PKI and a regular PKI.In this work we develop an approach to such an integrated design. We give the first auto-recoverable systems based on RSA (or factoring), whereas the original auto-recoverable auto-certifiable schemes were based on Discrete Logarithm based keys. The security proof of our system assumes only that RSA is hard, while the original schemes required new specific discrete log based assumptions. We also put forth the notion of "generic" auto-recoverable systems where one can start with an unescrowed user key and then by simply doing "re-registration", change the key into an escrowed one. In contrast, in the original systems the user keys were tightly connected with the escrow authorities' key. Besides this novel (re)-registration procedure there are no changes or differences for users between a PKI and a generic auto-recoverable PKI.
We consider a problem which was stated in a request for comments made by NIST in the FIPS97 document. The question is the following: Can we have a digital signature public key infrastructure where the public (signature verification) keys cannot be abused for performing encryption? This may be applicable in the context of, say, exportable/escrow cryptography. The basic dilemma is that on the one hand, (1) to avoid framing by potentially misbehaving authorities we do not want them to ever learn the "signing keys" (e.g., Japan at some point declared a policy where signature keys may be required to be escrowed), and on the other hand (2) if we allow separate inaccessible public signature verification keys, these keys (based on trapdoor functions) can be used as "shadow public-keys," and hence can be used to encrypt data in an unrecoverable manner. Any solution within the "trapdoor function" paradigm of Diffie and Hellman does not seem to lead to a solution which will simultaneously satisfy (1) and (2). The cryptographic community so far has paid very limited attention to the problem. In this work, we present the basic issues and suggest a possible methodology and the first scheme that may be used to solve much of the problem. Our solution takes the following steps: (1) it develops the notion of a nested trapdoor which our methodology is based on, (2) we implement this notion based on a novel composite "double-decker" exponentiation technique which embeds the RSA problem within it (the technique may be of independent interest), (3) we analyze carefully what can be and what cannot be achieved regarding the open problem by NIST (our analysis is balanced and points out possibilities as well as impossibilities), and (4) we give a secure signature scheme within a public key infrastructure, wherein the published public key can be used for signature verification only (if it is used for encryptions, then the authorities can decrypt the data). The security of our scheme is based on RSA. We then argue how the scheme's key cannot be abused (statically) based on an additional assumption. We also show that further leakages and subliminal leakages when the scheme is in (dynamic) use are not added substantially beyond what is always possible by a simple adversary; we call this notion competitive leakage. We also demonstrate such simple leaking adversary. We hope that our initial work will stimulate further thoughts on the non-trivial issue of signature-only signatures.
In this paper we present a new Auto-Recoverable Auto-Certifiable Cryptosystem that is based on an algebraic problem different from the original system (of Eurocrypt’98). Specifically, our new cryptosystem uses generalized ElGamal and RSA. It has the following new advantages: (1) the escrow authority’s key can be set-up much faster than in the original scheme; and (2) It can be used to implement the notion we introduce here of what we call “escrow hierarchy.”
We consider the problem of designing a black-box symmetric cipher that leaks information subliminally and exclusively to the designer. We show how to construct a cipher which we call 'Monkey' that leaks one key bit per output block to the designer of the system (in any mode). This key bit is leaked only if a particular plaintext bit is known to the designer (known bit/message attack which is typically available in plain ASCII). The attack is of kleptographic nature as it gives a unique advantage to the designer while using strong (e.g., externally supplied) keys. The basic new difficulty with the design of spoofable block ciphers is that it is a deterministic function (previous attacks exploited randomness in key generation or message encryption/signature), and the fact that we do not want easy (statistical) observability of the spoofing (e.g., the variability of ciphertexts should be noticeable when keys change etc.).We distinguish between three entities: the designer, the reverse-engineer and the user. We show a design methodology that assures that: (1) if the device is not reverse-engineered, the attack is secure (namely, the cipher is good) and undetectable, (2) if the device is reverse-engineered, then the reverse-engineer learns at most one plaintext bit from every ciphertext (but no past/future keys), and (3) the designer learns one plaintext bit and one key bit from each ciphertext block (say in ECB mode). The method is therefore highly robust against reverse-engineering.
In this paper we survey the recent work on Auto-Recoverable Auto-Certifiable Cryptosystems. This notion has been put forth to solve the "software key escrow" problem in an efficient manner within the context of a Pubic Key Infrastructure (PKI). This survey presents the exact specification of the problem which is based on what software key escrow can hope to achieve. The specification attempts to separate the truly difficult technical issues in the area from the ones that are only seemingly difficult. We then review the work in Eurocrypt '98 and PKC '99, which gives an efficient reduction to a software key escrow system from a certified public key system (PKI). Namely, we show how to construct an escrowed PKI for essentially the same cost and effort required for a regular PKI. More specifically, the schemes presented are as efficient for users to use as a PKI, do not require tamper-resistant hardware (i.e., they can be distributed in software to users), and the schemes are shadow public key resistant as defined in Crypto '95 by Kilian and Leighton (namely, they do not allow the users to publish public keys other then the ones certified). The schemes enable the efficient verification of the fact that a given user's private key is escrowed properly. They allow the safe and efficient recovery of keys (and plaintext messages) which is typical in emergency situations such as in the medical area, in secure file systems, and in criminal investigations. We comment that we do not advocate nor deal with the policy issues regarding the need of governments to control access to messages; our motivation is highly technical: in cases that escrow is required or needed we would like to minimize its effect on the overall PKI deployment. We then briefly mention forthcoming developments in the area which include further flexibility/compatibility requirements for auto-recoverable cryptosystems, as well as design of such systems which are based on traditional public key methods (RSA and discrete logs).
Cryptovirology has recently been introduced as a means of mounting active viral attacks using public key cryptography. It has been shown to be a tool for extortion attacks and "electronic warfare", where attacks are mounted against information resources. The natural question to ask is whether Cryptovirology is also useful in the area of spying via malware. We demonstrate that Cryptovirology does help in "electronic espionage" and allows the spy to conceal his or her identity (as well as past collected information). Specifically, we present an attack that can be mounted by a cryptotrojan that allows the attacker to gather information (passwords) from a system in such a way that the attacker cannot be proven guilty beyond reasonable doubt. That is, even if the attacker is under surveillance on the local machine from when he first attacks the target machine, to when he obtains the passwords, and even if the leaked information is made available to the attacker exclusively, he still cannot be caught. The threat is made possible by the combination of public key cryptography, probabilistic encryption, and the use of public information (I/O or communication) channels which together form a "secure receiver-anonymous channel". The machine can be standalone or networked. What we learn from the attack is extracted as general tools and basic principles for "espionage attacks".
Traditionally, cryptography and its applications are defensive in nature, and provide privacy, authentication, and security to users. In this paper we present the idea of ``Cryptovirology'' which employs a twist on cryptography, showing that it can also be used offensively. By being offensive we mean that it can be used to mount extortion based attacks that cause loss of access to information, loss of confidentiality, and information leakage, tasks which cryptography typically prevents. In this paper we analyze potential threats and attacks that rogue use of cryptography can cause when combined with rogue software (viruses, Trojan horses), and demonstrate them experimentally by presenting an implementation of a ``cryptovirus'' that we have tested (we took careful precautions in the process to insure that the virus remained contained). Public-key cryptography is essential to the attacks that we demonstrate (which we call cryptovirological attacks''). We also suggest countermeasures and mechanisms to cope with and prevent such attacks. These attacks have implications on how the use of cryptographic tools should be managed and audited in general purpose computing environments, and imply that access to cryptographic tools should be well controlled. The experimental virus demonstrates how cryptographic packages can be condensed into a small space, which may have independent applications (e.g., cryptographic module design in small mobile devices).