Browse Source

finised proposal

master
Michael Preisach 7 years ago
parent
commit
97aec41ff2
  1. BIN
      proposal/Ausarbeitung.pdf
  2. 50
      proposal/Ausarbeitung.tex
  3. BIN
      proposal/proposal2.pdf
  4. 185
      resources/networkview.fig
  5. BIN
      resources/networkview.pdf

BIN
proposal/Ausarbeitung.pdf

Binary file not shown.

50
proposal/Ausarbeitung.tex

@ -59,44 +59,53 @@ Figure \ref{fig:digidow} shows a graphical overview of the proposed identificati
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{../resources/globalview}
\includegraphics[width=0.9\textwidth]{../resources/globalview}
\caption{Overview of the Digidow Project}
\label{fig:digidow}
\end{figure}
The illustrated distributed system works as follows:
In the first step, the service discovery (1), each devices need to find each other over a distributed network.
When a person requires to be verified by that system, he or she initially should provide a globally unique ID (2).
When a person requires to be verified by that system, he or she initially should provide a globally \emph{Unique Identifier} (UID) (2).
This could be Name, date and location of birth, address and so on.
Given this information, the \emph{Verifier} asks the \emph{Biometric Sensor} (BS) to gain biometric data of this person (3).
In fact, one can gain any form of data which uniquely identifies a single person.
Once, this data is retrieved, the BS has to find the user's \emph{Personal Agent} (PA), by using the provided unique ID.
Only the PA is able to identify the user, because it is the only instance holding personal and biometric data to identify the corresponding person.
Only the PA is able to identify the user, because it is the only instance holding personal and biometric data of the corresponding person.
The steps (4) and (6) are required to create trust between the PA and the BS.
Only in a trusted environment, the biometric data payload is submitted.
Since the PA holds all required data to identify its corresponding user, it is able to decide whether the claim is correct or not.
With this data the PA is able to decide whether the claim is correct or not.
This result has to be signed by the PA and sent to the Verifier which itself proves whether this authentication message is valid (7).
Based on that decision and the content of the message, the Verifier can then trigger an adequate reaction(8).
Based on that decision and the content of the message, the Verifier can then trigger an adequate reaction (8).
This system is designed to implement the \emph{Need-To-Know} principle and thus privacy for the user.
\section{Scope of the Thesis}
\begin{figure}[h]
\centering
\includegraphics[width=0.9\textwidth]{../resources/networkview}
\caption{Physical view of the three instances}
\label{fig:physview}
\end{figure}
This master thesis will cover a major part of Digidow's BS.
When a request of the \emph{Verifier} appears, the system captures data from the biometric interface, wraps and submits it to the \emph{personal agent}, where further processing is done.
Two essential questions arise while doing so.
First, the system has to identify the corresponding personal agent.
This thesis will assume, that a personal agent is available for the corresponding user.
Second and more important for this thesis is the question, how the BS and the PA trusts each other.
A \emph{Trusted Platform Module} (TPM) is able to address this problem by generating trust by cryptography.
Another question is how the system interacts with attached sensors that get the sensible data.
Figure \ref{fig:physview} shows an example scenario where three physical devices are involved to explain the tasks of the BS.
The Verifier sends a request to the BS containing an UID of the user to be verified, signed with the organization's private key.
The BS then gains the needed biometric data and finds the corresponding PA with the provided UID.
Although Verifier and BS are usually reachable within the local network, the PA is available only via a worldwide network which implements privacy-features.
After establishing a connection, both BS and PA require a \emph{Trusted Platform Module} (TPM) to create a trusted environment on the own system.
The TPM ensures that the system is in a provable, well defined state that can be shown to external readers.
\emph{Direct Anonymous Attestation} (DAA) allows then to proof the validity of another device anonymously.
Thus, BS and PA use DAA to verify the other instance and to generate trust between both devices.
When having a trusted environment over the network, the gained biometric data as well as the public key information of the Verifier can be submitted to the PA.
\subsection{Practical Part}
One goal of this thesis is to set up a system which is \emph{trustworthy}.
This means that the system's TPM can verify the whole software stack (firmware, boot loader, kernel, driver, executed software, firmware of attached devices, \ldots).
This thesis aims to implement the features defined in the previous subsection.
Therefore it is assumed that the network discovery delivers a function where the BS gets the corresponding PA using the provided UID.
The next step is to find a way to trust the yet unknown PA instance.
Again the system's TPM may help with a function called \emph{Direct Anonymous Attestation} (DAA).
Both, BS and PA have to trust each other to submit the biometric data payload to the PA for further processing.
During this phase, privacy features should be implemented to prevent misuse with sensitive data from the user.
The \emph{Trusted Environment} for the BS as shown in Figure \ref{fig:physview} describes the process that verifies the whole software stack (firmware, boot loader, kernel, driver, executed software, firmware of attached devices, \ldots) by the TPM.
Furthermore it should be possible to verify the attached biometric sensors.
This depends however on whether the firmware and driver software could be extracted verified and installed on the device.
After having this system implemented, a demonstration platform should illustrate how this system works.
The not yet provided, but required interfaces will be simulated in a way that allow to demonstrate the function of the implemented part of this thesis.
@ -105,12 +114,13 @@ The not yet provided, but required interfaces will be simulated in a way that al
The implementation and demonstration allows a discussion about benefits and drawbacks of the implementation and a comparison to other possible implementations.
This thesis should cover and discuss the following questions:
\begin{itemize}
\item How can a BS find the corresponding PA?
% \item How can a BS find the corresponding PA?
\item How is trust implemented in the BS?
\item How is trust generated between PA and BS in both directions?
\item What can be done to protect the sensible/biometric data within the system? Which risks are relevant for protection?
\item What is necessary to protect sensible data for submission over the network.
\item What are the limitations by using a TPM?
\item Which systems need a TPM?
\item Which systems need a TPM and why?
\end{itemize}
\end{document}

BIN
proposal/proposal2.pdf

Binary file not shown.

185
resources/networkview.fig

@ -148,7 +148,6 @@ Single
0 170 #f8f8f8
0 171 #e6e6e6
0 172 #21845a
6 180 180 15210 9225
6 8550 5130 9450 6885
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 9000 6705 101 101 9000 6705 9045 6795
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
@ -232,94 +231,6 @@ Single
-6
4 1 0 50 -1 2 12 0.0000 0 135 360 9675 9225 User\001
-6
6 180 1665 4860 4635
6 3195 2655 4725 3285
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3195 2655 4725 2655 4725 3285 3195 3285 3195 2655
4 1 0 50 -1 4 12 0.0000 0 165 540 3960 3150 System\001
4 1 0 50 -1 4 12 0.0000 0 165 810 3960 2925 Operating\001
-6
6 3195 3510 4725 4140
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3195 3510 4725 3510 4725 4140 3195 4140 3195 3510
4 1 0 50 -1 4 12 0.0000 0 135 720 3960 3780 Firmware\001
4 1 0 50 -1 4 12 0.0000 0 135 720 3960 4005 Hardware\001
-6
6 1440 3960 2160 4590
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1440 3960 2160 3960 2160 4590 1440 4590 1440 3960
4 1 0 50 -1 2 14 0.0000 0 135 270 1800 4365 TPM\001
-6
6 3195 1800 4725 2430
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3195 1800 4725 1800 4725 2430 3195 2430 3195 1800
4 1 0 50 -1 4 12 0.0000 0 135 630 3960 2070 Network\001
4 1 0 50 -1 4 12 0.0000 0 135 810 3960 2295 Interface\001
-6
6 360 1845 1260 3555
6 360 2250 1260 3555
5 1 0 1 -1 -1 0 0 -1 0.000 0 1 0 0 815.850 2811.938 387 3383 815 3526 1244 3383
6 360 2250 1260 2610
1 2 0 1 -1 -1 0 0 -1 0.000 1 0.0000 816 2430 428 142 388 2287 1245 2573
-6
2 1 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 2
1244 2454 1244 3383
2 1 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 2
387 2454 387 3383
-6
4 1 0 50 -1 4 12 0.0000 0 135 720 810 2250 Database\001
4 1 0 50 -1 4 12 0.0000 0 135 810 810 2025 Biometric\001
-6
2 2 1 1 0 7 60 -1 -1 4.000 0 0 -1 0 0 5
1440 4590 4815 4590 4815 1710 1440 1710 1440 4590
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
180 1665 4860 1665 4860 4635 180 4635 180 1665
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1665 1800 3195 1800 3195 2430 1665 2430 1665 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
1665 2115 1260 2565
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
1710 3735
4 1 0 50 -1 4 12 0.0000 0 135 1710 3285 4500 Trusted Environment\001
4 1 0 50 -1 4 12 0.0000 0 165 540 2430 2070 Manage\001
4 1 0 50 -1 4 12 0.0000 0 135 720 2430 2295 Database\001
-6
6 11745 4590 15210 7560
6 13545 5580 15075 6210
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
13545 5580 15075 5580 15075 6210 13545 6210 13545 5580
4 1 0 50 -1 4 12 0.0000 0 165 540 14310 6075 System\001
4 1 0 50 -1 4 12 0.0000 0 165 810 14310 5850 Operating\001
-6
6 13545 6435 15075 7065
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
13545 6435 15075 6435 15075 7065 13545 7065 13545 6435
4 1 0 50 -1 4 12 0.0000 0 135 720 14310 6705 Firmware\001
4 1 0 50 -1 4 12 0.0000 0 135 720 14310 6930 Hardware\001
-6
6 11790 6885 12510 7515
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
11790 6885 12510 6885 12510 7515 11790 7515 11790 6885
4 1 0 50 -1 2 14 0.0000 0 135 270 12150 7290 TPM\001
-6
6 13545 4725 15075 5355
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
13545 4725 15075 4725 15075 5355 13545 5355 13545 4725
4 1 0 50 -1 4 12 0.0000 0 135 630 14310 4995 Network\001
4 1 0 50 -1 4 12 0.0000 0 135 810 14310 5220 Interface\001
-6
2 2 1 1 0 7 60 -1 -1 4.000 0 0 -1 0 0 5
11790 7515 15165 7515 15165 4635 11790 4635 11790 7515
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
12015 4725 13545 4725 13545 5355 12015 5355 12015 4725
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
12060 6660
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
11745 4590 15210 4590 15210 7560 11745 7560 11745 4590
4 1 0 50 -1 4 12 0.0000 0 135 1710 13635 7425 Trusted Environment\001
4 1 0 50 -1 4 12 0.0000 0 165 540 12780 4995 Manage\001
4 1 0 50 -1 4 12 0.0000 0 135 1170 12780 5220 Authorization\001
-6
6 12285 540 13185 2430
6 12285 540 13185 2025
1 4 0 1 0 7 100 0 -1 4.000 1 0.0000 12735 721 176 176 12600 609 12870 834
@ -386,13 +297,68 @@ Single
3285 8370 4005 8370 4005 9000 3285 9000 3285 8370
4 1 0 50 -1 2 14 0.0000 0 135 270 3645 8775 TPM\001
-6
6 11970 4815 15030 7155
6 13500 5670 15030 6300
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
13500 5670 15030 5670 15030 6300 13500 6300 13500 5670
4 1 0 50 -1 4 12 0.0000 0 165 540 14265 6165 System\001
4 1 0 50 -1 4 12 0.0000 0 165 810 14265 5940 Operating\001
-6
6 13500 6525 15030 7155
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
13500 6525 15030 6525 15030 7155 13500 7155 13500 6525
4 1 0 50 -1 4 12 0.0000 0 135 720 14265 6795 Firmware\001
4 1 0 50 -1 4 12 0.0000 0 135 720 14265 7020 Hardware\001
-6
6 13500 4815 15030 5445
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
13500 4815 15030 4815 15030 5445 13500 5445 13500 4815
4 1 0 50 -1 4 12 0.0000 0 135 630 14265 5085 Network\001
4 1 0 50 -1 4 12 0.0000 0 135 810 14265 5310 Interface\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
11970 4815 13500 4815 13500 5445 11970 5445 11970 4815
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
12015 6750
4 1 0 50 -1 4 12 0.0000 0 165 540 12735 5085 Manage\001
4 1 0 50 -1 4 12 0.0000 0 135 1170 12735 5310 Authorization\001
-6
6 3195 2655 4725 3285
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3195 2655 4725 2655 4725 3285 3195 3285 3195 2655
4 1 0 50 -1 4 12 0.0000 0 165 540 3960 3150 System\001
4 1 0 50 -1 4 12 0.0000 0 165 810 3960 2925 Operating\001
-6
6 3195 3510 4725 4140
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3195 3510 4725 3510 4725 4140 3195 4140 3195 3510
4 1 0 50 -1 4 12 0.0000 0 135 720 3960 3780 Firmware\001
4 1 0 50 -1 4 12 0.0000 0 135 720 3960 4005 Hardware\001
-6
6 1440 3960 2160 4590
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1440 3960 2160 3960 2160 4590 1440 4590 1440 3960
4 1 0 50 -1 2 14 0.0000 0 135 270 1800 4365 TPM\001
-6
6 3195 1800 4725 2430
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3195 1800 4725 1800 4725 2430 3195 2430 3195 1800
4 1 0 50 -1 4 12 0.0000 0 135 630 3960 2070 Network\001
4 1 0 50 -1 4 12 0.0000 0 135 810 3960 2295 Interface\001
-6
6 360 2385 1260 3690
5 1 0 1 -1 -1 0 0 -1 0.000 0 1 0 0 815.850 2946.938 387 3518 815 3661 1244 3518
6 360 2385 1260 2745
1 2 0 1 -1 -1 0 0 -1 0.000 1 0.0000 816 2565 428 142 388 2422 1245 2708
-6
2 1 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 2
1244 2589 1244 3518
2 1 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 2
387 2589 387 3518
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
2 1 2.00 90.00 150.00
10800 3915 9495 5220
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
2 1 2.00 90.00 150.00
2 1 2.00 90.00 150.00
7290 1620 10755 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
2 1 2.00 90.00 150.00
2 1 2.00 90.00 150.00
@ -413,16 +379,35 @@ Single
15210 4590 11670 2303
2 2 1 1 0 7 60 -1 -1 4.000 0 0 -1 0 0 5
3285 9000 7470 9000 7470 5895 3285 5895 3285 9000
4 1 0 50 -1 4 12 0.0000 0 135 720 11250 2115 Verifier\001
4 1 0 50 -1 4 12 0.0000 0 135 540 9000 4995 Sensor\001
4 1 0 50 -1 4 12 0.0000 0 135 810 9000 4770 Biometric\001
4 1 0 50 -1 4 12 0.0000 0 135 720 6705 315 Personal\001
4 1 0 50 -1 4 12 0.0000 0 165 450 6705 555 Agent\001
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
11745 4590 15210 4590 15210 7560 11745 7560 11745 4590
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
2 1 2.00 90.00 150.00
7290 1620 10755 2475
2 2 1 1 0 7 60 -1 -1 4.000 0 0 -1 0 0 5
1440 4590 4815 4590 4815 1710 1440 1710 1440 4590
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
180 1665 4860 1665 4860 4635 180 4635 180 1665
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1665 1800 3195 1800 3195 2430 1665 2430 1665 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
1665 2115 1260 2565
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
1710 3735
4 1 0 50 -1 3 12 0.0000 0 135 720 11250 2115 Verifier\001
4 1 0 50 -1 3 12 0.0000 0 135 540 9000 4995 Sensor\001
4 1 0 50 -1 3 12 0.0000 0 135 810 9000 4770 Biometric\001
4 1 0 50 -1 3 12 0.0000 0 135 720 6705 315 Personal\001
4 1 0 50 -1 3 12 0.0000 0 165 450 6705 555 Agent\001
4 0 0 50 -1 4 12 0.0000 0 135 1350 6210 4185 Data Submission\001
4 0 0 50 -1 4 12 0.0000 0 165 1170 6210 3645 Discover(UID)\001
4 0 0 50 -1 4 12 0.0000 0 165 1260 6210 3915 Trust(CA, DAA)\001
4 0 0 50 -1 4 12 0.0000 0 165 1350 8505 1800 Signed Response\001
4 0 0 50 -1 4 12 0.0000 0 165 1260 8505 1530 Trust(CA, DAA)\001
4 2 0 50 -1 4 12 0.0000 0 180 1080 10305 4320 Request(UID)\001
4 1 0 50 -1 4 12 0.0000 0 135 1710 5085 8910 Trusted Environment\001
-6
4 0 0 50 -1 4 12 0.0000 0 165 810 8505 1530 Trust(CA)\001
4 1 0 50 -1 4 12 0.0000 0 135 1710 3285 4500 Trusted Environment\001
4 1 0 50 -1 4 12 0.0000 0 165 540 2430 2070 Manage\001
4 1 0 50 -1 4 12 0.0000 0 135 720 2430 2295 Database\001
4 1 0 50 -1 4 12 0.0000 0 135 720 810 2250 Database\001
4 1 0 50 -1 4 12 0.0000 0 135 810 810 2025 Biometric\001

BIN
resources/networkview.pdf

Binary file not shown.
Loading…
Cancel
Save