There is an increasing demand to certify the security of systems according to the Common Criteria (CC). The CC distinguish
several evaluation assurance levels (EALs), level EAL7 being the highest and requiring the application of formal techniques.
We present a method for requirements engineering and (semi-formal and formal) modeling of systems to be certified according
to the higher evaluation assurance levels of the CC. The method is problem oriented, i.e. it is driven by the environment
in which the system will operate and by a mission statement. We illustrate our approach by an industrial case study, namely
an electronic purse card (EPC) to be implemented on a Java Smart Card. As a novelty, we treat the mutual asymmetric authentication
of the card and the terminal into which the card is inserted.