Browse Source

Feedback Isabel

Carsten Porth 5 years ago
parent
commit
cfbb4ad925

+ 1 - 1
thesis/content/05-proof-of-concept/building-block-view.tex

@@ -36,7 +36,7 @@ Data access is performed using providers (known as services in Angular). For the
 		Auth                   & Manage and perform authentication against the Twitter \ac{API}. Responsible for login and logout. \\ \hline
 		Crypto                 & Provides methods for encryption, decryption, and key generation                                   \\ \hline
 		Feed                   & Aggregation of private (\ac{P2P}) and public (Twitter) tweets to compose a chronological timeline \\ \hline
-		\ac{P2P}-Database-Gun  & Interface for data exchange with Gun                                                              \\ \hline
+		\ac{P2P}-Database-Gun  & Interface for data exchange with GUN                                                              \\ \hline
 		\ac{P2P}-Storage-IPFS  & Interface for data exchange with \ac{IPFS} via Infura                                             \\ \hline
 		Twitter-API            & Interface to use the Twitter \ac{API} using the Twit package                                      \\ \hline
 	\end{tabularx}

+ 1 - 1
thesis/content/06-discussion/limitations.tex

@@ -1,6 +1,6 @@
 By using the Twitter \ac{API}, Hybrid \ac{OSN} is very strongly bound to Twitter. Restrictions to the \ac{API} would have a significant impact on the Hybrid \ac{OSN} client. In order to link content and actions to users and tweets, a referencing of the respective id is necessary. If these ids disappear from the system because tweets are deleted or users leave the platform, the private data can no longer be assigned and lose their significance.
 
-Private tweets are loaded into the user's timeline by active pulling. With the user ids of the friendly accounts, their private tweets are looked up. Since the data structure in GUN is optimized for searching by user ids, searching for a keyword or hashtag is not possible in an elegant way. To perform such a search, first, all hashes need to be extracted from GUN and downloaded form IPFS. Second, all this data needs to be decrypted and searched locally for the given keyword. For a small amount of data, this is maybe practical. However, it does not scale and is, therefore, no permanent option.
+Private tweets are loaded into the user's timeline by active pulling. With the user ids of the friends' accounts, their private tweets are looked up. Since the data structure in GUN is optimized for searching by user ids, searching for a keyword or hashtag is not possible in an elegant way. To perform such a search, first, all hashes need to be extracted from GUN and downloaded form IPFS. Second, all this data needs to be decrypted and searched locally for the given keyword. For a small amount of data, this is maybe practical. However, it does not scale and is, therefore, no permanent option.
 
 For the hybrid client to achieve the best possible result, a copy of all the functionalities of the original \ac{OSN} must be implemented decentrally. In particular, the problem of finding specific content has to be solved. GUN fulfills this requirement only partly since only user ids can be looked up. Besides, GUN needs a relay server to connect peers. This server represents an unwanted single point of failure.
 

+ 7 - 7
thesis/content/06-discussion/threat-model.tex

@@ -1,4 +1,4 @@
-In the threat model of Hybrid \ac{OSN} the potential threats for different sub-areas are shown, and the particular risk discussed. The worst would be if private data could be decrypted and assigned to a user or if identity abuse were possible. However, other dangers such as identification by the service provider or manipulation of data must be analyzed.
+In the threat model of Hybrid \ac{OSN} the potential threats for different sub-areas are shown, and the particular risk discussed. The worst would be if private data could be decrypted and assigned to a user or if identity abuse would be possible. However, other dangers such as identification by the service provider or manipulation of data must be analyzed.
 
 \subsection{Service Provider – Twitter}
 \label{sec:threat-model-service-provider}
@@ -10,29 +10,29 @@ So far not implemented, but theoretically possible is that each user creates an
 
 Active use requires a public tweet and a reference in the profile description for the distribution of the public key history. Although the contents are inconspicuous, they are still sufficient for the identification of a Hybrid \ac{OSN} user.
 
-\subsection{Gun}
+\subsection{GUN}
 \label{sec:threat-model-gun}
-In Hybrid \ac{OSN}, Gun takes the role of a database shared by the peers. The dashboard also establishes a direct connection. The data is publicly accessible and editable.
+In Hybrid \ac{OSN}, GUN takes the role of a database shared by the peers. The dashboard also establishes a direct connection. The data is publicly accessible and editable.
 
 The stored data is a combination of hashtag and timestamp, which serve as information for the trends in the Hybrid \ac{OSN} dashboard. For every private tweet of a user, there is an entry consisting of Twitter user id, \ac{IPFS} address hash, and timestamp. Also, there are the private likes, for which there is a counter to the tweet id.
 
 For preventing the hashtag and private tweet timestamps from connecting, the time of the hashtag timestamp is set to 00:01. The trends in the dashboard are aggregated by the day, so the exact time is not essential.
 
-The greatest threat is that an attacker may modify or delete data. By deleting entries, private tweets would no longer be found and thus no longer displayed. Changing the \ac{IPFS} hash would mean that the data could not be found and would also not be displayed. Manipulation of the timestamp would result in private tweets being loaded at the wrong time interval when the feed is loaded and thus positioned at the wrong place. Furthermore, the timestamp in Gun is used to use the appropriate public key from the public key history for decryption. Under certain circumstances, the wrong key would be selected and the private tweet could not be decrypted.
+The greatest threat is that an attacker may modify or delete data. By deleting entries, private tweets would no longer be found and thus no longer displayed. Changing the \ac{IPFS} hash would mean that the data could not be found and would also not be displayed. Manipulation of the timestamp would result in private tweets being loaded at the wrong time interval when the feed is loaded and thus positioned at the wrong place. Furthermore, the timestamp in GUN is used to use the appropriate public key from the public key history for decryption. Under certain circumstances, the wrong key would be selected and the private tweet could not be decrypted.
 
-Creating entries for private tweets does not have a significant effect because the associated content stored in IPFS must be encrypted with the private key, which is unknown to a third party. Adding wrong or modifying existing hashtag entries for trend detection is also possible and poses a significant risk as it allows manipulation of the trends. Ultimately, it is not possible to verify which hashtags were used and how often. The same applies to private likes. Since in this case the complete information is stored in Gun and can be changed, it is not possible to determine whether data has been manipulated.
+Creating entries for private tweets does not have a significant effect because the associated content stored in IPFS must be encrypted with the private key, which is unknown to a third party. Adding wrong or modifying existing hashtag entries for trend detection is also possible and poses a significant risk as it allows manipulation of the trends. Ultimately, it is not possible to verify which hashtags were used and how often. The same applies to private likes. Since in this case the complete information is stored in GUN and can be changed, it is not possible to determine whether data has been manipulated.
 
 \subsection{\ac{IPFS}}
 \label{sec:threat-model-ipfs}
 Since \ac{IPFS} is publicly accessible, anyone can add and retrieve data. However, it is not possible to change or delete data. A hash of the content addresses the data stored in \ac{IPFS}. Since the content is entirely unknown (especially by encrypting the plaintext content), it is not possible to conclude the hash. A targeted search for private data in \ac{IPFS} is therefore impossible. The encrypted data also does not contain any clues that allow conclusions to be drawn about Hybrid \ac{OSN}.
 
-In combination with the publicly available information from Gun, all private tweet data could be found in \ac{IPFS}. However, because of the encryption of the content, the data is worthless.
+In combination with the publicly available information from GUN, all private tweet data could be found in \ac{IPFS}. However, because of the encryption of the content, the data is worthless.
 
 Due to the decentralization of the system, the availability of \ac{IPFS} is always guaranteed. However, only as long as there are peers who make the service possible. If a peer leaves the network, its data is also lost if not reproduced beforehand. Therefore, there is no guarantee for the permanent availability of data.
 
 \subsection{Encryption – Leakage of Keys}
 \label{sec:threat-model-encryption}
-On the one hand, the public key history is symmetrically encrypted; on the other hand, the private tweets are asymmetrically encrypted. The keys for asymmetric encryption are generated independently by each user and are therefore individual for each user. With symmetric encryption, just one key is used, which is stored in the source code of Hybrid \ac{OSN}. In this way, only the Hybrid \ac{OSN} app can decrypt the public key history of a user and therefore decrypt its private tweets.
+On the one hand, the public key history is symmetrically encrypted; on the other hand, the private tweets are asymmetrically encrypted. The keys for asymmetric encryption are generated independently by each user and are therefore individual. With symmetric encryption, just one key is used, which is stored in the source code of Hybrid \ac{OSN}. In this way, only the Hybrid \ac{OSN} app can decrypt the public key history of a user and therefore decrypt its private tweets.
 
 Disclosure of the source code would reveal the symmetric key. The service provider would then have all the necessary information and access to all data to read private tweets and assign them to users.