GithubHelp home page GithubHelp logo

mobile-information-systems's Introduction

Mobile Information Systems lecture materials

Preface

This repository contains lecture materials (mostly slide sets) for a graduate course in mobile information systems. This course was initially held at Bauhaus-Universität Weimar in the summer semester 2015 for M.Sc. students in the Computer Science and Media degree. Prerequisites are a bachelor's degree in computer science and good programming skills (theoretical as well as practical) in Java.

Comments, feedback and suggestions for improvement (including pull requests) are very welcome.

Some material was contributed by Prof. Dr. Matthias Kranz (University of Passau), Prof. Dr. Andreas Butz & Dr. Julie Wagner (Ludwig-Maximilians-Universität Munich) - thanks again!

License

Original copyright © 2015 by Florian Echtler. All material is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License CC-BY-SA-NC.

As a very brief summary, this means that you can freely use these materials as long as you:

  • provide attribution to the original author(s)
  • share your modifications under the same or a similar license
  • only use them for non-commercial purposes (such as teaching a university course)

Where possible, I have tagged material from external sources with CC (also under a compatible CC license), PD (public domain material) or FU (material which I believe to be included as "fair use").

Contents

The course currently spans 10 weekly sessions with the following topics:

  • Introduction & Basics
  • Big Issues
  • Networks & Location
  • I/O on Small Screens Part 1 & 2
  • Usage Context
  • Privacy & Security
  • UbiComp & IoT
  • Mixed Reality
  • Case Studies

There's also two extra lectures which are very topic-specific and might not work for some audiences:

  • Android Internals
  • Mobile Algorithms

The course is usually accompanied by an Android-based exercise class every two weeks. As the exercise materials are part of the graded course assignments, I'm currently not including them in this public release.

A video recording of the entire course (except lectures 10 and 12) is available on Youtube, also with CC license.

git and ODT

The files in this repository are in OpenDocument format. If you add the following lines to your ~/.gitconfig file and install the odt2txt utility, you can use the regular git diff command to compare versions etc. (see also here for more details).

[diff "odf"]
	textconv = odt2txt

mobile-information-systems's People

Contributors

floe avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mobile-information-systems's Issues

07-privacy-security: Certificate pinning deprecated in favor of certificate transparency

Hey Florian,
In your video 7.5 at 3:30 (slide 26 in 07-privacy-security) you talk about HTTPS. I think your video has some outdated information. Certificate pinning is deprecated in favor of Certificate Transparency, read here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Public_Key_Pinning

Also, I have a follow up question about your statement that HTTPS doesn’t prevent man in the middle attacks. From what I’ve understood man in the middle attacks are quite difficult to do on HTTPS connections. I hope you can help improve my knowledge on this.

A mobile connects to a server (man in the middle) that functions as a proxy between the mobile and the real server that an app uses. Sure, this would be possible but if the proxy is not signed by a trusted CA for that domain it wouldn’t be able to decode any of the information between the mobile and the real server because it wouldn’t have the encryption key that the two uses.
From my understanding it would only be possible for the proxy to decode the data if it gets a compromised certificate authority to sign its public key for that domain. And the compromised certificate authority would need to be signed by one of the mobile’s other trusted certificate authorities or the root certificate, have I misunderstood something? Thanks

Updates

Some slides getting a bit long in the tooth. Suggested updates, in random order:

  • Update maruOS, pureOS (L1)
  • Add a "Sustainability" topic in L2
  • Update research papers in L4,L5
  • Update Android security model, Replicant, Openmoko, grapheneOS (L7)
  • Talk about two-factor apps vs. SMS codes (L7)
  • Discuss "Certificate Transparency" (L7, cf. #1)
  • Update IoT hype cycle diagram (L8)
  • Move "Trickle Algorithm" from L8 to L12
  • Add Matter protocol to IoT standards (L8)
  • Discuss OpenRadioAccessNetworks (OpenRAN) in L3?
  • Update AirTag case study in L11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.