Inside Java(TM) 2 Platform Security: Architecture, API Design, and Implementation