home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / pc / crypto / cslbull.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  16.2 KB  |  319 lines

  1.  
  2.                             CSL BULLETIN
  3.                             January 1993
  4.  
  5. DIGITAL SIGNATURE STANDARD
  6. The National Institute of Standards and Technology (NIST) has
  7. proposed a public key-based Digital Signature Standard (DSS). 
  8. This CSL Bulletin provides agencies with information regarding
  9. the proposed standard and describes several applications which
  10. may benefit from the DSS.
  11.  
  12. Background
  13. To reduce costs and increase productivity, many federal
  14. government agencies are transforming paper-based systems into
  15. automated electronic systems.  This trend has brought about a
  16. need for a reliable, cost-effective way to replace a handwritten
  17. signature with a digital signature.  Like a handwritten
  18. signature, a digital signature can be used to identify and
  19. authenticate the originator of the information.  A digital
  20. signature can also be used to verify that information has not
  21. been altered after it is signed; this provides message integrity. 
  22. In August 1991, NIST proposed the DSS as a Federal Information
  23. Processing Standard (FIPS).  The proposed DSS specifies a Digital
  24. Signature Algorithm (DSA) for use in computing and verifying
  25. digital signatures.  
  26.  
  27. Overview of Cryptographic Integrity and the DSS  
  28. Cryptography can be categorized as either secret key cryptography
  29. or public key cryptography.  Secret key cryptography uses a
  30. single cryptographic key shared by two communicating parties. 
  31. For secret key cryptography to be effective, the cryptographic
  32. key must be kept secret and controlled only by the parties that
  33. have access to the key.  FIPS 46-1, Data Encryption Standard
  34. (DES), defines the secret key algorithm to be used by the
  35. government for encrypting unclassified federal information.  
  36.  
  37. Using the DES, a cryptographic checksum known as a Message
  38. Authentication Code (MAC) can be used to provide message
  39. integrity as specified in FIPS 113, Computer Data Authentication. 
  40. When a key is shared only between the sender and receiver, the
  41. MAC can be used to identify the sender of the information to the
  42. receiver.  However, implementations of this technology cannot
  43. inherently be used to prove to a third party that information
  44. actually originated from the sender.  Since both the sender of
  45. the information and the receiver of the information share the
  46. same key, it is possible that the information could have
  47. originated from either party.    
  48.  
  49. Public key cryptography is a form of cryptography which makes use
  50. of two keys:  a public key and a private key.  The two keys are
  51. mathematically related, but the private key cannot be determined
  52. from the public key.  In a system implementing public key
  53. technology, each party has its own public/private key pair.  The
  54. public key can be known by anyone; however, no one should be able
  55. to modify it.  The private key is kept secret.  Its use should be
  56. controlled by its owner and it should be protected against
  57. modification as well as disclosure.  
  58.  
  59. The proposed DSS defines a public key cryptographic system for
  60. generating and verifying digital signatures.  The private key is
  61. randomly generated.  Using this key and a mathematical process
  62. defined in the standard, the public key is generated.  The DSS is
  63. used with the proposed FIPS for a Secure Hash Standard (SHS) to
  64. generate and verify digital signatures.  
  65.  
  66. To generate a signature on a message, the owner of the private
  67. key first applies the Secure Hash Algorithm (SHA), as defined in
  68. the proposed SHS, to the message.  This action results in a
  69. condensed representation of the message known as a message
  70. digest.  The owner of the private key then applies the private
  71. key to the message digest using the mathematical techniques
  72. specified in the DSA to produce a digital signature.  Any party
  73. with access to the public key, message, and signature can verify
  74. the signature using the DSA.  Public keys are assumed to be known
  75. to the public in general.  If the signature verifies correctly,
  76. the receiver (or any other party) has confidence that the message
  77. was signed by the owner of the public key and the message has not
  78. been altered after it was signed.  
  79.  
  80. In addition, the verifier can provide the message, digital
  81. signature, and signer's public key as evidence to a third party
  82. that the message was, in fact, signed by the claimed signer. 
  83. Given the evidence, the third party can also verify the
  84. signature.  This capability, an inherent benefit of public key
  85. cryptography, is called non-repudiation.  The DSS does not
  86. provide confidentiality for information.  If confidentiality is
  87. required, the signer could first apply the DES to the message and
  88. then sign it using the DSA.  The figure below illustrates a
  89. typical use of the DSS.  
  90.  
  91. Applications of Digital Signatures
  92. Because the DSA authenticates both the identity of the signer and
  93. the integrity of the signed information, it can be used in a
  94. variety of applications.  For example, the DSA could be utilized
  95. in an electronic mail system.  After a party generated a message,
  96. that party could sign it using the party's private key.  The
  97. signed message could then be sent to a second party.  After
  98. verifying the received message, the second party would have
  99. confidence that the message was signed by the first party.  The
  100. second party would also know that the message was not altered
  101. after the first party signed it. 
  102.  
  103. In legal systems, it is often necessary to affix a time stamp to
  104. a document in order to indicate the date and time at which the
  105. document was executed or became effective.  An electronic time
  106. stamp could be affixed to documents in electronic form and then
  107. signed using the DSA.  Applying the DSA to the document would
  108. protect and verify the integrity of the document and its time
  109. stamp. 
  110.  
  111. The DSA could also be employed in electronic funds transfer
  112. systems.  Suppose an electronic funds transfer message is
  113. generated to request that $100.00 be transferred from one account
  114. to another.  If the message was passed over an unprotected
  115. network, it may be possible for an adversary to alter the message
  116. and request a transfer of $1000.00.  Without additional
  117. information, it would be difficult, if not impossible, for the
  118. receiver to know the message had been altered.  However, if the
  119. DSA was used to sign the message before it was sent, the receiver
  120. would know the message had been altered because it would not
  121. verify correctly.  The transfer request could then be denied.
  122.  
  123. The DSA could be employed in a variety of business applications
  124. requiring a replacement of handwritten signatures.  One example
  125. is Electronic Data Interchange (EDI).  EDI is the computer-to-
  126. computer interchange of messages representing business documents. 
  127. In the federal government, this technology is being used to
  128. procure goods and services.  Digital signatures could be used to
  129. replace handwritten signatures in these EDI transactions.  For
  130. instance, contracts between the government and its vendors could
  131. be negotiated electronically.  A government procurement official
  132. could post an electronically signed message requesting bids for
  133. office supplies.  Vendors wishing to respond to the request may
  134. first verify the message before they respond.  This action
  135. assures that the contents of the message have not been altered
  136. and that the request was signed by a legitimate procurement
  137. official.  
  138.  
  139. After verifying the bid request, the vendor could generate and
  140. sign an electronic bid.  Upon receiving the bid, the procurement
  141. official could verify that the vendor's bid was not altered after
  142. it was signed.  If the bid is accepted, the electronic message
  143. could be passed to a contracting office to negotiate the final
  144. terms of the contract.  The final contract could be digitally
  145. signed by both the contracting office and the vendor.  If a
  146. dispute arose at some later time, the contents of the contract
  147. and the associated signatures could be verified by a third party.
  148.  
  149. The DSA could also be useful in the distribution of software.  A
  150. digital signature could be applied to software after it has been
  151. validated and approved for distribution.  Before installing the
  152. software on a computer, the signature could be verified to be
  153. sure no unauthorized changes (such as the addition of a virus)
  154. have been made.  The digital signature could be verified
  155. periodically to ensure the integrity of the software.  
  156.  
  157. In database applications, the integrity of information stored in
  158. the database is often essential.  The DSA could be employed in a
  159. variety of database applications to provide integrity.  For
  160. example, information could be signed when it was entered into the
  161. database.  To maintain integrity, the system could also require
  162. that all updates or modifications to the information be signed. 
  163. Before signed information was viewed by a user, the signature
  164. could be verified.  If the signature verified correctly, the user
  165. would know the information had not been altered by an
  166. unauthorized party.  The system could also include signatures in
  167. the audit information to provide a record of users who modified
  168. the information.    
  169.  
  170. These examples show how the DSA can be used in a variety of
  171. applications to improve the integrity of both data and the
  172. application.  CSL anticipates that federal agencies will
  173. incorporate the DSS into a variety of automated electronic
  174. systems that require message integrity and non-repudiation.
  175.  
  176. Security Provided by the DSS
  177. The security provided by any public key cryptographic system
  178. depends on several factors.  Some important considerations are
  179. the mathematical soundness of the algorithm, the management of
  180. keys, and the implementation of the system in an application. 
  181. The safety of the DSA is dependent on the work needed to find or
  182. compute the discrete logarithm of a very large number. 
  183. Mathematicians and computer scientists have been working to find
  184. a simple solution to the problem of finding logarithms for a long
  185. time.  To date, only incremental improvements in computation have
  186. been attained through the use of more powerful computers.  It is
  187. important to understand that an adversary, who does not know the
  188. private parameters of a party, cannot generate the party's
  189. signature.  Therefore, a digital signature cannot be forged. 
  190.  
  191. Digital signatures offer protection not available by alternative
  192. signature techniques.  One such alternative is a digitized
  193. signature.  A digitized signature is generated by converting a
  194. visual form of a handwritten signature to an electronic image.
  195. Although a digitized signature resembles its handwritten
  196. counterpart, it does not provide the same protection as a digital
  197. signature.  Digitized signatures can be forged.  They can also be
  198. duplicated and appended to other electronic data.  Digitized
  199. signatures cannot be used to determine if information has been
  200. altered after it is signed.
  201.  
  202. Supporting Functions 
  203. Functions needed to support the use of the DSS include: 
  204.  
  205. o    The SHS is required to generate a message digest.  A message
  206.      digest is a condensed representation of the information to
  207.      be signed.  Using the SHS, it is computationally infeasible
  208.      to find a message which corresponds to a given message
  209.      digest, or to find two different messages which will produce
  210.      the same message digest.
  211.  
  212. o    To use the DSS, a party must be able to generate random
  213.      numbers to produce the public/private key pair and to
  214.      compute the signature.  Random numbers can be generated
  215.      either by a true noise hardware randomizer or by using a
  216.      pseudorandom number generator.  One approved pseudorandom
  217.      number generator is the key generation methodology found in
  218.      Appendix C of the ANSI X9.17, "Financial Institution Key
  219.      Management (Wholesale)."   
  220.  
  221. o    A means of associating public and private key pairs to the
  222.      corresponding users is required.  That is, there must be a
  223.      binding of a user's identity and the user's public key. 
  224.      This binding may be certified by a mutually trusted party. 
  225.      For example, a certifying authority could sign credentials
  226.      containing a user's public key and identity to form a
  227.      certificate.  Systems for certifying credentials and
  228.      distributing certificates are beyond the scope of the DSS. 
  229.      NIST plans to develop future guidance on certifying
  230.      credentials and distributing certificates.  
  231.  
  232. User, legal, and technical issues related to the establishment
  233. and operation of digital signature infrastructure are being
  234. explored.  For example, users may require the ability to register
  235. their public key in a directory or obtain a time/date stamp for
  236. legal documents.  Legal issues such as the liabilities of the
  237. certificate management authority, the admissibility of digitally
  238. signed evidence, and the responsibilities of various federal
  239. agencies in supporting the use of the DSS must be examined.  Some
  240. technical requirements which must be addressed include the
  241. interrelationships among users and user communities necessary for
  242. providing services such as certifying credentials and
  243. distributing certificates; the need to interoperate with private
  244. sector and international certificate authorities; and the need to
  245. provide users with the ability to withdraw or immediately revoke
  246. their public key and provide notification to the appropriate
  247. certificate and directory authorities.
  248.  
  249. NIST expects that this work will harmonize with applicable
  250. international standards such as CCITT X.400 Recommendations,
  251. standards for electronic mail, and CCITT X.500, standards for
  252. directory services.  As this work progresses, NIST will provide
  253. updates to federal departments and agencies.  
  254.  
  255. Applicability of the DSS
  256. When approved by the Secretary of Commerce, the DSS will be the
  257. governmentwide standard for use by all federal agencies including
  258. defense agencies which require a public key cryptographic
  259. signature system for unclassified information.  
  260.  
  261. In addition, NIST has been informed by Department of Defense
  262. authorities that the DSS may be used to sign unclassified
  263. information processed by "Warner Amendment" systems (10 U.S.C.
  264. 2315 and 44 U.S.C. 3502[2]) and classified data in selected
  265. applications.  
  266.  
  267. The General Accounting Office (GAO) has also issued a decision
  268. regarding the use of electronic signatures to create valid
  269. contractual obligations which can be recorded as consistent with
  270. 31 U.S.C. 1501.  Under Controller General Decision B-245714, the
  271. GAO has concluded that "Electronic Data Interchange (EDI) systems
  272. using message authentication codes which follow NIST's Computer
  273. Data Authentication Standard (Federal Information Processing
  274. Standard [FIPS] 113) or digital signatures following NIST's
  275. Digital Signature Standard, as currently proposed, can produce a
  276. form of evidence that is acceptable under section 1501." 
  277.  
  278. Reference Documents
  279.  
  280. Proposed FIPS for Digital Signature Standard
  281. This proposed standard specifies a Digital Signature Algorithm
  282. appropriate for applications requiring a digital rather than a
  283. written signature.
  284.  
  285. Proposed FIPS for Secure Hash Standard
  286. This proposed standard specifies a Secure Hash Algorithm (SHA)
  287. for use with the proposed Digital Signature Standard. 
  288. Additionally, for applications not requiring a digital signature,
  289. the SHA is to be used whenever a secure hash algorithm is
  290. required for federal applications.
  291.  
  292. FIPS 46-1, Data Encryption Standard (DES)
  293. This standard provides the technical specifications for the DES.
  294.  
  295. FIPS 113, Computer Data Authentication
  296. This standard specifies a Data Authentication Algorithm, based
  297. upon the DES, which may be used to detect unauthorized
  298. modifications to data, both intentional and accidental.  The
  299. Message Authentication Code as specified in ANSI X9.9 is computed
  300. in the same manner as the Data Authentication Code as specified
  301. in this standard.
  302.  
  303. Proposed FIPS 140-1, Security Requirements for Cryptographic
  304. Modules 
  305. This proposed standard establishes the physical and logical
  306. security requirements for the design and manufacture of modules
  307. implementing NIST-approved cryptographic algorithms.
  308.  
  309. NIST Special Publication 800-2, Public Key Cryptography by James
  310. Nechvatal.  This publication presents a survey of the state-of-
  311. the-art of public key cryptography circa 1988-1990.
  312.  
  313. FIPS 171, Key Management Using ANSI X9.17
  314. This standard adopts ANSI X9.17 and specifies a particular
  315. selection of options for the automated distribution of keying
  316. material by the federal government using the protocols of ANSI
  317. X9.17.
  318.  
  319.