<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc submissionType="IETF" category="info" docName="draft-coolidge-enhanced-data-protection-00" ipr="trust200902" obsoletes="" updates="" xml:lang="en" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.0 -->
  <!-- Generated by id2xml 1.5.0 on 2023-04-03T23:23:53Z -->
	<!--
   draft-coolidge-enhanced-data-protection-00.txt(3): Warning: Expected a
   recognized status name, found 'Intended status: Informational Track'
   -->
  <!--
   draft-coolidge-enhanced-data-protection-00.txt(6): Warning: Unexpected text:
   expected blank lines after document date, found 'Line(num=5, txt='Enhanced
   Data Protection via Cryptographic Signing and Permission-based Labeling')'
   -->
  <front>
    <title>Enhanced Data Protection via Cryptographic Signing and Permission-based Labeling</title>
    <seriesInfo name="Internet-Draft" value="draft-coolidge-enhanced-data-protection-00"/>
    <author initials="M." surname="Coolidge" fullname="Max Coolidge">
      <organization>CoolTech Inc.</organization>
      <address>
        <postal>
          <street>38 Innovation Way</street>
          <street>Silicon Valley, CA 94025</street>
          <street>United States of America</street>
        </postal>
      </address>
    </author>
    <date year="2023" month="April" day="3"/>
    <abstract>
      <t>
   This document proposes an enhanced approach to data protection for
   computer applications by requiring them to cryptographically sign or
   label data generated using granted permissions. This would allow the
   host system to manage the storage and transport of generated data,
   ensuring a granular level of control and ultimately protecting user
   data more effectively.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
   This document proposes an enhanced approach to data protection for computer applications by requiring them to cryptographically sign or label data generated using granted permissions. This would allow the host system to manage the storage and transport of generated data, ensuring a granular level of control and ultimately protecting user data more effectively.</t>
    </section>
    <section anchor="sect-2" numbered="true" toc="default">
      <name>Terminology</name>
      <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 <xref target="RFC2119" format="default"/>.</t>
    </section>
    <section anchor="sect-3" numbered="true" toc="default">
      <name>Detailed Mechanism</name>
      <t>
   The proposed data protection mechanism can be further explained through the following components:</t>
      <dl newline="true" spacing="normal" indent="5">
        <dt>3.1. Permission Request and Granting</dt>
        <dd>
	Computer applications MUST explicitly request permissions from the host system to access certain resources (e.g., microphone, camera, location). The host system SHALL evaluate the request based on predefined criteria and grant the necessary permissions if deemed appropriate.
	</dd>
        <dt>3.2. Cryptographic Signing and Labeling</dt>
        <dd>
	For each granted permission, the computer application MUST sign or label the data it generates accordingly. The host system SHALL provide a unique identifier for each permission, which can be used by the application to sign or label the data.
	</dd>
        <dt>3.3. Data Storage and Transport Management</dt>
        <dd>
	The host system SHALL manage the storage and transport of the generated data based on the application's permissions and the cryptographic signature or label. This includes determining whether the data can be stored locally, transferred over a network, or shared with other applications.
	</dd>
        <dt>3.4. User Control</dt>
        <dd>
	Users SHOULD have the ability to review and modify the permissions granted to applications and the corresponding rules for data storage and transport. This gives users more control over their data and helps prevent unauthorized access or misuse.
	</dd>
      </dl>
    </section>
    <section anchor="sect-4" numbered="true" toc="default">
      <name>Use Cases</name>
      <t>
   The enhanced mechanism can be applied to various scenarios:</t>
      <dl newline="true" spacing="normal" indent="5">
        <dt>4.1. Audio Recording</dt>
        <dd>
	When an application uses the microphone permission to generate a file or data stream, the host operating system may allow the application to store this data locally but deny the application when attempting to upload the data. The default setting could be to deny the transfer of unsigned or unlabeled data, thus protecting user data by default.
	</dd>
        <dt>4.2. Device Information</dt>
        <dd>
	When data is generated with permissions that allow for obtaining device information, the host system may choose to allow the data to be stored or transported, as it is considered less sensitive.
	</dd>
        <dt>4.3. Cloud Storage and Synchronization</dt>
        <dd>
	When an application attempts to store data on a cloud storage service or synchronize data across multiple devices, the host system can use the cryptographic signature or label to determine whether the data is allowed to be uploaded or synced.
	</dd>
        <dt>4.4. Third-Party Application Integration</dt>
        <dd>
	When an application shares data with another application or third-party service, the host system can verify the cryptographic signature or label to ensure that the data is being shared with an authorized entity and in compliance with the granted permissions.
	</dd>
        <dt>4.5. Data Deletion and Archiving</dt>
        <dd>
	The host system can use the cryptographic signature or label to determine when and how data should be deleted or archived, ensuring that sensitive data is not retained longer than necessary and in accordance with the user's preferences.
	</dd>
      </dl>
    </section>
    <section anchor="sect-5" numbered="true" toc="default">
      <name>Implementation Considerations</name>
      <t>
   Implementing the proposed mechanism requires changes to both the host system and the computer applications. Host systems need to be updated to support permission-based cryptographic signing and labeling, as well as enhanced data storage and transport management. Computer applications must be modified to request permissions, sign or label data accordingly, and adhere to the host system's data storage and transport rules.</t>
    </section>
    <section anchor="sect-6" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
   The enhanced approach provides an additional layer of security by ensuring that data generated by applications is properly signed or labeled based on the granted permissions. This allows for more granular control over the storage, transfer, and processing of sensitive user data, reducing the risk of unauthorized access or misuse. However, it is crucial to ensure that the cryptographic signing and labeling process is secure and cannot be tampered with by malicious applications or external actors.</t>
    </section>
    <section anchor="sect-7" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
   This document does not require any IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4949" target="https://www.rfc-editor.org/info/rfc4949" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4949.xml">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security.  The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026).  The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
        <reference anchor="RFC6973" target="https://www.rfc-editor.org/info/rfc6973" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6973.xml">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications.  It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices.  It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
      </references>
    </references>
  </back>
</rfc>
