The Lightning paper states on page 12 (emphasis mine):
This can only be enforced if one is able to ascribe blame for broadcasting an old transaction. In order to do so, one must be able to uniquely identify who broadcast an older transaction. This can be done if each counterparty has a uniquely identifiable Commitment Transaction. Both parties must sign the inputs to the Commitment Transaction which the other party is responsible for broadcasting. Since one has a version of the Commitment Transaction that is signed by the other party, one can only broadcast one’s own version of the Commitment Transaction.
How is this technically implemented? How do I make two transactions, both of them signed by Alice and by Bob, such that each of them is valid only if broadcast by Alice or by Bob respectively?