RWTH Aachen Lehrstuhl für Informatik IV Prof. Dr. O. Spaniol WS 00/01 08.11.00 Reference Solution for Practice 1 Security in Communication Networks Exercise 1 a) /etc/passwd On a UNIX system a corresponding description can be found via the command: man -S5 passwd Structure account: coded password data: user id: group id: info: home dir: shell account coded password data user id group id info home dir shell login name DES encrypted password user identification group identification info text related to the user (e.g. used by 'finger') home directory login shell Function • • • information for user authentication user administration (home directory, user information, login shell) group membership of users b) /etc/shadow Structure account: coded password data: a: b: c: d: e: f: g: account coded password data a b c d e f g see above see above number of days since 1.1.1970 until the day the password was changed for the last time number of days after that the password can be changed number of days after that the password has to be changed number of days before the user is reminded to change his password number of days after that the account is deleted, if the password gets invalid number of days since 1.1.1970 the account remains locked reserved Function In case of using the shadow password system the generally accessible file /etc/passwd contains an “x” instead of the encrypted password. An attacker can therefore not access the encrypted password. The encrypted password is stored in the file /etc/shadow and is therefore not accessible for normal users. The security level can be increased by additional information like the maximum validity of the password. Page 1 of 4 RWTH Aachen Lehrstuhl für Informatik IV Prof. Dr. O. Spaniol c) Criteria • • • selection of a long password. Unfortunately, Unix uses only the first 8 characters. use of different characters like numbers, letters (small and capital) and special characters (if possible) no use of words which can be found in dictionaries, literary work, etc. as such sources can be used for bruteforce attacks Exercise 2 a) Caesar cipher: „Jedes Programm laesst sich um mindestens eine Anweisung kuerzen.“ b) Rot 13: „Jedes Programm hat mindestens einen Fehler.“ c) Polybius Code: „Durch Induktion koennen wir schliessen.“ d) Atbash: „Jedes Programm ist reduzierbar auf eine Anweisung, die nicht funktioniert...” Exercise 3 Java // // Implementation of Caesar cipher // // Input: plaintext or ciphertext from standard input // Output: ciphertext or plaintext to standard output // // Invocation: (java) rotm (-e N|-d N) // // option "-e" corresponds to encryption, "-d" to decryption, "N" is the // shift distance (number between 1..25) // public class rotm { // print help public static void usage() { System.out.println( "Usage: rot -e N or rot -d N, with 1<= N <= 25" ); System.exit( 1 ); }// of usage // apply Caesar cipher to standard I/O public static void trans( int distance ) { try { // read and transform character // output to standard output while ( true ) { int x = System.in.read(); if( x >= (int)('a') && x <= (int)('z') ) { // encryption of small letter x += distance; // treatment of carryover if( x < (int)('a') ) x += 26; else if ( x > (int)('z') ) x -= 26; } else if( x >= (int)('A') && x <= (int)('Z') ) { // encryption of capital letter x += distance; // treatment of carryover Page 2 of 4 RWTH Aachen Lehrstuhl für Informatik IV Prof. Dr. O. Spaniol if( x < (int)('A') ) x += 26; else if ( x > (int)('Z') ) x -= 26; } System.out.print( (char)(x) ); } } catch( java.io.IOException e ) { // error handling } System.out.println(); }// of trans // main programm static public void main( String argv[] ) { // check parameters if( argv.length != 2 ) usage(); // two parameter, determine shift distance to use int distance = new Integer( argv[1] ).intValue(); if( distance < 1 || distance > 25 ) // distance has to be within the given value range usage(); if( argv[0].equals( "-e" ) ) // encrypt trans( distance ); else if( argv[0].equals( "-d" ) ) // decrypt, use negative shift distance trans( -distance ); else // wrong parameter, print help usage(); }// of main }// of rotm Exercise 4 a) a b c d e f g h i j k l m k u v b q p e j n s y z h n o p q r s t u v w x y z i t x f c g m d o r a l w Ausländische Studenten, die in den USA studieren, werden in ihrem ersten College-Jahr binnen kurzer Zeit deutlich dicker, stellt das Magazin «MorgenWelt» mit Blick auf eine neue Studie mit 22 internationalen CollegeNeulingen fest. Den Angaben des Magazins zufolge wurden die Teilnehmer in regelmäßigen Abständen gewogen und mussten Ernährungsprotokolle ausfüllen. Im Schnitt legten sie innerhalb von fünf Monaten drei Pfund Körpergewicht und fünf Prozent Körperfett zu. b) a b c d e f g h i j k l m s f e x c k o v a n l b i Page 3 of 4 RWTH Aachen Lehrstuhl für Informatik IV Prof. Dr. O. Spaniol n o p q r s t u v w x y z h r j t u m y d p q g z w Herkunft oder Geschlecht hätten dabei keine Rolle gespielt. Der Grund für die Gewichtszunahme liege in der Annahme einheimischer Ernaehrungsgewohnheiten. Die Nahrung der US-Studenten enthalte zu viel Fett, Salz und Zucker und zu wenig Ballaststoffe. c) a b c d e f g h i j k l m f g h i j a b c d e p q r n o p q r s t u v w x y z s t k l m n o x y z u v w Einerseits sei Fast Food für Neulinge oft die billigste und bequemste Art, sich zu ernähren. Andererseits seien Hamburger und Pommes Frites in vielen Ländern eine Art Luxus. Jeden Tag zu Burger King zu gehen sei offenbar für viele Neulinge eine Art, den American Dream auszuleben. Page 4 of 4