1.introduction.tex (7984B)
1 \chapter{Introduction} 2 3 In order to comply with legal requirements, certain industries must verify the identity 4 of their users. For instance, the banking industry is subject to anti-money 5 laundering/terrorist financing laws. Similarly, casinos must ensure that their 6 customers are of an appropriate age, as do shops selling alcohol. 7 8 All these practices and mechanisms put in place by these industries are collectively known as \textbf{\gls{KYC}}, 9 an acronym for \textit{Know Your Customer} This work will focus more specifically on the IT version of \gls{KYC}, 10 known as \textbf{\gls{eKYC}} for \textit{electronic KYC}. 11 12 To successfully complete an eKYC, three key challenges must be addressed: the first is user authentication, 13 the second is the authentication of identity information, and the third is non-usurpation of identity, 14 which ensures that the identity in question belongs to the user. 15 16 In order to facilitate the provision of the \gls{eKYC} procedure by third parties and to avoid the repetition 17 of the same process in each project, this work introduces the creation of an eKYC-as-a-Service platform. 18 19 \section{Problematics} 20 21 In recent years, the development of remote tools has made it necessary to use \gls{eKYC} 22 on a larger scale than was previously necessary for face-to-face identity verification. 23 24 The emergence of Twint \cite{TWINT}, a financial intermediary subject to Swiss anti-money 25 laundering laws \cite{LEFin}, is a case in point. Twint offers its users the possibility of 26 opening an account without tying it to a bank, which means that anyone in Switzerland 27 can open an account anywhere. 28 29 The same can be said of telephone operators, which are subject to regulation \cite{LTC}, and 30 which also allow users to open an account themselves without going anywhere, thanks 31 to eKYC. 32 33 The market is developing, but there is no open-source service using a standard 34 protocol, such as \gls{OAuth2} (see section \ref{OAuth2-API}), to simplify its use with the ecosystem of 35 tools needed for interoperability. 36 37 \section{Roles} 38 39 The project encompasses a number of user/machine roles, which are defined below. 40 41 \begin{table}[H] 42 \centering 43 \setupBfhTabular 44 \begin{tabular}{llp{.7\textwidth}} 45 \rowcolor{BFH-tablehead} 46 \textbf{Role}&\textbf{Type}&\textbf{Description}\\\hline 47 \gls{KYCID} & Machine & Authorization and Resource Server developed in this work performing \gls{eKYC} procedure\\\hline 48 Client & Machine & Third party application delegating its Customer's \gls{eKYC} procedure to \gls{KYCID}\\\hline 49 Customers & Human & Any user who needs to be authenticated during an \gls{eKYC} procedure\\\hline 50 Operator & Human & Person responsible for installing/maintaining the \gls{KYCID} application (see section)\\\hline 51 Admin & Human & Person responsible for validating customer profiles 52 \end{tabular} 53 \caption{Project Roles} 54 \end{table} 55 56 \section{OAuth2} \label{OAuth2-API} 57 58 OAuth2 is a network communication protocol based on HTTP (Web) that allows resources 59 (scopes) to be authorised for access to a third-party client application. 60 61 OAuth2 is also a framework (see section \ref{OAuth2-Framework}) which defines a security model. 62 63 OAuth2 is the second iteration of OAuth, which has therefore been able to mature technically 64 and become more robust thanks to this test of time because, since its creation, 65 it has been particularly attacked. 66 67 \section{SMS Challenge for eKYC} \label{EKYC-SMSChallenge} 68 69 To perform an identity verification (\gls{eKYC}), this work has proposed 2 methods: 70 71 Firstly, the indirect method, which consists in delegating the verification to a telecom operator and in verifying only 2 things: 72 that the user is in control of the number and that the number is Swiss. 73 Thanks to this, we can indirectly verify the identity of the user. 74 75 \begin{figure}[H] 76 \centering 77 \includegraphics[width=0.6\textwidth]{phone-ekyc} 78 \caption{\gls{eKYC} by SMS challenge} 79 \label{fig:PhoneNumber-EKYC} 80 \end{figure} 81 82 The process is in 3 steps: The customer enters his telephone number; Then, 83 a secret code will be sent by SMS to this number; Finally, the customer can enter 84 the code received to complete the challenge. 85 86 \begin{figure}[H] 87 \centering 88 \includegraphics[width=0.75\textwidth]{phone-ekyc-process} 89 \caption{Process of SMS Challenge for eKYC} 90 \label{fig:PhoneNumber-EKYC-Process} 91 \end{figure} 92 93 \section{Document and Face challenge for eKYC} \label{EKYC-DocumentAndFaceChallenge} 94 95 The second method is more direct. It consists of verifying the identity card or passport directly. 96 To do this, we will use the user's webcam/camera to scan the ID card or passport. 97 98 On the back of the card or passport, there is a zone called \gls{MRZ} for machine-readable zone. 99 This is a standard used in particular in aviation to scan via \gls{OCR} (optical character recognition) and 100 thus extract all the information electronically. 101 102 \begin{figure}[H] 103 \centering 104 \includegraphics[width=0.75\textwidth]{mrz} 105 \caption{Specimen Machine Readable Zone (MRZ)} 106 \label{fig:MRZ} 107 \end{figure} 108 109 However, there is a potential issue: the images of cards or the cards themselves could be stolen. 110 Therefore, it is necessary to implement measures to mitigate this risk of theft. 111 To address this, we utilise a face challenge, which requires users to submit selfies in three 112 different positions (head to the left, to the front, and to the right). 113 114 \begin{figure}[H] 115 \centering 116 \includegraphics[width=0.75\textwidth]{face-challenge} 117 \caption{Face challenge exemple} 118 \label{fig:MRZ} 119 \end{figure} 120 121 Consequently, an administrator can verify the photos to ascertain the legitimacy of the document and 122 ascertain that all photos (document and face challenge) were taken with the same camera at the same time, 123 among other criteria. If all criteria are met, the profile will be approved. 124 125 This method provides direct information on the identity of the customer, in contrast 126 to the indirect method. However, it is a deferred method that necessitates human intervention. 127 128 \section{Product vision} 129 130 This work concerns the creation of a product designed to address the problem. 131 The product is a web service, named \gls{KYCID}, which stands for Know Your Customer's ID. 132 It allows third-party applications (clients) to carry out their eKYC procedures by delegating 133 the work to the service. 134 135 From the customer's perspective, using the service will be like a simple \gls{OAuth2} authorisation code flow 136 connection. Once the \gls{access token} has been granted, it will be possible to 137 request an \gls{endpoint} with identity-related information. 138 139 From the customer's perspective, the process will be straightforward: they will simply click on button in client app 140 to be redirected to web page on the platform's website, where they will carry out the eKYC procedure. 141 Once completed, they will be redirected back to the customer and will have all the necessary information. 142 143 The eKYC procedure will be a linear process with optional steps listed below: 144 145 \begin{enumerate} 146 \item Obtain the user's consent for the client to access the requested \gls{scopes}. 147 \item Enter the email address. 148 \item Register if an account does not exist. 149 \item Verify the email address (a code will be sent by email) if the account is not verified. 150 \item Perform eKYC SMS Challenge procedure (see section \ref{EKYC-SMSChallenge}) if it has been requested in the \gls{scopes} by the client. 151 \item Should the client request it, the eKYC document and face challenge procedure (see section \ref{EKYC-DocumentAndFaceChallenge}) must be performed. 152 \end{enumerate} 153 154 The registration of customers will be carried out by an operator with a technical profile (typically Mr Emanuel BENOIST) and does not necessarily require a graphical interface to perform this task. 155 156 In order to export a CSV file for the purpose of invoicing the service, the service provider must keep track of authorisation 157 requests made by each client.