Zero Knowledge Protocols without Magic
cossacklabs.com
cossacklabs.com
Calling this "zero knowledge" is sort of confusing from that perspective, but makes sense once you know what they're solving for.
Given some problem P (say proving that two graphs are isomorphic), you want to create a protocol such that the view of the verifier can be simulated without access to the witness (the graph isomorphism).
By "simulated" we mean that there exists some polynomial time simulator that produces a "fake" protocol transcript that is nonetheless indistinguishable from an actual protocol execution.
The existence of such a simulator implies that whatever the verifier could have learned from an interaction with the prover, it could also have learnt by interacting with the simulator.
Zero-knowledge proof (soundness, completeness, zero-knowledge) is a subset of proof-of-knowledge (soundness, completeness), so your last statement is true by definition.
PoK is a stronger condition than soundness.
I'm probably mixing things up.
What's missing is the cheating verifier that can generate a transcript of a valid interaction without actually knowing the secret.
However, I think that ZKP is not what you want for regular authentication: just for specific cases, where ZKP properties shine the most.