434
IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 35, NO. 3, FEBRUARY 2000
Watermarking-Based Copyright Protection of
Sequential Functions
Ilhami Torunoglu and Edoardo Charbon, Member, IEEE
Abstract—Watermarking is one of several techniques available
today to deter copyright infringement in electronic systems.
The technique consists of implanting indelible stamps in the
circuit's inner structure, while not disrupting its functionality nor
degrading its performance significantly. In this paper, a novel
method is proposed for the creation of watermarks in regular
sequential functions. This is an important class of functions, as it
is the basis of most digital controllers. Algorithms are proposed
for implanting robust watermarks to minimize the overhead
and, ultimately, to reduce the impact on performance. Detection
methods have been discussed in the presence of infringement
attacks. The resilience of the method in several tampering regimes
has been estimated. Examples illustrate the suitability of the
approach.
Index Terms—Copyright protection, digital design, finite state
machines, watermarking.
I. INTRODUCTION
T
ODAY, electronic systems are built in large part using
stand-alone, individually packaged chips, assembled on
ad hoc printed circuit boards. The industry is currently shifting
to a new design paradigm based on the system-on-chip concept.
Future systems will be assembled integrating several building
blocks, so-called virtual components, on the same silicon substrate. Virtual components, associated to intellectual properties
(IP’s), will be designed by independent firms, possibly for a
number of technologies and applications. To ensure that proper
mechanisms exist to govern the exchange and management
of IP’s, a set of standards and interfaces are currently being
defined [1].
One of the fundamental requirements to promote a practical
system-on-chip design paradigm is that copyrights of the design and of its building blocks be safeguarded. In particular, it
will become essential that the industry find ways to fight potential IP copyright infringement. Currently, design copyright laws
are enforced by means of nondisclosure agreements and patents.
However, the costs involved in preventing or containing IP infringement and tracking espionage, if at all possible, may be too
high.
A promising alternative is deterrence. A possible such
scheme requires the capability of effectively detecting and
subsequently tracking IP infringement cases. This task can
be accomplished by embedding a unique code, or watermark,
exploiting the IP's unique features. Fundamental requirements
Manuscript received July 19, 1999; revised October 19, 1999.
The authors are with Cadence Design Systems, Inc., San Jose, CA 95134
USA.
Publisher Item Identifier S 0018-9200(00)00537-0.
for a watermark are that it be 1) transparent, i.e., not interfering
with the design functionality, 2) robust, i.e., hard to remove or
forge, and 3) detectable, i.e., easy to extract from the design.
The process used for managing watermarks must not necessarily be proprietary, while the code used in the encryption
process should be secret for any released IP.
Recently, watermarking has been applied to digital audio-visual IP’s [2], [3]. The proposed techniques, though with
small variations, essentially consist of superimposing a
pseudorandom noise to the signal of the record. Such noise,
though completely inaudible, can be easily detected via digital
signal-processing methods.
Schemes based on watermarking have been recently proposed
for electronic IP’s as well. In [4] and [5], the watermark assumes the form of a extraneous circuit, hidden inside large fieldprogrammable gate arrays (FPGA’s). Such circuits are implemented in the FPGA's lookup tables and connected to the rest
of the circuit without disrupting the original functionality.
In [6] and [7], we have proposed to incorporate several watermarks, distributed over all the abstraction levels of a given design. The techniques differ depending on the abstraction level to
which they are applicable. At the physical design level, the watermark assumes the form of a set of topological constraints governing the relative position, orientation, and, possibly, scaling of
the devices or gates of the circuit. At netlist and register-transfer
level, constraints on the structure of a selected set of nets are
used to represent the watermark.
Several authors have proposed to use other design constraints
to implant watermarks. In [8], fixed placement and delay
constraints implemented the watermark. In [9], a sequence of
nodes in a multilevel logic function was permuted according to
a seeded pseudorandom selection scheme.
In [10] and [11], schemes have been proposed to implant watermarks in regular sequential functions by modifying the original function in a structured fashion. In this paper, we will focus
on this kind of watermarking scheme, due to the omnipresence
of regular sequential functions in industrial designs and the resilience of the scheme against tampering at lower abstraction
levels.
In the case that more than one party is involved in the creation of an IP, none of the above techniques alone guarantees
that the infringements can be tracked. Watermarking should be
performed simultaneously at various levels of abstraction [6].
The goal is to improve the robustness of the approach and to
allow quick and accurate tracking of the last licensee, who ultimately caused the infringement.
At least two types of watermarking schemes exist. The first
scheme, known as active watermarking, consists of integrating
0018–9200/00$10.00 © 2000 IEEE
TORUNGLU AND CHARBON: WATERMARKING-BASED COPYRIGHT PROTECTION OF SEQUENTIAL FUNCTION
the watermark as a part of the design process, thus allowing the
creation of an arbitrarily high number of uniquely watermarked
designs. In the second scheme, known as passive watermarking
or fingerprinting, one creates a unique and compact representation of a design at any abstraction level. This representation,
known as digital signature, can be used to track infringement
after it occurred by simply extracting the signature from an existing design and comparing it with the original one. To avoid
false claims, a third-party organization should maintain a data
base of all registered signatures for which protection is sought
[12]. Both approaches are robust, since the deletion of the watermark results, with high probability, in the removal of wanted
functionality.
IP protection based on watermarking consists of two phases:
synthesis and detection. The synthesis phase is fully characterized by:
1) a set of algorithms translating design features onto a
unique watermark;
, the odds that an unintended watermark is detected in
2)
a design.
The detection phase is fully characterized by:
1)
2)
, the probability of a miss;
, the probability of a false alarm.
In this paper, we propose a set of algorithms for synthesizing
watermarks in an important class of circuits, which implement
regular sequential functions. In its most abstract form, the
methodology can be described as follows. A regular sequential
function is modified to generate a predictable output sequence
when an unspecified input sequence is applied. In this context,
the watermark is a pair of input/output sequences of symbols,
which cannot occur during normal operation. Such sequences
are hidden among “legal” input/output sequences, thus making
it extremely time-consuming to track and remove them, with
the risk of accidentally modifying intended functionality.
It is possible that the output sequence is defined for every
possible input sequence even if the input sequence is an illegal
one, as in the error handling case. In this case, by augmenting
the input and/or output set, as one would do when adding some
testing signals, some input/output sequences will not be defined.
Using these undefined input/output sequences, one can insert
the watermark into the regular sequential function.
The proposed methods fundamentally differ from recently
proposed finite-state machine (FSM) watermarking techniques,
which rely on topological watermarking. Topological watermarking consists of injecting an extraneous state/transition
topology into the FSM without changing its behavior. Although
it creates a unique watermark, the detection becomes a very
hard problem due to the fact that the watermark detection
problem is equivalent to an automated test pattern generation
(ATPG) problem, which is known to be NP-complete [11].
In our approach, the detection problem becomes a very easy
task. The existence of the watermark can be simply proven by
applying the input sequence of the watermark and observing the
output sequence. If the observed output sequence matches the
output sequence of the watermark, the existence of the watermark is necessarily proven.
435
Regular sequential functions are generally represented by
complex and highly optimized automata, developed in both
stand-alone and embedded processors. In order to maximally
exploit the advantages of a particular technology, there is little
room for overhead, in the form of both additional circuits
and/or signals. For this reason, the proposed algorithms operate
in both active and passive synthesis regimes, and they are
designed to prevent excessive implementation overhead for a
specified level of detection confidence.
This paper is organized as follows. A formulation of the
problem is presented in Section II. Section III outlines the
process of modifying the inner structure of regular sequential
functions to add the watermark. Detection techniques are
presented in Section IV, and examples are given in Section V.
II. GENERAL PROBLEM FORMULATION
In its most general form, a sequential function transforms
input sequences into output sequences. Regular sequential functions are functions such that at any stage the output symbol depends only on the sequence of input symbols that have been
already received. Any regular sequential function operating on
finite input/output sets can be specified by means of an FSM.
An FSM is a discrete dynamical system translating sequences
of input vectors into sequences of output vectors, and it is generally represented by state transition graphs (STG’s) and state transition tables (STT’s). An STG is a graph whose nodes represent
the states of the FSM and whose edges determine the input/output
conditions for a state-to-state transition. By convention, an edge
is labeled by the input/output pair causing the transition.
In real-world sequential designs, although not explicitly specified using STG’s and STT’s, FSM’s appear in different forms.
For example, case statements in VHDL and Verilog HDL are
represented as FSM’s using an STG or STT by HDL compilers.
FSM’s also appear in embedded software, especially to define
the device drivers and interface protocols. In large sequential
designs, usually several such small FSM’s exist that can be
used to watermark the entire design. By watermarking all or
a selected subset of these FSM’s, tampering resilience can be
reached while ensuring the method's feasibility.
The essence of the proposed technique is to find an unused
input/output symbol sequence and use it as the watermark. This
task can be performed by using the STG representation of the
regular sequential function. By visiting every state and finding
the unused input/output symbol pairs, one can determine the
candidate subset of such symbol pairs at each state in the FSM.
After calculating the required input/output symbol sequence
length that satisfies given uniqueness constraints, i.e., constraints on , one can generate a sequence by selecting enough
input/output symbol pairs. If the found input/output symbol
pairs are not sufficient, then one can create extra ones by
augmenting the input and/or output alphabets. The estimation
and the derivation of the length of the input/output
of
symbol sequence will be explained in full detail in Section III.
Last, by connecting the states, one can generate a trace in the
FSM. Some selections of input/output symbol sequences and the
states may generate large FSM’s. In Section III techniques are
436
Fig. 1. An example of two possible ways of watermarking an FSM: (a) original
FSM, (b) adding transitions, and (c) augmenting input and adding transitions.
proposed to prevent this occurrence by minimizing the FSM's
overhead.
To capture the essence of the proposed techniques, consider
the example of Fig. 1. The original FSM is depicted in Fig. 1(a)
in terms of its STG. The FSM has two input bits and one output
bit. Assume one has decided that a watermark of length 2 is
satisfactory, and suppose the proposed watermark is represented
by input/output sequence ((00,1)(11,0)). Fig. 1(b) illustrates the
new FSM obtained after augmentation and state selection.
Assume that the input/output pairs available are not satisfactory. Then, in this case, the number of inputs is first incremented
by one (for illustrative purposes). Two extra transition relations
can hence be added. The resulting FSM is depicted in Fig. 1(c).
In the remainder of this paper, we will restrict ourselves to
deterministic FSM’s, using the same notation of [13] and [14].
,
Definition 1: Let an FSM be a tuple
where and are respectively the input and output alphabets,
is a finite set of states,
is the initial state,
is the transition relation, and
is the output relation.
and
refer to a state, an input, and an
output, respectively. denotes an unspecified next state, while
is an unspecified output. An FSM can be identified by the
mapping of all its input and output sequences, or IO mapping.
Definition 2: An IO mapping is defined to be the sequence
of input/output pairs
specifying the output sequence of the FSM for a
given input sequence.
and
as the sets of all strings in and
Let us define
in , respectively. Let
be an arbitrary
be an output
input sequence, and let
to be the output symbol of
sequence. Moreover, define
its state when has been applied in state
the FSM and
. String is said to be contained in
iff a state reached by
.
applying to state is still in , i.e., iff
Completely specified FSM’s (CSFSM’s) contain every ele, i.e., every input sequence in
results in a
ment of set
IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 35, NO. 3, FEBRUARY 2000
unique output sequence in
. An incompletely specified FSM
(ISFSM) is one in which there exist some transition relations
with unspecified destination and/or output, i.e., there exist a
set of input sequences for which no output is specified. Call
such a set. Conversely, there exist a set of output
sequences that can be produced only by unspecified input sesuch a set. The problem of minimizing
quences. Call
the number of states in CSFSM’s can be solved in polynomial
time [15]. For ISFSM’s, the problem is known to be NP-complete [16]. Algorithms for reducing such machines are proposed
in [13]–[15].
be an ISFSM and
be
Let
the set of all possible completely specified implementations of
. Thus, for each
, every element of
and
is eventually associated to an element of
and
, respectively. Let us select an arbitrary sequence
and the cor. Let tuple
,
responding output sequence
call it IO signature.
Consider first an active watermarking regime. The problem
is equivalent to
of synthesizing a watermark for an ISFSM
, whose specified
that of finding a minimum sized machine
IO mapping has been augmented by an IO signature on spec. It is also required that a robustness constraint
ification of
specified as
and
be satisfied. The problem is formulated
as follows.
, such that
Problem 1: Minimize size of
(1)
and
are constraints on the watermark robustness.
where
Note that the size is measured in terms of added states and logic.
Problem 1 can be partitioned into two tasks. The first task
consists of computing the size of IO signature so as to satisfy
the constraints on the confidence. The second task is that of
finding the actual IO signature so as to minimize the overhead
. The IO signature must be generated with some degree
of
of randomness to ensure that, using the same algorithm, one
cannot generate an identical code. The randomized algorithm
is controlled by key , which is provided by the user to control
the generation of the IO signature and of the sequence of states
activated by it. is used to select from best state sequences
and IO signatures. In this case, the minimality of the overhead
might not be guaranteed.
In case keeping the IO signature secret were not possible, then
one of the following approaches could be used. The authentication of the generated IO signature can be achieved by registering
the key of a specific design in a third-party data base, similarly
as in copyright and trademark registration.
An alternative solution is that of explicitly creating an IO signature based on the method proposed in [11]. The user specifies
a string that is converted into a number by standard one-way
hash function like MD5. In this manner, one can guarantee that
there will be no two identical IO signatures generated by two
different strings, and it is computationally intractable to obtain
the string from the IO signature. Using this signature, one can
find a state sequence that minimizes the overhead, even though
an absolute minimum cannot be guaranteed.
TORUNGLU AND CHARBON: WATERMARKING-BASED COPYRIGHT PROTECTION OF SEQUENTIAL FUNCTION
Synthesizing watermarks in CSFSM’s requires first that the
machine be translated onto a ISFSM. This can be accomplished
by extending the input and/or output alphabets and . The
resulting machine is then handled by solving Problem 1. Hence,
the procedure can be seen as a preprocessing step to a general
watermark synthesis step.
A passive watermarking scheme consists of generating signature from a given ISFSM without modifying the machine
itself. The process consists of first minimizing the FSM using,
for example, the techniques proposed in [13], thus synthesizing
a CSFSM. Then, a subset of all the sections of the nonspecified IO mapping is designated as a IO signature. Randomization of the signature, controlled by key , is used to select unspecified IO sequences. Hence, the probability of accidentally
synthesizing the same watermark is bounded by the degrees of
freedom of the algorithm and/or by its level of randomization.
(a)
437
(b)
Fig. 2. Two possible paths p for a given U : (a) path based on minimum
visited states criterion and (b) path based on maximum remaining free
configurations.
III. IO SIGNATURE GENERATION
In this section, a solution to Problem 1 is proposed. At least
two approaches exist to the generation of an IO signature . The
first involves the generation of new transition relations in the
FSM's STG or STT, while the second calls for the augmentation
or . All these modifications are likely to but do not
of
necessarily increase the size of the machine.
denote a state in an ISFSM
, and let be its
Let
reset state. Let
be the set of all the input configurations in
for which no next state is specified, and call such configurations
free. Define
to be the set of all the states with incompletely
.
specified transition relations, i.e.,
The total number of free input configurations is bounded as
follows:
(2)
must necessarily be reachable
times,
Every state
using each time one of the remaining free input configurations
. Suppose that a sequence exists of all the visited states,
in
and call the input sequence that forces . The resulting output
possible implesequence of length will be one of
mentations. Hence, the odds that an identical sequence will be
is
produced by
(3)
The second term of the denominator is given by the fact that
one such sequence will result from the given input sequence in
. By setting
and solving (3) with
the CSFSM in
respect to , one obtains
(4)
In some cases, it is not possible to satisfy both (2) and (4) to
. Hence, (1) must be
meet specification (1), i.e.,
relaxed and/or
must be increased.
Suppose constraints (2) and (4) were satisfied; then an output
and the states that can produce it must
sequence
be selected. The required output is generated by an -long sequence of states in . The sequence can be seen as a path
Fig. 3. Decision tree to compute s .
covering a subset of the states in ,
with or without repetition. It is assumed, but not necessary, that
. If this were not the case, a different first state, say,
, could be selected for , and input sequence
would need to be augmented by an input sequence such that
. The generation of
does not contribute to
the probability of coincidence , but it does determine the impact that state minimization will have on the final machine. The
second factor affecting the effectiveness of the optimization is
the selection of input sequence .
For a given output sequence , an input sequence is genand derivation of . Seerated in two steps: selection of
quence
represents a path through of the states in
from
the original STG. Every time a state is touched by the path, it
loses one of its
free input configurations. We propose to
use an algorithm based on the Euler path search, which can be
targeted to minimize the number of visited states and/or to maximize the number of remaining free configurations per state.
As an illustration, consider the ISFSM example given in
Section II. For each state, assume there exist three out of
; then
four free input configurations. Assume that
two possible paths
are shown in Fig. 2(a) and (b). In the
example of Fig. 2(a), the number of inputs was unchanged,
while in Fig. 2(b) it was incremented by one. Consider the
example of Fig. 2(a). Path , represented in bold, is selected
by maximizing the number of remaining free configurations
per state. Note that the path may begin in a state other than the
reset state . In this case, one must additionally find the input
sequence leading to 's initial state.
for Fig. 2(a) has been selected, input sequence is
Once
and whose
derived from a path on a decision tree rooted in
. The solid bold line in Fig. 3 repleaves correspond to state
resents , while the dotted line shows the path needed to reach
's initial state. At each level , exactly
branches
438
IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 35, NO. 3, FEBRUARY 2000
Fig. 5. Detection of signature under some tampering.
Fig. 4.
Active FSM watermarking.
Fig. 6.
exist. Each branch represents the decision of using a certain free
input configuration at a given state. There exists
possible paths connecting the root state
to
. One or
more of these paths is associated with the smallest CSFSM
. The problem of finding such a path is NP-complete since in the best case the machine associated with one path
must be synthesized, which in itself is an NP-complete problem.
As an illustration, if the path represented in bold in Fig. 3 is
, the resulting IO signature is
used for ISFSM
.
Several alternatives are proposed for the generation of the
input sequence to minimize overhead. The first method consists of performing an exhaustive search of the decision tree.
For each path a CSFSM is synthesized and the smallest machine is selected. The second method is a Monte Carlo approach,
in which a set of input sequences are selected at random from
all the feasible ones. The CSFSM’s corresponding to such sequences are generated and the smallest one is selected. The third
method is based on a branch-and-bound search. At each level
of the tree an estimate is computed for the machine associated
with each subtree underlying any decision. Such an estimate is
computed using a Monte Carlo approach. All the subtrees with
higher estimates are pruned, while the surviving trees are explored into the next level, i.e., the next state of . The search
stops at the leaves. The complete algorithm for active watermarking in FSM’s, shown in Fig. 4, is described as follows.
1) If the FSM is CSFSM, then augment .
2) Compute the minimum size of
, from .
, then augment or .
3) If
4) Using , randomly generate new output sequence
.
5) Compute path .
6) Compute input sequence .
As a by-product of Step 6), the FSM is synthesized. A passive
watermarking scheme is applied to ISFSM’s only. The method
assumes that randomization can be introduced by the FSM
synthesis. It consists of converting the original ISFSM onto
a CSFSM using a given optimization criterion. Then, an IO
signature is selected at random from all the possible ones available. The only way to synthesize a CSFSM from the original
ISFSM, which contains an identical IO signature, is to use the
same synthesis engine with an identical set of parameters and
can be derived in this case as
optimization criteria. Hence,
Tampering based on shuffling and augmentation of I/O bits.
the inverse of all possible machines that can be generated from
an ISFSM of a certain size and structure with the given engine.
IV. WATERMARK DETECTION
In the previous sections, we have proposed techniques to genand to embed it in the maerate an IO signature
chine. Detecting entails applying input sequence to the machine and observing the output sequence ; see Fig. 5. If no tamand
, i.e.,
pering has occurred, then necessarily
no misses are possible. To properly analyze the effects of tampering, let us consider the following scenarios.
1) Specifications on the IO mapping of the original machine
are known.
2) IO mapping of the original machine is not known but the
STG of the modified machine is known.
3) No STG is known.
In case 1), infringement cannot be prevented, since the aggressor
can resynthesize the FSM from specifications using techniques
proposed, e.g., in [14].
In case 2), the aggressor may either a) modify state transition relations, i.e., changing the output or next state associated
with a transition relation, or b) apply the techniques proposed
in this paper to watermark CSFSM’s. In both cases, part or the
totality of the watermark will be unchanged, but it may be corrupted locally. Tampering a) may in fact result in a change in the
functionality of the machine, and it is therefore counterproductive. Tampering b) will only result in literal swaps and deletions
within pairs of reset states, similar to gene deletion within DNA
sequences.
To combat tampering b), we propose an approach based on
the concept of genome search. Such an approach was successfully used in topological and netlist watermarking [6], [7]. The
method is essentially a selective pattern matching. It is assumed
is a chain of sequences all
for simplicity that the output
rooted in a single reset state . This restriction is, however, not
necessary as multiple reset states can be used. Suppose the IO
signature is
TORUNGLU AND CHARBON: WATERMARKING-BASED COPYRIGHT PROTECTION OF SEQUENTIAL FUNCTION
439
TABLE I
IWLS 93 FSM BENCHMARKS. THE NUMBER OF STATES AND THE NUMBER OF I/O PINS REFER TO THE ORIGINAL FSM, WHILE I/O CHG REFERS TO THE
MODIFIED FSM. OVERHEAD IS THE EXTRA AREA OF THE MODIFIED FSM.
Suppose that tampering has removed or corrupted the me; then the sections of the IO
dian section of , i.e.,
signature that are still intact can be matched to using the
algorithm described in detail in [6]. The
algorithm returns an estimate of the probability that the design
contains in fact watermark . Note that by construction, it is
known when the reset state is reached. Hence, the boundary
symbols or operons of each “gene” are known. Also note that
if this or any other error-correction algorithm is used, then
is an upper bound on the true value, i.e.,
our estimation of
it is an optimistic estimate. In this case, changes to the way
is estimated should be applied based on the details of the
algorithm. An alternative method is that of using correction
schemes such as cyclic redundancy check to detect and correct
corrupted subsequences.
Last, consider case 3). Let us analyze the possible attempts to
remove the watermark using netlist manipulations. Obviously,
it is not possible to foresee all possible tampering techniques.
Instead, we will analyze those that are more likely to be performed under following assumptions.
Assumption 1: A netlist or a structural HDL description is
available for tampering.
Assumption 2: All input and output pins are well documented, and extra I/O pins (if any) used for watermarking are
introduced as extra test pins and/or signal pins.
In [11], it has been proven that generating an STG from a
given netlist is an NP-complete problem. For medium- and
large-scale FSM’s, it is unlikely that the STG can be obtained
from its netlist. Therefore, if the netlist is obtained by reverse
engineering, the aggressor has no other options but to perform
one of the following modifications to remove or hide the watermark: a) embed the FSM into a bigger one, b) delete some of
the circuitry related to the test inputs, or c) add dummy I/O bits
and/or shuffle the bit order using unknown mapping functions.
In scenario a), the aggressor tries to hide the watermark under
a wrap to mask the original IP from input/output probing. The
watermark is still intact but it may not be easily observable, if at
all possible. In this case, the detection technique proposed earlier cannot be exploited. However, simulation or on-chip measurements can be used to logically insulate the original IP from
the wrap.
In scenario b), by knowing that the watermark should be related to the extra test pins, the aggressor might try to remove
the registers and circuitry related to those inputs. In this case,
the attempt would damage the original behavior because the IO
signature is an integral part of the FSM. Therefore, this attempt
shall not be successful.
In scenario c), the aggressor adds new dummy input and/or
output bits and dummy circuitry to the FSM as depicted in
Fig. 6. In this case, IP forensic can use the following exhaustive
method. Let us assume that there were input bits and output
bits in the original watermarked FSM. Moreover, assume that
and
extra bits have been added. Then, one needs to
apply the input sequence to each possible subset of bits of the
inputs. The output is observed to reconstruct the correct
sequence. Although it is time consuming, it is guaranteed that
the IO mapping can be found exactly, since the watermark is
intact.
V. RESULTS
In our experiments, we have used FSM’s from the IWLS93
benchmark set. The tools were implemented in C/C++ and run
under UNIX and Linux operating systems. Watermarking was
was
performed on ISFSM’s as well as CSFSM’s. Constraint
selected so as to require, in some cases, expansion of and/or
. The increase in the number of states
and input/output bits
is expressed by the area estimates. The estimates are based
on technology mapping obtained with SIS[17] using the MSU
script. Table I lists all relevant experimental data and specifications on the robustness of the watermark. For the FSM minimization stage in the algorithm of Fig. 4, the tools STAMINA and
NOVA [13] were used. The area results are based on the actual
circuit implementation after technology mapping obtained via
SIS and related to the number of gates.
As expected, larger FSM’s require less overhead for compa, that overrable robustness. Note, as shown in benchmark
. These overhead
head can be traded for smaller values of
results are comparable to those obtained in [11]. The overhead
was extremely high due to the increase of
of benchmark
the output alphabet. Such expansion was, however, necessary to
boost the watermark's confidence.
440
IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 35, NO. 3, FEBRUARY 2000
Exhaustive search could be performed only in
due to
the extreme computational complexity of the method. The CPU
time in this case was 1.0 s for an area of 2.33-k gates. For the
other circuits, an estimate of a lower bound of the time required
by the search can be computed. Such time estimates are derived
multiplying the time required by one minimization with the min, where
imum number of free configurations, i.e.,
.
In the Monte Carlo approach, a maximum of ten input sewas explored. Alternatively, one could select such
quences
an upper bound based on some estimate or measurement of the
standard deviation of the minimized machine's size. Currently,
the authors are working on an efficient implementation of the
branch and bound approach.
[12] E. Charbon and I. Torunoglu, “Copyright Protection of Designs Based
on Multi Source IPs,” in Proc. IEEE Int. Conf. Computer Aided Design,
Nov. 1999, pp. 591–595.
[13] T. Villa, T. Kam, R. Brayton, and A. Sangiovanni-Vincentelli, Synthesis
of Finite State Machines: Logic Optimization. Boston, MA: Kluwer
Academic, 1997.
[14] J. M. Pena and A. L. Oliveira, “A New Algorithm for the Reduction of
Incompletely Specified Finite State Machines,” in Proc. IEEE Int. Conf.
Computer Aided Design, Nov. 1998, pp. 482–489.
[15] G. De Micheli, Synthesis and Optimization of Digital Circuits. New
York: McGraw-Hill, 1994.
[16] C. F. Pfleeger, “State Reduction in Completely Specified Finite State
Machines,” IEEE Trans. Comput., vol. C-22, pp. 1099–1102, 1973.
[17] E. M. Sentovich, K. J. Singh, C. Moon, H. Savoj, R. K. Brayton, and
A. L. Sangiovanni-Vincentelli, “Sequential Circuit Design Using Synthesis and Optimization,” in Proc. IEEE Int. Conf. Computer Design,
Oct. 1992, pp. 328–333.
VI. CONCLUSION
A watermark-based scheme has been proposed to protect the
intellectual property content of regular sequential functions operating on finite input/output sets. By modeling such functions
as finite state machines and exploiting some unutilized input
vectors, modifications were introduced so as to trigger a specific
response with known input excitations. It was shown how the
odds of reproducing identical behavior can be made arbitrarily
small. It was also demonstrated how machines, which have been
infringed upon, are effectively detected. Industrial examples illustrate the effectiveness of the approach.
REFERENCES
[1] Virtual Socket Interface Alliance. [Online]. Available: http://www.vsi.
org
[2] M. D. Swanson, B. Zhu, and A. H. Tewfik, “Transparent Robust Image
Watermarking,” in Proc. IEEE Int. Conf. Image Processing, vol. 3, Sept.
1996, pp. 211–214.
[3] L. Boney, A. H. Tewfik, and K. N. Hamdy, “Digital Watermarks for
Audio Signals,” in Proc. IEEE Int. Conf. Multimedia Computing and
Systems, June 1996, pp. 473–480.
[4] J. Lach, W. H. Mangione-Smith, and M. Potkonjak, “FPGA Fingerprinting Techniques for Protecting Intellectual Property,” in Proc. IEEE
Custom Integrated Circuit Conf., May 1998, pp. 299–302.
[5] J. Lach, W. H. Mangione-Smith, and M. Potkonjak, “Robust FPGA Intellectual Property Protection through Multiple Small Watermarks,” in
Proc. IEEE/ACM Design Automation Conf., June 1999, pp. 831–836.
[6] E. Charbon, “Hierarchical Watermarking in IC Design,” in Proc. IEEE
Custom Integrated Circuit Conf., May 1998, pp. 295–298.
[7] E. Charbon and I. Torunoglu, “Watermarking Layout Topologies,” in
Proc. IEEE Asia South-Pacific Design Automation Conf., Jan. 1999, pp.
213–216.
[8] A. Kahng, J. Lach, W. H. Mangione-Smith, S. Mantik, I. L. Markov,
M. Potkonjak, P. Tucker, H. Wang, and G. Wolfe, “Watermarking Techniques for Intellectual Property Protection,” in Proc. IEEE/ACM Design
Automation Conf., June 1998, pp. 776–781.
[9] D. Kirovski, Y. Y. Hwang, M. Potkonjak, and J. Cong, “Intellectual Property Protection by Watermarking Combinational Logic Synthesis Solutions,” in Proc. IEEE Int. Conf. Computer Aided Design, Nov. 1998, pp.
194–198.
[10] I. Torunoglu and E. Charbon, “Watermarking-Based Copyright Protection of Sequential Functions,” in Proc. IEEE Custom Integrated Circuit
Conf., May 1999, pp. 35–38.
[11] A. L. Oliveira, “Robust Techniques for Watermarking Sequential Circuit
Designs,” in Proc. IEEE/ACM Design Automation Conf., June 1999, pp.
837–842.
Ilhami Torunoglu received the M.S. degree in
electrical and electronic engineering from the
Middle East Technical University, Ankara, Turkey.
In his graduate studies, he has specialized in
physical design automation tools such as editors,
compactors, and placers. He has more than six years
of hands-on experience in developing tools and
algorithms for computer-aided design. In addition,
he has more than five years of experience in VLSI
chip design. He has worked for Cadence Design
Systems, TUBITAK TAEGE (National Electronic
Research Center), and was instrumental in the establishment of the first fabless
design center in Turkey. In recent years, he has been a Member of Consulting
Staff at Cadence. In this capacity, he was responsible for leading a development
team of engineers. He was responsible for technology and product development
of the Virtuoso compactor and layout synthesis products. He is the author of
ten publications. His current interest areas are full-custom layout automation,
IP protection, and embedded systems.
Edoardo Charbon (S’90–M’92) received the
diploma in electrical engineering from the Swiss
Federal Institute of Technology (ETH), Zurich, in
1988, the M.S. degree in electrical and computer
engineering from the University of California at
San Diego in 1991, and the Ph.D. degree from the
Department of Electrical Engineering and Computer
Sciences, University of California at Berkeley, in
1995.
Between 1988 and 1989, he worked at the Department of Electrical Engineering, ETH, where he designed CMOS A/D converters for integrated sensor applications. In 1989, he
visited the Department of Electrical Engineering of the University of Waterloo,
Canada, where he was involved in the design and fabrication of ultra-low-noise,
nanotesla magnetic sensors. At Berkeley, he worked on performance-directed,
constraint-based analog and mixed-signal physical design automation and accelerated substrate extraction techniques. Since 1995, he has been with Cadence
Design Systems, where he is leading the development effort on constraint management in the physical design group. He is also the Project Leader of Cadence's
first methodology for intellectual property protection. He has published more
than 40 articles in technical journals and conference proceedings and a book, and
has been consulting with Texas Instruments and Hewlett-Packard. His research
interests include CAD for radio-frequency IC’s, methodologies for intellectual
property protection, substrate modeling and characterization, superconducting
parasitic analysis, and micromachined sensor design.
Dr. Charbon has been a Guest Editor of the IEEE TRANSACTIONS ON
COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS.