Apakah OpenID ini mudah diretas atau saya melewatkan sesuatu?


18

Bagi para Pihak yang Mengandalkan (RP) yang memungkinkan pengguna untuk menentukan Penyedia OpenID (OP), menurut saya lebih daripada siapa pun yang mengetahui atau menebak OpenID Anda.

  1. Masukkan alamat OP mereka sendiri.
  2. Apakah itu memvalidasi mereka sebagai pemilik OpenID Anda.
  3. Akses akun Anda di RP.

RP "bisa" mengambil tindakan untuk mencegah hal ini dengan hanya mengizinkan OpenID untuk divalidasi oleh OP asli, tetapi ...

  1. Bagaimana Anda tahu mereka melakukannya?
  2. Anda tidak akan pernah bisa mengubah OP Anda tanpa mengubah OpenID Anda.

Jawaban:


7

OpenID adalah salah satu sistem di mana Anda harus mempercayai titik akhir. Jika RP tidak dapat dipercaya, maka keracunan asosiasi semacam ini sepenuhnya mungkin. Jika RP benar-benar dapat dipercaya, maka serangan seperti ini JAUH lebih sulit. 'Bekerja di sekitar' untuk tidak rentan terhadap serangan ini adalah untuk memasukkan prinsip keamanan lokal (pada ServerFault ini akan menjadi representasi nama pengguna Anda di database ujung belakang) dengan titik akhir OpenID asing (URL OpenID, ServerFault memungkinkan Anda untuk mengaitkan beberapa ini).

Anda masih dapat menyerang melalui serangan keracunan DNS pada bagian RP, sehingga, katakanlah * .livejournal.com dialihkan ke OP yang telah Anda buat untuk serangan itu. Tapi itu serangan keracunan DNS, bukan kesalahan pada OpenID itu sendiri. OpenID hanya rentan terhadap poisioning DNS.


Dalam hal ini RP yang dapat dipercaya bisa menjadi tidak dapat dipercaya karena mereka menganggap bahwa OpenID aman dalam dirinya sendiri.
David

Setelah membaca ini saya menemukan diri saya di openid.net, dan hal pertama yang saya lihat adalah judul "Yayasan Identitas Internet" di latar belakang foto stok tiga tangan bermain Jenga - masing-masing mengambil sepotong dari yang sangat tidak stabil- menara tampak.
Andreas

2

Saya pikir Anda membingungkan OpenID dan bagian lain dari Keamanan Pengguna. OP Anda adalah mekanisme otentikasi, bukan akun Anda. Di sini di ServerFault, Anda memiliki akun. Akun itu tidak memiliki sarana otentikasi dengan sendirinya; kecuali Anda arahkan ke satu OP atau lebih.

Ketika Anda mencoba masuk ke Akun Anda di sini sebagai SF, ia meminta OP Anda untuk menangani Otentikasi. Hanya satu OP (atau beberapa OP, namun Anda sudah mengaturnya) yang dapat mengotentikasi Anda untuk keperluan Akun SF Anda.

Ada tiga bagian sistem login yang khas (disebut triple "A", atau hanya "AAA"):

  • Akuntansi - Melacak nama dan informasi spesifik Anda di situs (seperti pos, pesan, dll)
  • Otentikasi - Melacak bagaimana memastikannya benar-benar Anda (biasanya kata sandi)
  • Otorisasi - Terus melacak izin Anda (baca atau tulis akses ke berbagai hal)

Anda dapat membaca lebih lanjut tentang sistem AAA di Wikipedia.


Jika saya diizinkan menentukan OP apa pun setiap kali saya masuk, maka pengguna jahat juga dapat menentukan OP apa pun ketika mencoba meretas akun saya. Jadi mereka menentukan OP mereka sendiri dan mendapatkan akses.
David

Tidak, Anda hanya mengizinkannya, setelah login, untuk menambahkan poin OpenID tambahan untuk akun mereka. SO melakukannya dengan cara ini.
ceejayoz

2
@ David, ketika Anda login, Anda tidak menentukan akun dan OpenID Anda hanya menentukan OpenID . OpenID itu harus sudah terhubung ke akun, jika tidak Anda mendapatkan opsi untuk membuat akun baru (setidaknya di sini di SF).
Chris S

1

David, anggapanmu salah. OpenID berfungsi seperti ini: 1) Anda ingin masuk ke situs relyingparty.com 2) Anda memberi relyingparty.com OpenID Anda, mis. David.com 3) relyingparty.com memeriksa david.com (hei, ini URL) untuk jadi disebut titik akhir OpenID yang dapat ditemukan di david.com tetapi melalui cara pendelegasian juga di tempat lain, misalnya yahoo.com atau google.com. sebut saja davidsopenidprovider.com 4) Anda diarahkan ke davidsopenidprovider.com sekarang. Tugas davidsopenidprovider.com adalah untuk mengotentikasi Anda. Anda harus masuk ke davidsopenidprovider.com. Terserah davidsopenidprovider.com cara masuk ini berfungsi. Itu bisa nama pengguna / kata sandi, bisa kartu informasi, sertifikat browser, sidik jari, kartu pintar, mekanisme out-of-band seperti verifikasi panggilan, ... Terserah davidsopenidprovider. com bagaimana menangani otentikasi. Lalu ia bertanya apakah Anda benar-benar ingin masuk ke relyingparty.com. 5) Jika Anda berhasil masuk ke davidsopenidprovider.com, Anda akan diarahkan kembali ke relyingparty.com dan secara otomatis masuk ke sana. 6) davidsopenidprovider.com hanya meyakinkan relyingparty.com bahwa Anda adalah diri Anda yang sebenarnya. Itu tidak mengirim kata sandi.

Jadi, asumsi Anda "Sebagai konsumen, Ketika saya membuat akun di situs-anda.com, saya tidak memiliki gagasan tentang kecerdasan pengembang / pengelola situs." salah dalam hal OpenID. Jika ada titik lemah, itu penyedia tetapi bukan situs-.com. Itulah masalah dengan login nama pengguna / kata sandi tradisional sekarang. Anda harus mempercayai setiap situs yang menawarkan login seperti itu dan tidak hanya satu, penyedia OpenID Anda.

Saya harap ini membantu memahami OpenID.


0

Bagaimana Anda tahu mereka melakukannya?

Cara yang sama Anda tahu bahwa situs lama mana pun meneruskan kata sandi Anda kepada orang lain - Anda tidak. Itu sebabnya Anda menggunakan apa yang cenderung menjadi perusahaan terkemuka.

Anda tidak akan pernah bisa mengubah OP Anda tanpa mengubah OpenID Anda.

Tentu kamu bisa. Lihatlah ke delegasi OpenID.

OpenID saya adalah http://ceejayoz.com/ , tetapi OP saya adalah WordPress.com. Dua METAtag di kepala http://ceejayoz.com/ memungkinkan saya untuk melakukan ini, dan saya dapat mengubahnya kapan saja saya mau.


0

OpenID Anda adalah penyedia Anda. pwnguin.netadalah openID saya. Ini tidak bisa ditebak, itu hanya fakta yang diketahui. Apa yang melindungi openID saya adalah perangkat lunak yang berjalan di pwnguin.net, yang hanya menjawab dalam afirmatif jika pengunjung tersebut memiliki cookie auth.

Saya tidak akan mengatakan openID aman; ada semua jenis skrip lintas situs yang dapat berlangsung, atau detail biasa yang cenderung saya abaikan atau salah.


0

Inilah yang saya kumpulkan dari balasan di sini ...

OpenID hanya seaman pihak-pihak yang terlibat dan itu berlaku untuk setiap metode otentikasi. Saya menyadari bahwa sebelum saya memulai diskusi ini.

Masalah dengan OpenID, sepertinya bagi saya adalah dua kali lipat ...

  1. LoginID Anda tidak lagi menjadi rahasia yang dibagikan hanya antara Anda dan situs tempat Anda menggunakannya. Ini adalah OpenID Anda dan dikenal oleh setiap situs tempat Anda menggunakannya, dan ini adalah sesuatu yang mudah ditebak seperti alamat email atau sesuatu yang berasal dari alamat email Anda atau sesuatu yang serupa.

  2. RP dapat mengimplementasikan OpenIP di situs mereka tanpa melakukan uji tuntas dengan asumsi bahwa karena mereka menggunakan 'protokol' yang diterima secara luas maka itu aman. Memang, sebagian besar pengembang situs web run-of-the-mill tidak memiliki konsep sebenarnya tentang cara mengamankan situs tetapi, jika mereka menerapkan keamanan mereka sendiri, setidaknya masalah # 1 tidak ikut berperan.

Sebagai konsumen, Ketika saya membuat akun di any-site.com, saya tidak memiliki gagasan tentang kecerdasan pengembang / pengelola situs. Saya menggunakan ID yang saya pikir tidak akan mudah ditebak. Saya tidak ingin serverfault.com mengetahui ID yang saya gunakan untuk masuk ke Etrade.com. Saya juga menggunakan kata sandi yang berbeda di setiap situs dan mengelola kata sandi itu dengan skema saya sendiri. Sangat tidak mungkin akun saya akan terdiri kecuali operator situs adalah total idiot.

Dengan OpenID, semua orang di WEB tahu cara kerjanya dan cara menyerangnya, seandainya RP tidak memiliki langkah yang tepat.

Saya suka perangkat lunak open source, tetapi dalam kasus OpenID saya pikir itu membuka kemungkinan bahwa akan ada implementasi yang lebih rendah tersedia untuk pengadopsi yang tidak curiga.

Saya pikir ini semua bisa diselesaikan dengan segel persetujuan yang ditandatangani yang meyakinkan konsumen bahwa situs tersebut telah lulus audit dan tidak dapat diretas untuk diretas.

Mungkin aku hanya paranoid.


Saya tahu ini lama tetapi, mengetahui "id" openid tidak berguna ... google misalnya menggunakan url yang sama persis untuk pengguna tunggal exery. Bagaimana mengetahui bahwa hal itu membantu Anda masuk ke stackoverflow seperti saya (selain mengetahui bahwa jika Anda dapat meretas akun google saya, Anda dapat diautentikasi seperti saya, tetapi itu tidak berbeda dengan "lupa nama pengguna / kata sandi").
jmoreno
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.