What is the advantage of digital signatures over message authentication codes? Studying for CISSP these choices seemed limited:


  What is the advantage of digital signatures over message authentication codes?
  
  
  Digital Signature provides integrity verification while message authentication code does not
  Digital Signature provides confidentiality while message authentication code does not
  Digital Signatures provide authenticity while message authentication code does not
  Digital Signatures works faster than message authentication codes
  


Using the following chart as a reference, I'm leaning towards #2, but none of the choices really fit properly…

Cryptographic primitive | Hash |    MAC    | Digital
Security Goal           |      |           | signature
------------------------+------+-----------+-------------
Integrity               |  Yes |    Yes    |   Yes
Authentication          |  No  |    Yes    |   Yes
Non-repudiation         |  No  |    No     |   Yes
------------------------+------+-----------+-------------
Kind of keys            | none | symmetric | asymmetric
                        |      |    keys   |    keys


Hopefully an expert here can clarify.
If this requires a single answer among 1/2/3/4 (rather than none), I would select 3, by the following reasoning:


  
  Digital Signature provides confidentiality while message authentication code can not
  


We can summarily exclude this, since a Digital Signature simply does not provide confidentiality.


  
  Digital Signatures works faster than message authentication codes
  


We can exclude this (slightly fixed) statement: Digital Signature is often annoyingly slower than MAC (an exception is long messages with the signature's hash supported by hardware and the MAC in software; but then we can hash then make a MAC of the hash to regain most of the speed). Digital Signatures also has larger minimum size overhead for equivalent resistance to brute force.


  
  Digital Signatures provide authenticity while message authentication code cannot
  


Authenticity is commonly defined as only a user authorized to author or modify a message can do so. In some use cases, a MAC can provide authenticity (e.g. if the MAC key is kept secret, including unknown to users that verify integrity, by using Smart Cards to verify signed messages); but if we understand "while" as including in some setups where, the statement makes sense: the (only) advantage of Digital Signature over MAC is that verification is possible with only public keys; and that provides authenticity in many setups where a MAC does not (e.g. verification using a computer that adversaries can fully analyze).


  
  Digital Signature provides integrity verification while message authentication code can not
  


Integrity is commonly defined as resisting accidental alterations, or the stronger resisting deliberate modifications by outsiders. Digital Signature and MAC both insure this. Other definitions similar to that of authenticity are sometime used, but if we have to choose between 1 and 3, we must pick 3.