Bir partiyi dürüst olmaya nasıl zorlayabilirsiniz (protokol kurallarına uyun)?
Taahhütler, kanıtlar vb. Gibi bazı mekanizmalar gördüm, ancak sadece tüm sorunu çözmediler. Bana öyle geliyor ki, protokol tasarımının yapısı ve bu mekanizmalar işi yapmalı. Herhangi birinin iyi bir sınıflandırması var mı?
Düzenle
Güvenli protokoller tasarlarken, bir partiyi dürüst olmaya zorlarsanız, bu yaptırımın kendi ödemesi olmasına rağmen tasarım çok daha kolay olacaktır. Güvenli protokoller tasarlarken, tasarımcılar benim için gerçekçi görünmeyen bir şey olduğunu, örneğin en kötü durumda dürüst olmak veya kullanıcı verilerini koruyan sunucunun dürüstlüğünü varsaymak gibi bir şey olduğunu varsaydım. Ancak daha katı modellerde protokol tasarımına bakarken, bu tür varsayımları nadiren görüyorsunuz (en azından görmedim - çoğunlukla protokolleri inceliyorumCanetti'nin henüz tamamen resmileştirilmediğini düşündüğüm UC çerçevesi ). Merak ediyordum, bir partiyi dürüst olmaya zorlayabileceğiniz yolların iyi bir sınıflandırması var mı veya giriş protokolünü dürüst taraflardan birine dönüştürebilecek herhangi bir derleyici var mı?
Şimdi bunun neden alakasız görünse de bunun sadece işi yapmadığını düşündüğümü açıklayacağım. İdeal / gerçek paradigmadan yararlanan UC çerçevesinde protokoller tasarlarken, ideal modeldeki her iletişim bağlantısının kimliği doğrulanır, bu gerçek modelde doğru değildir. Dolayısıyla protokol tasarımcıları bu kanalı PKI varsayımı veya bir CRS (Ortak Referans Dizesi) aracılığıyla uygulamak için alternatif yöntemler arar. Ancak kimlik doğrulama protokolleri tasarlanırken, kimlik doğrulamalı kanalların yanlış olduğu varsayılır. UC çerçevesinde bir kimlik doğrulama protokolü tasarladığımızı varsayalım, bir tarafın düşmanının kimliğini geliştirdiği bir saldırı var, ancak ideal modeldeki kimliği doğrulanmış bağlantıların varsayılması nedeniyle bu saldırı bu çerçevede kabul edilmiyor! BaşvurabilirsinizGrup anahtar değişim protokollerine yönelik içeriden saldırıların modellenmesi . Canetti'nin seminal çalışmasında Evrensel olarak düzenlenebilir anahtar değişimi ve güvenli kanal kavramları , kimlik doğrulama protokollerinin güvenliğini sağlamak için yeterli olan SK-Security adlı önceki bir güvenlik kavramından bahsetmektedir. Her nasılsa, bu bağlamda UC tanımının çok kısıtlayıcı olduğunu ve bilgi içermeyen oracle (beni şaşırtan, çünkü bu güvenlik modelini hiçbir yerde görmedim , Bu güvenlik modelini başka bir güvenlik modeliyle eşleştiremiyorum, muhtemelen bilgi eksikliğim: D).
[Bir yan not olarak, simülatör süresine bakılmaksızın neredeyse U-güvenli bir UC'ye dönüştürülmüş Sk-secure protokolüne sahip olabilirsiniz. Örneğin, mesajların imzalarını kaldırabilir ve simülatörün tüm etkileşimleri kukla bir şekilde simüle etmesini sağlayabilirsiniz. Bkz evrensel composable Katkıda Grubu Anahtar Değişimi kanıtı! Şimdi bu polinom birçok taraf ile bir grup anahtar değişim protokolü olduğunu varsayalım, simülatörün verimliliği ne olurdu? Bu forumdaki diğer sorumun kaynağı bu .]
Her neyse, düz modelde (UC üzerinden) bağlılıktan dolayı, bu rahatlama ihtiyacını atlayarak protokolü güvenli hale getirmek için başka yollar aradım. Bu fikir aklımda çok basit ve sadece düz modelde canetti'nin son taahhüt şemasını inceleyerek aklıma geldi: Standart Varsayımlardan Düz Modelde Uyarlanabilir Sertlik ve Kompozit Güvenlik .
BTW, sıfır bilgi ispatı aramıyorum çünkü bilmediğim bir nedenden dolayı, biri eşzamanlı bir protokolde (UC çerçevesi üzerinde) birini kullandığında, diğerleri protokolü verimsiz olarak belirtmiş olabilir ( Simülatörün geri sarılması nedeniyle).