02220 - Final Comments
• Projects
• Exam
• How to work with me
• Exercises
DTU Compute
Department of Applied Mathematics and Computer Science
Projects
DTU Compute
Department of Applied Mathematics and Computer Science
Do Not Forget!!!
• Check the requirements for project reports before submitting! (Lecture 1)
• Design challenges
• Who did what
• Submit on time!
3
DTU Compute
Department of Applied Mathematics and Computer Science
Exam
DTU Compute
Department of Applied Mathematics and Computer Science
N.B.!
5
DTU Compute
Department of Applied Mathematics and Computer Science
N.B.!
6
DTU Compute
Department of Applied Mathematics and Computer Science
N.B.!
7
DTU Compute
Department of Applied Mathematics and Computer Science
Questions About What?
• WHATEVER covered in the lectures (see activity plan):
http://www2.imm.dtu.dk/courses/02220/2018/DS_scheduling_2018.html
8
DTU Compute
Department of Applied Mathematics and Computer Science
How to work with me
DTU Compute
Department of Applied Mathematics and Computer Science
Options
• Special course (usually 5 ECTS)
• MSc thesis
• Best is in sequential order: special course + MSc thesis
• Ask for a meeting, including courses + grades in the email
• Tell me a bit about you (prefer theory? practice? work alone? in a team? …)
10
DTU Compute
Department of Applied Mathematics and Computer Science
About What?
• Whatever topic in distributed computing and security
• With me
• Check my publications
• Some keywords: IoT, Industrial IoT, Fog Computing, Security, Privacy, Mobile Computing, Healthcare Technologies, Microservices
• Ask for available research projects
• Propose your preferred topic
• In collaboration with some company / research center
• Ask for available projects
11
DTU Compute
Department of Applied Mathematics and Computer Science
Example 1 (Special Course): See DTU Inside
12
DTU Compute
Department of Applied Mathematics and Computer Science
Example 2 (MSc Thesis): Alexandra Instituttet A/S
Enhancing security of embedded devices using on-chip secure elements
13
DTU Compute
Department of Applied Mathematics and Computer Science
As embedded computing becomes more prevalent, and in some extends replaces custom made systems, it becomes increasingly important that no security compromises are made when using off-the-shelf platforms. In particular for critical infrastructures it is important to ensure correctness of tasks; such as preventing a remote attacker from making the system perform incorrect computations according to his/
hers desires. However it just as important, if not more, to ensure both privacy of the customer's data and the intellectual property of the manufacture. Several companies are providing SoCs suitable for development of secure embedded computing, for example ARM with TrustZone. Even so, end products and general frameworks leveraging the special security features of such chips are uncommon.
We propose an analysis of the specific TrustZone platform as realised by the Samsung Artik platform and development of general patterns in order to allow manufactures to use this platform to limit the attack surface of their products, for example in case of ensuring correct execution or privacy of user data and intellectual property. A concrete goal could be a realisation of a Trusted Platform Module in order to ensure that only a manufacture's code can run on the system and no other processes can be used to steal private information or that malicious code can force incorrect results.
Example 3: Student Job
14
DTU Compute
Department of Applied Mathematics and Computer Science
January 2018 (c) Jakob E. Bardram
1 Mobile Sensing
STUDENT PROGRAMMERS
• Copenhagen Center for Health Technology @ DTU COMPUTE are looking for student programmers
• Multiples jobs
– both during summer – and in the fall
• Technologies like
– cloud-based infrastructures (Docker)
– RESTfull server infrastructure (Spring, Java, PHP) – web-based development (front-end)(React)
– mobile phone programming (Android, iPhone, React Native, Xamarin)
– sensor collection (mobile phone sensing, wearables, activity trackers (FitBit etc.))
– data processing & analysis (R, Python, MatLab) – database management (MongoDB, PostGres) – hardware prototyping (Arduino,...).
• Send email w. short motivation and CV to – Jakob E. Bardram, jakba@dtu.dk
• See more at
– http://www.cachet.dk/about/vacant-positions
Example of Topic: IoT Security
15
DTU Compute
Department of Applied Mathematics and Computer Science
T HE R ISE OF N EXT -G ENERATION C YBERWEAPONS
T HE I NTERNET OF H ACKABLE T HINGS
Exercises
DTU Compute
Department of Applied Mathematics and Computer Science
Polling Protocol (Week 4)
• Extend the polling protocol with sequence numbers and timeout
17
DTU Compute
Department of Applied Mathematics and Computer Science
Solution: Receiver
18
DTU Compute
Department of Applied Mathematics and Computer Science
Solution: Sender
19
DTU Compute
Department of Applied Mathematics and Computer Science
Lecture 10 - Exercise 2.1
20
DTU Compute
Department of Applied Mathematics and Computer Science
Lecture 10 - Exercise 2.2
21
DTU Compute
Department of Applied Mathematics and Computer Science
Lecture 10 - Exercise 3
22
DTU Compute
Department of Applied Mathematics and Computer Science
Solution to Q1 - Idea
• Let p send a msg m1 with group-specific sequence number 1 to group g1
• Let p send a msg m2 with group-specific sequence number 1 to group g2
• (The sequence number are independent, hence it is possible for two messages to have the same sequence numbers)
• Now let’s consider a process q in the intersection of g1 and g2: how is q to order m1 and m2?
• q has no information to determine which msg should ne delivered first
23
DTU Compute
Department of Applied Mathematics and Computer Science
Solution to Q2 - Idea
• p includes with its message the latest sequence numbers for each group that it sends to
• Thus, if p sent m1 before m2:
• m1 would include <g1, 1> and <g2, 0>
• m2 would include <g1, 1> and <g2, 1>
• q is now in a position to know that m1 is to be delivered next
• q would also know that it had missed a msg if it received m2 first
24
DTU Compute
Department of Applied Mathematics and Computer Science
Lecture 10 - Exercise 4
• Suggest how to adapt the causally ordered multicast protocol to handle overlapping groups.
25
DTU Compute
Department of Applied Mathematics and Computer Science
Solution
• A process maintains a different vector timestamp Vg for each group it belongs to
• The vector Vg is attached to each message sent
• When a process p receives a message for group g from member q, p checks:
• Vg_message[q] = Vg(p)[q] + 1 (as in the single-group case)
• all the other entries in the vector timestamp Vg_message <= Vg(p)
• If false, p keeps the message on the hold back queue until conditions are satisfied
26
DTU Compute
Department of Applied Mathematics and Computer Science
Lecture 10 - Exercise 5
27
DTU Compute
Department of Applied Mathematics and Computer Science
• Let us consider the reliable multicast algorithm. Explain why reversing the order of lines 11-12 makes the algorithm no longer satisfy agreement.
11 12
Solution
• Reversing the order of those lines means that a process can deliver a msg and then crash before sending it to the other group members!
• If that happens, the other group members might not receive the mg at all
• This contradicts the uniform agreement property of reliable multicast
28
DTU Compute
Department of Applied Mathematics and Computer Science
Distributed Mutual Exclusion
• How to prove liveness?
• [ME2] Liveness: requests to enter and exit the CS eventually succeed
• Structure of the proof (by contradiction):
• consider a ME algorithm that satisfies liveness
• negate that (i.e, assume the algorithm does NOT satisfy liveness)
• translate what it means
• starting from that assumptions, run the algorithm (for instance, central server algorithm) in such a way you always end up in a contradiction
29
DTU Compute
Department of Applied Mathematics and Computer Science