All current approaches for statically enforcing differential privacy in higher order languages make use of either linear or relational refinement types. A barrier to adoption for these approaches is the lack of support for expressing these "fancy types" in mainstream programming languages. For example, no mainstream language supports relational refinement types, and although Rust and modern versions of Haskell both employ some linear typing techniques, they are inadequate for embedding enforcement of differential privacy, which requires "full" linear types a la Girard. We propose a new type system that enforces differential privacy, avoids the use of linear and relational refinement types, and can be easily embedded in mainstream richly typed programming languages such as Scala, OCaml and Haskell. We demonstrate such an embedding in Haskell, demonstrate its expressiveness on case studies, and prove that our type-based enforcement of differential privacy is sound.
翻译:目前所有静态地强制执行较高等级语言中差异隐私权的方法都使用线性或关系改进类型。这些方法的采用障碍是缺乏支持,在主流编程语言中表达这些“租赁类型 ” 。例如,主流语言不支持关系改进类型,尽管拉斯特和现代版本的哈斯凯尔都采用某些线性打字技术,但这些方法不足以嵌入差异隐私的强制执行,这需要“全”线性一类的Girard。我们提议一种新的类型系统,强制实施差异隐私,避免使用线性和关系改进类型,并容易嵌入主流丰富类型编程语言,如Scala、OCaml和Haskell。我们展示了这种嵌入Haskell的功能,展示了其在案例研究中的清晰度,并证明我们基于类型对差异隐私的强制执行是稳妥的。