
 
the reuse of security requirements which are 
compatible with the CC Framework subset. In 
addition, in order to support this method and make it 
easy the treatment and specification of the security 
requirements, assets, security objectives and threats, 
we will propose the use of several concepts and 
techniques: a security resources repository (with 
assets, threats, requirements, etc), the use of 
UMLSec (Popp, Jürjens et al. 2003), misuse cases 
(Sindre, Firesmith et al. 2003), threat/attack trees, 
and security uses cases (Firesmith 2003). These 
latter techniques will be used following the criteria 
of effectiveness, and they allow us to integrate 
security aspects from the beginning into an IS 
development process, for example by expressing 
security-related information within the diagrams in a 
UML system specification, thanks to UMLSec. 
The remainder of the paper is set out as follows: 
in section 2, we will outline an overview of our 
Security Requirements Engineering Process. Lastly, 
our conclusions and further research are set out in 
section 3. 
2  A GENERAL OVERVIEW OF 
SREP 
The Security Requirements Engineering Process 
(SREP) is an asset-based and risk-driven method for 
the establishment of security requirements in the 
development of secure Information Systems. 
Basically, this process describes how to integrate the 
CC into the software lifecycle model together with 
the use of a security resources repository to support 
reuse of security requirements (modelled with 
UMLSec, or expressed as security use cases or as 
plain text with formal specification), assets, threats 
(which can be expressed as misuse cases, 
threat/attack trees, UMLSec diagrams) and 
countermeasures. The focus of this methodology 
seeks to build security concepts at the early phases 
of the development lifecycle. 
As it is described in 
Figure 1, the Unified Process 
(UP) (Booch, Rumbaugh et al. 1999) lifecycle is 
divided into a sequence of phases, and each phase 
may include many iterations. Each iteration is like a 
mini-project and it may contain all the core 
workflows (requirements, analysis, design, 
implementation, and test), but with different 
emphasis depending on where the iteration is in the 
lifecycle. Moreover, the core of SREP is a micro-
process, made up of nine activities which are 
repeatedly performed at each iteration throughout 
the iterative and incremental development, but also 
with different emphasis depending on what phase of 
the lifecycle the iteration is in. Thus, the model 
chosen for SREP is iterative and incremental, and 
the security requirements evolve along the lifecycle. 
At the same time, the CC Components are 
introduced into the software lifecycle, so that SREP 
uses different CC Components according to the 
phase, although the Software Quality Assurance 
(SQA) activities are performed along all the phases 
of the software development lifecycle. And it is in 
these SQA activities where the CC Assurance 
Requirements might be incorporated into, according 
to (Kam 2005).  
In addition, it facilitates the requirements 
reusability. The purpose of development with 
requirements reuse is to identify descriptions of 
systems that could be used (either totally or 
partially) with a minimal number of modifications, 
thus reducing the total effort of development 
(Cybulsky and Reed 2000). Moreover, reusing 
security requirements helps us increase their quality: 
inconsistency, errors, ambiguity and other problems 
can be detected and corrected for an improved use in 
subsequent projects (Toval, Nicolás et al. 2001). 
Thereby, it will guarantee us the fastest possible 
development cycles based on proven solutions. 
 
Figure 1: SREP overview.
SECRYPT 2006 - INTERNATIONAL CONFERENCE ON SECURITY AND CRYPTOGRAPHY
468