Verkkosovelluksen autentikointi monikäyttäjähakemistoympäristössä
Lahti, Valtteri (2023)
Lahti, Valtteri
2023
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-11-17
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202310118796
https://urn.fi/URN:NBN:fi:tuni-202310118796
Tiivistelmä
Käyttäjähakemistojen käyttö on kerryttänyt organisaatioiden suuren suosion. Käyttäjähakemistojen ansiosta organisaation käyttäjillä on vain yksi tunnus, jolla voi kirjautua mihin tahansa organisaation sisäiseen käyttäjähakemiston tuntemaan sovellukseen. Tällöin organisaation käyttäjät voivat luoda ja muistaa yhden vahvan salasanan, eikä heidän tarvitse käyttää heikkoa helposti muistettavaa salasanaa tai käyttää uudelleen vanhaa salasanaa. Tunnuksien ja käyttöoikeuksien sekä niiden hallinnoimisen keskittäminen helpottaa myös luonnollisesti ylläpitäjien työtä. Tietyistä käyttäjähakemistoista on mahdollista autentikoida käyttäjiä käyttäjähakemiston ulkopuolelle käyttäen autentikointiprotokollia.
Tässä työssä käyttäjähakemistojen luoma hyöty haluttiin tuoda myös sovelluksen käyttäjille. Työn tarkoituksena oli toteuttaa autentikointi kahdesta erilaisesta käyttäjähakemistosta mahdollisimman tietoturvallisesti ja yksinkertaisesti. Työssä pyrittiin selvittämään käyttäjähakemistojen, protokollien ja identiteettipalveluiden toimintaperiaatteita sekä niiden yhteensopivuutta. Lisäksi selvitettiin sopivimmat identiteettipalvelut ja protokollat sekä tietoturvallisimmat menetelmät toteutettavalle autentikoinnille.
Autentikointiprotokollista selvitettiin toteutuksen kannalta oleellisimmat. Vertailemalla protokollien ominaisuuksia selvitettiin toteutukseen parhaiten soveltuva protokolla. Toteutuksessa käytettävä identiteettipalvelu valittiin samanlaista prosessia noudattaen. Työssä selvitettiin myös useita mahdollisia autentikointitapahtuman uhkia, jotka huomioitiin, kun sovellukseen kehitettiin tuki autentikointiprotokollalle.
Työn tuloksena ei löydetty yhtä tiettyä tapaa, jolla voitaisiin autentikoida kaikenlaisista käyttäjähakemistoista käyttäjiä. Sen sijaan huomattiin, että verkkosovelluksen autentikointi voidaan toteuttaa käyttäjähakemistosta ja verkkosovelluksen tarpeesta riippuen eri menetelmillä ja protokollilla. Kahden eri menetelmän toimivuus testattiin toteuttamalla autentikointi niiden avulla verkkosovellukseen. The use of Active Directories has gained significant popularity within organizations. As a result of using Active Directories, users have only one credential that can be used to log in to any of the organizations applications as long as they are trusted by the Active Directory. This allows organization users to create and remember a single strong password, eliminating the need for a weak and easily memorable password or reusing an old one. Centralizing the credentials, permissions and their management also naturally eases the work of administrators. Certain Active Directories enable authenticating users outside the directory using authentication protocols.
The objective of this thesis was to extend the benefits created by Active Directories to the users of our web application. Before the implementation could be done, it was paramount to understand the principles of different directories, protocols, and identity services, as well as their compatibility. Additionally, the most suitable identity services and protocols were identified, along with the most secure methods of implementing the authentication.
Only the authentication protocols that were relevant to the implementation were examined. By comparing the characteristics of the protocols, the most suitable protocol for the implementation was determined. Following a similar process, the identity service for the implementation was selected. The potential threats to the authentication transaction were also explored and taken into account when developing the authentication.
As a result of this thesis, one specific method for authenticating users from all types of directories was not found. Instead, it was found that the authentication could be implemented using different methods and protocols depending on the directory and the needs of the web application. The functionality of two of the found methods was tested by using them to implement authentication to a web application.
Tässä työssä käyttäjähakemistojen luoma hyöty haluttiin tuoda myös sovelluksen käyttäjille. Työn tarkoituksena oli toteuttaa autentikointi kahdesta erilaisesta käyttäjähakemistosta mahdollisimman tietoturvallisesti ja yksinkertaisesti. Työssä pyrittiin selvittämään käyttäjähakemistojen, protokollien ja identiteettipalveluiden toimintaperiaatteita sekä niiden yhteensopivuutta. Lisäksi selvitettiin sopivimmat identiteettipalvelut ja protokollat sekä tietoturvallisimmat menetelmät toteutettavalle autentikoinnille.
Autentikointiprotokollista selvitettiin toteutuksen kannalta oleellisimmat. Vertailemalla protokollien ominaisuuksia selvitettiin toteutukseen parhaiten soveltuva protokolla. Toteutuksessa käytettävä identiteettipalvelu valittiin samanlaista prosessia noudattaen. Työssä selvitettiin myös useita mahdollisia autentikointitapahtuman uhkia, jotka huomioitiin, kun sovellukseen kehitettiin tuki autentikointiprotokollalle.
Työn tuloksena ei löydetty yhtä tiettyä tapaa, jolla voitaisiin autentikoida kaikenlaisista käyttäjähakemistoista käyttäjiä. Sen sijaan huomattiin, että verkkosovelluksen autentikointi voidaan toteuttaa käyttäjähakemistosta ja verkkosovelluksen tarpeesta riippuen eri menetelmillä ja protokollilla. Kahden eri menetelmän toimivuus testattiin toteuttamalla autentikointi niiden avulla verkkosovellukseen.
The objective of this thesis was to extend the benefits created by Active Directories to the users of our web application. Before the implementation could be done, it was paramount to understand the principles of different directories, protocols, and identity services, as well as their compatibility. Additionally, the most suitable identity services and protocols were identified, along with the most secure methods of implementing the authentication.
Only the authentication protocols that were relevant to the implementation were examined. By comparing the characteristics of the protocols, the most suitable protocol for the implementation was determined. Following a similar process, the identity service for the implementation was selected. The potential threats to the authentication transaction were also explored and taken into account when developing the authentication.
As a result of this thesis, one specific method for authenticating users from all types of directories was not found. Instead, it was found that the authentication could be implemented using different methods and protocols depending on the directory and the needs of the web application. The functionality of two of the found methods was tested by using them to implement authentication to a web application.