spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Uygulamaların OpenSSO tabanlı Kimlik Yönetim Sistemi Entegrasyonu Yazdır E-posta
Yılmaz Çankaya, TÜBİTAK-UEKAE   
09.02.2010

İş verilerinin sayısal ortamda yönetilmeye başlanması ile beraber, iş akışlarının ve verilerin uygulamalar aracılığı ile kontrolü ve verilerin sayısal olarak saklanması mümkün olmuştur. Kurumsal seviyede bilgi güvenliği söz konusu olduğunda,  Şekil 1’de verilen fonksiyonların bütün kaynak erişim süreçleri için gerçeklenebilmesi ve kimlik yönetiminin de  merkezi bir yapıya kavuşturulması gerekmektedir. Şirket bünyesinde farklı amaca hizmet eden uygulamalar çok farklı yazılım altyapısı ve farklı iş mantığı yapıları üzerine bina edilmiş olabilirler. KYS (Kimlik Yönetim Sistemi)’lerin hayata geçirilmesi sırasında, en çekinilen konu da uygulamaların ne şekilde ve hangi seviyelerde değişiklik yapılarak KYS’ye entegre edilebileceğidir. Bu makalede mümkün olduğunda kod örnekleri ile değişik entegrasyon seçenekleri incelenecektir. 

   
sekil-1.png

Şekil 1- Temel Uygulama Güvenlik Akışı

Prototip entegrasyon senaryoları için açık kaynak kodlu OpenSSO Enterprise 8 (Update 1) [5] uygulaması kullanılmıştır. OpenSSO uygulamasında  erişim denetimi  (access control) bölümü altında işletim sistemleri, uygulamalar ve veritabanları için ayrı etki alanları  (realm) ve gerekli görüldüğü yerlerde alt etki alanları oluşturulmuştur. Örnek olarak sanal şirketimizin satınalma bölümü tarafından kullanılan  uygulamanın kimlik, grup ve kaynak erişim kurallarını içeren satinalma isimli etki alanı kullanılmıştır. Birden fazla uygulamaya erişebilen kullanıcı grupları için uygulama etki alanı (realm) hiyerarşisi vardır.  Dizin olarak OpenDS 2.0 [6] kullanılmıştır. OpenSSO – OpenDS ikili kullanımında, rol yönetimi desteklenmediğinden, rol yönetimi  kullanıcı grupları  kullanılarak sağlanmıştır. Aşağıda verilecek kod örnekleri de KYS  erişim kontrolünün OpenSSO üzerinden yapılması durumunda geçerli olacaktır. Hem OpenSSO hem de örnek uygulamalar Glassfish v2.1 [7] üzerinde çalışmaktadır. 

HTTP Tabanlı Uygulamaların KYS Entegrasyonu

Uygulamaların KYS ile entegresyonunun kuşbakışı olarak zihinde canlandırılabilmesi için birkaç konunun anlaşılması faydalı olacaktır.

  • Web uygulamaları için  asıl olan tümleşik oturum yönetimine geçişin sağlanmasıdır.  KYS tümleşik oturum yönetim sunucusu bütün web uygulamalarına erişim öncesi araya girer ve  kullanıcı için oluşturulmuş bir çerezin  varlığını kontrol eder.

  • Web uygulamalarının KYS ile entegrasyonu, uygulama sunumcusu üzerine bir ajan (agent) uygulamanın kurulması ile sağlanabilir. Ajan uygulamalar, asıl kaynağa erişim için kullanıcı tarafından gönderilen talepleri keser ve KYS tümleşik oturum sunumcusu tarafından oluşturulan ve internet tarayıcısı tarafından gönderilen çerezin varlığını kontrol ederler. Çerezin geçerliliği sağlanır ise, yetkilendirme sorgusu (talep edilen kaynaklara erişim yetkisinin olup olmadığı)  yapılır ve sonuç uygulamaya döndürülür.

  • Web uygulamalarının ters vekil sunumcu (Reverse Proxy) arkasında çalışması durumunda, ajan uygulamanın sadece ters vekil sunumcu üzerinde yürütülüyor olması yeterli olacaktır ve bu durumda politika ajanlarının yönetimi de kolaylaşacaktır zira  her uygulama sunucusu üzerinde ayrı bir ajan kurulması ihtiyacı ortadan kalkacaktır.

  • KYS uygulamaları, kimlik doğrulama ve yetkilendirme sorgularının herhangi bir ajan uygulama kurulumuna ihtiyaç olmadan programatik olarak gerçekleştirilebilmesi  için yazılım arayüzleri (API) sunarlar.  Bu servislerin kullanımı için, uygulamaların  uygun şekilde güncellenmesi gerekmektedir.

Örnek: J2EE  Tabanlı  Uygulamaların KYS Entegrasyonu

Standart J2EE uygulamasının entegrasyonunda, bu amaç için kullanılabilecek bir ajanın kurulması sağlanmıştır.   Korunan uygulamanın web.xml dosyası  içinde filtre uygulama tanımı yapılarak, uygulamaya gelen çağrıların  ajan (filter-class) üzerinden  geçmesi sağlanır.  Ajanın kurulumu sırasında çerezin varlığını, geçerliliğini ve çerez var ise erişim yetkilerini sorgulayabileceği KYS sunucunun bilgileri verilmiştir.  Filtre olarak kullanılan ajan tümleşik oturum çerezi yok ise çerezin oluşturulması için ilgili sunucuya yönlendirme işlemini gerçekleştirir.

    <filter>

        <filter-name>J2eeAjan</filter-name>

        <filter-class> com.sun.identity.agents.filter.AmAgentFilter </filter-class>

    </filter>x

    <filter-mapping>

        <filter-name>J2eeAjan</filter-name>

        <url-pattern>/*</url-pattern>

        <dispatcher>REQUEST</dispatcher>

        <dispatcher>INCLUDE</dispatcher>

        <dispatcher>FORWARD</dispatcher>

        <dispatcher>ERROR</dispatcher>

    </filter-mapping>

Gerekli  kimlik doğrulama işleminin ajan üzerinden  yapılması sonrası,  aşağıdaki şekilde yetkiler sorgulanabilir.

İlgili xml dosyasında (uygulama sunucusuna göre değişebilir) security-role-mapping tanımlaması yapılmalıdır.

<security-role-mapping>

        <role-name>MANAGER_ROLE</role-name>

        <group-name>id=manager,ou=satinalma,ou=kys,dc=kurum-etki-alani,dc=com,dc=tr</group-name>

    </security-role-mapping>


    <security-role-mapping>

        <role-name>EMPLOYEE_ROLE</role-name>

        <group-name>id=employee,ou=satinalma,ou=kys,dc=kurum-etki-alani,dc=com,dc=tr </group-name>

    </security-role-mapping>


  Uygulamanın kodunda yetki sorgulaması aşağıdaki gibi yapılabilir.

  private String getSecurityDetails(HttpServletRequest request) {

        Principal principal = request.getUserPrincipal();

        String user = (principal != null)?principal.toString():"Anonymous";

        boolean isManager = request.isUserInRole("MANAGER_ROLE");

        boolean isEmployee = request.isUserInRole("EMPLOYEE_ROLE");


        StringBuffer buff = new StringBuffer();

        buff.append("Kullanıcı \"").append(user).append("\": ");

        if (isManager) {

             if (isEmployee) {

                 buff.append(" yönetici ve aynı zamanda çalışan.");

             } else {

                 buff.append("yönetici fakat çalışan değil.");

             }

        } else {

             if (isEmployee) {

                 buff.append("yönetici değil sadece çalışan.");

             } else {

                 buff.append("çalışan değil, yönetici değil.");

             }

        }

        return buff.toString();

    }

Örnek:  Web Sunucusu (HTTP Server) Üzerinden KYS Entegrasyonu

Web sunucusu üzerinden uygulamaların KYS ile entegrasyonu sağlanması durumunda, URL tabanlı kaynakların (Örneğin web sayfası) korunması ve yetki politikalarının uygulanması sağlanabilir. J2EE ajanlarının sunduğu servislerden farklı olarak, fonksiyonel bir yetkinin (Örneğin aynı sayfa üzerinden bir kullanıcının güncelleme diğerinin ise sadece görüntüleme yetkisinin olması gibi) yönetimi mümkün değildir.

Web politika ajanının kullanıldığı uygulamalar için son kullanıcı ve kaynak erişimi için (Örneğin web sayfasının çağrılması) şu akış gerçekleşir.

  1. HTTP sunucuya entegre modül olarak çalışan, web ajanı HTTP isteğini keser ve  istekte erişilmek istenilen kaynak korunmuyor ise (listeden kontrol edilir) şifresiz geçiş izni verilir.

  2. Erişilmek istenen kaynak kimlik doğrulama gerektiriyor ise, tümleşik oturum sunucusu giriş sayfasına kullanıcı yönlendirilir. (HTTP Location başlığı kullanılarak)

  3. Giriş kimlik bilgileri ve/veya biometrik/akıllı kart yöntemleri ile giriş yapılır.  Kimlik yönetimi sistemi  tarafından, ilgili uygulama için öngörülen kimlik doğrulama prosedürleri uygulanır. (Örn. Hem şifre, hem de akıllı kart PIN  girişi istenebilir)

  4. Başarılı giriş sonrası KYS tarafından çerez oluşturulur ve bu çerez kullanılarak web ajanı tarafından kaynak erişim yetkisi kontrol edilir.

  5. Bütün erişim kuralları yorumlandıktan sonran kullanıcının istenilen kaynağa erişebiliyor olması durumunda ilgili kaynağa yönlendirme yapılır.

Şekil 2’te web tabanlı bir uygulamanın HTTP sunucu üzerine kurulan bir politika ajanı ile KYS sistemine nasıl entegre olarak çalışacağı anlatılmıştır.

sekil-2.png

Şekil 2- Web Ajanı Örnek Topoloji

Web sunucu ile entegre çalışan politika ajanlarının kurulumu aşağıdaki basamaklardan oluşmaktadır.

  • İşletim sistemi yapısına uygun web ajan uygulamasının temin edilmesi

  • HTTP sunucu üzerinde ajan HTTP modülünün kullanımı

LoadModule dsame_module       /usr/local/linux_agent_apache/agents/apache/lib/libamapc2.so

  • HTTP sunucu konfigurasyon dosyasına ajan konfigurasyon dosyasının eklenmesi

include /etc/opt/agents/apache/config/_etc_httpd_conf/AMAgent.properties

Ajan konfigurasyon dosyası içinde, KYS erişim bilgileri de yer almaktadır.

Örnek:  Web Servisleri Üzerinden KYS Entegrasyonu

Kullanımı öngörülen KYS uygulamanız, web servisleri üzerinden kimlik doğrulama, oturum doğrulama ve yetki sorgulama hizmetlerini sunuyor olabilir.  Uygulamaların KYS entegrasyonu kapsamında bu yöntemin kullanılması durumuna,  yukarıda bahsedilen ajan uygulamaların sizin yerinize gerçekleştirmiş olduğu işlemleri de uygulama yazılımı içinde geliştirmeniz gerekmektedir.  Bir kaynağa erişim isteği geldiğinde,

  • Kullanıcının oturumunun geçerli olup olmadığı, geçerli değil ise tümleşik oturum sunucusu giriş sayfasına yönlendirme

  • Oturumu doğrulanan kimliğin hangi grup yada rollere dahil olduğu ve yetkilerinin istekte bulunulan kaynağa erişim için yeterli olup olmadığının sorgulanması

işlemleri uygulama geliştirici tarafından gerçeklenmelidir.

1. İlgili KYS uygulamasının kimlik web servisi tanım dosyası (WSDL) kullanılarak istemci tarafında gerekli nesneler oluşturulmalıdır. (Client Stubs)

https://sso.kurum-etki-alani.com.tr:8080/opensso/identityservices?WSDL

 

...

com.kys.kysistemci.IdentityServicesImplService

com.kys.kysistemci.IdentityServicesImpl

com.kys.kysistemci.Token

com.kys.kysistemci.UserDetail

...

2. Satınalma uygulamasının  giriş ekranında bir HTML form aracılığı ile kimlik (kullanıcı  ismi ve şifresi) bilgileri girilmesi sağlanıp, KYS uygulaması web servisleri üzerinden kimlik yönetim işlemleri gerçekleştirilebilir.

<form name="giris" action="giris.jsp" method="POST">

    <input type="text" name="username" />

    <input type="password" name="passwd" />

    <input type="submit" value="Giris" name="WSGiris" /><br><br>

</form>

3. giris.jsp sayfasına gönderilen kimlik bilgilerininin geçerlilik kontrolü yapılıp, oturum anahtarı elde edilebilir.

<%

 String username = request.getParameter("username");

 String password = request.getParameter("passwd");

 String token = null;

 try {

     if (username == null || username.length() == 0

        ||password == null || password.length() == 0) {            

        out.println("Şifre yada kullanıcı ismi yanlış.");

    }else{

        com.kys.kysistemci.IdentityServicesImplService service = new com.kys.kysistemci.IdentityServicesImplService();

        com.kys.kysistemci.IdentityServicesImpl port = service.getIdentityServicesImplPort();

        java.lang.String uri = "realm=satinalma";

        com.kys.kysistemci.Token result = port.authenticate(username, password, uri);

        out.println("Giriş Başarılı. ");

        token = result.getId();   

        out.println("Token Değeri="+ token)

    }

}catch (Exception e) {

        // Hata olustu

}

4. Uygulamanın herhangi bir bölümünde oturum anahtarı kullanılarak gerekli sorgular yapılabilir.

try {

    com.kys.kysistemci.IdentityServicesImplService service = new

    com.kys.kysistemci.IdentityServicesImplService();

        com.kys.kysistemci.IdentityServicesImpl port = service.getIdentityServicesImplPort();

    java.util.List<java.lang.String> attributeNames = null;

    com.kys.kysistemci.Token id = new com.kys.kysistemci.Token();

    com.kys.kysistemci.UserDetails result = port.attributes(attributeNames, id);

    out.println("Kimlik Detayları = "+ result);

    } catch (Exception e) {

            // Hata yonetimi

    }

Örnek:  HTTP  İstek-Yanıt Mekanizmaları  Üzerinden Entegrasyon

KYS uygulamasına HTTP istekleri gönderilip, gelen yanıtların yorumlanması sayesinde de uygulamaların KYS entegrasyonu sağlanabilir.  Prototip uygulamamızda OpenSSO kullanılmıştır.  Şirket içinde kullanılan bir satınalma uygulamasının kimliklerini içeren satinalma isimli bir etki alanı oluşturulmuş (ou=satinalma,ou=kys,dc=kurum,dc=com,dc=tr) ve bu uygulamanın kullanıcılarının kimlik ve yetki sorgulamalarının nasıl yapıldığı gösterilmiştir. Örnek olarak curl uygulaması aracılığı ile HTTP istekleri gönderilmiştir. Böyle bir seçeneğin entegrasyon için kullanılması durumunda mutlaka SSL güvenlikli bağlantı tercih edilmelidir. İlgili programlama dilinin HTTP istek-yanıt kütüphaneleri bu tür bir entegrasyon için kullanılabilir. ( Örn. HTTPServletRequest, HTTPServletResponse)

  • Aşağıdaki istek ile satinalma_kullanici_ismi isimli kullanıcının uygulamaya giriş yapması sağlanmıştır. Yanıt olarak ilgili çerez (cookie, token) değeri döndürülecektir.

curl -d "&username=satinalma_kullanici_ismi&password=sha1_sifresi&realm=satinalma" https://sso.kurum-etki-alani.com.tr:8080/fam/identity/authenticate


Yanıt: iPlanetDirectoryPro=AQIC5wM2LY4SfczqMIOj3DJKQZiwLjxWsm+EEzVYhtGEVfQ=-AT-AAJTSQACMDE=#"

  • Kullanıcı  tarayıcısı tarafından uygulamaya gönderilecek olan çerez değerinin geçerli olup olmadığının kontrolü yapılmalıdır. Gönderilen isteğe yanıt olarak

curl –b "iPlanetDirectoryPro=AQIC5wM2LY4SfczqMIOj3DJKQZiwLjxWsm+EEzVYhtGEVfQ=-AT-AAJTSQACMDE=#" https://sso.kurum-etki-alani.com:8080/fam/identity/isTokenValid


Yanıt: boolean=false yada boolean=true

  • İlgili kimliğin yetkileri sorgulanabilir. Aşağıdaki örnekte çerez bilgisi gönderilen kimliğin uri ile belirtilen kaynağa erişip erişemediği kontrol edilmektedir.

curl -d "uri=https://satinalma.kurum-etki-alani.com.tr/satinalmaOnayla&action=POST& iPlanetDirectoryPro=AQIC5wM2LY4SfczqMIOj3DJKQZiwLjxWsm+EEzVYhtGEVfQ=-AT-AAJTSQACMDE=#"  https://sso.kurum-etki-alani.com:8080/fam/identity /authorize 


Yanıt: boolean=false yada boolean=true

  • Kullanıcı internet tarayıcısı  tarafından gönderilen çerez değerini kullanarak, kullanıcı detaylarına erişebiliriz ve bu detaylar aracılığıyla yetki sorgulama ve benzeri işlemler gerçekleştirilebilir.

curl –b "attributes_names=uid& iPlanetDirectoryPro=AQIC5wM2LY4SfczqMIOj3DJKQZiwLjxWsm+EEzVYhtGEVfQ=-AT-AAJTSQACMDE=#" https://sso.kurum-etki-alani.com:8080/fam/identity/attributes


Yanıt:

userdetails.attribute.name=cn

userdetails.attribute.value=satinalma_kullanici_ismi_adi_soyadi

userdetails.attribute.name=userpassword

userdetails.attribute.value={SSHA}XhiE0RMwO/D7SSQ5fYLrTlFjmbHmYbQkIU43FA==

userdetails.attribute.name=uid

userdetails.attribute.value=satinalma_kullanici_ismi

userdetails.attribute.name=inetuserstatus

userdetails.attribute.value=Active

Tamamlayıcı Güvenlik  Önlemleri

Organizasyon için değerli olan verinin korunması gerekir. Korunan verinin güvenliğinin sağlanması için bütün veri erişim kanallarının Şekil 1’e göre yönetilmesi ve güvenli hale getirilmesi yeterli olmayacaktır.  Veriye erişimin güvenli, denetlenebilir ve yönetilebilir hale getirilmesini sağlamakla beraber,  uç kullanıcının kimlik denetimi, sürekli erişilebilirlik ve felaket kurtarma gibi güvenlik  önlemlerini içermediğinden, organizasyon seviyesinde bir güveniğin ancak tamamlayıcı önlemler ile sağlanabileceği açıktır.

Akıllı Kart ve Biometrik Kimlik Doğrulama

Şekil 1’de belirtilen akışa göre sisteme dahil olan bir kullanıcı, bu akışın başlangıç noktasını oluşturmaktadır. Kullanıcılar uygulamaların servislerinden kendilerine sunulan arayüzler üzerinden faydalanırlar.  Fakat sunulan servisin gerçekten bizim kullanmasını öngördüğümüz kullanıcı tarafından kullanılıp kullanılmadığından emin olmak için,  tekilliğinden (neredeyse) emin olabileceğimiz bilgilerin kullanıma alınması gerekmektedir.     Akıllı kart kullanımı ile kimlik doğrulamanın güçlendirilmesi mümkün olmakla birlikte, biometrik verilere dayanan bir  tekillik bilgisinin kullanımı daha güçlü bir yöntem sunacaktır.(Bkz. [4]) Uygulamaların kullanıcı arayüzünün sunulduğu  uygulama ( Örn. Firefox, Internet Explorer)  ile uygulama sunucusu arasındaki iletişim açısından biometrik yada akıllı kart yöntemleri için teknik bir fark olmamakla beraber, biometrik verilerin başkalarına kolaylıkla devredilemez olduğu gerçeği, biometrik yöntemleri daha güçlü kılmaktadır. 

Diğer taraftan, Global Scaling Theory [3] gibi fiziksel kuramlar da  tekil tanımlama için pratikte kullanılmaya başlanmıştır.

Güçlü kimlik doğrulamanın KYS entegrasyonu için gerekli adımlar şu şekilde özetlenebilir.

1. Tümleşik oturum sunucusunun koştuğu sunucu için (örn.  sso.kurum-etki-alani.com.tr) “SSL  Sunucu Sertifikası” alınmalıdır. 

2. Tümleşik oturum sunucusunun koştuğu uygulama sunucusu (örn. Glassfish) ilgili anahtar deposuna;  hem sunucu sertifikasını veren kurumun kök açık anahtarı ve varsa ara sertifikalar  hem de Madde 1’de temin edilen açık ve özel anahtar aktarılmalıdır. Prototip uygulamamızda, KamuSM kök ve ara açık anahtarları kullanılmıştır. Sunucu ve bireysel sertifikalar da KamuSM tarafından sağlanmıştır.

java ImportKey sso_sunucu_ozel.der sso_sunucu_acik.der # keystore_aktar.der isimli bir dosya oluşacaktır.


/usr/lib/jvm/java-6-sun/bin/keytool -importkeystore -destkeystore keystore.jks -srckeystore

keystore_aktar.der -srcstoretype JKS


/usr/lib/jvm/java-6-sun/bin/keytool -import -v -alias cacert -trustcacerts

-keystore cacerts.jks -storepass sifre_varsayilan_changeit -file

Kamusm_Kok_sertifika.pem


Buna ek olarak uygulama sunucusu üzerinde istemci kimlik doğrulaması aktive edilmelidir. (Client Authentication)

3. Onaylanmış bir sertifika sağlayıcısından kullanıcılar için bireysel sertifika talep edilmelidir.  Bireysel sertifikaların açık anahtarı, LDAP dizinde var olan kullanıcıların userCertificate ikili alanına base64 kodlanmış olarak aktarılmalıdır. Kullanıcıların inetOrgPerson nesne sınıfında oluşturulduğu varsayılmıştır. Örnek kod aşağıda verilmiştir.

4. Akıllı kart kullanımı durumunda, kart okuyucunun yada USB cihazın işletim sistemine özel sürücülerinin kurulması ve  internet tarayıcıları için oluşturulmuş kütüphanelerin ilgili yerlere kopyalanması (eklenmesi) gerekmektedir.

sekil-3.png

Şekil 3 - Akis Kütüphanelerinin Tanıtılması

5. Tümleşik oturum doğrulayıcı üzerinde yapılacak gerekli ayarlamalar sonrası, korunan herhangi bir kaynağa erişilmeye çalışıldığında, internet tarayıcı  deposunda kayıtlı bireysel sertifikaları  gösterecek ve sizin ilgili sertifikayı seçmeniz sonrası, özel anahtarı koruyan  PIN numarasını soracaktır.

sekil-4.png

Şekil 4 - Örnek Kullanıcı Sertifikası

6. Tümleşik oturum sunucusu üzerinde, birden fazla kimlik doğrulama uygulanması için kurallar belirlemişseniz,  bu kurallar uyarınca kimlik doğrulama işlemleri sırasıyla uygulanacaktır.

7. Bütün kimlik doğrulama basamaklarının başarılı olması durumunda,  ilgili politika ajanı erişim kontrolünü gerçekleştirip, kullanıcıyı erişmek istediği kaynağa yönlendirir.

Bireysel sertifika açık anahtarları  uuencode ile base64 formatına çevrilip, ldapmodify aracı kullanılarak  LDAP dizine aktarılmıştır. 

uuencode -m satinalma_kullanici_adi.der test.data

Bu komutun çıktısında satır sonu karakterleri ve son satırda bulanan “====” bilgisi temizlendikten sonra, aşağıdaki içerikli bir dosya oluşturulur.

Satinalma_kullanici_ismi.ldif

dn: uid=satinalma_kullanici_ismi,ou=satinalma,ou=kys,dc=kurum-etki-alani,dc=com,dc=tr

changetype: modify

replace: usercertificate;binary

usercertificate;binary::MIICwTCCAioCCQDA7ADyVdz0+jANBgkqhkiG9w.....

Oluşturulan  satınalma_kullanici_ismi.ldif dosyası,  LDAP dizine aktarılmalıdır. Bu alan OpenSSO tümleşik oturum sunucusu üzerinde, kullanıcının tarayıcısı tarafından gönderilen sertifika bilgilerini ile karşılaştırılacak ve eşleme sonrası kullanıcı için oturum çerezi oluşturulacaktır.

 $OPENDS_HOME/bin/ldapmodify -h sso.kurum-etki-alani.com.tr -p 1389 -D "cn=Dizin Yoneticisi " -w sifre -c  -f satinalma_kullanici_ismi.ldif

Kullanılan bireysel sertifikaların CN alanı ile kullanıcının LDAP dizindeki CN alanı değerleri örtüşmekte, bu alan kişinin adı ve soyadından oluşmaktadır.  Kişinin adı ve soyadı bilgileri organizasyonda tekil olmayabileceğinden, TC Kimlik No gibi ek alanların da kontrol edilmesi daha uygun olacaktır.

Kaynakça

[1]    Kimlik Yönetimi, Kavramlar ve Gereksinimler, Yılmaz Çankaya, Haziran 2009, https://www.bilgiguvenligi.gov.tr

[2]    Akıllı Kartlar ve Uygulamaları; Akıllı Kart Nedir?, Mustafa Başak, Tubitak UEKAE Dergisi, Cilt 1, Sayı 1, Eylül-Aralık 2009

[3]    Eine kurze Einführung in die Global Scaling Theorie, André Waser

[4]    Kholmatov, Alisher Anatolyevich and Yanıkoğlu, Berrin, "Identity authentication using improved online signature verification method", Pattern recognition letters, Vol.26, No.15, November 2005, 2400-2408 (SCI)

[5]    OpenSSO Ürün Ana Sayfası, https://opensso.dev.java.net/

[6]    OpenDS Ürün Ana Sayfası, http://www.opends.org/

[7]    Glassfish Ürün Ana Sayfası, https://glassfish.dev.java.net/  

[8]    uuencode, http://en.wikipedia.org/wiki/Uuencoding


Favori olarak ekle (0) | Görüntüleme sayısı: 388

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2010 TÜBİTAK-UEKAE. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB