24.11.2014 Views

Elektronika 2009-11.pdf - Instytut Systemów Elektronicznych

Elektronika 2009-11.pdf - Instytut Systemów Elektronicznych

Elektronika 2009-11.pdf - Instytut Systemów Elektronicznych

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The client may be interested on authenticity verification of<br />

received geodata. Server communicates simultaneously with<br />

many clients, and each client generates many requests during<br />

his session. In such situation standard methods of securing<br />

data authenticity are not suitable, digital signing of each<br />

response wouldnt be effective. The proposal of efficient data<br />

authentication method relevant to the described Web GIS architecture<br />

is presented in the next section.<br />

Data authentication schema<br />

The most of communication in described model is confined to<br />

receiving by client geodata or ready map fragments from<br />

server (e.g. by WMS GetMap call), how it was mentioned<br />

above. Presented scheme should enable authenticity verification<br />

of geodata received from server. Whole communication<br />

process between client and server, which is referred to as<br />

a session, consists of geodeta transmission stage, authenticity<br />

proofs publication stage and received geodata authenticity.<br />

We assume that during one session client may ask for and<br />

receive geodata many times, but authenticity verification is<br />

done once at the end of the session. Process of proofs publication<br />

is done in fixe time intervals, independently of running<br />

sessions. Server serves simultaneously many session, potentially<br />

with different clients.<br />

Downloading geodata from server<br />

Course of i-th session between client C and server M is presented<br />

in Fig. 2. For our schema we introduces following symbols:<br />

C - client, M - map server, sid i - identifier of i-th session,<br />

q i,j - j-th question during i-th session, α i,j - j-th geodata answer<br />

during i-th session, st i - time of i-th session begining, et i - time<br />

of i-th session ending, ct i - time of i-th session authenticity<br />

proof publication, p i - authenticity proof.<br />

The session is started by a client, which sends to server<br />

StartSession call. As an answer server sends back StartSessionAcknowledgment<br />

with new session identifier sid i and time<br />

of session beginning st i .<br />

Then client begins sending Request calls to the server<br />

(appropriate for particular server type geodata request e.g.<br />

WMS GetMap). Single Request contains of right question q i,j<br />

and current session indetifier sid i . Server sends back<br />

Response for each Request. Single Response contains demanded<br />

geodata α i,j .<br />

The session is ended by a client. It sends to server End-<br />

Session with session identifier sid i . In answer server sends<br />

back EndSessionAcknowledgment, which contain among others<br />

session end time et i and time ct i of next authenticity proofs<br />

publication. In this publication will be present authenticity information<br />

for the session.<br />

Client sends GetSessionProof just after ct i moment of time<br />

(which was pointed by server in EndSessionAcknowledgment)<br />

and in response it receives SessionProof containing p i data<br />

necessary to verification of geodata transmitted in this session.<br />

Server proof publication<br />

The server serves simultaneously many session and many<br />

different clients. It publishes authenticity proofs in fixed time intervals.<br />

The time period between two following publishing<br />

points will be called a round.<br />

We introduce additional symbols: h - cryptographic hash<br />

function, h 2 - two-argument cryptographic hash function, h 3 -<br />

three argument cryptographic hash function, d i,j - in-round<br />

message digest for pair (q i,j , α i,j ), f i,k - k-th round-ending message<br />

digest for i-th session, f i,k - k-th round-ending message<br />

digest for i-th session, s k - round-ending signature, T k - Merkle<br />

hash tree for k-th round, P i,k - path from leaf to root of T k tree<br />

for i-th session.<br />

At the beginning of each session client and server initialize<br />

theirs local copies of first in-round message digest using session<br />

identifier:<br />

During the session for each (q i,j , α i,j ) request/response pair<br />

client and servers creates their local copies of digests:<br />

Optionally client may store in its local archives all pairs<br />

(q i,j , α i,j ) generated during the session and compute right digest<br />

in a moment of geodata authenticity verification.<br />

At the end of the round server checks which sessions were<br />

active during this time period. Then server creates Merkle<br />

hash tree [7], using as leafs last digest of each active in-round<br />

session. Cryptographic functions h and h 2 are used for tree<br />

creation.<br />

Creation of T k tree for k-th round runs as follows. At the<br />

beginning are created digest for first level nodes (leafs):<br />

(1)<br />

(2)<br />

Digest for second level nodes are computed on the bases of<br />

first level nodes values:<br />

This procedure is repeated for each next level (number of levels<br />

depends on number of first level nodes which equel sessions<br />

number). Proccess ends on the last level, which<br />

contains one and only node, accumulating all previous digest<br />

(tree root):<br />

(3)<br />

(4)<br />

Fig. 2. i-th session between client C and server M<br />

Rys. 2 . i-ta sesja pomiędzy klientem C a serwerem M<br />

(5)<br />

46 ELEKTRONIKA 11/<strong>2009</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!