display first page of pdf as image in c# : Create a fillable pdf form from a word document Library SDK component .net wpf azure mvc 05-welling-php-mysql-web38-part85

347
Encryption Basics
Passwords can also be captured electronically.By running a program to capture 
keystrokes at a terminal or using a packet sniffer to capture network traffic,crackers
can—and do—capture usable pairs of login names and passwords.You can limit the
opportunities to capture passwords by encrypting network traffic.
For all their potential flaws,passwords are a simple and relatively effective way of
authenticating your users.They provide a level of secrecy that might not be appropriate
for national security but is ideal for checking on the delivery status of a customer’s order.
Authentication
Authentication mechanisms are built in to the most popular web browsers and web
servers.A web server might require a username and password for people requesting files
from particular directories on the server.
When challenged for a login name and password, your browser presents a dialog box
similar to the one shown in Figure 15.2.
Figure 15.2 Web browsers prompt users for authentication when they
attempt to visit a restricted directory on a web server.
Both the Apache web server and Microsoft’s IIS enable you to very easily protect all or
part of a site in this way.Using PHP or MySQL,you can achieve the same effect.Using
MySQL is faster than the built-in authentication.Using PHP,you can provide more
flexible authentication or present the request in a more attractive way.
We look at some authentication examples in Chapter 16,“Implementing Authen-
tication with PHP and MySQL.”
Encryption Basics
An encryption algorithm is a mathematical process to transform information into a seem-
ingly random string of data.
Create a fillable pdf form from a word document - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
create a fillable pdf form in word; add fillable fields to pdf online
Create a fillable pdf form from a word document - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
cannot save pdf form in reader; add print button to pdf form
348
Chapter 15 E-commerce Security Issues
The data that you start with is often called plain text,although it is not important to
the process what the information represents—whether it is actually text or some other
sort of data.Similarly,the encrypted information is called ciphertext but rarely looks any-
thing like text.Figure 15.3 shows the encryption process as a simple flowchart.The plain
text is fed to an encryption engine, which might have been a mechanical device,such as
a World War II Engima machine,once upon a time but is now nearly always a computer
program.The engine produces the ciphertext.
Figure 15.3 Encryption takes plain text and transforms it into seemingly
random ciphertext.
To create the protected directory whose authentication prompt is shown in Figure 15.2,
we used Apache’s most basic type of authentication.(You see how to use it in the next
chapter.) This encrypts passwords before storing them.We created a user with the pass-
word 
password
;it was then encrypted and stored as 
aWDuA3X3H.mc2
.You can see that
the plain text and ciphertext bear no obvious resemblance to each other.
This particular encryption method is not reversible.Many passwords are stored using
a one-way encryption algorithm.To see whether an attempt at entering a password is
correct,you do not need to decrypt the stored password.You can instead encrypt the
attempt and compare that to the stored version.
Many,but not all, encryption processes can be reversed.The reverse process is called
decryption.Figure 15.4 shows a two-way encryption process.
Plain
Text
Encryption
Algorithm
Cipher
Text
Figure 15.4 Encryption takes plain text and transforms it into seemingly
random ciphertext. Decryption takes the ciphertext and transforms it back
into plain text.
Cryptography is nearly 4,000 years old but came of age in World War II. Its growth since
then has followed a similar pattern to the adoption of computer networks, initially being
used only by military and finance corporations,being more widely used by companies
starting in the 1970s, and becoming ubiquitous in the 1990s. In the past few years,
encryption has gone from a concept that ordinary people saw only in World War II
Plain
Text
Encryption
Algorithm
Plain
Text
Cipher
Text
Key
Decryption
Algorithm
C# Create PDF Library SDK to convert PDF from other file formats
to create searchable PDF document from Microsoft Office Word, Excel and Create and save editable PDF with a blank page Create fillable PDF document with fields.
best program to create pdf forms; pdf form save
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Create PDF document from OpenOffice Presentation in both .NET WinForms and ASP to change ODT, ODS, ODP forms to fillable PDF formats in RasterEdge.XDoc.PDF.dll.
pdf form maker; change font in pdf fillable form
349
Public Key Encryption
movies and spy thrillers to something that they read about in newspapers and use every
time they purchase something with their web browsers.
Many different encryption algorithms are available.Some, like DES,use a secret or
private key; some,like RSA,use a public key and a separate private key.
Private Key Encryption
Private key encryption,also called secret key encryption,relies on authorized people
knowing or having access to a key.This key must be kept secret.If the key falls into the
wrong hands, unauthorized people can also read your encrypted messages.As shown in
Figure 15.4,both the sender (who encrypts the message) and the recipient (who
decrypts the message) have the same key.
The most widely used secret key algorithm is the Data Encryption Standard (DES).
This scheme was developed by IBM in the 1970s and adopted as the American standard
for commercial and unclassified government communications.Computing speeds are
orders of magnitudes faster now than in 1970,and DES has been obsolete since at 
least 1998.
Other well-known secret key systems include RC2, RC4,RC5,triple DES,and
IDEA.Triple DES is fairly secure.
2
It uses the same algorithm as DES, applied three
times with up to three different keys.A plain text message is encrypted with key one,
decrypted with key two,and then encrypted with key three.
One obvious flaw of secret key encryption is that,to send somebody a secure mes-
sage, you need a secure way to get the secret key to him.If you have a secure way to
deliver a key, why not just deliver the message that way?
Fortunately,there was a breakthrough in 1976,when Diffie and Hellman published
the first public key scheme.
Public Key Encryption
Public key encryption relies on two different keys: a public key and a private key.As
shown in Figure 15.5,the public key is used to encrypt messages and the private key to
decrypt them.
The advantage to this system is that the public key,as its name suggests,can be dis-
tributed publicly.Anybody to whom you give your public key can send you a secure
message.As long as only you have your private key,then only you can decrypt the mes-
sage.
The most common public key algorithm is RSA,developed by Rivest,Shamir,and
Adelman at MIT and published in 1978.RSA was a proprietary system,but the patent
expired in September 2000.
2Somewhat paradoxically,triple DES is twice as secure as DES.If you needed something three
times as strong, you could write a program to implement a quintuple DES algorithm.
VB.NET Create PDF Library SDK to convert PDF from other file
component to convert Microsoft Office Word, Excel and Create and save editable PDF with a blank Create fillable PDF document with fields in Visual Basic .NET
create a fillable pdf form from a word document; edit pdf form
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create PDF document from OpenOffice Text Document with embedded ODS, ODP forms into fillable PDF formats.
add form fields to pdf online; pdf create fillable form
350
Chapter 15 E-commerce Security Issues
Figure 15.5 Public key encryption uses separate keys for encryption and
decryption.
The capability to transmit a public key in the clear and not need to worry about it
being seen by a third party is a huge advantage, but secret key systems are still in com-
mon use.Often,a hybrid system is used.A public key system is used to transmit the key
for a secret key system that will be used for the remainder of a session’s communication.
This added complexity is tolerated because secret key systems are around 1,000 times
faster than public key systems.
Digital Signatures
Digital signatures are related to public key cryptography but reverse the role of public
and private keys.A sender can encrypt and digitally sign a message with her secret key.
When the message is received,the recipient can decrypt it with the sender’s public key.
Because the sender is the only person with access to the secret key,the recipient can be
fairly certain from whom the message came and that it has not been altered.
Digital signatures can be really useful.The recipient can be sure that the message has
not been tampered with,and the signatures make it difficult for the sender to repudiate,
or deny sending, the message.
It is important to note that although the message has been encrypted,it can be read
by anybody who has the public key.Although the same techniques and keys are used,
the purpose of encryption here is to prevent tampering and repudiation,not to prevent
reading.
Because public key encryption is fairly slow for large messages,another type of algo-
rithm,called a hash function,is usually used to improve efficiency.The hash function 
calculates a message digest or hash value for any message it is given.It is not important
what value the algorithm produces.It is important that the output is deterministic—that
is,that the output is the same each time a particular input is used,that the output is
small,and that the algorithm is fast.
The most common hash functions are MD5 and SHA.
A hash function generates a message digest that matches a particular message.If you
have a message and a message digest,you can verify that the message has not been tam-
pered with,as long as you are sure that the digest has not been tampered with.To this
Plain
Text
Encryption
Algorithm
Public
Key
Plain
Text
Cipher
Text
Private
Key
Decryption
Algorithm
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
formatting. Create PDF files from both DOC and DOCX formats. Convert multiple pages Word to fillable and editable PDF documents. Professional
add text field pdf; create pdf form
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Convert multiple pages Word to fillable and editable PDF Convert both DOC and DOCX formats to PDF files. Easy to create searchable and scanned PDF files from
add submit button to pdf form; convert word doc to pdf with editable fields
351
Digital Certificates
end,the usual way of creating a digital signature is to create a message digest for the
whole message using a fast hash function and then encrypt only the brief digest using a
slow public key encryption algorithm.The signature can now be sent with the message
via any normal unsecure method.
When a signed message is received,it can be checked.The signature is decrypted
using the sender’s public key.A hash value is then generated for the message using the
same method that the sender used.If the decrypted hash value matches the hash value
you generated,the message is from the sender and has not been altered.
Digital Certificates
Being able to verify that a message has not been altered and that a series of messages all
come from a particular user or machine is good.For commercial interactions, being able
to tie that user or server to a real legal entity such as a person or company would be
even better.
A digital certificate combines a public key and an individual’s or organization’s details
in a signed digital format. Given a certificate,you have the other party’s public key, in
case you want to send an encrypted message, and you have that party’s details, which you
know have not been altered.
The problem here is that the information is only as trustworthy as the person who
signed it.Anybody can generate and sign a certificate claiming to be anybody he likes.
For commercial transactions,it would be useful to have a trusted third party verify the
identity of participants and the details recorded in their certificates.
These third parties are called certifying authorities (CAs).They issue digital certificates
to individuals and companies subject to identity checks.The two best known CAs are
VeriSign (http://www.verisign.com/)and Thawte (http://www.thawte.com/), but you
can use a number of other authorities.VeriSign and Thawte are both owned by the same
company,and there is little practical difference between them.Some of the lesser-known
authorities,such as Equifax Secure (www.equifaxsecure.com),are significantly cheaper.
The authorities sign a certificate to verify that they have seen proof of the person’s or
company’s identity. It is worth noting that the certificate is not a reference or statement
of creditworthiness.The certificate does not guarantee that you are dealing with some-
body reputable.What it does mean is that if you are ripped off, you have a relatively
good chance of having a real physical address and somebody to sue.
Certificates provide a network of trust.Assuming you choose to trust the CA,you can
then choose to trust the people they choose to trust and then trust the people the certi-
fied party chooses to trust.
The most common use for digital certificates is to provide an air of respectability to
an e-commerce site.With a certificate issued by a well-known CA, web browsers can
make SSL connections to your site without bringing up warning dialogs.Web servers
that enable SSL connections are often called secure web servers.
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create fillable and editable PDF documents from Excel in Visual
create pdf forms; change font in pdf form
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both Create searchable and scanned PDF files from Excel. Description: Convert to PDF/TIFF and save it
create a pdf form from excel; chrome pdf save form data
352
Chapter 15 E-commerce Security Issues
Secure Web Servers
You can use the Apache web server,Microsoft IIS,or any number of other free or com-
mercial web servers for secure communication with browsers via Secure Sockets Layer.
Using Apache enables you to use a Unix-like operating system,which is almost certainly
more reliable but harder to set up than IIS.You can also,of course,choose to use Apache
on a Windows platform.
Using SSL on IIS simply involves installing IIS,generating a key pair, and installing
your certificate.Using SSL on Apache requires installing three different packages:
Apache, Mod_SSL,and OpenSSL.
You can have your cake and eat it too by purchasing Stronghold. Stronghold is a
commercial product available from http://stronghold.redhat.com/ for around $1,000
(U.S.).Based on Apache, it comes as a self-installing binary preconfigured with SSL.This
way, you get the reliability of Unix and an easy-to-install product with technical support
from the vendor.
Installation instructions for the two most popular web servers,Apache and IIS,are in
Appendix A,“Installing PHP5 and MySQL5.” You can begin using SSL immediately by
generating your own digital certificate,but visitors to your site will be warned by their
web browsers that you have signed your own certificate.To use SSL effectively,you also
need a certificate issued by a certifying authority.
The exact process to get this certificate varies between CAs,but in general, you need
to prove to a CA that you are some sort of legally recognized business with a physical
address and that the business in question owns the relevant domain name.
You also need to generate a certificate signing request (CSR).The process for this
varies from server to server.You can find instructions on the CAs’websites.Stronghold
and IIS provide a dialog box–driven process, whereas Apache requires you to type com-
mands.However, the process is essentially the same for all servers.The result is an
encrypted CSR.Your CSR should look something like this:
---BEGIN NEW CERTIFICATE REQUEST---
MIIBuwIBAAKBgQCLn1XX8faMHhtzStp9wY6BVTPuEU9bpMmhrb6vgaNZy4dTe6VS
84p7wGepq5CQjfOL4Hjda+g12xzto8uxBkCDO98Xg9q86CY45HZk+q6GyGOLZSOD
8cQHwh1oUP65s5Tz018OFBzpI3bHxfO6aYelWYziDiFKp1BrUdua+pK4SQIVAPLH
SV9FSz8Z7IHOg1Zr5H82oQOlAoGAWSPWyfVXPAF8h2GDb+cf97k44VkHZ+Rxpe8G
ghlfBn9L3ESWUZNOJMfDLlny7dStYU98VTVNekidYuaBsvyEkFrny7NCUmiuaSnX
4UjtFDkNhX9j5YbCRGLmsc865AT54KRu31O2/dKHLo6NgFPirijHy99HJ4LRY9Z9
HkXVzswCgYBwBFH2QfK88C6JKW3ah+6cHQ4Deoiltxi627WN5HcQLwkPGn+WtYSZ
jG5tw4tqqogmJ+IP2F/5G6FI2DQP7QDvKNeAU8jXcuijuWo27S2sbhQtXgZRTZvO
jGn89BC0mIHgHQMkI7vz35mx1Skk3VNq3ehwhGCvJlvoeiv2J8X2IQIVAOTRp7zp
En7QlXnXw1s7xXbbuKP0
---END NEW CERTIFICATE REQUEST---
Armed with a CSR,the appropriate fee,and documentation to prove that you exist, and
having verified that the domain name you are using is in the same name as in the busi-
ness documentation,you can sign up for a certificate with a CA.
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable Easy to create searchable and scanned PDF files PDF document can be converted from PowerPoint2003 by
adding images to pdf forms; add editable fields to pdf
353
Firewalls
When the CA issues your certificate, you need to store it on your system and tell
your web server where to find it.The final certificate is a text file that looks a lot like
the CSR shown here.
Auditing and Logging
Your operating system enables you to log all sorts of events.Events that you might be
interested in from a security point of view include network errors,access to particular
data files such as configuration files or the NT Registry,and calls to programs such as 
su
(used to become another user, typically root, on a Unix system).
Log files can help you detect erroneous or malicious behavior as it occurs.They can
also tell you how a problem or break-in occurred if you check them after noticing prob-
lems.The two main problems with log files are their size and veracity.
If you set the criteria for detecting and logging problems at their most paranoid lev-
els, you will end up with massive logs that are very difficult to examine.To help with
large log files,you really need to either use an existing tool or derive some audit scripts
from your security policy to search the logs for “interesting”events.The auditing process
could occur in real-time or could be done periodically.
In particular,log files are vulnerable to attack.If an intruder has root or administrator
access to your system,she is free to alter log files to cover her tracks. Unix provides facil-
ities to log events to a separate machine.This would mean that a cracker would need to
compromise at least two machines to cover her tracks. Similar functionality is possible in
Windows,but not as easy as in Unix.
Your system administrator might do regular audits, but you might like to have an
external audit periodically to check the behavior of administrators.
Firewalls
Firewalls are designed to separate your network from the wider world. In the same way
that firewalls in a building or a car stop fire from spreading into other compartments,
network firewalls stop chaos from spreading into your network.
A firewall is designed to protect machines on your network from outside attack.It fil-
ters and denies traffic that does not meet its rules.It also restricts the activities of people
and machines outside the firewall.
Sometimes,a firewall is also used to restrict the activities of those within it.A firewall
can restrict the network protocols people can use, restrict the hosts they can connect to,
or force them to use a proxy server to keep bandwidth costs down.
A firewall can either be a hardware device,such as a router with filtering rules,or a
software program running on a machine.In any case, the firewall needs interfaces to two
networks and a set of rules.It monitors all traffic attempting to pass from one network
to the other.If the traffic meets the rules, it is routed across to the other network;other-
wise,it is stopped or rejected.
354
Chapter 15 E-commerce Security Issues
Packets can be filtered by their type, source address,destination address, or port infor-
mation. Some packets are merely discarded;other events can be set to trigger log entries
or alarms.
Data Backups
You cannot underestimate the importance of backups in any disaster recovery plan.
Hardware and buildings can be insured and replaced, or sites hosted elsewhere,but if
your custom-developed web software is gone,no insurance company can replace it 
for you.
You need to back up all the components of your website—static pages,scripts,and
databases—on a regular basis.Just how often you back up depends on how dynamic
your site is.If it is all static,you can get away with backing it up when it has changed.
However,the kinds of sites we talk about in this book are likely to change frequently,
particularly if you are taking orders online.
Most sites of a reasonable size need to be hosted on a server with RAID, which can
support mirroring.This covers situations in which you might have a hard disk failure.
Consider,however,what might happen in situations in which something happens to the
entire array,machine, or building.
You should run separate backups at a frequency corresponding to your update vol-
ume.These backups should be stored on separate media and preferably in a safe,separate
location,in case of fire,theft,or natural disasters.
Many resources are available for backup and recovery.We concentrate on how you
can back up a site built with PHP and a MySQL database.
Backing Up General Files
You can back up your HTML,PHP, images,and other nondatabase files fairly simply on
most systems by using backup software.
The most widely used of the freely available utilities is AMANDA,the Advanced
Maryland Automated Network Disk Archiver,developed by the University of Maryland.
It ships with many Unix distributions and can also be used to back up Windows
machines via SAMBA.You can read more about AMANDA at
http://www.amanda.org/
Backing Up and Restoring Your MySQL Database
Backing up a live database is more complicated than backing up general files.You need
to avoid copying any table data while the database is in the middle of being changed.
Instructions on how to back up and restore a MySQL database can be found in
Chapter 12,“Advanced MySQL Administration.”
355
Next
Physical Security
The security threats we have considered so far relate to intangibles such as software,but
you should not neglect the physical security of your system.You need air conditioning
and protection against fire,people (both the clumsy and the criminal), power failure,and
network failure.
Your system should be locked up securely.Depending on the scale of your operation,
your approach could be a room,a cage,or a cupboard.Personnel who do not need
access to this machine room should not have it.Unauthorized people might deliberately
or accidentally unplug cables or attempt to bypass security mechanisms using a bootable
disk.
Water sprinklers can do as much damage to electronics as a fire.In the past, halon fire
suppression systems were used to avoid this problem.The production of halon is now
banned under the Montreal Protocol on Substances That Deplete the Ozone Layer,so
new fire suppression systems must use other,less harmful,alternatives such as argon or
carbon dioxide.You can read more about this issue at
http://www.epa.gov/Ozone/snap/fire/qa.html
Occasional brief power failures are a fact of life in most places. In locations with harsh
weather and above-ground wires,long failures occur regularly.If the continuous opera-
tion of your systems is important to you,you should invest in an uninterruptible power
supply (UPS).A UPS that can power a single machine for 10 minutes costs less than
$300 (U.S.).Allowing for longer failures,or more equipment,can become expensive.
Long power failures really require a generator to run air conditioning as well as 
computers.
Like power failures,network outages of minutes or hours are out of your control and
bound to occur occasionally.If your network is vital,it makes sense to have connections
to more than one Internet service provider.Having two connections costs more but
should mean that,in case of failure,you have reduced capacity rather than becoming
invisible.
These sorts of issues are some of the reasons you might like to consider co-locating
your machines at a dedicated facility.Although one medium-sized business might not be
able to justify a UPS that will run for more than a few minutes,multiple redundant net-
work connections,and fire suppression systems,a quality facility housing the machines of
a hundred similar businesses can.
Next
In Chapter 16,we look specifically at authentication—allowing users to prove their
identity.We look at a few different methods,including using PHP and MySQL to
authenticate site visitors.
Documents you may be interested
Documents you may be interested