Units 9-12 Flashcards
Explain the difference between pull technology and push technology when dealing with clients in a web application. State one approach to implementing push technology.
- Pull technology: the normal client-server approach where the client receives info/updates in response to a request sent to the server.
- Push technology: the server notifies clients of updates without clients having to make a request each time. Clients register with the server/subscribe to a service. The server may send updates individually or use multicasting.
- Push examples: multipart/x-mixed-replace, UDP, multicast UDP, TCP, messaging services (e.g. JMS).
Give an example of a scenario in which you might want to make use of signatures, with a brief explanation of why the service is appropiate.
Scenario: recipient wants to check the sender’s identity.
The sender self-authenticates.
Could be used in communications where little is at stake, or where the recipient trusts the sender to self-authenticate - no thirdparty checking the sender’s identity.
Give an example of a scenario in which you might want to make use of certificates, with a brief explanation of why the service is appropiate.
Scenario: the recipient wants to check the sender’s identity and requires third-party checking of the identity.
This might be used in more important communications, for example, where confidential information might be disclosed and it is important to fully authenticate the sender.
Describe the main function of the ORB in CORBA.
- implementing an object request broker service;
- locating objects able to meet a software request;
- preparing an object to receive a software request;
- communicating data between two objects taking part in a software interaction.
In terms of support for transparencies:
- location transparency;
- implementation transparency;
- object activation state transparency;
- communication mechanism transparency.
List and discuss three additional issues to consider if we wanted to provide access to an interactive web-based information system from mobile devices such as phones or PDAs. Assume the system involves payment processing.
- Limited resources: smaller screen space and other resources, the web tier and client tier would need to allow for different formatting of the interface.
- Communication bandwidth may be limited or more unreliable than with fixed network connections – may require a different interface. Emphasises the need to cope with intermittent communications failure.
- Security issues: interception of mobile communications is, in principle, easier than for fixed lines. Payment processes must be secure.
Would you consider XML to be a form of middleware? Explain.
No, because XML is not a layer; it is just a way of representing a communication.
Name two security services that are commonly employed in the database tier of the n-tier model and explain how they are put to use in this context.
Confidentiality, used to obscure stored information, e.g., encrypted passwords.
Integrity, used to check contents of stored files or check integrity of database file.
Authentication, used to check whether a user is allowed to access a file or record.
Auditing, used to keep track of actions carried out by users or traffic on a system.
State one advantage for each of the following security services:
- Confidentiality
- Integrity
- Authentication
- Auditing
- Confidentiality: enhanced security of records.
- Integrity: increased robustness / security.
- Authentication: reduced risk of unauthorised access / modification etc.
- **Auditing: **increased non-repudiation, i.e. increased ability to determine who is responsible for actions or issues.
Explain the difference between a block cipher and a stream cipher.
A block cipher is one that operates on chunks of data at a time, called blocks, whereas a stream cipher operates on a stream of data, typically a bit or a byte at a time.
Would you typically use a block cipher or a stream cipher in wireless communication? Explain why.
Stream cipher.
- Computationally cheaper (particularly useful in this context since computing resources and bandwidth are typically more limited)
- Wireless communications are of unpredictable length, likely to suffer from a frequent requirement for padding or truncating if a block cipher is used
Scenario: an organisation suffered an attack in which session cookies (containing info that could be used to authenticate a user) were captured and reused by the attackers to enter an existing session.
Briefly explain three security measures (in Java EE or otherwise) that might help to prevent such an attack from happening.
- Use of hash functions (and add salt)
- Use the SSL protocol
- Use end-to-end encryption
- Use a nonce value
(not wholly confident with this - needs more detail - suggestions welcome!)
A programmer might use a thin client to implement communication between the client tier and a Java EE server. Give two other approaches that might be used.
Applet client.
Application client.
Briefly explain two advantages of applet and application clients compared to a thin client.
Applets and application clients can provide a richer user interface and take some of the processing load away from the server for a more responsive client.
True or false?
A message digest algorithm is quite likely to compute very similar message digests for two messages that contain very similar text.
False - A small change in plaintext will result in a significant change in the output message digest.
True or false?
A message digest algorithm will compute a different message digest every time it is run using a particular message (containing the same text).
False: A message digest algorithm will compute the same message digest given the same text.