Home > Computing and Information Technology > Computer networking and communications > Network security > Implementing SSL / TLS Using Cryptography and PKI
24%
Implementing SSL / TLS Using Cryptography and PKI

Implementing SSL / TLS Using Cryptography and PKI

4.4       |  5 Reviews 
5
4
3
2
1

International Edition


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Quantity:
Add to Wishlist

About the Book

Hands-on, practical guide to implementing SSL and TLS protocols for Internet security If you are a network professional who knows C programming, this practical book is for you.  Focused on how to implement Secure Socket Layer (SSL) and Transport Layer Security (TLS), this book guides you through all necessary steps, whether or not you have a working knowledge of cryptography. The book covers SSLv2, TLS 1.0, and TLS 1.2, including implementations of the relevant cryptographic protocols, secure hashing, certificate parsing, certificate generation, and more.  Coverage includes: Understanding Internet Security Protecting against Eavesdroppers with Symmetric Cryptography Secure Key Exchange over an Insecure Medium with Public Key Cryptography Authenticating Communications Using Digital Signatures Creating a Network of Trust Using X.509 Certificates A Usable, Secure Communications Protocol: Client-Side TLS Adding Server-Side TLS 1.0 Support Advanced SSL Topics Adding TLS 1.2 Support to Your TLS Library Other Applications of SSL A Binary Representation of Integers: A Primer Installing TCPDump and OpenSSL Understanding the Pitfalls of SSLv2 Set up and launch a working implementation of SSL with this practical guide.

Table of Contents:
Introduction xxvii Chapter 1 Understanding Internet Security 1 What Are Secure Sockets? 2 “Insecure” Communications: Understanding the HTTP Protocol 4 Implementing an HTTP Client 5 Adding Support for HTTP Proxies 12 Reliable Transmission of Binary Data with Base64 Encoding 17 Implementing an HTTP Server 21 Roadmap for the Rest of This Book 27 Chapter 2 Protecting Against Eavesdroppers with Symmetric Cryptography 29 Understanding Block Cipher Cryptography Algorithms 30 Implementing the Data Encryption Standard (DES) Algorithm 31 DES Initial Permutation 34 DES Key Schedule 38 DES Expansion Function 40 DES Decryption 45 Padding and Chaining in Block Cipher Algorithms 46 Using the Triple-DES Encryption Algorithm to Increase Key Length 55 Faster Encryption with the Advanced Encryption Standard (AES) Algorithm 60 AES Key Schedule Computation 60 AES Encryption 67 Other Block Cipher Algorithms 83 Understanding Stream Cipher Algorithms 83 Understanding and Implementing the RC4 Algorithm 84 Chapter 3 Converting a Block Cipher to a Stream Cipher: The OFB and COUNTER Block-Chaining Modes 90 Secure Key Exchange over an Insecure Medium with Public Key Cryptography 91 Understanding the Theory Behind the RSA Algorithm 92 Performing Arbitrary Precision Binary Math to Implement Public-Key Cryptography 93 Implementing Large-Number Addition 93 Implementing Large-Number Subtraction 98 Implementing Large-Number Multiplication 101 Implementing Large-Number Division 106 Comparing Large Numbers 109 Optimizing for Modulo Arithmetic 112 Using Modulus Operations to Efficiently Compute Discrete Logarithms in a Finite Field 113 Encryption and Decryption with RSA 114 Encrypting with RSA 115 Decrypting with RSA 119 Encrypting a Plaintext Message 120 Decrypting an RSA-Encrypted Message 124 Testing RSA Encryption and Decryption 126 Achieving Perfect Forward Secrecy with Diffie-Hellman Key Exchange 130 Getting More Security per Key Bit: Elliptic Curve Cryptography 132 How Elliptic Curve Cryptography Relies on Modular Inversions 135 Using the Euclidean Algorithm to compute Greatest Common Denominators 135 Computing Modular Inversions with the Extended Euclidean Algorithm 137 Adding Negative Number Support to the Huge Number Library 138 Supporting Negative Remainders 147 Making ECC Work with Whole Integers: Elliptic-Curve Cryptography over Fp 150 Reimplementing Diffie-Hellman to Use ECC Primitives 150 Why Elliptic-Curve Cryptography? 154 Chapter 4 Authenticating Communications Using Digital Signatures 157 Using Message Digests to Create Secure Document Surrogates 158 Implementing the MD5 Digest Algorithm 159 Understanding MD 5 160 A Secure Hashing Example 161 Securely Hashing a Single Block of Data 166 MD5 Vulnerabilities 169 Increasing Collision Resistance with the SHA- 1 Digest Algorithm 171 Understanding SHA-1 Block Computation 171 Understanding the SHA-1 Input Processing Function 174 Understanding SHA-1 Finalization 176 Even More Collision Resistance with the SHA- 256 Digest Algorithm 180 Preventing Replay Attacks with the HMAC Keyed-Hash Algorithm 184 Implementing a Secure HMAC Algorithm 186 Completing the HMAC Operation 190 Creating Updateable Hash Functions 190 Defining a Digest Structure 191 Appending the Length to the Last Block 194 Computing the MD5 Hash of an Entire File 196 Where Does All of This Fit into SSL? 200 Understanding Digital Signature Algorithm (DSA) Signatures 201 Implementing Sender-Side DSA Signature Generation 202 Implementing Receiver-Side DSA Signature Verification 205 How to Make DSA Efficient 209 Getting More Security per Bit: Elliptic Curve DSA 210 Rewriting the Elliptic-Curve Math Functions to Support Large Numbers 211 Implementing ECDSA 215 Generating ECC Keypairs 218 Chapter 5 Creating a Network of Trust Using X.509 Certificates 221 Putting It Together: The Secure Channel Protocol 222 Encoding with ASN.1 225 Understanding Signed Certificate Structure 225 Version 226 serialNumber 227 signature 227 issuer 229 validity 232 subject 233 subjectPublicKeyInfo 235 extensions 237 Signed Certificates 238 Summary of X.509 Certificates 241 Transmitting Certificates with ASN.1 Distinguished Encoding Rules (DER) 241 Encoded Values 241 Strings and Dates 242 Bit Strings 243 Sequences and Sets: Grouping and Nesting ASN.1 Values 243 ASN.1 Explicit Tags 244 A Real-World Certificate Example 244 Using OpenSSL to Generate an RSA KeyPair and Certificate 244 Using OpenSSL to Generate a DSA KeyPair and Certificate 251 Developing an ASN.1 Parser 252 Converting a Byte Stream into an ASN.1 Structure 252 The asn1parse Code in Action 259 Turning a Parsed ASN.1 Structure into X.509 Certificate Components 264 Joining the X.509 Components into a Completed X. 509 Certificate Structure 268 Parsing Object Identifiers (OIDs) 270 Parsing Distinguished Names 271 Parsing Certificate Extensions 275 Signature Verification 279 Validating PKCS #7-Formatted RSA Signatures 280 Verifying a Self-Signed Certificate 281 Adding DSA Support to the Certificate Parser 286 Managing Certificates 292 How Authorities Handle Certificate Signing Requests (CSRs) 292 Correlating Public and Private Keys Using PKCS # 12 Formatting 293 Blacklisting Compromised Certificates Using Certificate Revocation Lists (CRLs) 294 Keeping Certificate Blacklists Up-to-Date with the Online Certificate Status Protocol (OCSP) 295 Other Problems with Certificates 296 Chapter 6 A Usable, Secure Communications Protocol: Client-Side TLS 297 Implementing the TLS 1.0 Handshake (Client Perspective) 299 Adding TLS Support to the HTTP Client 300 Understanding the TLS Handshake Procedure 303 TLS Client Hello 304 Tracking the Handshake State in the TLSParameters Structure 304 Describing Cipher Suites 308 Flattening and Sending the Client Hello Structure 309 TLS Server Hello 316 Adding a Receive Loop 317 Sending Alerts 318 Parsing the Server Hello Structure 319 Reporting Server Alerts 323 TLS Certificate 324 TLS Server Hello Done 328 TLS Client Key Exchange 329 Sharing Secrets Using TLS PRF (Pseudo-Random Function) 329 Creating Reproducible, Unpredictable Symmetric Keys with Master Secret Computation 336 RSA Key Exchange 337 Diffie-Hellman Key Exchange 343 TLS Change Cipher Spec 344 TLS Finished 346 Computing the Verify Message 347 Correctly Receiving the Finished Message 352 Secure Data Transfer with TLS 353 Assigning Sequence Numbers 353 Supporting Outgoing Encryption 355 Adding Support for Stream Ciphers 358 Updating Each Invocation of send_message 359 Decrypting and Authenticating 361 TLS Send 364 TLS Receive 365 Implementing TLS Shutdown 368 Examining HTTPS End-to-end Examples (TLS 1.0) 369 Dissecting the Client Hello Request 370 Dissecting the Server Response Messages 372 Dissecting the Key Exchange Message 373 Decrypting the Encrypted Exchange 374 Exchanging Application Data 377 Differences Between SSL 3.0 and TLS 1.0 378 Differences Between TLS 1.0 and TLS 1.1 379 Chapter 7 Adding Server-Side TLS 1.0 Support 381 Implementing the TLS 1.0 Handshake from the Server’s Perspective 381 TLS Client Hello 387 TLS Server Hello 390 TLS Certificate 391 TLS Server Hello Done 393 TLS Client Key Exchange 394 RSA Key Exchange and Private Key Location 395 Supporting Encrypted Private Key Files 399 Checking That Decryption was Successful 406 Completing the Key Exchange 407 TLS Change Cipher Spec 409 TLS Finished 409 Avoiding Common Pitfalls When Adding HTTPS Support to a Server 411 When a Browser Displays Errors: Browser Trust Issues 412 Chapter 8 Advanced SSL Topics 415 Passing Additional Information with Client Hello Extensions 415 Safely Reusing Key Material with Session Resumption 420 Adding Session Resumption on the Client Side 421 Requesting Session Resumption 422 Adding Session Resumption Logic to the Client 422 Restoring the Previous Session’s Master Secret 424 Testing Session Resumption 425 Viewing a Resumed Session 427 Adding Session Resumption on the Server Side 428 Assigning a Unique Session ID to Each Session 429 Adding Session ID Storage 429 Modifying parse_client_hello to Recognize Session Resumption Requests 433 Drawbacks of This Implementation 435 Avoiding Fixed Parameters with Ephemeral Key Exchange 436 Supporting the TLS Server Key Exchange Message 437 Authenticating the Server Key Exchange Message 439 Examining an Ephemeral Key Exchange Handshake 442 Verifying Identity with Client Authentication 448 Supporting the CertificateRequest Message 449 Adding Certificate Request Parsing Capability for the Client 450 Handling the Certificate Request 452 Supporting the Certificate Verify Message 453 Refactoring rsa_encrypt to Support Signing 453 Testing Client Authentication 458 Viewing a Mutually-Authenticated TLS Handshake 460 Dealing with Legacy Implementations: Exportable Ciphers 463 Export-Grade Key Calculation 463 Step-up Cryptography 465 Discarding Key Material Through Session Renegotiation 465 Supporting the Hello Request 466 Renegotiation Pitfalls and the Client Hello Extension 0xFF01 468 Defending Against the Renegotiation Attack 469 Implementing Secure Renegotiation 471 Chapter 9 Adding TLS 1.2 Support to Your TLS Library 479 Supporting TLS 1.2 When You Use RSA for the Key Exchange 479 TLS 1.2 Modifications to the PRF 481 TLS 1.2 Modifications to the Finished Messages Verify Data 483 Impact to Diffie-Hellman Key Exchange 485 Parsing Signature Types 485 Adding Support for AEAD Mode Ciphers 490 Maximizing Throughput with Counter Mode 490 Reusing Existing Functionality for Secure Hashes with CBC-MAC 494 Combining CTR and CBC-MAC into AES-CCM 496 Maximizing MAC Throughput with Galois-Field Authentication 502 Combining CTR and Galois-Field Authentication with AES-GCM 505 Authentication with Associated Data 510 Incorporating AEAD Ciphers into TLS 1.2 517 Working ECC Extensions into the TLS Library 523 ECDSA Certificate Parsing 527 ECDHE Support in TLS 533 ECC Client Hello Extensions 540 The Current State of TLS 1.2 540 Chapter 10 Other Applications of SSL 543 Adding the NTTPS Extension to the NTTP Algorithm 543 Implementing “Multi-hop” SMTP over TLS and Protecting Email Content with S/MIME 545 Understanding the Email Model 545 The SSL/TLS Design and Email 546 Multipurpose Internet Mail Extensions (MIME) 547 Protecting Email from Eavesdroppers with S/MIME 549 Securing Email When There Are Multiple Recipients 550 S/MIME Certificate Management 552 Securing Datagram Traffic 552 Securing the Domain Name System 553 Using the DNS Protocol to Query the Database 555 Disadvantages of the DNS Query 555 Preventing DNS Cache Poisoning with DNSSEC 556 TLS Without TCP — Datagram TLS 559 Supporting SSL When Proxies Are Involved 560 Possible Solutions to the Proxy Problem 560 Adding Proxy Support Using Tunneling 561 SSL with OpenSSL 564 Final Thoughts 566 Appendix A Binary Representation of Integers: A Primer 567 The Decimal and Binary Numbering Systems 567 Understanding Binary Logical Operations 568 The AND Operation 568 The OR Operation 569 The NOT Operation 569 The XOR Operation 569 Position Shifting of Binary Numbers 570 Two’s-Complement Representation of Negative Numbers 570 Big-Endian versus Little-Endian Number Formats 571 Appendix B Installing TCPDump and OpenSSL 573 Installing TCPDump 573 Installing TCPDump on a Windows System 574 Installing TCPDump on a Linux System 575 Installing OpenSSL 575 Installing OpenSSL on a Windows System 575 Installing OpenSSL on a Linux system 577 Appendix C Understanding the Pitfalls of SSLv 2 579 Implementing the SSL Handshake 582 SSL Client Hello 588 SSL Server Hello 592 SSL Client Master Key 600 SSL Client Finished 607 SSL Server Verify 612 SSL Server Finished 616 SSL send 617 SSL recv 617 Examining an HTTPS End-to-End Example 619 Viewing the TCPDump Output 619 Problems with SSLv 2 626 Man-in-the-Middle Attacks 626 Truncation Attacks 626 Same Key Used for Encryption and Authentication 626 No Extensions 627 Index 629


Best Sellers


Product Details
  • ISBN-13: 9780470920411
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Depth: 44
  • Language: English
  • Returnable: N
  • Spine Width: 41 mm
  • Width: 188 mm
  • ISBN-10: 0470920416
  • Publisher Date: 14 Jan 2011
  • Binding: Paperback
  • Height: 234 mm
  • No of Pages: 704
  • Series Title: English
  • Weight: 1241 gr


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

4.4       |  5 Reviews 
out of (%) reviewers recommend this product
Top Reviews
Rating Snapshot
Select a row below to filter reviews.
5
4
3
2
1
Average Customer Ratings
4.4       |  5 Reviews 
00 of 0 Reviews
Sort by :
Active Filters

00 of 0 Reviews
SEARCH RESULTS
1–2 of 2 Reviews
    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!

    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!


Sample text
Photo of
    Media Viewer

    Sample text
    Reviews
    Reader Type:
    BoxerLover2
    00 of 0 review

    Your review was submitted!
    Implementing SSL / TLS Using Cryptography and PKI
    John Wiley & Sons Inc -
    Implementing SSL / TLS Using Cryptography and PKI
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Implementing SSL / TLS Using Cryptography and PKI

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals


      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA