Secure RDTs: Enforcing Access Control Policies for Offline Available JSON Data
Replicated Data Types (RDTs) are a type of data structure that can be replicated over a network, where each replica can be kept (eventually) consistent with the other replicas. They are used in applications with intermittent network connectivity, since local (offline) edits can later be merged with...
Gespeichert in:
Veröffentlicht in: | Proceedings of ACM on programming languages 2023-10, Vol.7 (OOPSLA2), p.146-172, Article 227 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 172 |
---|---|
container_issue | OOPSLA2 |
container_start_page | 146 |
container_title | Proceedings of ACM on programming languages |
container_volume | 7 |
creator | Renaux, Thierry Van den Vonder, Sam De Meuter, Wolfgang |
description | Replicated Data Types (RDTs) are a type of data structure that can be replicated over a network, where each replica can be kept (eventually) consistent with the other replicas. They are used in applications with intermittent network connectivity, since local (offline) edits can later be merged with the other replicas. Applications that want to use RDTs often have an inherent security component that restricts data access for certain clients. However, access control for RDTs is difficult to enforce for clients that are not running within a secure environment, e.g., web applications where the client-side software can be freely tampered with. In essence, an application cannot prevent a client from reading data which they are not supposed to read, and any malicious changes will also affect well-behaved clients. This paper proposes Secure RDTs (SRDTs), a data type that specifies role-based access control for offline-available JSON data. In brief, a trusted application server specifies a security policy based on roles with read and write privileges for certain fields of an SRDT. The server enforces read privileges by projecting the data and security policy to omit any non-readable fields for the user's given role, and it acts as an intermediary to enforce write privileges. The approach is presented as an operational semantics engineered in PLT Redex, which is validated by formal proofs and randomised testing in Redex to ensure that the formal specification is secure. |
doi_str_mv | 10.1145/3622802 |
format | Article |
fullrecord | <record><control><sourceid>acm_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3622802</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>3622802</sourcerecordid><originalsourceid>FETCH-LOGICAL-a239t-53b407d8915eedc78a6756046d63eaf3350bacbc2e5d8dc8dfadefd73c563c023</originalsourceid><addsrcrecordid>eNpNkEtLw0AUhQdRsNTi3tXsXEXnkUkm7kJaX5RGbF2HyZ07EpkmMhMF_72VVnF1DpyPs_gIOefsivNUXctMCM3EEZmINFcJTwU__tdPySzGN8YYL2SqZTEhqzXCR0D6PN_EG7ro3RCg619pCYAx0mroxzB4-jT4DjqMdLfT2jnf9UjLT9N503qkj-t6RedmNGfkxBkfcXbIKXm5XWyq-2RZ3z1U5TIxQhZjomSbstzqgitEC7k2Wa4ylmY2k2iclIq1BloQqKy2oK0zFp3NJahMAhNySi73vxCGGAO65j10WxO-Gs6aHxPNwcSOvNiTBrZ_0O_4DROcV0s</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Secure RDTs: Enforcing Access Control Policies for Offline Available JSON Data</title><source>ACM Digital Library Complete</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>Renaux, Thierry ; Van den Vonder, Sam ; De Meuter, Wolfgang</creator><creatorcontrib>Renaux, Thierry ; Van den Vonder, Sam ; De Meuter, Wolfgang</creatorcontrib><description>Replicated Data Types (RDTs) are a type of data structure that can be replicated over a network, where each replica can be kept (eventually) consistent with the other replicas. They are used in applications with intermittent network connectivity, since local (offline) edits can later be merged with the other replicas. Applications that want to use RDTs often have an inherent security component that restricts data access for certain clients. However, access control for RDTs is difficult to enforce for clients that are not running within a secure environment, e.g., web applications where the client-side software can be freely tampered with. In essence, an application cannot prevent a client from reading data which they are not supposed to read, and any malicious changes will also affect well-behaved clients. This paper proposes Secure RDTs (SRDTs), a data type that specifies role-based access control for offline-available JSON data. In brief, a trusted application server specifies a security policy based on roles with read and write privileges for certain fields of an SRDT. The server enforces read privileges by projecting the data and security policy to omit any non-readable fields for the user's given role, and it acts as an intermediary to enforce write privileges. The approach is presented as an operational semantics engineered in PLT Redex, which is validated by formal proofs and randomised testing in Redex to ensure that the formal specification is secure.</description><identifier>ISSN: 2475-1421</identifier><identifier>EISSN: 2475-1421</identifier><identifier>DOI: 10.1145/3622802</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Availability ; Computer systems organization ; Computing methodologies ; Distributed programming languages ; Distributed systems security ; Security and privacy ; Semantics ; Software and its engineering ; Web application security</subject><ispartof>Proceedings of ACM on programming languages, 2023-10, Vol.7 (OOPSLA2), p.146-172, Article 227</ispartof><rights>Owner/Author</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-a239t-53b407d8915eedc78a6756046d63eaf3350bacbc2e5d8dc8dfadefd73c563c023</cites><orcidid>0000-0002-9241-1098 ; 0000-0002-5229-5627 ; 0000-0002-9301-2187</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://dl.acm.org/doi/pdf/10.1145/3622802$$EPDF$$P50$$Gacm$$Hfree_for_read</linktopdf><link.rule.ids>314,780,784,2282,27924,27925,40196,76228</link.rule.ids></links><search><creatorcontrib>Renaux, Thierry</creatorcontrib><creatorcontrib>Van den Vonder, Sam</creatorcontrib><creatorcontrib>De Meuter, Wolfgang</creatorcontrib><title>Secure RDTs: Enforcing Access Control Policies for Offline Available JSON Data</title><title>Proceedings of ACM on programming languages</title><addtitle>ACM PACMPL</addtitle><description>Replicated Data Types (RDTs) are a type of data structure that can be replicated over a network, where each replica can be kept (eventually) consistent with the other replicas. They are used in applications with intermittent network connectivity, since local (offline) edits can later be merged with the other replicas. Applications that want to use RDTs often have an inherent security component that restricts data access for certain clients. However, access control for RDTs is difficult to enforce for clients that are not running within a secure environment, e.g., web applications where the client-side software can be freely tampered with. In essence, an application cannot prevent a client from reading data which they are not supposed to read, and any malicious changes will also affect well-behaved clients. This paper proposes Secure RDTs (SRDTs), a data type that specifies role-based access control for offline-available JSON data. In brief, a trusted application server specifies a security policy based on roles with read and write privileges for certain fields of an SRDT. The server enforces read privileges by projecting the data and security policy to omit any non-readable fields for the user's given role, and it acts as an intermediary to enforce write privileges. The approach is presented as an operational semantics engineered in PLT Redex, which is validated by formal proofs and randomised testing in Redex to ensure that the formal specification is secure.</description><subject>Availability</subject><subject>Computer systems organization</subject><subject>Computing methodologies</subject><subject>Distributed programming languages</subject><subject>Distributed systems security</subject><subject>Security and privacy</subject><subject>Semantics</subject><subject>Software and its engineering</subject><subject>Web application security</subject><issn>2475-1421</issn><issn>2475-1421</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><recordid>eNpNkEtLw0AUhQdRsNTi3tXsXEXnkUkm7kJaX5RGbF2HyZ07EpkmMhMF_72VVnF1DpyPs_gIOefsivNUXctMCM3EEZmINFcJTwU__tdPySzGN8YYL2SqZTEhqzXCR0D6PN_EG7ro3RCg619pCYAx0mroxzB4-jT4DjqMdLfT2jnf9UjLT9N503qkj-t6RedmNGfkxBkfcXbIKXm5XWyq-2RZ3z1U5TIxQhZjomSbstzqgitEC7k2Wa4ylmY2k2iclIq1BloQqKy2oK0zFp3NJahMAhNySi73vxCGGAO65j10WxO-Gs6aHxPNwcSOvNiTBrZ_0O_4DROcV0s</recordid><startdate>20231016</startdate><enddate>20231016</enddate><creator>Renaux, Thierry</creator><creator>Van den Vonder, Sam</creator><creator>De Meuter, Wolfgang</creator><general>ACM</general><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-9241-1098</orcidid><orcidid>https://orcid.org/0000-0002-5229-5627</orcidid><orcidid>https://orcid.org/0000-0002-9301-2187</orcidid></search><sort><creationdate>20231016</creationdate><title>Secure RDTs: Enforcing Access Control Policies for Offline Available JSON Data</title><author>Renaux, Thierry ; Van den Vonder, Sam ; De Meuter, Wolfgang</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a239t-53b407d8915eedc78a6756046d63eaf3350bacbc2e5d8dc8dfadefd73c563c023</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>Availability</topic><topic>Computer systems organization</topic><topic>Computing methodologies</topic><topic>Distributed programming languages</topic><topic>Distributed systems security</topic><topic>Security and privacy</topic><topic>Semantics</topic><topic>Software and its engineering</topic><topic>Web application security</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Renaux, Thierry</creatorcontrib><creatorcontrib>Van den Vonder, Sam</creatorcontrib><creatorcontrib>De Meuter, Wolfgang</creatorcontrib><collection>CrossRef</collection><jtitle>Proceedings of ACM on programming languages</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Renaux, Thierry</au><au>Van den Vonder, Sam</au><au>De Meuter, Wolfgang</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Secure RDTs: Enforcing Access Control Policies for Offline Available JSON Data</atitle><jtitle>Proceedings of ACM on programming languages</jtitle><stitle>ACM PACMPL</stitle><date>2023-10-16</date><risdate>2023</risdate><volume>7</volume><issue>OOPSLA2</issue><spage>146</spage><epage>172</epage><pages>146-172</pages><artnum>227</artnum><issn>2475-1421</issn><eissn>2475-1421</eissn><abstract>Replicated Data Types (RDTs) are a type of data structure that can be replicated over a network, where each replica can be kept (eventually) consistent with the other replicas. They are used in applications with intermittent network connectivity, since local (offline) edits can later be merged with the other replicas. Applications that want to use RDTs often have an inherent security component that restricts data access for certain clients. However, access control for RDTs is difficult to enforce for clients that are not running within a secure environment, e.g., web applications where the client-side software can be freely tampered with. In essence, an application cannot prevent a client from reading data which they are not supposed to read, and any malicious changes will also affect well-behaved clients. This paper proposes Secure RDTs (SRDTs), a data type that specifies role-based access control for offline-available JSON data. In brief, a trusted application server specifies a security policy based on roles with read and write privileges for certain fields of an SRDT. The server enforces read privileges by projecting the data and security policy to omit any non-readable fields for the user's given role, and it acts as an intermediary to enforce write privileges. The approach is presented as an operational semantics engineered in PLT Redex, which is validated by formal proofs and randomised testing in Redex to ensure that the formal specification is secure.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/3622802</doi><tpages>27</tpages><orcidid>https://orcid.org/0000-0002-9241-1098</orcidid><orcidid>https://orcid.org/0000-0002-5229-5627</orcidid><orcidid>https://orcid.org/0000-0002-9301-2187</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 2475-1421 |
ispartof | Proceedings of ACM on programming languages, 2023-10, Vol.7 (OOPSLA2), p.146-172, Article 227 |
issn | 2475-1421 2475-1421 |
language | eng |
recordid | cdi_crossref_primary_10_1145_3622802 |
source | ACM Digital Library Complete; EZB-FREE-00999 freely available EZB journals |
subjects | Availability Computer systems organization Computing methodologies Distributed programming languages Distributed systems security Security and privacy Semantics Software and its engineering Web application security |
title | Secure RDTs: Enforcing Access Control Policies for Offline Available JSON Data |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T09%3A12%3A03IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Secure%20RDTs:%20Enforcing%20Access%20Control%20Policies%20for%20Offline%20Available%20JSON%20Data&rft.jtitle=Proceedings%20of%20ACM%20on%20programming%20languages&rft.au=Renaux,%20Thierry&rft.date=2023-10-16&rft.volume=7&rft.issue=OOPSLA2&rft.spage=146&rft.epage=172&rft.pages=146-172&rft.artnum=227&rft.issn=2475-1421&rft.eissn=2475-1421&rft_id=info:doi/10.1145/3622802&rft_dat=%3Cacm_cross%3E3622802%3C/acm_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |