In computer security, challenge-response authentication is a family of protocols in which one party presents a question ("challenge") and another party must provide a valid answer ("response") to be authenticated.
The simplest example of a challenge-response protocol is password authentication, where the challenge is asking for the password and the valid response is the correct password.
Clearly an adversary who can eavesdrop on a password authentication can then authenticate itself in the same way. One solution is to issue multiple passwords, each of them marked with an identifier. The verifier can ask for any of the passwords, and the prover must have that correct password for that identifier. Assuming that the passwords are chosen independently, an adversary who intercepts one challenge-response message pair has no clues to help with a different challenge at a different time.
For example, when other communications security methods are unavailable, the U.S. military uses the AKAC-1553 TRIAD numeral cipher to authenticate and encrypt some communications. TRIAD includes a list of three-letter challenge codes, which the verifier is supposed to choose randomly from, and random three-letter responses to them. For added security, each set of codes is only valid for a particular time period which is ordinarily 24 hours.
A more interesting challenge-response technique works as follows: Say "Bob" is controlling access to some resource. Alice comes along seeking entry. Bob issues a challenge, perhaps "52w72y". Alice must respond with the one string of characters which "fits" the challenge Bob issued. The "fit" is determined by an algorithm "known" to Bob and Alice. (The correct response MIGHT be as simple as "63x83z" (each character of response one more than that of challenge)... but in the real world, the "rules" would be much more complex.) Bob issues a different challenge each time, and thus knowing a previous correct response... even if it isn't "hidden" by the means of communication used between Alice and Bob... is of no use. A part of Alice's response might convey that it is Alice (or the specific dongle she was supposed to be keeping secure) who is seeking authentication.
Software in the 1980s and 1990s often used a similar method for copy protection: challenges would be questions like "What is the second word in the third paragraph on page 418 of the manual?". The security assumption was that copying the manual was more difficult than copying the software disk. Sometimes the manual would be printed in such a way that contemporary photocopy machines couldn't duplicate the pages.