how to upload pdf file in database using asp.net c# : Text select tool pdf application SDK utility azure wpf web page visual studio protecting-personal-data-in-online-services-learning-from-the-mistakes-of-others2-part801

20 
Protecting personal data in online services 
May 2014 v1 
Example  
A company wants to copy some large files from one computer 
to another, over the internet. The destination machine is 
intended to serve up a new corporate intranet website, which 
is not intended to be accessible from outside the organisation. 
Eventually, this intranet site will be used to process some 
personal data, but during development and setup no personal 
data is involved. 
The transfer is a non-routine task so there is no established 
method to perform the transfer with. A system administrator 
therefore arranges for the transfer to take place by setting up 
an anonymous FTP service temporarily on the destination 
machine, which can be accessed via the internet. The files are 
transferred to the destination machine using this FTP service, 
with the FTP root being the same location as the files will be 
needed for the intranet site. 
After the file transfer is complete, the system administrator 
continues setting up the new intranet site, but forgets about 
the temporary FTP server and leaves it running. 
The intranet site is put into use and begins to process personal 
data. This personal data is now potentially at risk because of 
the anonymous FTP access which is still available. If an 
internet search engine were to index the FTP server, the 
personal data could be easily discovered through the use of 
that search engine.  
Text select tool pdf - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
pdf text select tool; search pdf documents for text
Text select tool pdf - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
text searchable pdf file; search pdf files for text
21 
Protecting personal data in online services 
May 2014 v1 
Example  
A company has historically used a webmail application to allow 
staff to gain remote access to their email. Because of a lack of 
available externally-facing IP addresses, the perimeter firewall 
is set up to use network address translation (NAT), port-
forwarding requests on TCP port 443 directly to the webmail 
server. 
The company decides that this external webmail service is no 
longer necessary and so the server is decommissioned by 
simply switching it off. However the NAT setup and firewall 
rules are not changed. 
Later, an internal web application is set up to allow staff to 
access their personnel records. The old webmail server 
hardware is re-used to install a new operating system and set 
up the personnel web application on TCP port 443. The 
network DHCP server assigns this re-installed system the same 
IP address as the old webmail server had. 
Although the company is not aware of it, the personnel 
application, which was intended only as an internal resource, is 
now accessible externally via the NAT and port-forwarding 
rules which are still in place.  
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Tools Tab. Item. Name. Description. 1. Select tool. Select text and image on PDF document. 2. Hand tool. Pan around the document. Go To Tab. Item. Name. Description
find and replace text in pdf file; select text pdf file
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Tools Tab. Item. Name. Description. 1. Select tool. Select text and image on PDF document. 2. Hand tool. Pan around the document. Go To Tab. Item. Name. Description
select text in pdf reader; search pdf for text in multiple files
22 
Protecting personal data in online services 
May 2014 v1 
Decommissioning – good practice summary: 
Be aware of all the components of a service so that you can 
make sure they are all decommissioned. 
Make a record of any temporary services which you will 
eventually need to disable. 
Thoroughly check that the decommissioning procedure has 
actually succeeded. Use systematic tools such as port 
scanners to do this where possible. Do not forget to arrange 
for proper disposal of any hardware, as appropriate (see the 
ICO guidance on IT disposal). 
Password storage 
55.
Users’ access credentials (eg a username and password or 
passphrase) are particularly valuable to attackers, for a number 
of different reasons: 
An attacker who knows a user's credentials for a particular 
service can gain unauthorised access by impersonating that 
user. 
A user may have re-used exactly the same username and 
password for other accounts relating to different services. 
This is especially likely if the username is an email address. 
In the worst case scenario, the user has re-used exactly the 
same password to access that email account.  
A user’s password may suggest a pattern which can be used 
by an attacker to guess other passwords. For instance, if an 
attacker discovers the password 'romeo1', in January, then 
this would suggest that the same user might use 'romeo2' 
when their password expires in February. Similar passwords 
might also be used for other services, such as 'romeo99' or 
perhaps something more loosely related such as 'juliet22'. 
56.
For these reasons, it is important that you manage credentials 
appropriately. In many contexts, you will already have 
appropriate password procedures in place (an example might be 
the authentication used by an already-installed operating 
system). However in some cases, you will have full 
responsibility for deciding how you handle passwords, for 
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
to install and use the PDF page(s) extraction tool. can use it to extract all images from PDF document. Dim page As PDFPage = doc.GetPage(3) ' Select image by
cannot select text in pdf file; pdf select text
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
An advanced PDF annotating tool, which is compatible with all Windows systems and supports Click to select drawing annotation with default properties. Text box.
how to search pdf files for text; search text in pdf image
23 
Protecting personal data in online services 
May 2014 v1 
example, where a bespoke web application uses a back-end 
database. 
57.
Secure handling of passwords is a final measure which 
reduces the adverse consequences of an otherwise successful 
attack which has defeated other security measures. However, it 
is important that password handling is considered before a 
serious attack occurs. Unfortunately the ICO's experience shows 
that poor password procedures often only come to light after a 
data breach. 
58.
If you do not have password security expertise available, you 
may want to consider using established third-party 
authentication services. Whether this is appropriate will depend 
on the sensitivity of the personal data in question, together with 
the level of trust placed in the third-party authentication 
provider. 
The necessity of hashing 
59.
An important principle is that passwords should not be 
recoverable directly, in order to reduce the harm done if 
someone gains unauthorised access to the password 
information. This rules out the storage of passwords in plain 
text because these are immediately readable by a system 
administrator or a casual observer. It also means that 
encryption is not generally appropriate, since an encrypted 
value needs to be decrypted to retrieve the original password. 
This action of decryption requires access to a key, which must 
be securely managed. It also means that authorised staff (eg 
system or other administrators) who have access to the key 
may also be able to decrypt and access users’ passwords. You 
should not underestimate the considerable compliance 
measures required for the safe and secure storage of such a 
key. 
60.
It is poor practice for an online service to be able to remind a 
user of their current password directly in plain text (eg by 
including it in an email). This would be a clear indication that 
the passwords are either stored in plain text or, at best, 
passwords are being encrypted but then decrypted. Either of 
these approaches would be insecure. 
61.
In practice, a procedure called 'hashing' should be used. A 
hash function is a one-way method which converts a password 
into a hashed value, often simply called the 'hash'. When a user 
first registers with a service and provides a password this is 
hashed and only this hash value is stored. When a user returns 
VB.NET PDF - Annotate PDF with WPF PDF Viewer for VB.NET
An advanced PDF annotating tool, which is compatible with all Windows systems and supports Click to select drawing annotation with default properties. Text box.
pdf searchable text; pdf text search tool
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit OpenOffice
Office PowerPoint (.ppt, .pptx) on webpage, Convert CSV to PDF file online C#.NET RasterEdge HTML5 Viewer particular text tool can select text on all
pdf search and replace text; how to select all text in pdf
24 
Protecting personal data in online services 
May 2014 v1 
and enters their password, the hash is freshly calculated then 
compared with the stored hash. If the two hashes match, then 
the user can be authenticated.  
62.
The one-way nature of hashes is key: if an attacker somehow 
obtains a list of hashes, they cannot directly work out what the 
passwords are, even if they know the particular hash function 
that was used. 
63.
An attacker can, however, guess passwords one after another, 
calculating the hash every time and checking for a match in the 
list of hashes (this can be referred to as an 'offline', 'hash 
cracking' or 'password cracking' attack). While hashing does not 
eliminate all probability that an attacker can discover the 
original password, if done appropriately, hashing makes 
password cracking attacks extremely time-consuming and 
therefore impractical. 
64.
The ultimate goal of hashing is that you will have adequate 
time to detect any password breach and take appropriate action 
(such as forcing a reset of compromised passwords) before the 
attacker has a realistic chance of correctly guessing any 
passwords. 
The necessity of salting 
65.
It is important to use a technique called 'salting' to further 
guard against password cracking attacks. 
66.
A 'salt' in this context is a string of random data unique to 
each user. The salt is used by combining it with the user's 
password, then hashing the result. The salt is then generally 
stored alongside the hash in a database. When a user logs in to 
the service the stored salt and the supplied password are 
freshly combined and hashed. As in the unsalted method, the 
new hash and the stored hash are compared to determine if the 
user should be authenticated. 
67.
Even though salts will generally be available to any attacker 
who already has the related list of password hashes, using salts 
further increases the time and effort involved in mounting a 
password cracking attack. When brute-forcing more than one 
password, having a unique salt for each user prevents an 
attacker from successfully checking for matches across all the 
hashes, in turn slowing the overall attack down. To benefit from 
this, the only requirement of the salts is that they are unique 
for each user. 
VB.NET PowerPoint: VB Codes to Create Linear and 2D Barcodes on
supported by this VB.NET PPT barcode inserting tool? apply PPT slide getting method to select the target offers users the human readable text setting option
select text in pdf; how to search text in pdf document
TIFF to PDF Converter | Convert TIFF to PDF, Convert PDF to TIFF
to PDF Converter is a windows tool that converts TIFF-PDF Conversion; Able to preserve text and PDF Select "Convert to PDF"; Select "Start" to start conversion
how to select text on pdf; how to search a pdf document for text
25 
Protecting personal data in online services 
May 2014 v1 
68.
Salting also effectively increases the length and complexity of 
the value to be hashed, meaning that calculating all possible 
hashes in advance (in what's called a 'rainbow table') becomes 
much less feasible. The longer the salt, the less feasible it 
becomes to compute a rainbow table. A typical salt-length 
would be 128-bits, and this length is given as a minimum in 
NIST's "Recommendation for Password-Based Key Derivation". 
69.
A related benefit of unique salts is that it is not obvious from 
the list of hashes when two or more users have chosen exactly 
the same password. 
The requirements of a password hash function 
70.
An important requirement of an appropriate hash function 
when used for passwords is that it is sufficiently time-
consuming to compute. A hash function that takes a long time 
to compute can be quick enough for legitimate day-to-day use 
(ie a user performing a login will not notice a fraction of a 
second delay while the hash is calculated), yet it can severely 
slow down a password cracking attack. The key point to 
remember is that as computer hardware continually improves, 
the calculation of hashes becomes correspondingly faster. This 
means that, over time, some hash methods will become 
inappropriate for use with passwords because advances in 
computing hardware have made 'brute-force' attacks feasible. 
An offline brute-force attack simply involves computing the 
hashes of all possible passwords within a given scope. 
71.
An example of a hashing method that has been overtaken by 
advances in computing hardware is MD5. Since 1991, when 
MD5 was first developed, great improvements have been made 
which enable much faster calculation of hashes. This means 
that MD5 should not be used for hashing passwords. Appendix 
B contains the results of the ICO's own research into MD5 hash 
cracking, which shows how fast passwords can be obtained 
from MD5 hashes using even modest desktop computer 
hardware. 
72.
The SHA-1 hashing method, first introduced in 1995, is also 
widely regarded as inappropriate for password use, for example 
by NIST in the USA. 
73.
Password cracking has also become much faster in recent 
years through the use of Graphical Processing Units (GPUs) and 
even dedicated hardware. Cloud computing services can also be 
used on demand without any need for the attacker to buy 
XDoc.HTML5 Viewer for .NET, All Mature Features Introductions
NET developers to search text-based documents, like PDF, Microsoft Office The well built-in text search tool is compatible with most Text Select, Copy & Paste.
how to select text in pdf and copy; convert a scanned pdf to searchable text
VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
NET read PDF, VB.NET convert PDF to text, VB.NET An advanced PDF converter tool, which supports to be are allowed to set scaling value and select compress mode
searching pdf files for text; pdf editor with search and replace text
26 
Protecting personal data in online services 
May 2014 v1 
physical hardware. Skilled attackers would be likely to employ 
such resources when attempting an offline brute-force attack. 
74.
The time necessary to successfully guess users' passwords 
needs to be made significantly long since, according to Verizon's 
"2014 Data Breach Investigations Report", the majority of 
compromises are achieved in a matter of days (or less) while 
only a minority of data breaches are discovered in a similar 
timeframe. Combined with other data from the report, this 
indicates that the password hashing method should be strong 
enough to delay an offline brute-force attack for at least a 
matter of months. 
75.
Where you are responsible for choosing how to hash 
passwords, you should aim to use a password hashing scheme 
(technically known as a "key derivation function") that can 
arbitrarily increase the amount of computation required, in 
order to keep pace with future technological advances. This 
feature is often referred to as a "variable work factor". 
Examples include: 
PBKDF2 
bcrypt 
scrypt 
76.
Development in this field continues, so be aware that the list 
of available key derivation functions is open to change. The 
most important thing to remember is that you should review 
current good practice in key derivation functions during the 
design phase of the project so that you can choose a suitable 
option. 
77.
If using one of these key derivation functions is for some 
reason not currently possible or practical, then a simpler 
hashing algorithm might be acceptable. However, you should 
carefully consider the future risk of designing and using your 
own hashing scheme that will at some point become outdated. 
78.
A detailed assessment of cryptographic measures has been 
published by the European Union Agency for Network and 
Information Security (ENISA), part of which refers to password 
hashing. The report is entitled Algorithms, Key Sizes and 
Parameters Report - 2013 Recommendations. In section 3.3 it 
supports the above analysis, namely that: 
MD5 is not appropriate; and 
SHA-1 is acceptable for legacy systems but should not 
be designed into new systems. 
27 
Protecting personal data in online services 
May 2014 v1 
Good password choice 
79.
Even with robust, salted hashing in place, there is still the 
threat of an attacker using a 'dictionary attack' to guess 
passwords that are known to be common. A good password 
hashing scheme can still be defeated if a weak password (ie a 
common one) is chosen by the user. 
80.
You should permit your users to choose a strong password, 
and where possible, actively encourage them to do so. Ways to 
increase the strength of a password include: 
creating a long password or passphrase; 
using a wide range of characters, such as: 
o
uppercase letters; 
o
lowercase letters; 
o
numbers; 
o
punctuation marks; and 
o
other symbols. 
avoiding the use of dictionary words where possible; 
avoiding simple substitutions such as 'p4$$w0rd'; and 
avoiding the use of patterns derived from the physical 
keyboard layout (e.g. 'qwerty' or '1qaz2wsx'), since these are 
extremely common among users who do not use a latin 
alphabet in their mother tongue. 
81.
You should advise your users to use techniques such as those 
listed above. If well designed, a 'strength meter' can be used 
when setting passwords, to give the user immediate feedback. 
You may also wish to consider blacklisting the most common 
passwords. 
82.
In some cases, if a common password has been chosen, an 
attacker may not even need to mount their own password 
cracking attack: instead they could simply search the web for 
the hashed value to try and find the corresponding password. 
83.
Do not unnecessarily limit the permissible character set or the 
maximum length since this would simply reduce the time an 
attacker would need to mount a successful brute force attack. 
In any case, there is often no obvious benefit of limiting 
password length when password hashing is correctly 
28 
Protecting personal data in online services 
May 2014 v1 
implemented, since the hashed values will all be the same, 
known length, requiring the same storage space. 
Password hashing – good practice summary: 
Don’t store passwords in plain text, nor in decryptable form. 
Use a hash function. Only store the hashed values. 
The hash function should have appropriate strength to make 
offline brute-force attacks extremely impractical. 
Use salting to make offline brute-force attacks less effective. 
Periodically review the strength of the hash function and 
keep up to date with advances in computing power. The best 
way of achieving this is to use a password hashing scheme 
with a configurable work factor. 
Use a combination of password strength requirements and 
user-education to ensure that attackers can't simply guess 
common passwords. 
Have a plan of action in case of a password breach. This 
should include how to reset users' passwords in bulk and 
how to notify them of what has happened and what they 
need to do about it. 
Configuration of SSL or TLS 
84.
Secure Sockets Layer (SSL) and Transport Layer Security 
(TLS) are closely related encryption schemes used for ensuring 
secure communications across the internet. For example, 
visiting an https:// website means the site is using either SSL 
or TLS. In practice, the single term 'SSL' is often used loosely to 
signify either or both of SSL and TLS, even though TLS has 
been in existence since 1999 and is now widely used and 
supported. 
85.
A connection between two systems using SSL or TLS is 
designed to provide two assurances: 
The communication is encrypted. 
The identity of one or both of the endpoints can be 
trusted. 
29 
Protecting personal data in online services 
May 2014 v1 
86.
Misconfiguring an SSL or TLS service will cause one or both of 
these assurances not to be guaranteed. However, both 
assurances are required to create a trusted connection so that 
personal data or other sensitive information can be securely 
transferred. 
Assurance of encryption 
87.
Failure to provide the first assurance (encryption) means that 
any sensitive information transmitted will be viewable via any 
computer system on the route between the two systems. 
88.
Most obviously, it is important to verify that SSL or TLS is 
running as expected. For instance, just because a website is 
made available over the default port for an SSL-enabled web 
server (TCP port 443) does not mean it is using SSL or TLS 
automatically. SSL or TLS must be specifically enabled. 
89.
The simplest way for an attacker to defeat the encryption 
provided by an SSL or TLS service is if the same data is already 
available via a non-encrypted method. This can happen, for 
example, if information is made available on an 
https://
website but is also made available over a plain 
http://
connection. You should have a clear concept of which 
information needs to be encrypted and which does not, and 
apply the use of SSL or TLS as appropriate. To reduce 
complexity, you may also wish to consider using SSL or TLS 
throughout your entire domain. 
90.
In the case of a website, any included content such as 
images, javascript or CSS should also be provided over SSL or 
TLS. Failure to do so risks compromising the security of the 
connection and will generally result in 'mixed content' warnings 
in users' browsers. 
91.
It is also poor practice to allow users to remain logged in to a 
website or other web application if they navigate from an 
https:// page to an http:// page. This could allow an 
attacker to read a user's session cookie, which in turn would let 
an attacker gain access as if they were a logged-in user. 
92.
The particular settings enabled for any SSL or TLS connection 
need to ensure adequate encryption: 
Do not use SSL version 2, as this is insecure. At a 
minimum, use SSL version 3, but preferably use TLS 
with the latest version possible. TLS 1.2 is current at the 
Documents you may be interested
Documents you may be interested