💾 Archived View for gemini.bortzmeyer.org › rfc-mirror › rfc7681.txt captured on 2023-06-14 at 15:21:57.
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
Independent Submission J. Davin Request for Comments: 7681 October 2015 Category: Informational ISSN: 2070-1721 Email Exchange of Secondary School Transcripts Abstract A common format simplifies exchange of secondary school academic transcripts via electronic mail. Existing standards are applied to prevent unauthorized alteration of transcript content and to deliver transcripts directly and securely from each student to his or her chosen recipients. By eliminating third-party intervention and surveillance, the defined protocol better protects student privacy and independence than does current practice. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7681. Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Davin Informational [Page 1] RFC 7681 EESST Protocol Specification October 2015 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Design Motivation . . . . . . . . . . . . . . . . . . . . . . 6 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 8 3.1. Student and Originator . . . . . . . . . . . . . . . . . 8 3.1.1. Transcript Requests . . . . . . . . . . . . . . . . . 9 3.2. Student and Recipient . . . . . . . . . . . . . . . . . . 10 4. Transcript Content . . . . . . . . . . . . . . . . . . . . . 13 4.1. School Transcript Preface . . . . . . . . . . . . . . . . 17 4.2. Computational School Transcript . . . . . . . . . . . . . 17 4.3. Display School Transcript . . . . . . . . . . . . . . . . 20 5. Signed School Transcript . . . . . . . . . . . . . . . . . . 21 6. Transcript Transmission . . . . . . . . . . . . . . . . . . . 24 6.1. Encrypted Format . . . . . . . . . . . . . . . . . . . . 27 6.2. Encrypted and Signed Format . . . . . . . . . . . . . . . 28 6.3. Encrypted File Format . . . . . . . . . . . . . . . . . . 30 6.4. Traditional Inline Format . . . . . . . . . . . . . . . . 33 7. Security Considerations . . . . . . . . . . . . . . . . . . . 34 7.1. Originator Private Key . . . . . . . . . . . . . . . . . 35 7.2. Originator Public Key . . . . . . . . . . . . . . . . . . 35 7.3. Originator Certification . . . . . . . . . . . . . . . . 35 7.4. Recipient Public Key . . . . . . . . . . . . . . . . . . 35 7.5. Secure Clients . . . . . . . . . . . . . . . . . . . . . 36 7.6. Automatic Replies . . . . . . . . . . . . . . . . . . . . 36 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 8.1. Registration of Eesst-Version Header . . . . . . . . . . 37 8.2. Registration of Organization Header . . . . . . . . . . . 37 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 38 9.1. Normative References . . . . . . . . . . . . . . . . . . 38 9.2. Informative References . . . . . . . . . . . . . . . . . 38 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 40 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 40 1. Introduction Traditional, paper-based communication of individual student records protects the rights and interests of all stakeholders -- the secondary school officials who curate student records, the students who are both the subjects and distributors of their own individual records, and the college admission officers, prospective employers, and others who, with the permission of individual students, receive and review such records. In the traditional process, when a graduating student applies for employment or admission to an institution of higher learning, she asks the guidance counselor at her secondary school for a transcript of her academic achievements to support her application. In response, the guidance counselor prepares a paper record of that student's achievements and presents Davin Informational [Page 2] RFC 7681 EESST Protocol Specification October 2015 it to her so that she might forward that transcript to whomever she pleases. In order to prevent forgery of academic transcripts, the paper record presented to the student often includes various marks of its authenticity, such as an imprint of the school seal or the signature of an authorized school official. In order to prevent unauthorized alteration of transcript content, the prepared document is sometimes presented to the student inside a sealed postal envelope that cannot easily be opened without detection -- perhaps aided by tamper-proof tape, signed envelope flaps, or even imprinted wax seals. The integrity of the envelope's physical seal assures the recipient that its contents have not been altered in transit; seals and signatures affixed to the enclosed document assure the recipient of the transcript's legitimacy. The student's privacy is assured by her ability to forward the sealed transcript to whomever she pleases without the knowledge of or further consultation with the school. +++ / \ /\ Digital Transcript / \ / \ Via Web or Database Connection / \ / 88 \ / \ / 88 \ \\ // | College | / \ (---) +-------------->> | | | School | +--------->> (###) +---------+ | | | | +--------+ <<... | | Copies of Digital Transcript School Guidance Dept \@| |@ Via Web or Database Connection | | + + +-------+ +++ +------------>> / \ Third-Party Processor / \ Monitors and Controls / \ Student Communication / \ | College | | | +---------+ Figure 1: Corrupted Model for Exchanging Secondary School Transcripts While the traditional process of distributing academic transcripts admirably protects student privacy and prerogatives, that process also requires manual effort from the school staff for the preparation of each transcript. On the premise of reducing that effort, some school officials have gratuitously misapplied technology in a way that guts student privacy and effectively excludes students from their own business. Figure 1 illustrates an increasingly common aberration. Rather than adopting standardized, readily available technology to protect the integrity of transmitted student data -- as Davin Informational [Page 3] RFC 7681 EESST Protocol Specification October 2015 it had once been protected by their own signatures on sealed envelopes -- school officials interpose themselves (or their agents) between students and transcript recipients, claiming falsely that no other approach adequately assures the confidentiality, origin, and integrity of transcript content or the reliability of transcript transmission. By introducing the role of "third-party processor" in Figure 1, educators disrupt what should be private, bilateral relationships between students and their chosen correspondents, implicitly denying the legitimacy of any technical means by which a student might manage and secure his/her own communication. By coercing students into a false choice between surrendering their privacy or accepting the limitations of a neglected, largely manual system, educators and allied service providers gain significant new benefits at student expense. Among these benefits is the creation of an otherwise unneeded educational services industry to mediate communication between students and transcript recipients -- communication that, by the most natural operation of the Internet, would otherwise be end-to-end. A second consequence of coerced mediation is that the mediators gain unfettered control over school records that would otherwise be private and often protected by law. A third consequence of coerced mediation is that mediators can harvest candid data on student behavior outside the secondary school domain. Even the most basic information about college and employment applications, successful or not, individual or in the aggregate, can have significant value for secondary school officials, college administrators, employers, and general marketing professionals. Moreover, although such data is historically private, it is also more valuable and legally less well protected than internal secondary school records. Mediated transcript distribution vitiates student privacy while endowing school bureaucrats and their confederates with undeserved privilege, but these political concessions are utterly unnecessary to automated transcript distribution. As suggested by Figure 2, the political concessions intrinsic to mediated transcript exchange can be largely eliminated by the most straightforward automation of the traditional transcript process. This memo specifies a common format for exchanging secondary school academic transcripts via electronic mail. Because the defined format supports digital signature of transcripts by their originator, a student cannot fabricate or alter transcript information provided by school officials. Because the described format supports encrypted transmission of school transcripts, the distribution of each student's information can remain private and under his or her control. Because the format supports asymmetric cryptography, the origin and integrity of received transcripts can be verified Davin Informational [Page 4] RFC 7681 EESST Protocol Specification October 2015 independently by the recipient; confidential content can be independently recovered by an intended recipient while remaining protected from unauthorized access. Because the Internet email protocol provides fail-safe delivery, transcripts are reliably delivered to their intended recipients, and the sending student is directly notified of any exceptions. No centralized, trusted authority is needed to mediate communication between students, transcript originators, or transcript recipients. Thus, a student's need for an authoritative record of his education cannot be exploited to restrict or monitor his/her free and private interactions with colleges, employers, or others. Students can reclaim control over their own personal information and their relationships with prospective employers and admissions officers; students can prevent surreptitious harvesting of information about their affairs. Last but not least, specialized software is not required by most participants in the school transcript exchange protocol: the needs of all students and many transcript recipients can be met by existing, standards-based, secure email clients. +++ / \ /\ Digitally Signed Transcript / \ / \ Via CD-ROM, Secure Email, etc. / \ / 88 \ / \ / 88 \ --- | College | / \ (0 0) +-------------->> | | | School | +--------->> ( - ) +---------+ | | | | Copies of +--------+ | | Digitally Signed Transcript School Guidance Dept | | Via Secure Email, CD-ROM, etc. | | | | +-------+ +++ 8 8 +------------>> / \ Student / \ Privately and Autonomously / \ Forwards Digitally Signed Transcript / \ | College | | | +---------+ Figure 2: Traditional Model for Exchanging Secondary School Transcripts Davin Informational [Page 5] RFC 7681 EESST Protocol Specification October 2015 The acronym EESST (Email Exchange of Secondary School Transcripts) names the format and methods defined here for securely conveying student academic records under student control. Requirements for implementors of this specification are expressed here using a keyword vocabulary [RFC2119] that is widely understood within the Internet community. 2. Design Motivation Implicit in any protocol definition is some assignment of functions to the various protocol participants. When those participants are administratively independent one from another, binding assignments of protocol function -- which might otherwise seem purely technical choices -- are politically significant. For the sake of transparency, this protocol specification explicitly reckons the political consequences of its implicit design choices. Preparation and delivery of secondary school transcripts most affects the interests of individual students. After all, the process is entirely motivated by a student's need to certify his or her personal academic achievements as evidence of merit for employment, higher education, or other social advancement or reward. Accordingly, individual student needs properly dominate the design of a common system for transcript exchange. Because a secondary school transcript certifies a student's personal merit, students need transcript documents that are credible to recipients -- for which the origin and integrity of transcript content is assured. Because a school transcript records personal information about an individual student, student privacy is paramount: control of transcript distribution must be closely held by the individual student, and each student must be able to protect the confidentiality of his or her transcript in transit. Communication of transcript content between originator, student, and ultimate recipient is most secure only if that communication is end- to-end. While the end-to-end argument [Sal84] is fundamental to the design of the Internet, it is also critical to the design of secure communication protocols (see Section 6.2 of RFC 1958 [RFC1958]). In contrast, securely communicating student information to a centralized (and otherwise uninvolved) third party clearly degrades student privacy and increases cost. Claims to the contrary are at best logically absurd and at worst darkly motivated. After students, transcript handling must address the interests of transcript recipients, which may include college admission officers, prospective employers, and scholarship foundations. Recipients must be able to evaluate the origin and integrity of received transcript Davin Informational [Page 6] RFC 7681 EESST Protocol Specification October 2015 documents easily and independently. Secondarily, recipients may benefit from mechanical extraction and summary of transcript content to support their own internal decision processes. Finally, common transcript handling must address the needs of the transcript originator -- typically a secondary school guidance counselor or other school official. An originator's legitimate interests are reducing the cost of preparing transcript documents and meeting any legal or moral obligations to protect student privacy. Insofar as the very notion of electronic school transcripts implies their automated preparation by computers, dramatic cost reductions over traditional manual processes are also implicit. An originator's obligation to protect student privacy is most elegantly and inexpensively met by simply not conveying transcript information about a particular student to anyone other than that student. A protocol by which students must request transcript distributions addresses no actual student need but, rather, only the legal needs of third parties seeking to intervene in otherwise private communications. The additional effort of formal transcript requests is needed only when a mediating third party is involved, because, in many jurisdictions, sharing personal information with the third party legally requires student consent, and an electronic transcript request may be conveniently construed as implicit consent. Moreover, a formal transcript request-response protocol is not needed to document delivery of a transcript to its intended recipient. When the student, rather than a third party, directly conveys his/her transcript to a chosen recipient, that student has the greatest interest in successful communication, can observe any communication failures firsthand, and can take corrective action if needed. Familiar, standardized protocols provide unambiguous feedback to the student about successful transcript delivery. The SMTP protocol, in particular, is defined and implemented to be fail-safe, as described in Section 4.1.1.4 of its specification [RFC5321]: Receipt of the end of mail data indication requires the server to process the stored mail transaction information. This processing consumes the information in the reverse-path buffer, the forward- path buffer, and the mail data buffer, and on the completion of this command these buffers are cleared. If the processing is successful, the receiver MUST send an OK reply. If the processing fails, the receiver MUST send a failure reply. The SMTP model does not allow for partial failures at this point: either the message is accepted by the server for delivery and a positive response is returned or it is not accepted and a failure reply is returned. In sending a positive "250 OK" completion reply to the end of data indication, the receiver takes full responsibility for Davin Informational [Page 7] RFC 7681 EESST Protocol Specification October 2015 the message (see Section 6.1). Errors that are diagnosed subsequently MUST be reported in a mail message, as discussed in Section 4.4. 3. Protocol Overview Existing, standardized technology simplifies the process of preparing and distributing secondary school transcripts. Using a computerized procedure, a secondary school administrator prepares a digital transcript document that records the academic achievements of a particular student and presents that document to that student. Using postal delivery, secure email, or other method, the student conveys digital copies of the prepared transcript to recipients of his or her choice. Using a computerized procedure, each recipient may independently verify that the received transcript has not been forged or altered in transit. Because the received transcript is digital, each recipient may use computerized procedures to extract and summarize transcript content for local review and processing. Preparing and delivering a secondary school transcript entails interaction among three kinds of participant -- transcript originator, student, and transcript recipient -- each of whom performs a distinct functional role. Interactions between each kind of participant are proscribed below. 3.1. Student and Originator A transcript originator assembles and digitally signs academic transcripts that document the achievements of individual students in a secondary school. The role of transcript originator is frequently filled by the director of a high-school guidance department or other secondary school official. At fixed times throughout the school year, using then-current information from a student database, the guidance director executes a computer program that, for each relevant student, automatically creates an individual transcript report and digitally signs that report on the director's behalf. The format of each signed transcript document is defined in Section 5 below. The principal responsibilities of a transcript originator are: 1. Generate an OpenPGP key pair that can be used to sign school transcripts. 2. Create and securely store a key revocation certificate for the signing key pair for possible future use should it be compromised. Davin Informational [Page 8] RFC 7681 EESST Protocol Specification October 2015 3. Publish on the World Wide Web the public component of the transcript signing key pair, together with its OpenPGP fingerprint. 4. Securely store the private component of the signing key pair and protect its use with a judiciously chosen passphrase known only to the transcript originator. 5. Use the signing key pair to create and digitally sign transcripts for individual students. 6. Present each signed transcript confidentially to the individual student to which it pertains. Once generated by the transcript originator, each transcript is conveyed to the relevant student using any means that protects the confidentiality of individual student data. For example, a digital transcript may be written to a CD-ROM storage disk and presented to the relevant student when he comes to school. Alternatively, that same CD-ROM could be sealed in an envelope and sent to the student via postal delivery. A student could present a USB flash drive in person at the school guidance office, and her digital transcript could be copied onto that drive. A digital school transcript could also be presented to the relevant student as a MIME attachment to an email message that is encrypted according to the OpenPGP specification. When email is used to convey school transcripts to students, formatting such messages as specified in Section 6 below will foster security and interoperability. After a student receives his/her transcript from its originator, that student is solely responsible for conveying that transcript to any recipients of his/her choosing, as described in Section 3.2 below. 3.1.1. Transcript Requests For several reasons, how students request generation of an academic transcript from their secondary school is a local matter that need not and ought not be addressed here. First, the volume of requests for transcripts is likely to be relatively low, because transcripts can be pre-issued to most students (e.g., graduating seniors) who are likely to need them. When transcripts are digital and easily duplicated by the student, there is no need to generate a new transcript document for each desired recipient. Accordingly, most transcript generation is driven not by student requests but rather by content updates arising from the predictable passing of marking periods or academic sessions throughout the school year. Thus, explicit requests for transcript Davin Informational [Page 9] RFC 7681 EESST Protocol Specification October 2015 generation will be the exception rather than the rule -- from students who have lost a previously issued transcript, or students leaving the school prior to their graduation. Second, a historical motivation for formalizing transcript requests has been to satisfy the school's legal obligation to protect student privacy. In many legal jurisdictions, school officials are required to seek student authorization for releasing information to a third party. Elaborate procedures for requesting transcripts are attempts to codify or automate that authorization process. However, because, under the procedure defined here, each student's information is provided only to that student, no authorization for releasing information to a third party is required. Third, a codified transcript request protocol affords almost no benefit beyond enabling third-party processors to assume the role of transcript originator and/or distributor. Students need no formal "acknowledgment" of their transcript requests: the transcript itself serves that purpose. Because a digital transcript is easily generated by an automated procedure, there is no benefit to returning a request acknowledgment rather than the document actually requested. The primary goal of this protocol design is to strengthen student privacy and agency by eliminating third-party intrusion into what would otherwise be private, bilateral interactions between a student and his school. To codify transcript requests is to undercut directly that fundamental purpose, while gratuitously restricting local interactions between student and school. When each student -- rather than a school official or mediating third party -- exercises principal control of distributing his or her own transcript information, any need for transcript requests is largely obviated. Thus, exchanging and processing such requests is properly a local matter and not further addressed here. 3.2. Student and Recipient When a student is asked (e.g., by a college admissions office or prospective employer) to provide an official transcript of his or her academic achievements, that student may send to the requesting party a copy of the digitally signed transcript document that he has previously received from his secondary school. In this context, the party requesting that the student send a transcript is called a transcript recipient. Because it is the student who conveys his own transcript information, he or she unambiguously controls the set of recipients, and neither the secondary school nor any third party is responsible for or privy to the identities of his correspondents. Similarly, the student is responsible for assuring the privacy of his or her personal information as he conveys it to these recipients. Davin Informational [Page 10] RFC 7681 EESST Protocol Specification October 2015 The student may convey his transcript to his chosen recipient using any mutually agreeable strategy. For example, he may print a copy of his transcript onto a postcard and send it via postal delivery. This strategy does not strongly protect the confidentiality of the student's information in transit, nor does this strategy allow the recipient to automate verification or other processing of the received transcript information. Sending a paper transcript sealed in a postal envelope better protects student confidentiality, but similarly restricts the recipient's ability to verify or process transcript contents. By copying his digital transcript onto a CD-ROM storage disk and sending that disk, sealed in a postal envelope, via surface mail, the recipient can automatically verify and process the transcript content, although protection of student confidentiality in transit might be stronger. Alternatively, a student could send a copy of the digital transcript provided by his secondary school merely by attaching the relevant computer file to an email message addressed to the recipient. If the student completely trusts the end-to-end email transmission path from himself to his intended recipient (e.g., if student and recipient are connected by a common, private network), then the student could send his transcript in a plaintext email; otherwise, the student SHOULD encrypt the email contents to protect his privacy during transmission. If a student chooses to convey his/her school transcript to a transcript recipient via electronic mail, then the principal responsibilities of that student are: 1. Create a personal email account and associated email address from which transmissions of the student's signed school transcript may be sent. 2. For each potential recipient of the student's signed school transcript, discover and record the email address and the public OpenPGP key published by that transcript recipient. 3. Import the OpenPGP public key for each chosen recipient into the local OpenPGP key database. 4. Use an email client application that implements the OpenPGP/MIME specification [RFC3156] in order to encrypt and transmit a copy of the signed school transcript to each chosen recipient. Using common formats and methods to convey transcript content protects students while also simplifying processing for transcript recipients. The representation of transcripts as specified in Section 5 and the use of the transmission formats specified in Davin Informational [Page 11] RFC 7681 EESST Protocol Specification October 2015 Section 6 afford privacy and autonomy to students. By using these formats, recipients may independently verify the origin and integrity of the transcript information that students provide. Common transcript representation also allows recipients to automate the storage, analysis, and review of received transcripts. However, a student cannot use the format specified here to convey his/her transcript to a chosen recipient unless that recipient is prepared to participate in the exchange. The principal responsibilities of a transcript recipient are: 1. Generate an OpenPGP key pair that can be used to encrypt student transmissions of signed school transcripts to the recipient. 2. Create and securely store a key revocation certificate for the key pair generated above for possible future use in the event that the private key component is compromised. 3. Create a (preferably dedicated) email address and mailbox to which students may direct transmissions of signed school transcripts. 4. Publish on the World Wide Web both the dedicated transcript email address and the public component of the OpenPGP key pair generated above, together with its OpenPGP fingerprint. 5. Securely store the private component of the OpenPGP key pair generated above and guard its use with a judiciously chosen passphrase known only to the transcript recipient. 6. Assemble a collection of public OpenPGP keys published by legitimate transcript originators. 7. Receive and decrypt transcripts transmitted by students. 8. Validate the origin and integrity of each received transcript using the public OpenPGP key of the relevant transcript originator. The similarity between the EESST transcript format and generic OpenPGP/MIME email messages allows transcript recipients to inspect, verify, and extract received school transcripts using existing, widely deployed email clients. By using email client applications that support both the MIME and OpenPGP specifications, transcript recipients should easily be able to verify the signature of the transcript originator and to save the various transcript components locally for later review or processing. Davin Informational [Page 12] RFC 7681 EESST Protocol Specification October 2015 Using familiar email client applications for receiving and reviewing small numbers of received school transcripts does not preclude using more automated systems to meet the needs of university admissions departments or large employers. Larger-volume transcript recipients might ask students to direct their school transcripts to a particular email mailbox. Transcripts so delivered could be periodically received, validated, and otherwise organized by specialized application software. Information in the computational component of received transcripts might be incorporated into a candidate database to simplify more quantitative evaluations of the applicant pool. 4. Transcript Content The content of a school transcript is represented as a single MIME body part whose content type is "multipart/mixed". This multipart representation comprises individual MIME elements that represent (in order) prefatory comments from the transcript originator regarding the validation and interpretation of the represented transcript (described in Section 4.1), a rendering of the relevant school transcript suitable for automated processing (described in Section 4.2), and a rendering of that same school transcript suitable for human review and consideration (described in Section 4.3). Figure 3 below schematically presents the MIME structure used to represent transcript content; Figure 4 illustrates an example representation of transcript content. Every representation of transcript content MUST include exactly the following set of MIME content headers: Content-Type: This header is defined in Section 5 of the MIME format specification [RFC2045] and, when associated with the content of a signed school transcript, MUST have the value "multipart/ mixed". Content-Description: This header is defined in Section 8 of the MIME format specification [RFC2045]. Its value provides humans with "descriptive information" about the content of the represented school transcript. Notwithstanding the statement in RFC 2045 that a content description header is optional, this header MUST be included in the MIME representation of school transcript content. MIME-Version: This header is defined in Section 4 of the MIME format specification [RFC2045]. Its value identifies the version of the MIME specification to which the associated body part conforms. Currently, the value of this header MUST always be "1.0". Sometimes, the EESST specification can require an appearance of the MIME-Version header where it is not otherwise Davin Informational [Page 13] RFC 7681 EESST Protocol Specification October 2015 strictly required by the MIME format specification. These seemingly gratuitous MIME-Version headers are deliberately introduced to help users who may need to apply less-capable email clients recursively in order to navigate and display a transmitted transcript. Eesst-Version: The value of this header identifies the version of the EESST format to which the represented school transcript conforms. Currently, the value of this header MUST always be "1.0". From: The value of this header identifies the originator of the represented school transcript. This value names the originating official, his organizational title, and includes, enclosed within angle brackets, the identity of the OpenPGP key with which the represented school transcript has been digitally signed. Organization: The value of this header identifies the organization or institution to which the originator of the relevant message belongs. Within a school transcript document, the value of this header identifies the secondary school that has issued the represented school transcript. By convention, the value of this header names the originating institution along with its geographical location. Subject: The value of this header provides humans with "descriptive information" about the semantic content of the represented school transcript. Inclusion of this header is optional, but, if included, its value MUST match that of the "Content- Description" header above. The presence of the "Subject" header helps some email reader applications to present school transcript transmissions more elegantly. Date: The value of this header identifies the date on which the represented school transcript was created, and its format MUST be consistent with Section 3.3 of the specification for email messages [RFC5322]. With the exception of the optional "Subject" header, each header enumerated above must appear in the MIME body part that represents the aggregate content of a school transcript. No other headers are permitted, and the allowed set of headers may appear in any order. Example MIME headers for transcript content are presented in Figure 4. In the figure, "PESC" stands for the Postsecondary Electronic Standards Council; see Section 4.2 for more information. Davin Informational [Page 14] RFC 7681 EESST Protocol Specification October 2015 +--------------------------------------------------+ | TRANSCRIPT CONTENT | | Content-Type: multipart/mixed | | | | +-------------------------------------------+ | | | TRANSCRIPT PREFACE | | | | Content-Type: text/plain | | | | | | | | Body represents transcript preface | | | +-------------------------------------------+ | | | | +-------------------------------------------+ | | | COMPUTATIONAL TRANSCRIPT | | | | Content-Type: application/xml | | | | | | | | Body represents PESC XML computational | | | | transcript | | | +-------------------------------------------+ | | | | +-------------------------------------------+ | | | DISPLAY TRANSCRIPT | | | | Content-Type: application/pdf | | | | | | | | Body represents PDF display transcript | | | +-------------------------------------------+ | +--------------------------------------------------+ Figure 3: MIME Structure of Transcript Content Davin Informational [Page 15] RFC 7681 EESST Protocol Specification October 2015 Content-Type: multipart/mixed; boundary="===============BBBBBBBBBB==" MIME-Version: 1.0 Content-Description: Official School Transcript for Hermione Granger Subject: Official School Transcript for Hermione Granger From: Transcript Authority at Hogwarts School <transcript-authority@hogwarts.edu.example> Organization: Hogwarts School for Witchcraft and Wizardry Eesst-Version: 1.0 Date: Fri, 22 Mar 2013 09:55:06 -0600 --===============BBBBBBBBBB== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="preface.txt" Content-Description: School Transcript Preface To Whom It May Concern: This academic transcript describes the accomplishments of an ... --===============BBBBBBBBBB== Content-Type: application/xml MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="transcript.xml" Content-Description: School Transcript rendered as PESC XML <HSTrn:HighSchoolTranscript=20xmlns:AcRec=3D"urn:org:pesc:sector:Acad ... cord></Student></HSTrn:HighSchoolTranscript> --===============BBBBBBBBBB== Content-Type: application/pdf MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="transcript.pdf" Content-Description: School Transcript rendered as PDF JVBERi0xLjMNCiWTjIueIFJlcG9ydExhYiBHZW5lcmF0ZWQgUERGIGRvY3VtZW50IGh0d ... IC9Sb290IDEwIDAgUg0KIC9TaXplIDE2ID4+DQpzdGFydHhyZWYNCjE3OTIzDQolJUVPR --===============BBBBBBBBBB== Figure 4: Example Transcript Content Davin Informational [Page 16] RFC 7681 EESST Protocol Specification October 2015 4.1. School Transcript Preface A school transcript preface conveys generic comments about a school transcript from the originating school official. This commentary is in a form that is widely readable by humans without special application tools. This commentary SHOULD be generic in character, providing general information about the preparation and interpretation of transcripts issued by the originating institution; the transcript preface SHOULD NOT provide information about an individual student. The rhetorical form of a transcript preface is sometimes that of a cover letter addressed to a generic transcript recipient. For example, a preface could provide instructions on how to verify the digital signature on the transcript or an explanation of unusual grading practices at the issuing school. A school transcript preface is represented as a MIME body part whose content type is "text/plain". When a school transcript is encapsulated for transmission into a larger email message, arbitrary text within a transcript preface could be accidentally misinterpreted as structural MIME boundaries or email headers. The likelihood of such errors is reduced when preface content does not include lines that begin with hyphen (-) characters, angle bracket (>) characters, or the word "From." Although, ideally, the transcript preface should be readable by humans without special assistance, when these constructs absolutely cannot be avoided within preface text, transcript originators SHOULD apply a content transfer encoding to the preface that insulates it from misinterpretation by intermediary mail transfer agents. The representation of a transcript preface SHOULD NOT include any header fields beyond those enumerated in the specification for the format of MIME message bodies [RFC2045]. 4.2. Computational School Transcript A computational school transcript represents the academic accomplishments of an individual student in a form suitable for automated processing. Accordingly, the content of a computational school transcript is rendered in Extensible Markup Language (XML) [XML11] and conveyed as a MIME body part whose content type is "application/xml". The syntax of the data conveyed by a computational transcript MUST conform to the XML schema for High School Transcripts, Version 1.3.0 [Fun12b], published by the Postsecondary Electronic Standards Council (PESC). This XML schema depends in turn upon the Academic Record XML schema, Version 1.7.0 [Fun12a] and the Core Main XML schema, Version 1.2.0 [Mar06], also Davin Informational [Page 17] RFC 7681 EESST Protocol Specification October 2015 published by PESC. Detailed semantics for the data elements defined by these XML schema are defined in the PESC XML implementation guide, Version 1.3.0 [Ste12], which also provides usage examples. In order to protect student privacy, this specification does not require a school transcript to convey any particular student information but, rather, defines only a common format for whatever student information may be voluntarily exchanged between consenting parties. The scope of the information exchanged is a completely local matter, and a transcript originator MAY omit from transcript content any information (e.g., a student's social security number, the identity and location of a student's parents, a student's race, ethnicity, or transgender status) that might be regarded locally as sensitive or irrelevant. Indeed, the requirement that a computational transcript conform syntactically to the PESC XML schema imposes few, if any, constraints upon the transcript originator's choices regarding transcript content. Figure 5 illustrates a minimal set of XML elements that satisfies the syntactic requirements of the PESC XML schema. A computational transcript need convey no more information about an individual student than what little is conveyed by that figure. In order to prevent implicit monitoring and control of student interactions with transcript recipients, this specification restricts certain uses of the PESC XML schema by transcript originators. In every computational transcript, the "Destination" sub-element of the "DataTransmission" element MUST convey no distinguishable information and have the particular representation "<Destination><Organization/></Destination>" that is illustrated in Figure 5. This requirement assures that a student may use self-made copies of a signed transcript document for whatever purposes he/she chooses without further consultation with issuing school officials. If the transcript originator is allowed to brand particular destinations onto each copy of a student transcript, then the originator can easily monitor and (to some degree) control the set of college admissions officers, prospective employers, or other third parties to whom the student is providing that transcript. Transcript recipients MUST reject any transcript whose content in any way specifies or restricts the audience, recipient, or distribution for that transcript. Notwithstanding this restriction upon the "Destination" element, the "Source" element SHOULD be included within a computational transcript and convey information sufficient to identify the secondary school or other institution by which the relevant transcript is issued. Davin Informational [Page 18] RFC 7681 EESST Protocol Specification October 2015 <HSTrn:HighSchoolTranscript xmlns:HSTrn="urn:org:pesc:message:HighSchoolTranscript:v1.3.0" xmlns:AcRec="urn:org:pesc:sector:AcademicRecord:v1.7.0" xmlns:core="urn:org:pesc:core:CoreMain:v1.12.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:org:pesc:message:HighSchoolTranscript:v1.3.0 HighSchoolTranscript_v1.3.0.xsd"> <TransmissionData> <DocumentID>X</DocumentID> <CreatedDateTime>2011-04-04T09:30:47-05:00</CreatedDateTime> <DocumentTypeCode>StudentRequest</DocumentTypeCode> <TransmissionType>MutuallyDefined</TransmissionType> <Source> <Organization/> </Source> <Destination> <Organization/> </Destination> </TransmissionData> <Student> <Person> <Name/> </Person> <AcademicRecord/> </Student> </HSTrn:HighSchoolTranscript> Figure 5: A Minimal Set of PESC XML Elements Additional restrictions on the use of the PESC XML schema foster common, unambiguous interpretation and simplified processing of computational transcripts: 1. In order to satisfy the minimal syntactic requirements of the PESC XML schema, every computational transcript MUST comprise at least those XML elements that appear in Figure 5. Even when a transcript originator seeks to convey no information within a computational transcript, the computational transcript must be included within the relevant transcript content, and its payload must have the form illustrated in Figure 5. 2. Consistent with the PESC XML schema, any value ascribed to the "DocumentID" XML element must be at least one non-whitespace character in length. Davin Informational [Page 19] RFC 7681 EESST Protocol Specification October 2015 3. Consistent with the PESC XML schema, any value ascribed to the "CreatedDateTime" XML element must have the form of an XML "dateTime" value, as defined in Section 3.2.7 of the XML Schema Datatype specification [XSD]. 4. Lest the origin and correct handling for a computational transcript be misunderstood, the value ascribed to the "DocumentTypeCode" XML element MUST be "StudentRequest". 5. Lest the origin and correct handling for a computational transcript be misunderstood, the value ascribed to the "TransmissionType" XML element MUST be "MutuallyDefined". 6. With the exception of those XML elements that appear in Figure 5, information that is not provided in a computational transcript MUST be represented by entirely omitting the relevant XML data element; omitted information MUST NOT be represented by including an XML element whose textual value is of zero length or contains only whitespace. The representation of a computational transcript SHOULD NOT include any header fields beyond those enumerated in the specification for the format of MIME message bodies [RFC2045]. Although any valid content transfer encoding is acceptable for a computational school transcript, the "quoted-printable" encoding is preferred. 4.3. Display School Transcript A display school transcript describes the academic accomplishments of an individual student in a form suitable for human reading and review. A display school transcript is represented as a MIME body part whose content type is "application/pdf" and whose content conforms to the Portable Document Format (PDF) specification [PDF17]. A display school transcript may comprise one or more physical pages. In order to reduce the chance that the recipient of a signed school transcript could misinterpret its content, the computational component (described in Section 4.2 above) and the display component (defined here) of each signed school transcript SHOULD convey, to the greatest degree possible, identical information about the academic accomplishments of the relevant student. Nothing in this specification should be construed as requiring implementation or use of digital signature features embedded in individual PDF documents pursuant to the PDF specification. Rather, the data integrity and origin identity of all components in a school transcript --- including the PDF display transcript --- are adequately protected by the OpenPGP signature of the transcript Davin Informational [Page 20] RFC 7681 EESST Protocol Specification October 2015 originator, required by this specification. Accordingly, implementation of PDF-specific signature features is optional and largely unwarranted; although transcript recipients MUST accept transcripts that include PDF signatures, recipients SHOULD neither verify nor depend upon the embedded signatures themselves. Transcript originators MUST NOT use the encryption features described in the PDF specification to encrypt a display school transcript. The OpenPGP encryption mechanisms specified in Section 6 below adequately protect the confidentiality of student information while in transit. Thus, separately encrypting the display transcript is redundant. Double encryption increases implementation complexity while also increasing security risk by requiring additional key distributions. Transcript recipients MUST NOT accept or process school transcripts for which the PDF display component is independently encrypted. Previous work [RFC3778] identifies security considerations arising from using the PDF as a MIME media type. Among these considerations is that PDF documents may include executable "scripts" or references to external, executable plug-in modules. Including arbitrary executable programs (or references thereto) in a PDF transcript document poses a security risk to transcript recipients. Digitally signing PDF documents (or even the transcripts that contain them) does not help transcript recipients to evaluate the safety of executing any embedded programs or plug-ins. The primary purpose of using PDF is to present static transcript information in an attractive format for human review. Because this limited purpose is admirably served without embedding executable elements in PDF files, any risk posed by their inclusion is unwarranted. Accordingly, transcript originators MUST NOT include in a PDF display transcript any executable scripts or external plug-in references. In order to preclude execution of untrusted programs on their local system, transcript recipients SHOULD use only trusted tools to process and view display transcripts. The representation of a display school transcript SHOULD NOT include any header fields beyond those enumerated in the specification for the format of MIME message bodies [RFC2045]. 5. Signed School Transcript A signed school transcript is a MIME body part whose form corresponds to that of a signed OpenPGP/MIME message, as described in section 5 of the OpenPGP/MIME specification [RFC3156]. Accordingly, the MIME content type of a signed school transcript is "multipart/signed", and its form reflects the traditional use of multipart MIME structures to secure email communication [RFC1847]. Thus, the body of a signed school transcript comprises exactly two parts, as illustrated in Davin Informational [Page 21] RFC 7681 EESST Protocol Specification October 2015 Figure 6. The first part of the signed transcript body conveys the transcript content, in MIME canonical format, including an appropriate set of MIME content headers. The form and interpretation of the transcript content is described in Section 4 above. The second part of the signed transcript body is the school transcript signature. The signature part represents the OpenPGP digital signature of the transcript originator as it has been applied to the transcript content conveyed by the first part of the signed transcript. The transcript signature is assigned the content type "application/pgp-signature". Transcript recipients MUST reject transcripts that are not validly signed pursuant to the specification for OpenPGP signatures [RFC3156]. +--------------------------------------------------+ | SIGNED TRANSCRIPT | | Content-Type: multipart/signed | | | | +-------------------------------------------+ | | | TRANSCRIPT CONTENT | | | | Content-Type: multipart/mixed | | | | | | | | Body represents transcript content | | | +-------------------------------------------+ | | | | +-------------------------------------------+ | | | TRANSCRIPT SIGNATURE | | | | Content-Type: application/pgp-signature | | | | | | | | Body represents OpenPGP signature over | | | | transcript content | | | +-------------------------------------------+ | +--------------------------------------------------+ Figure 6: MIME Structure of Signed Transcript With the sole exception of the "Content-Type" header, the MIME content headers for each signed school transcript MUST correspond exactly to those for the embedded transcript content, as described above in Section 4. For a signed school transcript, the value of the "Content-Type" header MUST be "multipart/signed", its parameters MUST conform to those described in Section 5 of the MIME/OpenPGP specification [RFC3156], and the value of the "boundary" parameter shall, of course, differ from all other boundary parameter values within the same message. Figure 7 presents example headers for a signed school transcript. Although the allowed headers may appear in any order, transcript recipients MUST reject signed transcripts for which the set of included headers differs from the set of headers associated with the embedded transcript content. Davin Informational [Page 22] RFC 7681 EESST Protocol Specification October 2015 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="pgp-sha256"; boundary="===============AAAAAAAAAA==" MIME-Version: 1.0 Content-Description: Official School Transcript for Hermione Granger Subject: Official School Transcript for Hermione Granger From: Transcript Authority at Hogwarts School <transcript-authority@hogwarts.edu.example> Organization: Hogwarts School for Witchcraft and Wizardry Eesst-Version: 1.0 Date: Fri, 22 Mar 2013 09:55:06 -0600 --===============AAAAAAAAAA== Content-Type: multipart/mixed; boundary="===============BBBBBBBBBB==" MIME-Version: 1.0 Content-Description: Official School Transcript for Hermione Granger ... Transcript Content as illustrated in Figure 4 ... --===============BBBBBBBBBB==-- --===============AAAAAAAAAA== Content-Type: application/pgp-signature; name="signature.asc" MIME-Version: 1.0 Content-Description: OpenPGP signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQEcBAABAgAGBQJRmkkLAAoJEBzD54azv/d4j4gH/1Aj8poEHLsEhxdv26H76URX ... 8/SQRZGUGUC0xSej5uQMVI59Yriy3dedlzib7EadK6fnz70SsEzUcQy5lHFkNNA= =8QLW -----END PGP SIGNATURE----- --===============AAAAAAAAAA==-- Figure 7: Example Signed School Transcript The "Eesst-Version" header serves a crucial if non-obvious purpose for protocol implementors. The presence of this header unambiguously distinguishes a signed school transcript from elements of an enveloping email message by which that transcript may be conveyed. For good reason, the format defined here for signed school transcripts intentionally shares many characteristics with the standard format for OpenPGP/MIME messages [RFC3156]. This similarity Davin Informational [Page 23] RFC 7681 EESST Protocol Specification October 2015 not only admits some code reuse within recipient implementations, but, most importantly, also allows transcript recipients to inspect, verify, and extract received school transcripts using existing, widely deployed email clients. However, the formal similarity between signed school transcripts and generic signed messages can complicate recipient implementations of the transcript exchange protocol, because every signed body part must be fully evaluated to determine its status. When a signed school transcript is conveyed to its recipient enclosed within a signed OpenPGP email message, both transcript and conveying message share the common MIME type "multipart/signed". Moreover, both signed transcript and its conveying message share a common, high-level structure comprising exactly two MIME body parts, independently representing the signed content and the applied digital signature. When a "multipart/signed" MIME body part is encountered as part of a received email message, should that body part be construed as a proper signed school transcript, a signed email message by which a school transcript is conveyed, ill-formed school transcript, or something else altogether? Without additional information, unambiguously answering these questions requires that every signed body part be fully verified, parsed, validated, and checked, because, absent additional information, a receiving implementation cannot know what tests need to be applied. Thus, the "Eesst-Version" header serves at least two important functions. Most obviously, this header identifies what version of the EESST format has been applied in preparation of the relevant transcript. Although, currently, the only acceptable version of the EESST format is 1.0, to deny even the possibility of future protocol evolution is to deny the lessons of history. Less obviously, the "Eesst-Version" header allows simple, unambiguous detection of signed school transcripts while still allowing transcript recipients to validate and review school transcripts using familiar, widely available email clients. For these reasons, the "Eesst-Version" header MUST be included in signed school transcripts and their content component, but, in order to most fully realize its value as syntactic disambiguator, the "Eesst-Version" header MUST NOT appear anywhere else. 6. Transcript Transmission Provided that the transcript originator is prohibited from disclosing personal information without student consent, use of the EESST protocol empowers each student to limit sharing of his or her own school transcript to recipients chosen by that student. The design of the protocol not only protects the confidentiality of transcript content in transit but also increases the cost of surveillance by the Davin Informational [Page 24] RFC 7681 EESST Protocol Specification October 2015 school or other interested parties of the student's interactions with colleges, prospective employers, or other third parties. A student may convey his signed school transcript to his chosen recipient using any medium or technology that is agreeable to them both. For example, a student may copy his signed digital transcript onto a CD-ROM storage disk and send that physical medium to his intended recipient via a postal mail service. However, because email will frequently be the most convenient means for students to distribute their transcripts, this specification defines a common email format by which each student may privately convey his/her signed school transcript to each recipient. A common form for transcript transmission simplifies implementations of the transcript exchange protocol and fosters their interoperability. A common format allows high-volume transcript recipients to automate decryption and validation of received transcripts as well as their preparation for subsequent review and analysis. A common format that derives from existing email standards allows low-volume transcript recipients to use popular email client software to receive, decrypt, validate, and review transcripts. When a student conveys his transcript to a recipient via email, that student's confidential transcript information is vulnerable to interception and disclosure. In order to mitigate this threat, this specification generally requires that the conveying email message be encrypted as described in the OpenPGP standard [RFC3156]. Every transcript recipient MUST be prepared to accept all transcript transmissions that are encrypted as described in any of the sections below. A student SHOULD use either the encrypted transmission format (Section 6.1) or the encrypted and signed transmission format (Section 6.2), if he or she independently trusts that the transmitting computer will correctly transmit his or her transcript according to the OpenPGP/MIME specification without disclosing its plaintext content. Otherwise, students MAY use the encrypted file transmission format (Section 6.3) or traditional inline transmission format (Section 6.4) below. These latter formats simplify using a more trusted computer to encrypt a student's transcript and later transferring its encrypted form to a less trusted computer for transmission to the chosen recipient. Because transcript transmissions must be encrypted in order to assure student privacy, every potential transcript recipient MUST generate an OpenPGP key pair and publish its public component for use by students in the preparation of those transmissions. The public key for each transcript recipient should be published (together with its OpenPGP fingerprint) on the web page for that recipient or in the global OpenPGP key database. To protect the privacy of personal information transmitted to each chosen recipient, a student need only Davin Informational [Page 25] RFC 7681 EESST Protocol Specification October 2015 retrieve the published key for that recipient and use it to encrypt the transcript transmission. With some effort, however, an attacker could, by masquerading as a legitimate transcript recipient, perhaps trick a student into transmitting private information to the attacker, encrypted in a key that is known to the attacker. In order to protect student privacy in the face of such attacks, a transcript recipient should resist successful forgery of his/her OpenPGP identity by asking other trustworthy individuals (e.g., respected colleagues or institutional officers) to certify that identity. An OpenPGP identity is certified by affixing another's digital signature to the associated OpenPGP key (see Section 12 of the OpenPGP message format specification [RFC4880] and Section 3 in the GNU Privacy Handbook [GPH]). Those who sign a recipient's public key are implicitly vouching for the association between that key and the true identity of the recipient. Consistent with the view that the student bears primary responsibility for the privacy of his/her transcript information, the student is ultimately responsible for evaluating the authenticity of public keys that he/ she uses to encrypt that information while in transit. Adding certifying signatures to a recipient's key reduces the chance that a student could be deceived by an imposter. In order to maximize student privacy and autonomy, the operation of this protocol sharply separates the function of transcript creation from the function of transcript transmission. The former function is assigned exclusively to the issuing secondary school (the transcript originator), while the latter function is assigned exclusively to the individual student. Participants in the protocol must behave so as to preserve the privacy afforded by this separation. A transcript originator MUST NOT transmit, share, or distribute a school transcript or any component thereof to any party other than the individual student to whom it pertains. A transcript recipient MUST reject any transcript that seems to have been transmitted by or on behalf of anyone but the student. Although non-student transcript transmission can be difficult to detect reliably, certain transmission characteristics unambiguously suggest abuse of student prerogatives. Accordingly, all recipient implementations MUST detect and reject transcript transmissions with any of the following characteristics: o A transcript recipient MUST reject any transcript that is delivered in the same email message or on the same physical storage medium as any other. o A transcript recipient MUST reject any transcript for which the transcript originator and the sender of the transcript transmission are identical. Davin Informational [Page 26] RFC 7681 EESST Protocol Specification October 2015 o A transcript recipient MUST reject any transcript for which the transcript originator (who signs that transcript) and the signer of the transcript transmission are identical. o A transcript recipient MUST reject any transcript for which the received transcript transmission is addressed to multiple recipients. 6.1. Encrypted Format In the encrypted transmission format, the signed school transcript is conveyed to a single recipient as a MIME attachment to an OpenPGP encrypted email message. Consistent with Section 4 of the OpenPGP/ MIME specification [RFC3156], the transmission email message must have MIME content type "multipart/encrypted", and, as illustrated in Figure 8, the body of the message must comprise exactly two parts. The first body part must have MIME content type "application/ pgp-encrypted", and its content must include only the literal value "Version: 1" on a line by itself. The second body part must have MIME content type "application/octet-stream". Its content is the result of applying the OpenPGP encryption algorithm to the MIME canonical representation of the relevant signed school transcript. +--------------------------------------------------+ | ENCRYPTED TRANSCRIPT TRANSMISSION | | Content-Type: multipart/encrypted | | | | +-------------------------------------------+ | | | GRATUITOUS TEXTUAL PREAMBLE | | | | Content-Type: application/pgp-encrypted | | | | | | | | Body is literal "Version: 1" | | | +-------------------------------------------+ | | | | +-------------------------------------------+ | | | ENCRYPTED SIGNED TRANSCRIPT | | | | Content-Type: application/octet-stream | | | | | | | | Body represents OpenPGP encryption of | | | | signed school transcript | | | +-------------------------------------------+ | +--------------------------------------------------+ Figure 8: MIME Structure of Encrypted Transcript Transmission Davin Informational [Page 27] RFC 7681 EESST Protocol Specification October 2015 6.2. Encrypted and Signed Format In the encrypted and signed transmission format, the signed school transcript is conveyed to a single recipient as an attachment to an OpenPGP encrypted and signed email message. Consistent with Section 6.1 of the OpenPGP/MIME specification [RFC3156], preparation of a message in this format is a two-stage process. During this process, the transcript transmission is, first, digitally signed by the transmitting student and, second, encrypted to protect student information from disclosure to anyone but the lone recipient. +--------------------------------------------------+ | SIGNED TRANSCRIPT TRANSMISSION | | Content-Type: multipart/signed | | | | +-------------------------------------------+ | | | SIGNED TRANSMISSION CONTENT | | | | Content-Type: multipart/signed | | | | | | | | Body is signed school transcript | | | +-------------------------------------------+ | | | | +-------------------------------------------+ | | | TRANSMISSION SIGNATURE | | | | Content-Type: application/pgp-signature | | | | | | | | Body is OpenPGP signature over signed | | | | transmission content | | | +-------------------------------------------+ | +--------------------------------------------------+ Figure 9: MIME Structure of Signed Transcript Transmission The first stage of preparing an encrypted and signed transcript transmission is applying the student's signature to the transmission content. As illustrated in Figure 9, the resulting MIME body part has content type "multipart/signed" and comprises exactly two parts. The first part is the signed transmission content and corresponds to the signed school transcript in its entirety, whose structure is illustrated in Figure 6. The second part is the transmission signature. Its MIME content type is "application/pgp-signature", and its content is the result of applying the OpenPGP signature algorithm, using the student's private key, to the transmission content, the canonical representation of the signed school transcript, which is already signed by the transcript originator. Davin Informational [Page 28] RFC 7681 EESST Protocol Specification October 2015 +--------------------------------------------------+ | ENCRYPTED TRANSCRIPT TRANSMISSION | | Content-Type: multipart/encrypted | | | | +-------------------------------------------+ | | | GRATUITOUS TEXTUAL PREAMBLE | | | | Content-Type: application/pgp-encrypted | | | | | | | | Body is literal "Version: 1" | | | +-------------------------------------------+ | | | | +-------------------------------------------+ | | | ENCRYPTED SIGNED TRANSCRIPT | | | | Content-Type: application/octet-stream | | | | | | | | Body represents OpenPGP encryption of | | | | signed transcript transmission | | | +-------------------------------------------+ | +--------------------------------------------------+ Figure 10: MIME Structure of Encrypted Transcript Transmission The second stage of preparing an encrypted and signed transcript transmission is wrapping the result of the first stage into an OpenPGP encrypted message, protecting student information from disclosure to anyone but the lone recipient. As illustrated in Figure 10, the encrypted transcript transmission has the form proscribed in Section 6.1 of the OpenPGP/MIME specification. The MIME content type is "multipart/encrypted" and the result comprises exactly two body parts. The first body part must have MIME content type "application/pgp-encrypted", and its content must include only the literal value "Version: 1" on a line by itself. The second body part must have MIME content type "application/octet-stream". Its content is the result of applying the OpenPGP encryption algorithm to the MIME canonical representation of the relevant signed transcript transmission, which was produced during the first stage of the two- stage process. Davin Informational [Page 29] RFC 7681 EESST Protocol Specification October 2015 6.3. Encrypted File Format Privacy protections afforded by the EESST protocol depend upon the assumption that the computer used by the student to transmit his or her school transcript reliably executes the required EESST protocol operations without disclosing confidential information. In particular, the transmitting computer is assumed to prevent any access to the plaintext form of a school transcript by anyone but the student. The hardware and software of the transmitting computer is assumed to be free of any flaws that could weaken the encryption applied to his or her transcript. The transmitting computer is also assumed to send the transcript reliably and directly to each chosen recipient without reporting to any third party either the fact of this transmission or the identity of the recipient. Validating these assumptions can be especially problematic when the student does not unilaterally own and control the transmitting computer. Sometimes the computer from which a student must transmit his or her transcript cannot reasonably be trusted. Indeed, some email client implementations manifestly do not permit students to compose a secure email message without sharing private information with either their email provider, system administrator, or other third party. Web- based email clients are perhaps the most obvious and widespread example of intrinsically insecure email platforms: neither cryptographic keys nor plaintext message content can be safely stored or processed on such systems. Another example of intrinsically insecure platforms are computers and email servers provided for student use by schools, to which, as a practical matter, school administrators and technical staff enjoy unrestricted access. A student may use the encrypted file transmission format when the computer that he or she must use to transmit his or her transcript cannot be trusted to perform the necessary encryption correctly or without disclosing the plaintext transcript. This format simplifies using a more trusted computer to encrypt a student's transcript and later transferring its encrypted form to a less trusted computer for transmission to the chosen recipient. For example, the student may use an implementation of the OpenPGP cryptographic algorithms on a trusted computer to encrypt the plaintext version of his or her signed school transcript, received from the transcript originator. The key used for this encryption is the public OpenPGP key of the intended transcript recipient. The binary file that results from this encryption is then transferred (e.g., via a USB flash drive or networked file transfer protocol) to a less trusted computer for email transmission to the chosen recipient. On this less trusted computer, the student invokes an email client application to compose and send a plaintext email Davin Informational [Page 30] RFC 7681 EESST Protocol Specification October 2015 message (for example, see Figure 11) to the recipient that is formatted according to the MIME specification [RFC2045]. The binary file containing the encrypted version of the student transcript is included in the message as a MIME attachment whose content type is "application/octet-stream". When the email message is received by the transcript recipient, the MIME attachment containing the encrypted school transcript may be detached and saved as a binary file on the local disk. A local OpenPGP implementation is invoked to decrypt the saved file using the private OpenPGP encryption key generated by the transcript recipient. The process of detaching and decrypting the attached school transcript may be automated by large-volume transcript recipients. Davin Informational [Page 31] RFC 7681 EESST Protocol Specification October 2015 Message-ID: <55650A7F.7090800@granger-dentistry.com.example> Date: Tue, 26 May 2015 20:06:23 -0400 From: Hermione Granger <hermione@granger-dentistry.com.example> MIME-Version: 1.0 To: Dean Vernon Wormer <transcript-receiver@faber.edu.example> Subject: Transmission of School Transcript Content-Type: multipart/mixed; boundary="------------010307000006020005010307" This is a multi-part message in MIME format. --------------010307000006020005010307 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Dear Dean Wormer: Please find attached my high school transcript, encrypted in the public encryption key published by Faber College for transcript transmission. I stored the plaintext signed transcript that I received from my high school on my own secure computer under the filename TrnGranger.eml and encrypted its contents for transmission by invoking the following command: gpg --encrypt --recipient transcript-receiver@faber.edu TrnGranger.eml The resulting encrypted file, TrnGranger.eml.gpg, is attached to this email message. Save that file to the disk on your local computer and decrypt the transcript by invoking the command: gpg --output TrnGranger.eml --decrypt TrnGranger.eml.gpg Sincerely, Hermione Granger --------------010307000006020005010307 Content-Type: application/octet-stream; name="TrnGranger.eml.gpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="TrnGranger.eml.gpg" hQEMA4Fu2Js7ulkaAQf/aeiLeoy9L+YddGr0HieHd3KH3wiqLnaImsBaLfboGx+EdTIRn ... cSJlVDOZKj6nPULT5zqYsfTEHPf+5escZab4J2Rkt/w1BhNDtulNJrbv6q2lk3xBzlt+Z kQ== --------------010307000006020005010307-- Figure 11: Encrypted File Transcript Transmission Davin Informational [Page 32] RFC 7681 EESST Protocol Specification October 2015 6.4. Traditional Inline Format A student may use the traditional inline transmission format when the computer that he or she must use to transmit his or her transcript cannot be trusted to perform the necessary encryption correctly or without disclosing the plaintext transcript. In common with the encrypted file transmission format described above (Section 6.3), the traditional inline format simplifies using a more trusted computer to encrypt a student's transcript and later transferring its encrypted form to a less trusted computer for transmission to the chosen recipient. The traditional inline format allows a student to use an implementation of the OpenPGP cryptographic algorithms on a trusted computer to encrypt the plaintext version of his or her signed school transcript, received from the transcript originator. The key used for this encryption is the public OpenPGP key of the intended transcript recipient. The encrypted transcript is represented as an ASCII-armored text file that is then transferred (e.g., via a USB flash drive or networked file transfer protocol) to a less trusted computer for email transmission to the chosen recipient. On this less trusted computer, the student invokes an email client application to compose and send a plaintext email message to the recipient. The content of the ASCII-armored file containing the encrypted version of the student transcript is pasted (or otherwise inserted) into the new email message as the sole content of its body. A traditional inline transcript transmission has the form of a simple email message (in the Internet Message Format [RFC5322]) whose body is exclusively and entirely the encrypted form of the signed school transcript being transmitted. Representation of the included transcript MUST conform to the OpenPGP Message Format specification [RFC4880] for the ASCII-armored encoding of the OpenPGP encryption of the canonical MIME representation of the relevant signed school transcript. An example inline transcript transmission is illustrated in Figure 12. When the email message is received by the transcript recipient, a local OpenPGP implementation is invoked to extract and decrypt the inline representation of the encrypted school transcript, using the private OpenPGP encryption key generated by the transcript recipient. The process of extracting and decrypting the transmitted school transcript may be automated by large-volume transcript recipients. While the traditional inline format is an acceptable method of secure transcript transmission, it is probably best suited to students who lack ready alternatives. Because inline representation of OpenPGP messages can sometimes be incompatible with other email features and Davin Informational [Page 33] RFC 7681 EESST Protocol Specification October 2015 conventions, the encrypted file format may be a better alternative for transcript transmissions when the transmitting computer cannot be trusted. A brief essay by Josefsson [Jos07] identifies multiple difficulties that can arise from use of inline OpenPGP, although none is strictly relevant to a correctly formed EESST transcript transmission. Accordingly, the traditional inline format may be used when needed but only with full consideration of its potential limitations on interoperability. Return-Path: <hermione@granger-dentistry.com.example> Delivered-To: transcript-receiver@faber.edu.example MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain Date: Wed, 3 Jul 2013 12:40:01 -0400 From: Hermione Granger <hermione@granger-dentistry.com.example> To: Transcript Receiver at Faber College <transcript-receiver@faber.edu.example> Subject: Encrypted Inline Transmission of School Transcript X-Mailer: smtp-cli 3.3, see http://smtp-cli.logix.cz Content-Transfer-Encoding: 8bit Message-ID: <1372869801.14441.1.camel@hermione> -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.10 (GNU/Linux) hQEMA4Fu2Js7ulkaAQf9Fm4+75kE6gQ1T8pjzf4GJhtBqxTTh2AaGtKZkZy9TW8h zsbSNzZuTVf8QvJRSfk0mZywRG42dilf4Zoygpj3xJgKf7JlCEXnY5m4Luq5hvnW ... hKgY5Kye/cu/4qwYdFOiljkMR1tv1Avh37OmmcMOZ6Hy9gbdrgQzHsPVWLDQNUYy jxUAN8thZooRj/jHgq23EZaNyKxD =Dga7 -----END PGP MESSAGE----- Figure 12: Traditional Inline Signed Transcript Transmission 7. Security Considerations The security of the EESST protocol depends upon the security of the OpenPGP protocols on which it is based. Although the cryptographic algorithms included in OpenPGP are among the strongest used in any known protocol, the integrity, authenticity, and confidentiality of conveyed student information is not assured unless EESST protocol implementors and users faithfully observe all requirements and recommendations of the relevant specifications ([RFC4880], [RFC3156], and [RFC4270]). In particular, the SHA-256 digest algorithm and RSA key lengths of at least 2048 bits MUST be used. Happily, these are supported by all major OpenPGP implementations. Davin Informational [Page 34] RFC 7681 EESST Protocol Specification October 2015 7.1. Originator Private Key The authority and integrity of generated school transcripts depend on the continued secrecy of the private cryptographic key by which those transcripts are signed. For greatest security, the guidance director should be physically present when and where the computer program is invoked to generate and sign the transcripts. When an OpenPGP public-private key pair is generated for use by a transcript originator, a key revocation certificate should also be generated and securely stored. In the event that the generated key pair is compromised, the stored revocation certificate may be used to notify others to reject subsequent uses of that key. 7.2. Originator Public Key The public cryptographic key for each transcript originator should be published (together with its OpenPGP fingerprint) on the web page for the originating institution and/or in the global OpenPGP key database. Instructions for retrieving and validating the originator's public key should be included in the preface of all issued transcripts. An association of school guidance professionals may wish to publish an online collection of OpenPGP public keys submitted by their members. A college admissions officer (or other high-volume transcript recipient) could then download and import this key collection into a local key database for use in verifying received transcripts. 7.3. Originator Certification In order to reduce the chance that an imposter might successfully masquerade as a particular transcript originator and substitute a false key for the authentic one, the identification of each transcript originator with a particular OpenPGP key should be certified by other well-known, trustworthy officials. To this end, the public key for a transcript originator should be signed by other officials of the originating secondary school, e.g., its principal, senior faculty, or local school board members. The OpenPGP public keys of these certifying officials should be published. 7.4. Recipient Public Key The public cryptographic key for each transcript recipient should be published (together with its OpenPGP fingerprint) on the web page for the receiving institution and/or in the global OpenPGP key database. Davin Informational [Page 35] RFC 7681 EESST Protocol Specification October 2015 7.5. Secure Clients The cryptographic operations upon which the security properties of this protocol depend must be performed in private by the relevant stakeholder. The confidentiality of a student's personal transcript information cannot be sustained if others enjoy unauthorized access to that content during the process of encryption. The integrity of an originator's signature on each transcript cannot be assured if others can learn the originator's secret key by observing the signature process. The confidentiality of personal information sent by many students to a particular transcript recipient cannot be assured if others can learn that recipient's secret key by observing the decryption of received transcripts. Therefore, every stakeholder should perform the cryptographic operations proscribed here only when present at a physically isolated computer that is entirely controlled by that stakeholder and that locally stores all keys and confidential information. Using "thin clients" or web-based computing to perform sensitive cryptographic operations forfeits whatever protections this protocol might have otherwise afforded. 7.6. Automatic Replies Recipient implementations should not reply automatically or routinely to received transcript transmissions. Such replies could provide valuable feedback to an attacker, especially if they can be elicited at will. 8. IANA Considerations The EESST exchange format is compatible with and entails no alterations to existing email standards. Indeed, the syntactic similarity between the exchange format and standardized email message formats empowers users to apply widely deployed email tools to verify, interpret, or otherwise manipulate secondary school transcripts. In the hope of preventing any incompatibilities that could arise from future standards evolution or changes in common usage, this section describes the registration of two message header fields that are used in the EESST exchange format but currently lack any formal definition in existing standards. Consistent with registration procedures defined in RFC 3864 [RFC3864], the subsections below describe additions to the "Message Headers" registry maintained by the Internet Assigned Numbers Authority. Davin Informational [Page 36] RFC 7681 EESST Protocol Specification October 2015 8.1. Registration of Eesst-Version Header The "Eesst-Version" message header field is completely internal to the EESST transcript format, and, indeed, explicitly precluded from appearing within an enveloping email message (see Section 5). Registration has been completed in order to discourage its use in other contexts. Header field name: Eesst-Version Applicable protocol: mail Status: provisional Author/Change controller: James R. Davin info@eesst.org http://www.eesst.org Specification document(s): RFC 7681 Related information: The value of this header field identifies the version of the EESST exchange format to which the represented school transcript conforms. This header may appear only within EESST school transcripts. 8.2. Registration of Organization Header The EESST exchange format entails use of the "Organization" message header field to identify the originating institution for a student transcript. A header field of this name and semantics is already defined for use within network news articles (see [RFC5536]). Moreover, the "Organization" header field also frequently appears in electronic mail messages, although, perhaps surprisingly, it currently lacks any explicit, written definition in that context. This registration publicly documents ongoing use of this header field and may discourage incompatible uses in future. Header field name: Organization Applicable protocol: mail Status: informational Author/Change controller: James R. Davin info@eesst.org http://www.eesst.org Davin Informational [Page 37] RFC 7681 EESST Protocol Specification October 2015 Specification document(s): RFC 7681 Related information: The value of this header field identifies the organization or institution to which the originator of the relevant message belongs. Note: this field is quite distinct from the mail address fields MTS.OrganizationName and MTS.OrganizationalUnitNames used in X.400 mail. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>. 9.2. Informative References [Fun12a] Funck, J., "XML Schema for the PESC Format for Academic Record Data Elements, Version 1.7.0", June 2012, <http://www.pesc.org/library/docs/standards/ High%20School%20Transcript/AcademicRecord_v1.7.0.xsd>. [Fun12b] Funck, J., "XML Schema for the PESC Format for High School Transcripts, Version 1.3.0", June 2012, <http://www.pesc.org/library/docs/standards/ High%20School%20Transcript/ HighSchoolTranscript_v1.3.0.xsd>. [GPH] Ashley, J., "The GNU Privacy Handbook", 1999, <https://www.gnupg.org/gph/en/manual.pdf>. [Jos07] Josefsson, J., "Inline OpenPGP Considered Harmful", April 2007, <http://josefsson.org/ inline-openpgp-considered-harmful.html>. [Mar06] Marton, B., "XML Schema for the PESC Format for Core Main Data Elements, Version 1.2.0", February 2006, <http://www.pesc.org/library/docs/standards/ High%20School%20Transcript/CoreMain_v1.2.0.xml>. Davin Informational [Page 38] RFC 7681 EESST Protocol Specification October 2015 [PDF17] Adobe Systems, Inc., "Document Management - Portable Document Format - Part 1: PDF 1.7, First Edition", July 2008, <http://wwwimages.adobe.com/www.adobe.com/content/ dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf>. [RFC1847] Galvin, J., Murphy, S., Crocker, S., and N. Freed, "Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted", RFC 1847, DOI 10.17487/RFC1847, October 1995, <http://www.rfc-editor.org/info/rfc1847>. [RFC1958] Carpenter, B., Ed., "Architectural Principles of the Internet", RFC 1958, DOI 10.17487/RFC1958, June 1996, <http://www.rfc-editor.org/info/rfc1958>. [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, <http://www.rfc-editor.org/info/rfc2045>. [RFC3156] Elkins, M., Del Torto, D., Levien, R., and T. Roessler, "MIME Security with OpenPGP", RFC 3156, DOI 10.17487/RFC3156, August 2001, <http://www.rfc-editor.org/info/rfc3156>. [RFC3778] Taft, E., Pravetz, J., Zilles, S., and L. Masinter, "The application/pdf Media Type", RFC 3778, DOI 10.17487/RFC3778, May 2004, <http://www.rfc-editor.org/info/rfc3778>. [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration Procedures for Message Header Fields", BCP 90, RFC 3864, DOI 10.17487/RFC3864, September 2004, <http://www.rfc-editor.org/info/rfc3864>. [RFC4270] Hoffman, P. and B. Schneier, "Attacks on Cryptographic Hashes in Internet Protocols", RFC 4270, DOI 10.17487/RFC4270, November 2005, <http://www.rfc-editor.org/info/rfc4270>. [RFC4880] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R. Thayer, "OpenPGP Message Format", RFC 4880, DOI 10.17487/RFC4880, November 2007, <http://www.rfc-editor.org/info/rfc4880>. [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, DOI 10.17487/RFC5321, October 2008, <http://www.rfc-editor.org/info/rfc5321>. Davin Informational [Page 39] RFC 7681 EESST Protocol Specification October 2015 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, DOI 10.17487/RFC5322, October 2008, <http://www.rfc-editor.org/info/rfc5322>. [RFC5536] Murchison, K., Ed., Lindsey, C., and D. Kohn, "Netnews Article Format", RFC 5536, DOI 10.17487/RFC5536, November 2009, <http://www.rfc-editor.org/info/rfc5536>. [Sal84] Saltzer, J., Reed, D., and D. Clark, "End-to-End Arguments in System Design", ACM Transactions on Computer Systems 2(4), DOI 10.1145/357401.357402, November 1984, <http://dx.doi.org/10.1145/357401.357402>. [Ste12] Stewart, T., "Implementation Guide for the Postsecondary Electronic Standards Council XML Standard Format for the High School Transcript, Version 1.3.0", July 2012, <http://www.pesc.org/library/docs/standards/ High%20School%20Transcript/XML%20HS%20Transcript%20Impl%20 Guide%20Version%201.3.0%202012%2007%2026.pdf>. [XML11] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., Yergeau, F., and J. Cowan, "Extensible Markup Language (XML) 1.1 (Second Edition)", W3C Recommendation REC-xml11-20060816, August 2006, <http://www.w3.org/TR/2006/REC-xml11-20060816>. [XSD] Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes Second Edition", W3C Recommendation REC-xmlschema-2-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. Acknowledgments Derek Atkins, Paul Hoffman, and Werner Koch provided independent reviews of this memo. Fred Baker, Dave Crocker, Keith Moore, and Chris Newman provided comments and questions about drafts of this document. Author's Address James R. Davin Email: info@EESST.org URI: http://EESST.org/ Davin Informational [Page 40]