zen is no performance bottleneck, it won't affect the speed of permissions at all.
we have on our learn system more than 10 times the number of entries in the permission tables, and much better speed (most time below 1ms, with up to 2000 concurrently active users; but we have also a different hardware).
The indices you have are correct, these are the indices of the standard openacs installation.
We have on our productive environment two indices more:
Try to add these:
create index acs_privilege_descendant_map_privilege_idx on acs_privilege_descendant_map (privilege);
create index acs_object_context_index_object_id_idx on acs_object_context_index (object_id);
after creating the indices, do a "VACUUM
<tablename>" on both tables.
measure again. It is a while, since i have added these indices. They might be an artefact of our local modifications. if they don't not help, remove the indices again.