An Attribute-Based Signature Scheme