2) This is a scenario in which the users (the students) have no issue with giving their private keys away to their mates. That's actually the point, in this case. ZKPP is of little value here.
3) Yeah, I know that you brought up ZKPP to respond to the issue with RFID scanning. I'm curious to see how you're going to get the RFID chip to cough up enough information to verify that it knows the private key, without giving away enough information to allow key determination through heuristic analysis anyway. In order for the knowledge exchange to work, the information has to be deterministic - yet, it has to change from query to query, or else I can simply re-transmit whatever the RFID chip last transmitted, and I'm in.