Information Technology Reference
In-Depth Information
The scheme of Reference 20 uses sentinels , which are check blocks and
are randomly embedded in the file. The file is then encrypted, such that it
is impossible to detect the positions of the sentinels. The client sends a set
of sentinel positions and asks the CSP to return the value of the sentinels.
If the CSP has modified or deleted the data, then, with a high probability, it is
impossible to return the values of the sentinels. In this approach, encryption
renders the sentinels indistinguishable from other file blocks.
If the number of sentinels queried is small, it might not be possible to cor-
rectly detect the errors, but with the error-correcting codes, it is possible to
recover the file. If the number of sentinels queried is large, then the user
might not be able to retrieve the file correctly but will be able to detect that
tampering of the file has occurred.
The scheme has six basic functions [20]: The function “Respond” is the only
function executed by CSP P. All other functions are executed by the verifier
(client) V. The set of verifier-executed functions modifies some persistent
state α. π presents the complete collection of system parameters.
1. Keygen [ π ] → κ: The function Keygen generates a secret key κ.
( ) ( )
: The function Encode generates a file
handle η that is unique to a given verifier invocation. The function
also transforms file F into an (enlarged) file F η and provides the pair
F η η
2. Encode
F
,,
κα
F
,
η
η
( ) as an output.
3. Extract(η, κ, α)[ π ] → F : It determines a sequence of challenges that V
sends to P and processes the resulting responses. If successful, the
function recovers and outputs F η .
4. Challenge(η, κ, α)[π] → c : Challenge takes the secret key κ and a
handle η and accompanying state α as input, along with system
parameters. The function outputs a challenge value c for the file η.
5. Respond( c , η → r ): The function Respond is used by P to generate a
response to a challenge c . This challenge can originate with either
the Challenge or the Extract function.
6. Verify(( r ,η)κ,α b ∈(0,1): The function verify determines whether r
is a valid response to challenge c . The function outputs a “1” bit if
verification succeeds and “0” otherwise.
A basic unit of storage is an l l-bit block. The error-correcting code operates
over l l-bit symbols, a cipher operates on l l-bit blocks, and the sentinels have
l l bits. The file consists of b blocks ( b is a multiple of k ) and is F = ( f 1 , f 2 , … , f b ).
The function Encode consists of the following steps:
1. Error correction: To each k blocks an ( n , k , d )-error-correcting code is
applied, and the resulting file is
(
)
Ff
= …
,
f
,
,
f b
, with b ′ = bn / k .
12
2. Encryption: A symmetric cipher is used, and F ′ is converted to F ″.
The cipher is so chosen that each block can be separately decrypted.
Search WWH ::




Custom Search