An application is required to store sensitive data* on each user. Additional columns are added to the database which store cyphertext encrypted on the application server. The algorithm of choice is symmetric (AES) and a single key (assume that this key is correctly stored and distributed to the application servers).
My initial reaction to this design that I would favour using a different AES key per row, and storing each key encrypted with an asymmetric key next to the cyphertext.
Is my initial reaction correct? Would treating each database row as a "session" be more secure?
*Not your grandma's cookie recipe level. End of company level stuff. Ideally the system should be secure against information disclosure by anyone person inside or out of the company, or at least limited.