Secure Session Framework: An Identity-based Cryptographic Key Agreement and Signature Protocol