Global Navigational Satellite Systems (GNSS) are used to provide accurate time synchronisation and location services. Satellites transmit navigational messages that can be used by a receiver to compute its current location. However, most of the navigational messages are not protected and can be easily spoofed. Many GPS signals spoofing attacks have been reported in which the attackers are able to transmit spoofed and replayed GPS signals to hijack autonomous vehicles, ships and drones. Non-cryptographic methods that use pseudorange differences, antenna arrays and multi-receivers to detect GPS spoofing can be inaccurate due to environment changes. In this paper, we propose an efficient verification protocol of GPS signals by having a dedicated authentication server to continuously compute Keyed-Hashing for Message Authentication Code (HMAC) of GPS navigational messages received from the satellites using Chameleon Hash Keychain. The keychain has a unique property that it is practically unbounded, and this allows the GPS receivers to easily authenticate the authentication server, and verify the GPS signals concurrently by checking the HMACs. A proof-ofconcept prototype has been developed to demonstrate the feasibility of this authentication scheme, and our results show that our approach can update the hash key in the keychain every 30 seconds, thus protecting every five GPS message subframes with a different hash key. This makes it difficult for the attacker to compromise the navigational messages.