Structure - Informatik 4

Werbung
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
Herunterladen