Mobil ve Web Uygulamalarında Güvenlik Amaçlı Kimlik Doğrulama için Kare Kod Uygulaması


Creative Commons License

Çini E.(Yürütücü), Zor D., Sert G., Eminağaoğlu M.

TÜBİTAK Projesi, 2014 - 2014

  • Proje Türü: TÜBİTAK Projesi
  • Başlama Tarihi: Ocak 2014
  • Bitiş Tarihi: Temmuz 2014

Proje Özeti

Projemizi, ülkemizdeki finans kurumlarının Internet bankacılığı uygulamalarında çevrim içi (online) kullandığı kimlik doğrulama sisteminden esinlenerek tasarladık ve geliştirmeye başladık. Son yıllarda yaygınlaşan kare kod (QR code) teknolojileri ve ilgili uygulamalarının da kullanıcılara büyük bir kolaylık sağladığını gördük ve bu iki sistemi birleştirerek, güvenliği de sağlayacak bir şekilde bir proje geliştirmeye karar verdik. Bu proje ile, çeşitli Internet bağlantılı web uygulamalarında kullanıcıların çevrim içi (online) kullandığı iki faktörlü kimlik doğrulama sistemlerinde kullanıcıların cep telefonlarına kısa mesaj (SMS) şeklinde gelen tek kullanımlık parolaya alternatif olacak daha güvenli ve kullanımı da daha hızlı, pratik ve kolay yenilikçi ve teknolojik bir çözüm sağlanacaktır. Bu çözümü de, kare kod teknolojisini kullanarak güvenli ve iki faktörlü bir kimlik doğrulama sistemi geliştirip kısa mesajla cep telefonlarına gelen tek kullanımlık sayısal parolalar yerine kullanılmasını sağlayarak gerçekleştirmeyi hedefledik.

Projemizin amacı, kare kod kullanarak, güvenli ve iki faktörlü bir kimlik doğrulama sistemi geliştirebilmek, günümüzde benzer amaçlı kullanılan tek kullanımlık parolalar (çoğunlukla cep telefonuna kısa mesajla gelen 6 basamaklı sayılar) yerine daha güvenli ve aynı zamanda kullanıcılar için daha kolay ve pratik bir hale getirebilmektir. Tasarladığımız sistem bilgisayar ve telefon arasında iletişim sağlayacak şekilde geliştirilecek ve güvenlik alternatifleri de sağlayacaktır. Kullanıcı tabanlı olan bu sistem iki aşamalı güvenlik doğrulaması içerecektir. İlk aşamada kullanıcıdan müşteri numarası/kullanıcı adı ve şifre isteyecek, kullanıcı girdiği bilgileri onayladığı anda otomatik olarak telefonuna MMS ile kare kod gönderilecektir (MMS yerine kare kod göndermek için mobil uygulama da kullanılabilir). Kullanıcı aynı sayfa üzerinde bulunan kamera sistemine kare kodu tek kullanımlık parola yerine geçecek şekilde bilgisayar kamerasını kullanarak okutacak, okutulan bilgi ile sistem tarafındaki kare kod karşılaştırıldığında, bilgiler tamamen aynı ise sisteme başarılı bir şekilde giriş yapabilecektir. Eğer kare kod verilerinde farklılık var ise, kimlik doğrulama hatalı olacak, girişe izin verilmeyecek ve sistem kullanıcıdan tekrar giriş yapmasını isteyecektir. Kare kod tek kullanımlık rastsal oluşturulacak veri içerecektir. Yani, her kullanıcı için hem alfanümerik tipte verilerin bulunduğu rastsal bir değer üretilip kare kod içerisine atılacaktır. Kare kodun geçerlilik süresi maksimum beş dakika olacak, beş dakika sonra kare kod sistemden silinecektir. Eğer kullanıcı sisteme bu süre içinde giriş yapmadıysa, tekrar müşteri numarası/kullanıcı adı ve şifresini girip, yeni Kare kod talebinde bulunması gerekecektir. 

Sistemin ihtiyaçlarına yönelik olarak veri yapısı tasarlanıp düzenlenecek, tablolar ve içerikleri oluşturulacaktır. Planladığımız veri tabanı; Kare kod, kullanıcı ve müşteri olmak üzere üç ayrı tablodan oluşmaktadır. 

Sistemin kendisinin bilgi gizliliği ve bütünlüğü açısından yeterli düzeyde güvenli ve korumalı olmasını sağlayabilmek için, öncelikle veri yapısı içinde bulunan şifre ve müşteri numarası/kullanıcı adının ayrıca tek kullanımlık parola yerine geçecek verinin kriptolanması (şifrelenmesi) sağlanacaktır. Kimlik doğrulama işlemi boyunca; tüm Internet bağlantıları ve bağlantı boyunca gidip gelecek tüm dijital verilerin güvenliği; SSL protokolü üzerinden endüstri standardı veri gizleme ve veri bütünlüğü kontrolü yapan algoritmalar kullanılarak sağlanacaktır. Kare kodu, kullanıcı beş dakika içerisinde erişim yapacağı sisteme tanıtmak zorundadır; dolayısı ile uygulama sunucusu ve sistem tarafında rastsal olarak oluşturulmuş olan kare kod sadece beş dakika saklanacak ve ardından otomatik olarak sistemden silinecektir. Üç defa yanlış şifre girilmesi durumunda sistem kilitlenecek ve kullanıcıya bilgisayar ekranında çıkacak bir uyarı ile bildirilecektir. Eğer kullanıcı sisteme kare kod ile kimlik doğrulamasını ve sonrasında da yetkisi dahilindeki sisteme girişi başarılı şekilde yaparsa son giriş tarihi ve saati kaydedilecektir.

Projeyi gerçekleştirebilmek için kullanacağımız yazılım platformları; Asp.net, C#, (Internet ve Windows mobile), MS SQL olması planlanmaktadır. Projedeki temel donanım platformları; bilgisayar, telefon, web kamerası şeklinde düşünülmektedir.

Projemiz sonunda geliştirmeyi hedeflediğimiz bu çözüm online banka sistemlerinde kullanılabileceği gibi, iki faktörlü kimlik doğrulama gerektiren güvenli erişim ve giriş gerektiren sistemler ve uygulamalar için de kullanılabilecektir.