Chen Hao, John Clark and Jeremy Jacob
presented an article in 2004, which explains the
development of an automatic system for designing
security protocols. They don’t use GA, but another
metaheuristic technique called “simulated
annealing”, on which some physical principles
related with materials exposed to changes of
temperature are simulated (Hao, 2004). The
proposed tool is based in the BAN logic (Burrows,
Abadi and Needham) that introduces an inference
rules set that focus on the evolution of beliefs of
honest parties involved in a protocol as they
exchange information (Burrows, 1990).
Brackin present a high level language for
applying formal methods to the security analysis of
cryptographic protocols. This language is applied in
a tool called CAPSL, developed by the United States
Navy (Brackin, 1999).
4 TOOL FOR THE DESIGN OF
CRYPTOGRAPHIC
PROTOCOLS USING GA
4.1 Operational Bases
In the tool for the design of cryptographic protocols,
the genetic algorithms were programmed as follows.
The selection is by rank while applying elitist
selection copying the two best individuals from each
generation to next. Mutations are introduced to
individuals and to genes, and only one helix is used.
Next parameters can be adjusted: Number of helix,
symbols, genotype and population size, weight of
evaluation aspects, mutation and permutation
probabilities, and number of crossover points.
4.2 Software Tool
The proposed tool was built, in its last version, to
solve problems that require the use of public and
symmetric keys, with or without a certifying
authority. At this preliminary stage, elements like
hash function, timestamps and nonces are not used.
Neither is considered man in the middle attacks, or
the introduction of data from previous runs of
protocols. Of course, those aspects will be
considered for future versions of the system.
Since each individual from population is a
protocol to evaluate, individual evaluation is
protocol evaluation. First generation protocols are
randomly defined, so their results will show very
low values.
Next generation’s individuals will be the result
from combinations of best individuals from previous
generations, so their characteristics will be better.
The proposed tool works with populations of
individuals. The first population, this is, the first
generation is built randomly. Each individual is
defined by a genetic code, a series of N helix, this is,
N series of numbers. Each number can take a value
from zero to a specified maximum number.
Numbers from individuals of first generation are
random.
For evaluate each individual, its genetic code is
interpreted according a criteria that considers the
combination of the numeric values stored in the
helix, from where a series of binary values are
extracted. This series is subdivided to establish the
possible values for parameters that define the
phenotype from the individual. These parameters are
the characteristics that will be evaluated from each
protocol.
The most complex process in evolution is the
evaluation, because this will have to show with
numbers the goodness of the analyzed protocols.
This function is built so it must test step by step the
operation of security protocols, registering with
detail the consequences.
The phenotype from the individual is obtained,
by getting the binary string from the helix
combination on the individual’s genotype, and
subdividing the bits for obtaining the parameters of
messages defining the protocol.
Non valid messages, like having the same origin
and destiny or not having any information, are
eliminated. Non valid keys, like being redundant or
data not suitable for be a key, are eliminated too.
Non-existent key references are not eliminated
because they could be existent later.
Several cyclical loops are initiated to check each
message, for each entity, trying to solve each key
and register new data if there is any. All entities try
all messages because it is considered that all entities
could be listening all communications. New data
acquired by entities are registered indicating if it was
directed to him, and if it was authenticated. These
operations are repeated until there is not possibility
of decoding any messages by any entity.
The value to be assigned to the protocol is
calculated according next criteria: number of
achieved goals, redundant received data, times that
data was received before a required key, data leaked,
number of messages sent, cost by sending long or
short messages, and cost for encoding with public or
symmetric keys.
SECRYPT 2006 - INTERNATIONAL CONFERENCE ON SECURITY AND CRYPTOGRAPHY
318