Cryptoki token nesneleri ve objelerine erişim hakkı elde etmek için token kullanarak bir veya birden fazla oturum açması gerekmektedir. Oturumlar uygulama ve token arasında mantıksal bir bağlantı kurar. Bir oturum okuma/yazma veya sadece okuma oturumu olabilir. Okuma/yazma ve sadece okuma token nesnelerine erişimi temsil eder, oturum nesnelerine değil. Her iki oturum tipinde de bir uygulama oturum nesneleri üzerinde okuma, yazma, oluşturma ve yıkım gibi işlemleri gerçekleştirebilir ve token nesnelerini okuyabilir. Buna rağmen sadece okuma/yazma tipinde token nesneleriyle ilgili oluşturma, yazma ve yıkım işlemleri yapılabilir.
Bir oturum açıldığında bir uygulama token’ın public nesnelerine erişim olanağı bulur. Verilen uygulamanın tüm threadleri aynı oturumlar ve aynı oturum nesneleri için tam anlamıyla erişime sahiptir. Token’ın private nesnelerine erişmek için normal kullanıcı yetkilendirilmiş olmalı aynı zamanda giriş yapmalıdır.
Bir oturum nesnesi kapatıldığında, oluşturulan her oturum nesnesi yıkılır. Diğer oturum nesneleri tarafından kullanılan oturumlarda bile bu böyledir. Eğer bir tek uygulama bir token kullanarak birden fazla oturuma sahipse ve oturum objesini oluşturmak için onlardan birini kullanıyorsa. Bu durumda oturum nesneleri uygulamanın oturumlarının hepsi üzerinde görünürdür. Nesne oluşturmak için kullanılan oturum kapatılır kapatılmaz, nesne yıkılır.
Cryptoki birden çok token üzerinde birden fazla oturumu destekler. Bir uygulama bir veya birden fazla token ile bir veya birden fazla oturuma sahip olabilir. Genelde, bir token bir veya birden fazla uygulamayla çoklu oturuma sahip olabilir. Buna rağmen belirli bir token uygulamanın sınırlı sayıda oturuma veya sadece sınırlı sayıda okuma/yazma oturumuna sahip olmasına izin verir.
Açık bir oturum birkaç durumdan birinde olabilir. Bunlar belirtilecektir.
Read Only Oturum Durumu
Bu durumda oturum iki farklı başka durumda olabilir. Aşağıdaki şekilde de belirtildiği gibi oturum açıldıktan sonra eğer login işlemi önceki uygulamada yoksa R/O public durumunda veya daha önceki uygulamada login işlemi yapılmışsa R/O kullanıcı fonksiyonları durumunda olabilir. Read-only SO oturumlarının olmadığına dikkat edin.
Şekil 3 – R/O oturumunun durumları
Durum | Tanım |
R/O Public Oturumu | Uygulama read-only oturumuyla açılmıştır. Sadece public nesnelerin okuma/yazma fonksiyonlarına erişim söz konusudur. |
R/O Kullanıcı Fonksiyonları | Normal Kullanıcı(Normal User) token ile giriş yapmıştır. Bu durumda public ve private tüm nesnelere ve fonksiyonlara read only olarak erişim sağlanır. |
Tablo 3 – Oturum durum tablosu
Read/Write Oturum Durumları
Read/Write oturum durumları aşağıda gösterilen üç durumdan birinde olabilir.
Durum | Tanım |
R/W Public Oturum | Uygulama read/write oturumu açmıştır. Uygulama tüm public nesneler için okuma/yazma yetkisine sahiptir. |
R/W SO Fonksiyonları | SO token için yetkilendirilmiştir. Token içerisindeki public nesnelere erişim yetkisine sahiptir. Fakat private nesnelere erişemez. SO normal kullanıcının PIN’ini ayarlayabilir. |
R/W Kullanıcı Fonksiyonları | Normal kullanıcı token’a yetkilendirilmiştir. Uygulama tüm nesnelerin okuma yazma erişimine sahiptir. |
Tablo 4 – R/W Oturum Durumları
Şekil 4 – R/W oturum durumları şeması