리눅스 파티션 설정

Programming/Linux 2009. 10. 26. 07:22

리눅스에서 꼭 필요한 파티션
● 스왑파티션
● "/" 파티션( 루트 파티션 )


수동 파티션 설정
스왑(Swap) : 200MB 정도 -> 가상메모리 역할
루트(/) : 500MB 정도 -> 자동 설정시 모든 파일이 위치
/boot : 최대 80MB -> 부팅 관련 파일
/usr : 300MB ~ 2.5 GB -> 대부분 프로그램 설치 공간
/var : 200MB ~ 1.0 GB -> 임시공간
/home : 나머지 전체 공간 -> 사용자별 홈 디렉토리

'Programming > Linux' 카테고리의 다른 글

  (0) 2009.10.26
X 윈도우  (0) 2009.10.26
멀티부팅과 파티션  (0) 2009.10.09
시스템 정보 보기  (0) 2009.10.08
vi 사용( 명령어 )  (0) 2009.10.08

설정

트랙백

댓글

키 분배 시나리오

Programming/Security 2009. 10. 23. 23:04

- A는 자신과 KDC만 아는 마스터키 Ka 를 가지고 있고, B는 자신과 KDC만 아는 마스터키 Kb를 공유
1. A는 B와의 논리적 연결을 보호하기 위한 세션키 요구 메시지를 KDC에게 보낸다. 이 메세지에는 A와 B의 신원과 임시비표(nonce) 가 포함. 임시비표는 요구할 때마다 다른 값을 가지도록 해야한다.

2. KDC는 Ka를 이용하여 암호화된 메세지를 A에게 보내어 응답한다.( A가 그 메세지를 제대로 받을 수 있는 유일한 사용자 ), Ks-이 세션에 사용될 일회용 세션키, 이 응답 메세지가 A의 키 요구 메세지와 동일함을 알리기 위한 원래의 키 요구 메시지( (1)에 대한 응답이라는 것을 알림 )와 임시 비표.
E( Kb, [Ks||IDa] ) 는 B를 위한 데이터( 세션키 - 연결을 설정하기 위해)  A의 신원확인을 위한 IDa
: A는 요구 메세지가 KDC에 수신전에 변경되지 않았고, 임시비표의 사용으로 이 것이 이전 키요구메세지의 재전송이 아님을 확인 가능.( 이전에 받았어야 하는 데이터가 아니라 현재 받아야 하는 데이터가 맞음을 확인 )

3. A는 이 세션에 사용될 세션키를 저장해 놓고 KDC에게 받은 데이터를 B에 전송 - B는 접속 상대가 A이고, 세션키를 알게 되고 이 데이터가 KDC 에게 온 것임을 알수 있다.

4. 메세지 3에 대한 응답.( 암호화를 위해 세션키 사용, B가 A에게 임시 비표 보낸다 )

5. A는 B에게 f(N2) 로 응답. f는 N2를 변환하는 어떤 함수이다.

4,5는 B는 자신이 수신한 원래의 메세지(3단계)가 재전송된 것이 아님을 확인할 수 있다.
1~3단계는 키 분배, 4~5는 인증 기능을 수행.

'Programming > Security' 카테고리의 다른 글

Diffie-Hellman Key Exchange  (0) 2009.12.10
RSA  (0) 2009.12.10
RC4 알고리즘  (0) 2009.10.23
블록 암호의 운용 모드  (0) 2009.10.23
암호 방식( 고전적 기법 )  (0) 2009.10.23

설정

트랙백

댓글

RC4 알고리즘

Programming/Security 2009. 10. 23. 21:38
RC4는 RSA Security 를 위해 Ron Rivest에 의하여 1987년에 고안된 스트림 암호 방식이다. 이 것은 바이트 단위의 작용에 대하여 다양한 키 사이즈를 갖는 스트림 암호 방식 이다. 이 알고리즘은 랜덤 치환 사용을 기반으로 한다. RC4는 가장 널리 쓰이는 스트림 암호 방식이다. 이 방식은 웹 브라우저와 서버사이의 통신의 표준으로 규정된 SSL/TLS(Secure Sockets Layer/Transport Layer Security) 에서 사용 된다. 무선랜 표준 IEEE 802.11 의 WEP( Wired Equivalent Privacy ) 프로토콜에서 사용 된다.


(a) 1. S 항목을 S[0] ~ S[255]에 0 ~ 255까지 같은 값을 오름차순으로 정렬
     2. 임시벡터 T 생성. K 를 keylen 만큼 T에 계속해서 T가 채워질때 까지 복사를 한다.
(b) 3. j = j + S[i] + T[i] 를 i 는 0 ~ 255 까지 재계산하면서 swap을 한다.
(c) 4. i는 0 부터 시작해서 255까지 값을 증가시키며 j = j + S[j] 계산 후, Swap.
        t값 계산 후에 k = S[t]를 계산. 암호화는 k 값과 평문의 다음 바이트를 XOR연산 한다.
        복호화는 k 값과 암호문의 다음 바이트를 XOR 한다.

'Programming > Security' 카테고리의 다른 글

Diffie-Hellman Key Exchange  (0) 2009.12.10
RSA  (0) 2009.12.10
키 분배 시나리오  (0) 2009.10.23
블록 암호의 운용 모드  (0) 2009.10.23
암호 방식( 고전적 기법 )  (0) 2009.10.23

설정

트랙백

댓글

블록 암호의 운용 모드

Programming/Security 2009. 10. 23. 20:34
1. 전자코드북( Electronic Code Book )
: 일정한 block을 나눠서 각각 암/복호화하여 합치기
- 평문의 동일한 64비트 블록이 두번 이상 나올 경우 항상 동일한 암호문이 생성 된다.
- 따라서, 암호키와 같이 짧은 자료에 적합하다.( DES key 를 보안상 안전하게 전송하려 할 경우 _)



2. 암호 블록 연결( Cipher Block Chaining ) 모드
: 평문 블록이 반복돼도 상이한 암호 블록을 생성할 수 있는 기법. 첫 결과가 이후 연산에 영향을 미친다.
IV( 초기화 벡터 ) 는 송수신 양자 모두가 알고 있어야 한다. 보안을 강화하기 위해 IV는 키와 같이 보호돼야 한다. 그러기 위해 IV 송신에 ECB 암호화가 이용될 수 있다.
P의 크기는 자유롭고, 각 블록에서 64비트씩 잘라서 암/복호화를 하고, 마지막 블럭이 64비트가 되지 않으면, 패딩 값을 넣어준다.


3. 암호 피드백( Cipher FeedBack ) 모드
: 암호 피드백이나 출력 피드백 모드를 사용하여 스트림 암호 방식으로 변환이 가능하다.  실시간 작동이 가능하다. 문자 스트림의 전송 중 각 문자를 문자지향 스트림 암호화를 이용하여 암호화 후 즉시 전송할 수 있다.
스트림 암호 방식의 좋은 성질은 암호문이 평문과 같은 길이 라는 것이다.
IV(초기 벡터) : 64bits 이동 레지스터
s bits : 전송 단위 ( 임의로 결정; 통상 8비트 )
Shiftregister = 64 - s bits + s bits
Pn : PlainText Block
XOR의 결과가 다음 연산의 Input
암호화 시에 C1 전송시에 문제가 생기면 이후에 모든 것이 제대로 되지 않는다.
복호화 시에 C1 전송시에 문제가 생기면 P1, P2에 문제가 생긴다.


1. 출력의 최상위 s비트( MSB )를 평 문의 첫 단위 P1과 XOR 연산하여 암호문의 첫 단위 C1이 생성되어 전송된다.
2. 이동 레지스터의 내용은 s 비트 좌측 이동되며 이때 C1이 이동 레지스터의 최하위 우측 s비트(LSB)에 채워진다.

4. 출력 피드백( Output FeedBack ) 모드
CFB와 유사하지만, XOR 연산 전의 값이 다음 연산의 Input 이 된다.
장점 : C1 전송시 에러가 나도 복원된 P1 의 값에만 영향을 미치며 다른 연산에 영향을 끼치지 않는다.( 전송중의 비트 오류가 전파 되지 않는다 )
단점 : CFB보다 메시지 스트림 변조 공격에 약하다. 암호문의 보수비트를 취하는 것은 곧 복원된 평문에 보수비트를 취하는 것이기 때문에 전송중의 비트 변경이 복원된 평문에 대하여 행해질 수 있다. 이것은 적으로 하여금 자료부는 물론 오류 검출부도 불법수정하여 오류검출 코드에 의해 발견되지 않도록 암호문을 변조 할 수 있게 한다.


5.  계수기 ( CounTeR ) 모드
: 평문 블록사이즈와 같은 계수가 사용된다. 계수기 값은 매 블록 마다 값이 틀려야 한다. 블록간의 연관성이 전혀 없다.
동시에 병렬처리가 가능해서 속도가 가장 빠르다.
Counter 와 K, Pn 는 기존에 알고 있는 값이다.

'Programming > Security' 카테고리의 다른 글

Diffie-Hellman Key Exchange  (0) 2009.12.10
RSA  (0) 2009.12.10
키 분배 시나리오  (0) 2009.10.23
RC4 알고리즘  (0) 2009.10.23
암호 방식( 고전적 기법 )  (0) 2009.10.23

설정

트랙백

댓글

암호 방식( 고전적 기법 )

Programming/Security 2009. 10. 23. 17:29
치환 기법

시이저( Caesar ) 암호 기법
: 각 알파벳 문자를 두 문자 건너의 세 번째 문자로 치환하는 방식
평문 :   meet me after the toga party
암호문: PHHW PH DIWHU WKH WRJD SDUWB

평문 :        a b c d e f g ~
암호문자 :  D E F G H I J ~
와 같이 1:1 대응이다. 각 문자에 0 ~ 25 까지 숫자를 배정하여
C = E(p) = (p+3) mod (26 ) 로 암호화를 한다.

암호화 식
C = E(p) = (p+k) mod (26 )
P = D(c) = (c-k) mod (26)

단일문자치환( Monoalphabetic Cipher ) 암호 기법
: 각 문자는 다른 문자와 1:1 로 매칭되는 맵이 존재 한다. 이 맵에 따라 암호화 수행
map
planin : abcde ~
Cipher :DKVQF ~

Plaintext : ifwew...
Ciphertext : WIRFR...

Playfair 암호 기법
: 가장 잘 알려진 다중문자 치환 암호기법( Multiple-Letter Encryption )
 M  O   N   A   R 
 C  H  Y  B  D
 E   F   G   I/J   K
 L  P  Q  S  T
 U  V  W  X  Z

Keyword : MONARCHY
먼저 5X5 매트리스에서 키워드 값을 중복되는 알파벳을 제외하고, 차례대로 체운다.( 붉은색 )
그리고 나서, 키워드에 없는 알파벳을 차례대로 적는다.
이 매트리스를 근거로 하여 암호화를 하게 된다.
암호화 방법은
1. plaintext의  각 알파벳 쌍( 두 문자 )이 같은 문자이면, X와 같은 plaintext에 없는 임의의 문자를 삽입한다. 그리고, 쌍이 맞지 않는 경우에도 같은 임의의 문자를 삽입하여 쌍을 맞춰준다.
2. 각 쌍의 알파벳 문자를 매트리스에서 찾아서, 같은 열에 있을 경우에는 그 문자를 각 문자의 우측에 있는 문자와 치환을 한다.
3. 같은 행에 있을 경우에는 그 문자를 각 문자의 아래의 문자와 치환을 한다.
4. 서로 다른 행과 열에 있을 경우에는, 한 문자의 같은 열과 다른 문자의 같은 행의 문자를 치환한다.

암호화 PlainText : ballon
-> ba lx lo nx -> I/JB SU PM AW
복호화 I/JB SU PM AW -> BA LX LO NX -> BALLON

One-Time Pad
: 메시지와 정확히 같은 길이이고 반복되지 않는 랜덤 키 사용을 하는 방법
평문과 통계적 관계를 갖지 않는 임의의 출력을 생성한다.


전치 기법( Transposition Techniques )

Rail Fence Cipher
: 평문을 대각선으로 써 놓고 횡으로 읽어내는 방식이다.
PlainText : meet me after the toga party
CipherText: mematrhtgpryetefeteoaat

Row Transposition Cipher
: 메시지를 사각형의 행순으로 써넣고 열 순으로 읽되 열의 순서를 바꾸는 것이다.
키    : 4 3 1 2 5 6 7
평문 : a t t a c k p
         o s t p o n e
         d u n t i l t
         w o a m
x y z
암호문 : ttna aptm tsuo aodw coix knly petz

키 갯수에 따라 평문 한줄 길이를 설정하여 데이터를 채운다.

평문 뒤의 x y z 는 평문에 없는 문자중에 더미로 넣은 것이다. 복호화 할 때 이를 제거해 준다.

'Programming > Security' 카테고리의 다른 글

Diffie-Hellman Key Exchange  (0) 2009.12.10
RSA  (0) 2009.12.10
키 분배 시나리오  (0) 2009.10.23
RC4 알고리즘  (0) 2009.10.23
블록 암호의 운용 모드  (0) 2009.10.23

설정

트랙백

댓글

좋아하는 말들

1. 끝나기 전에는 끝난 것이 아니다.( It ain't over till it's over )
2. 천재는 노력하는 사람을 이길 수 없고 노력하는 사람은 즐기는 사람을 이길수 없다.
3. 축구 선수가 되지 않았으면 뭘 하고 있을까? - 생각해 본적 없다.....
4.

설정

트랙백

댓글

시리얼 통신

Programming 2009. 10. 19. 20:07

시리얼 통신 데이터 확인 할 수 있는 프로그램과 프로그램 개발하는 방법에 대한 파일 첨부

'Programming' 카테고리의 다른 글

XML 이란?  (0) 2010.03.26
serialize ( 직렬화 )  (0) 2010.03.22
뉴욕의 프로그래머  (0) 2009.09.04
[Network]슬라이딩 윈도우( Sliding window )  (0) 2009.09.04
IP 주소 변경하기  (0) 2009.08.21

설정

트랙백

댓글

멀티부팅과 파티션

Programming/Linux 2009. 10. 9. 19:55



파티션을 주 파티션을 먼저 만든다. 그리고, 논리파티션을 만들기 위해 확장파티션을 만들고, 논리 파티션을 만든다.( 확장파티션 자체만으로는 아무 의미가 없다 ) 윈도우 9x 계열에서는 주 파티션이 하나만 만들수 있지만, 윈도우 NT 계열이나 리눅스 에서는 최대 4개 까지 만들수 있다. 이러한 파티션의 정보는 MBR영역에 포함되어 있다. ( 컴퓨터 부팅시 BIOS에서 MBR을 먼저 체크를 한다. )
윈도우를 먼저 C에 설치하고, 확장파티션에 리눅스를 설치한다.







파티션 : /dev/hda1 ( Linux )
                  /dev/hda2 ( Linux )
                  /dev/hda3 ( Linux )
                  /dev/hda4 ( Extended )

논리 파티션 : /dev/hda5 ( Linux )
                     /dev/hda6 ( Linux ) 
                     /dev/hda7 ( Linux LVM )

확장 파티션은 논리 파티션을 만들 목적
논리 파티션의 번호는 5번 부터 지정 가능

'Programming > Linux' 카테고리의 다른 글

X 윈도우  (0) 2009.10.26
리눅스 파티션 설정  (0) 2009.10.26
시스템 정보 보기  (0) 2009.10.08
vi 사용( 명령어 )  (0) 2009.10.08
파일의 링크  (0) 2009.10.08

설정

트랙백

댓글

시스템 정보 보기

Programming/Linux 2009. 10. 8. 11:26
CPU 정보 : uname
uname -p -> i686 은 펜티엄4를 의미

메모리 정보 : free
free -m : MB 단위
free -k : KB 단위

프로세스 정보 : ps, pstree
ps auxw | grep httpd : 웹서버 대문이 제대로 작동중인지 확인
pstree : 프로세스들의 종속성

프로세스별 CPU와 메모리 점유율 : top
프로세스 죽이기 : k
작업관리자 종료 : q

마운트한 파일 시스템의 정보 : df
마운트한 파일 시스템의 전체크기, 사용한 공간, 여유공간 등의 정보
df -u

디렉토리별 용량 : du
du --max-depth=1 -h /home : 사용자별 디스크 사용현황

'Programming > Linux' 카테고리의 다른 글

리눅스 파티션 설정  (0) 2009.10.26
멀티부팅과 파티션  (0) 2009.10.09
vi 사용( 명령어 )  (0) 2009.10.08
파일의 링크  (0) 2009.10.08
기본 명령어  (0) 2009.10.08

설정

트랙백

댓글

vi 사용( 명령어 )

Programming/Linux 2009. 10. 8. 11:19

입력 모드
w ( 저장 ), q ( 종료 ), wq ( 저장 및 종료 ), q! ( 저장하지 않고 종료 )

명령모드
x : 한글자 지우기
d : 커서 오른족 단어 삭제
dd : 한줄 삭제
ndd : 여러줄 삭제 ex ) 10dd
yy : 한줄 복사
nyy : 여러줄 복사 ex ) 10yy
p : 헌재 커서 아래로 붙여넣기
np : n번 붙여넣기
u : 복구하기
/검색어 : 아래방향 찾기
?검색어 : 위방향으로 찾기
n : 검색중에 다음 찾기
nG : 해당 줄로 이동 ex ) 100G - 100번째 줄로 이동

텍스트 검색 및 치환
/찾는 문자열

: 파일 내에서 찾는 문자열을 찾아 커서가 이동( 아래 방향으로 )

?찾는 문자열
: 파일 내에서 찾는 문자열을 찾아 커서가 이동( 위 방향으로 )

n
: "/찾는문자열"을 입력후 다음찾기할때( 아래방향 )

N
: "/찾는문자열"을 입력후 다음찾기할때( 위방향 )

s/찾는문자열/치환문자열
: 현재 커서가 놓여 있는 행에서 첫번째로 검색된 특정 문자열 바꾸기

1,10s/찾는문자열/치환문자열

: 1~10행에 있는 검색된 문자열 바꾸기

%s/찾는문자열/치환문자열
: 모든 행에 걸쳐 첫번째로 검색된 특정 문자열 바꾸기


실행모드
!명령어 : 외부명령어 실행

환경 설정
: /usr/share/vim/vim61/vimrc_example.vim 을 자신의 홈디렉토리에 .vimrc 로 복사하여 편집

입력모드에서 설정
set number : 행번호 표시
set autoindent : 자동 들여쓰기
set cindent : C 파일 자동 들여쓰기
set backup : 백업파일 자동 생성


저장하지 않고 종료했을 경우의 파일 복구
vi.a.txt 강제 종료시 a.txt.swap 파일 생성이 된다.

다시 편집시에 복구 메세지 출력되면
R : 해당화면에서 복구
E : 그냥 고치기

'Programming > Linux' 카테고리의 다른 글

멀티부팅과 파티션  (0) 2009.10.09
시스템 정보 보기  (0) 2009.10.08
파일의 링크  (0) 2009.10.08
기본 명령어  (0) 2009.10.08
리눅스란?  (0) 2009.10.08

설정

트랙백

댓글