The protocol of provisioning shared key to multiple devices? I have a bunch of IoT devices which can do ECDH/ECDSA and AES. They all are connected to some server and know its public key. In turn, server knows each public key of the corresponding device. Devices do not know about each other, only their master-server and its public key.

What I want is to get rid of ECDH for most of the time and to let all the devices to securely know about some common key that can be used to broadcast messages using AES and which (optionally) could be switched to a new one after some time. 

So, the naive idea is for devices to securely "ask" server for a new AES key and its expiration date every time they get online. Or re-ask if they get decryption error.

Does it sound sane? Or should I consider some other group key establishment protocol?

By securely "ask" I mean some proper way of communicating like noiseprotocol/TLS
This looks likely a classic server-multiple client scenarios, I had the similar situation:
Depend on real application, some of my thought:


For most case, IoT devices does not communicate to server at the same time? so server should be able to setup secure key for each of IoT devices through ECDH.
To have a common key for all devices looks too dangerous, that means as soon as one IoT device is compromised, hacker will be able to hijack all IoT devices..
It is only safe for each IoT device to use a common AES key--when you have physical access to them--for exp, in factory, in Lab, before shipment .. after it is been deployed to field, you must consider the different key for each device. Someone also burn a HW AES key into IoT device ROM, but still that have to be different for each of the IoT device, so one compromise does not jeopardize all devices.
Given ECDH could be too heavy for a IoT devices (usually take few back-forth communication), my suggestion would be to consider once time ECDH when IoT device is been activated, and using Ephemeral ECDH (ECDHE) which does not request regenerated ECC keys.