> The use-case is a user and a “service-provider” (of some kind, in my case a device). The device only responds to requests, performs computations in a separate computing environment and is, in this particular case, connected by USB port. There is sensitive information involved. The device, however, does not have storage capability...<p>I think you're over-describing your use case, to the point that it's unclear what you're really saying. I read your "Introduction" section several times, and I don't understand if you're just saying "the use case is an authenticated key exchange" or something different. That makes it hard to judge the protocol.<p>> Device gets authenticated<p>> The device, however, does not have storage capability<p>These two requirements are contradictory. How do you "authenticate" a server that has a different identity each time you interact with it?<p>> [The protocol] is built on top of a Diffie-Hellman Key Exchange<p>Why not just use Diffie-Hellman? What else is this offering?