Efficient and Verifiable Timing Channel Protection for Multi-Core Processors