Yes, it is perfectly legal. You say that the contract specifies that the benefits expire in one year: the parties to a contract can agree to essentially any terms that they like, and it the contract the person who paid for benefits signed says they expire, then they expire. You are entitled to what the contract says you get (e.g. benefits good for one year)--no more and no less. The law does not require prepaid benefits to remain indefinitely or perpetually good; it comes down to what the parties agreed to/contracted.