You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: topics/security/README.md
+58-4Lines changed: 58 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,8 @@ A couple of quotations from chosen companies:
20
20
21
21
<details>
22
22
<summary>Explain the principle of least privilege</summary><br><b>
23
+
24
+
The principle of least privilege refers to the practice of providing minimal permissions to users, roles, and service accounts that allow them to perform their functions. If an entity does not require an access right then it should not have that right.
23
25
</b></details>
24
26
25
27
<details>
@@ -71,6 +73,25 @@ Authorization is the process of identifying what level of access the service or
71
73
A user uses the browser to authenticate to some server. It does so by using the authorization field which is constructed from the username and the password combined with a single colon. The result string is encoded using a certain character set which is compatible with US-ASCII. The authorization method + a space is prepended to the encoded string.
72
74
</b></details>
73
75
76
+
<details>
77
+
<summary>What are the three primary factors of authentication? Give three examples of each</summary><br><b>
@@ -85,6 +106,18 @@ A user uses the browser to authenticate to some server. It does so by using the
85
106
SSO (Single Sign-on), is a method of access control that enables a user to log in once and gain access to the resources of multiple software systems without being prompted to log in again.
86
107
</b></details>
87
108
109
+
<details>
110
+
<summary>Explain how the Kerberos authentication protocol works as a SSO solution</summary><br><b>
111
+
112
+
Kerberos works as a SSO solution by only requiring the user to sign in using their credentials once within a specific validity time window. Kerberos authentication grants the user a Ticket Granting Ticket (TGT) from a trusted authentication server which can then be used to request service tickets for accessing various services and resources. By passing around this encrypted TGT instead of credentials, the user does not need to sign-in multiple times for each resource that has been integrated with Kerberos.
113
+
</b></details>
114
+
115
+
<details>
116
+
<summary>Does Kerberos make use of symmetric encryption, asymmetric encryption, both, or neither?</summary><br><b>
117
+
118
+
Symmetric Encryption - Kerberos uses exclusively symmetric encryption with pre-shared keys for transmitting encrypted information and authorizing users.
@@ -93,6 +126,10 @@ Multi-Factor Authentication (Also known as 2FA). Allows the user to present two
93
126
- The credentials fall into any of these three categories: something you know (like a password or PIN), something you have (like a smart card), or something you are (like your fingerprint). Credentials must come from two different categories to enhance security.
94
127
</b></details>
95
128
129
+
<details>
130
+
<summary>Explain OAuth</summary><br><b>
131
+
</b></details>
132
+
96
133
#### Security - Passwords
97
134
98
135
<details>
@@ -124,6 +161,14 @@ Multi-Factor Authentication (Also known as 2FA). Allows the user to present two
124
161
* MFA
125
162
</b></details>
126
163
164
+
<details>
165
+
<summary>What is password salting? What attack does it help to deter?</summary><br><b>
166
+
167
+
Password salting is the processing of prepending or appending a series of characters to a user's password before hashing this new combined value. This value should be different for every single user but the same salt should be applied to the same user password everytime it is validated.
168
+
169
+
This ensures that users that have the same password will still have very different hash values stored in the password database. This process specifically helps deter rainbow table attacks since a new rainbow table would need to be computed for every single user in the database.
170
+
</b></details>
171
+
127
172
#### Security - Cookies
128
173
129
174
<details>
@@ -204,6 +249,13 @@ True. It is only used during the key exchange algorithm of symmetric encryption.
204
249
205
250
<details>
206
251
<summary>What is Hashing?</summary><br><b>
252
+
253
+
Hashing is a mathematical function for mapping data of arbitrary sizes to fixed-size values. This function produces a "digest" of the data that can be used for verifying that the data has not been modified (amongst other uses)
254
+
</b></details>
255
+
256
+
<summary>How is hashing different from encryption?</summary><br><b>
257
+
258
+
Encrypted data can be decrypted to its original value. Hashed data cannot be reversed to view the original data - hashing is a one-way function.
207
259
</b></details>
208
260
209
261
<details>
@@ -212,6 +264,7 @@ True. It is only used during the key exchange algorithm of symmetric encryption.
212
264
Hashes used in SSH to verify the authenticity of messages and to verify that nothing tampered with the data received.
213
265
</b></details>
214
266
267
+
#### Security - Attacks, Threats, and Vulnerabilities
215
268
<details>
216
269
<summary>Explain the following:
217
270
@@ -257,6 +310,7 @@ You can test by using a stored procedure, so the application must be sanitize th
257
310
258
311
<details>
259
312
<summary>How HTTPS is different from HTTP?</summary><br><b>
313
+
The 'S' in HTTPS stands for 'secure'. HTTPS uses TLS to provide encryption of HTTP requests and responses, as well as providing verifaction by digitally signing requests and responses. As a result, HTTPS is far more secure than HTTP and is used by default for most modern websites.
260
314
</b></details>
261
315
262
316
<details>
@@ -324,10 +378,6 @@ Stuxnet is a computer worm that was originally aimed at Iran’s nuclear facilit
324
378
Spectre is an attack method which allows a hacker to “read over the shoulder” of a program it does not have access to. Using code, the hacker forces the program to pull up its encryption key allowing full access to the program
@@ -405,6 +455,10 @@ MAC address flooding attack (CAM table flooding attack) is a type of network att
405
455
406
456
<details>
407
457
<summary>What is "Diffie-Hellman key exchange" and how does it work?</summary><br><b>
458
+
459
+
Have you heard of [The Two General's Problem](https://en.wikipedia.org/wiki/Two_Generals%27_Problem)? The Diffie-Hellman key exchange is a solution to this problem to allow for the secure exchange of cryptographic keys over an encrypted channel.
460
+
461
+
It works using public/private key pairs (asymmetric encryption). Two parties that wish to communicate securely over a public channel will each generate a public/private key pair and distribute the public key to the other party (note that public keys are free to be exchanged over a public channel). From here, each party can derive a shared key using a combination of their personal private key and the public key of the other party. This combined key can now be used as a symmetric encryption key for communications.
0 commit comments