ekyc

Electronic KYC process with uploading ID document using OAuth 2.1 (experimental)
Log | Files | Refs | README | LICENSE

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.