TayTupas-pilotin tulokset

http://www.csc.fi/suomi/funet/middleware/

Versio Päiväys Editoija Keskeiset muutokset
0.1 03.12.2004 JS Ensimäinen raakaversio
0.2 07.12.2004 JS Lisäyksiä, editointia
0.3 20.12.2004 JS Lisäyksiä, korjauksia, muotoilua
0.4 30.12.2004 JS -''-
0.5 31.12.2004 JS -''-
0.6 03.01.2005 JS Korjaus kohtaan 3.1.
0.7 04.01.2005 JS Paketin tiedostot ja linkit
1.0 05.01.2005 JS Abstract

Sisällys


1. TIIVISTELMÄ

Pilottiprojektin tuotoksena on salasananvaihtopalvelu, jota käyttäen asiakas voi vaihtaa WWW-selaimen avulla SSL-suojatun yhteyden yli käyttäjätunnuksensa unohtuneen salasanan. Asiakas tunnistetaan Suomen Pankkiyhdistyksen standardoimaa TUPAS2-järjestelmän tarjoamaa kertakäyttösalasanapalvelua käyttäen. Salasananvaihtopalvelu on avoinna 24/7 julkiseen internet:iin.

Toteutustekniikkana on Apache 2.0.* -www-palvelimen alla pyörivät Perl 5.8.2:lla toteutetut CGI-skriptit, jotka käyttävät Tupas-autentikaatiorajapinnan tarjoavaa Tupas.pm-perlmoduuli.

Pilotin suunnittelu ja toteutus tehtiin Tampereen yliopiston tietokonekeskuksen voimin. Avoin yliopisto oli mukana mm. viestinnässä ja käyttäjäkyselyssä.

Pilotin tulos, Tampereen yliopiston käyttäjätunnushallintajärjestelmään integroitu TaYTupas-salasananvaihtojärjestelmä, on saanut myönteistä palautetta ja se aiotaan pitää jatkossakin tuotannossa.

Pilotista tiedoitettiin aluksi uusille avoimen yliopiston opiskelijoille, mutta kun järjestelmä todettiin toimivaksi parin viikon tuotantokäytön jälkeen, siitä alettiin tiedoittamaan unohtuneiden salasanojen yhteydessä kaikille käyttäjäinfon asiakkaille.

121 käyttäjää on vaihtanut onnistuneesti salasanansa palvelun avulla vuoden 2004 aikana.

2. DOKUMENTAATIO TOTEUTUKSESTA

2.1. Toteutuksen esivaatimukset

Käyttäjän tunnistaminen perustuu pankin palveluntarjoajalle välittämään käyttäjän henkilötunnukseen. Palveluntarjoajalla tulee siis olla käytettävissään ajantasalla oleva lista käyttäjien käyttäjätunnuksista ja henkilötunnuksista. Käytännössä tämä edellyttää toimivaa käyttäjätunnushallintajärjestelmää. Toteutuksessa tarjottu rajapinta käyttää tekstitiedostoa, joka sisältää omalla rivillään asiakkaan käyttäjätunnuksen ja henkilötunnuksen.

Toteutus ei tarjoa rajapintaa varsinaiseen salasanan vaihtamiseen, vain käyttäjän tunnistamiseen Tupas-protokollan mukaisesti. Salasananvaihtojärjestelmä pitää olla siis omasta takaa.

Palveluntarjoajan täytyy osata rakentaa palvelua julkiseen internetiin tarjoava WWW-palvelin ja pitää se turvallisena jatkossa, sillä henkilötiedot (käyttäjätunnus & hetu) sijaitsevat palvelimen luettavissa.

2.2. Yksityiskohtainen dokumentaatio

Projektin määrittely- ja suunnitteludokumentit käsittelevät lähinnä TaY:n omaa TaYTupas -järjestelmää, eikä niitä aiota liittää osaksi jakelupakettia. Niihin liittyvistä asioista, poislukien Tampereen yliopiston käyttäjätunnushallintajärjestelmän erityispiirteet, saa toki kysyä. Projektin sisäisten dokumenttien sijaan julkaistaan tekninen kuvaus.

Alla luetellaan libtupas-pakettiin liittyvät osat ja dokumentit.

Dokumentti/tiedosto Dokumentin/tiedoston sisältö
libtupas-tekninen-kuvaus.txt Kuvaus järjestelmän tekniikasta ja toiminnasta
libtupas-install.txt Asennus- ja ylläpito-ohje (englanniksi)
libtupas.tar.gz libtupas-asennuspaketti (1)
tulokset.html Tämä dokumentti

2.3. Tupas.pm:n lisenssi

Copyright 2004-2005, University of Tampere, Computer Centre

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

2.4. Toteutuksen työmäärä ja tarvittu osaaminen

Toteutukseen tarvitaan korkeakoulun käyttäjätunnushallintajärjestelmän teknistä ja hallinnolista osaamista, käyttöjärjestelmäosaamista sekä järjestelmäintegraation osaamista.
Asia Tarvittava osaaminen Työmäärä
pilotissa
Arvio työmäärästä, kun apuna on tässä pilotissa tuotettu dokumentaatio
Tupas-palvelusopimusten tekeminen Hallintopäällikkö tai vastaava rooli palvelusopimusten solmimiseen 5 htvrk 5 htvrk. Paperisota, byrokratia, allekirjoitusten kierrättäminen ja Tupas-tunnisteiden ja -avaiminen saanti vie oman aikansa. (1)
WWW-palvelimen asennus
WWW-palvelimen käyttöjärjestelmän asennus. Apache-palvelimen asennus ja konfigurointi. Varmenteiden generoiminen ja asennus. 4 h 4 h. Dokumentointi ei juurikaan nopeuta tätä rutiininomaista vaihetta.
TaYTupas-palvelun integrointi Tampereen yliopiston käyttäjätunnushallintajärjestelmään
Tekninen käyttäjätunnushallintajärjestelmän osaaminen. Luottosuhteen rakentaminen WWW-palvelimen ja hallintajärjestelmän väliin. Liittymä salasanan vaihtoon. Palomuuriasetusten tekeminen. 15 htvrk
Tapauskohtainen, mahdotonta arvioida. Arvio, mikäli käyttäjätiedot (käyttäjätunnus ja HeTu) ovat helposti saatavilla: 3 htvrk.
Tupas-autentikointipalvelun käyttöönotto WWW-sovellusohjelmointia (Perl, CGI). syslog:in säätö logitusta varten. 15 htvrk
2 htvrk. Pilotissa tehty perl-moduuli on sellaisenaan muiden korkeakoulujen käytössä. (2)

Jos sama projekti pitäisi tehdä alusta alkaen uudestaan, siihen menisi aikaa 10 htvrk vähemmän, sillä liittymä käyttäjätunnushallintajärjestelmään olisi nyt valmiiksi mietittynä ja koodarikaan ei putoaisi uudestaan kaikkiin sudenkuoppiin.

2.5. Luettelo käytetyistä komponenteista

Komponentti Mihin/kommentti
Sun Netra T1
WWW-palvelimen laitteistoalusta
Solaris 9
käyttöjärjestelmäalusta
Apache ver 2.0.*
Palvelinohjelmisto
Perl, versio 5.8.2 Sovelluksen toteutuskieli
AppConfig
AppConfig::File
CGI
Digest::MD5
HTML::Template
POSIX
Sys::Syslog
Toteutuksen apuna käytetyt Perl-moduulit.
Saatavilla CPAN:ista, www.cpan.org

Vaikka Tampereen yliopistolla tämä toteutettiinkin Solaris-ympäristössä, sovellus ei ole käyttöjärjestelmäspesifinen. Tupas.pm toiminee suunnilleen sellaisenaan esim. Linux-ympäristössä. TaY:lla toteutusympäristönä oli Solaris tuotantopalvelinkriteereistä johtuen.

2.6. Käytetyt tietolähteet

Lähde Sisältö/kommentti
http://www.pankkiyhdistys.fi/sisalto/upload/pdf/tupasV2.pdf TUPASv2-palvelukuvaus
http://httpd.apache.org/ Apache HTTP server project home page
http://www.cpan.org/ Comprehensive Perl Archive Network
http://www.opensource.org/licenses/index.php Open Source -lisenssejä

3. DOKUMENTAATIO PILOTOINNISTA

Tässä luvussa käsitellään TaYTupas-salasananvaihtopalvelusta saatuja kokemuksia.

3.1. Asiakkaiden kokemukset

Loppukäyttäjien/asiakkaiden kokemusten keräämistä varten järjestettiin sekä paperisessa että sähköisessä muodossa oleva kysely n. 250 avoimen yliopiston opiskelijoille. Kysely lähtetettiin joulupostin viikolla 51. Tätä dokumenttia kirjoitettaessa kyselyn tulokset eivät olleet valmistuneet. Kyselyn tulosten odotetaan valmistuvan tammikuun 2005 loppuun mennessä. Tulokset julkaistaan tammi-helmikuun aikana.

3.2. Organisaation kokemukset

Pilottiprojektin katsotaan onnistuneen sen viemästä suunniteltua suuremmasta työmäärästä riippumatta. Tampereen yliopisto sai käyttöönsä salasananvaihtojärjestelmän, jota - tätä dokumenttia kirjoitettaessa - on käyttänyt salasanan onnistuneeseen vaihtoon jo yli 100 käyttäjää. Asiakkailta saatu palaute - tätä dokumenttia kirjoitettaessa käyttökokemuskysely ei ollut ehtinyt valmistua - on ollut positiivista ja ilahtunutta.

3.3. Tekniset kokemukset

4. KORKEAKOULUN JATKOSUUNNITELMAT

TaYTupas-järjestelmä jätetään käyttöön ja sen jatkokehittämistä harkitaan koskemaan opiskelija- tai peruspalvelutunnuksen lisäksi muidenkin järjestelmien unohtuneiden salasanojen vaihtoa. Tätä dokumenttia kirjoitettaessa jatkokehitykselle ei ole asetettu aikataulua. Pilottiprojektin tiimoilta kuunnellaan myös uteliaina muiden korkeakoulujen suunnitelmia jatkokehityksen suhteen.


ABSTRACT

Tupas.pm provides a TUPASv2 authentication interface for use in perl CGI programs. Tupas authentication can be used, for example, in situations where a user has forgotten his/her account's password, and needs to authenticate to a password change service to set a new password.

Tupas authentication works in the following way:

Tupas.pm is a perl module providing methods for Tupas authentication. Upon successful authentication, it returns the username of the authenticated user.

System requirements: