mah la signature lato client sinceramente non la capisco anche io, non mi sembra poi di aver mai visto nessuno utilizzarla, almeno nei servizi più comuni.
l'idea dell'api key è semplice: dai al client una chiave da comunicarti quando si logga nella tua applicazione. Attraverso tale chiave tu riconosci il client come valido, lo "logghi", e gli consenti di utilizzare i metodi che metti a disposizione. l'uso rsclusivo di https per la comunicazione client/server direi che sia indispensabile per evitare man in the middle e simili.
Poi se vuoi puoi limitare il numero di richieste/secondo da riceve da parte di una key
ps: ovviamente l'algoritmo che genera le key dev'essere robusto per evitare che da fuori ti "azzecchino" le key degli altri