CBC-MAC: is it secure to authenticate a fixed length ciphertext? Suppose I have a fixed-length arbitrary ciphertext.

To authenticate such ciphertext:


I generate a random AES Key $K_{auth}$.
Then I compute the CBC-MAC Tag of the ciphertext with $K_{auth}$.
Finally, I store the ciphertext and the associated Tag in my database. 


For decryption process:


I get the ciphertext and the associated tag from my database.
Then I check the ciphertext length and if it match as expected, compute the tag with $K_{auth}$.
Finally, if tags matches, I process the cipertext.


In my case the database should be considered untrusted, as an adversary may edit both ciphertext and tag. However, as keys remain private, is such Encrypt-then-Mac approach secure (even if the tag is not itself encrypted) ?
Yes, if your encryption algorithm is reasonable secure.

Given fixed length messages (in your case the ciphertext), CBC-MAC is a secure MAC scheme, meaning that an attacker, without knowing the key, cannot produce a valid message-tag pair with non-negligible probability. Furthermore, according to this paper, Encrypt-then-MAC is the best procedure, while MAC-then-Encrypt and MAC-and-Encrypt are vulnerable to chosen-ciphertext attacks, the latter may even weaken the security of the encryption scheme itself. Thus the security of your system depends solely on the encryption algorithm you use. The ciphertexts it produces should be indistinguishable under chosen-plaintext attacks (IND-CPA). In other words, an attacker who sends two messages to an oracle and gets one ciphertext in return won't know which one of the two messages were encrypted.

AES in CBC mode with an initialization vector chosen randomly each time you encrypt a message is assumed to have this property.