OAuth (kependekan dari "Open Authorization"[1][2]) adalah suatu protokol terbuka yang memungkinkan pengguna untuk berbagi sumber pribadi mereka (mis. foto, video, daftar alamat) yang disimpan di suatu situs web dengan situs lain tanpa perlu menyerahkan nama pengguna dan kata sandi mereka. Proses ini dilakukan dengan memberikan token, bukan nama pengguna dan kata sandi, untuk data mereka yang diinangi oleh suatu penyedia jasa tertentu. Setiap token memberikan akses untuk suatu situs spesifik (mis. suatu situs penyunting video) terhadap suatu sumber spesifik (mis. hanya video dari album tertentu) selama durasi tertentu (mis. dua jam ke depan).

Logo OAuth

OAuth mengizinkan seorang mengguna untuk memberikan akses kepada situs pihak ketiga untuk mengakses informasi mereka yang disimpan di penyedia layanan lain tanpa harus membagi izin akses atau keseluruhan data mereka. Cara kerjanya kurang lebih mirip dengan menggunakan kartu kredit dan menandatangani slip transaksi, alih-alih memberikan kartu ATM dan PIN-nya.

Masalah keamanan sunting

OAuth 1.0 sunting

Pada 23 April 2009, sebuah kelemahan keamanan fiksasi sesi dalam protokol 1.0 diumumkan. Itu mempengaruhi arus otorisasi OAuth (juga dikenal sebagai "3-legged OAuth") indi OAuth Core 1.0 Bagian 6.[3] Version 1.0a dari protokol OAuth Core dikeluarkan untuk mengatasi masalah ini.[4]

OAuth 2.0 sunting

Pada Januari 2013, Internet Engineering Task Force mempublikasikan sebuah model ancaman untuk OAuth 2.0.[5] Di antara ancaman yang diuraikan ada satu yang disebut "Open Redirector"; pada awal tahun 2014, variannya dijelaskan dengan nama "Covert Redirect" oleh Wang Jing.[6][7][8][9]

Dalam draf OAuth 2.1, penggunaan ekstensi PKCE untuk aplikasi asli telah direkomendasikan untuk semua jenis klien OAuth, termasuk aplikasi web dan klien rahasia lainnya untuk menghindari ekstensi browser berbahaya yang melakukan serangan injeksi kode OAuth 2.0.[10]

Penggunaan sunting

Graph API Facebook hanya mendukung OAuth 2.0.[11] Google mendukung OAuth 2.0 sebagai mekanisme otorisasi yang direkomendasikan untuk semua APInya.[12] Microsoft juga mendukung OAuth 2.0 untuk berbagai API dan layanan Azure Active Directory-nya,[13] yang digunakan untuk mengamankan banyak API Microsoft dan pihak ketiga.

OAuth dapat juga digunakan sebagai mekanisme otorisasi untuk mengakses umpan RSS/Atom yang aman. Akses menuju umpan RSS/ATOM yang memerlukan autentikasi selalu menjadi masalah. Sebagai contoh, sebuah umpan RSS dari sebuah Google Site yang aman tidak dapat diakses menggunakan Google Reader. Sebaliknya, OAuth berlapis tiga akan digunakan untuk mengotorisasi klien RSS tersebut untuk mengakses umpan dari Situs Google.

Referensi sunting

  1. ^ "Open Authorization - Glossary | CSRC". csrc.nist.gov. 
  2. ^ Hardt, Dick (October 2012). Hardt, D, ed. "RFC6749 - The OAuth 2.0 Authorization Framework". Internet Engineering Task Force. doi:10.17487/RFC6749. Diarsipkan dari versi asli tanggal 15 October 2012. Diakses tanggal 10 October 2012. 
  3. ^ "OAuth Security Advisory: 2009.1". oauth.net. 23 April 2009. Diarsipkan dari versi asli tanggal 27 May 2016. Diakses tanggal 23 April 2009. 
  4. ^ "OAuth Core 1.0a". oauth.net. Diarsipkan dari versi asli tanggal 30 June 2009. Diakses tanggal 17 July 2009. 
  5. ^ Lodderstedt, Torsten; McGloin, Mark; Hunt, Phil (January 2013). Lodderstedt, T, ed. "RFC6819 - OAuth 2.0 Threat Model and Security Considerations". Internet Engineering Task Force (dalam bahasa Inggris). doi:10.17487/RFC6819 . Diarsipkan dari versi asli tanggal 30 June 2020. Diakses tanggal 29 June 2020.  [rfc:6819 OAuth 2.0 Threat Model and Security Considerations]. Internet Engineering Task Force. Accessed January 2015.
  6. ^ "OAuth Security Advisory: 2014.1 "Covert Redirect"". oauth.net. 4 May 2014. Diarsipkan dari versi asli tanggal 21 November 2015. Diakses tanggal 10 November 2014. 
  7. ^ "Serious security flaw in OAuth, OpenID discovered". CNET. 2 May 2014. Diarsipkan dari versi asli tanggal 2 November 2015. Diakses tanggal 10 November 2014. 
  8. ^ "Math student detects OAuth, OpenID security vulnerability". Phys.org. 3 May 2014. Diarsipkan dari versi asli tanggal 6 November 2015. Diakses tanggal 11 November 2014. 
  9. ^ "Covert Redirect". Tetraph. 1 May 2014. Diarsipkan dari versi asli tanggal 10 March 2016. Diakses tanggal 10 November 2014. 
  10. ^ Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama :0
  11. ^ "Authentication - Facebook Developers". Facebook for Developers. Diarsipkan dari versi asli tanggal 23 January 2014. Diakses tanggal 5 January 2020. 
  12. ^ "Using OAuth 2.0 to Access Google APIs | Google Identity Platform". Google Developers. Diarsipkan dari versi asli tanggal 4 January 2020. Diakses tanggal 4 January 2020. 
  13. ^ "v2.0 Protocols - OAuth 2.0 Authorization Code Flow". Microsoft Docs. Diarsipkan dari versi asli tanggal 29 June 2020. Diakses tanggal 29 June 2020. 

Pranala luar sunting

  • oauth.com
  • oauth.net
  • (Inggris) OAuth WG di IETF
  • (Inggris) Google OAuth & Federated Login Research
  • (Inggris) Yahoo! OAuth Quick Start Guide