본문 바로가기

[2-3]operating system19

암호화 알고리즘의 필요성 https://www.evernote.com/l/ATizhA6eRtZEjokvJEP81yki3i2viXCQTt0/ 암호화 알고리즘의 필요성 암호화 알고리즘의 필요성 단방향 SSO 인증 구성도 A서버는 이미 구축되어 있고 B서버는 신규로 구축 할 사이트 사용자가 A서버에 로그인 한다 A서버에 저장된 사용자 정보 일부가 B서버로 전송된 www.evernote.com 2021. 8. 24.
[Thread Book #4 ] 스레드 중단 [Thread Book #4 ] 스레드 중단 다른 스레드 실행을 중단하는 방법이다. class Program { static void Main(string[] args) { Console.WriteLine("Starting program..."); Thread t = new Thread(PrintNumbersWithDelay); t.Start(); Thread.Sleep(TimeSpan.FromSeconds(6)); t.Abort(); Console.WriteLine("A thread has been aborted"); } static void PrintNumbersWithDelay() { Console.WriteLine("Starting..."); for (int i = 1; i < 10; i++) {.. 2020. 6. 13.
스레드 동기화 한 스레드가 증감 연산을 수행할 때, 다른 스레드는 끝날 때까지 기다려야 한다. 이런 일반적인 문제는 흔히 '스레드 동기화' 라고 한다. 스레드 동기화를 달성하는 여러가지 방법이 있다. 먼저 공유 객체가 없으면 전형 동기화할 필요가 없다. 놀랍게도 프로그램을 재설계하고 공유 상태를 제거함으로써 복잡한 동기화 생성자를 자주 없앨수 있다. 이것이 가능하다면 여러 스레드가 단일 객체를 사용하는 것을 피하면 된다. 공유 상태가 꼭 필요한 경우 두번째 방식은 원자 연산 atomic poeration 만 사용하는 것인데, 연산이 단일 시간량 quantum of time 을 받아 즉시 완료함을 의미한다. 따라서 첫 번째 연산이 완료될 때까지 다른 연산을 수행할 수 있는 스레드가 존재하지 않는다. 그런 이유로 연산이 .. 2020. 6. 13.
[Thread Book #5] 스레드 상태 조사 [Thread Book #5] 스레드 상태 조사 스레드가 가질 수 있는 상태를 설명하며 스레드가 이제 시작됐는지의 여부나 스레드가 봉쇄 상태인지의 여부에 관한 정보를 얻을때 유용하다. 스레드는 독립적으로 실행되므로 언제든지 상태가 바뀔수 있음에 주목하길 바란다. class Program { static void Main(string[] args) { Console.WriteLine("Starting program..."); Thread t = new Thread(PrintNumbersWithStatus); Thread t2 = new Thread(DoNothing); Console.WriteLine(t.ThreadState.ToString()); t2.Start(); t.Start(); for (int .. 2020. 6. 12.
스레드의 파라미터 전달 class Program { static void Main(string[] args) { var sample = new ThreadSample(10); var threadOne = new Thread(sample.CountNumbers); threadOne.Name = "ThreadOne"; threadOne.Start(); threadOne.Join(); Console.WriteLine("--------------------------"); var threadTwo = new Thread(Count); threadTwo.Name = "ThreadTwo"; threadTwo.Start(8); threadTwo.Join(); Console.WriteLine("--------------------------.. 2020. 5. 13.
스레드 우선순위 스레드 우선순위 스레드 우선순위에 대한 다른 가능한 옵션을 설명하며,또한 스레드에 CPU 시간을 어떻게 할당할지 결정하는 스레드 우선 순위를 설정하는 방법을 제시한다. class Program { static void Main(string[] args) { // 다른 두 스레드를 정의한 메인 프로그램을 시작한다. //메인 스레드 우선순위 값을 출력한후,활용가능 한 모든 코어에서 두 스레드를 실행한다. //연산 코어가 하나 이상이 있다면, 2초 안에 첫 결과를 얻는다. //가장 높은 우선순위인 스레드는 보통 더 반복해서 계산 해야한다. //다만, 두값이 서로 가까워야 한다. 하지만 어떤 다른 프로그램이 //모든 CPU 코어를 적재해 실행하고 있을 때는 상황이 상당히 달라질수 있다. Console.Write.. 2020. 5. 6.
해쉬 함수는 임의 길이를 가진 데이터를 '특정 길이의 데이터'로 변환하는과정이다. 해쉬 함수는 임의 길이를 가진 데이터를 '특정 길이의 데이터'로 변환하는 과정이다. 암호화 알고리즘과 달리 해시 함수에는 키가 없다 그 대신에 해시 값의 길이가 암호화 알고리즘에서 키 길이와 동일한 역할을 한다. 해시 함수와 블록 암호화 알고리즘은 난수처럼 보이는 결과물을 생성한다는 공통점이 있다. 해시 알고리즘의 보안 강도 SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 SHA-512/256 충돌 저항성 < 80 112 128 192 256 112 128 역상 저항성 160 224 256 384 512 224 256 제2 역상 저항성 105-160 201-224 201-256 384 394-512 224 256 같은 해시 함수라 하더라도 어떤 용도로, 어떤 방식.. 2020. 3. 13.
암호키 관리 대체 키는 어떻게 관리해야 안전할까? 키 역시 데이터 형태이므로 키 관리는 다시 데이터 보안의 문제가 된다. 게다가 암호화를 할 때 생성된 키는 하나가 아니다. 암호화 키, 복호화 키, 암호화 권한을 확인하는 키, 복호화 권한을 확인하는 키 등 여러 개가 필요하다 보니 키마다 접근권한을 부여하고 관리하는 '체계'가 있어야 한다. 보안을 생각할 때는 '안전한 기술' 만이 아닌 안전한 시스템까지 함께 생각해야 한다. 혼돈 달성 : 문자 바꿈 Substiution을 선택하고 확산을 달성 : 순서 바꿈 Permutation 선택 Substiution 은 치환, 대치, 대체, 환자 등 단어로 표현할 수 있다 "가나 다라마'를 'a나 c라, e'로 바꾼다 '더 안전하게 ' 암호화를 하고 싶다면 최대한 혼돈과 확산 .. 2020. 3. 13.
OPE 기법 순서 유지 암호화 OPE 기법 순서 유지 암호화 OPE(Order Preserving Encryption) 기법은 일종의 대칭키 암호화 알고리즘으로, 평문 데이터의 크기 순서를 암호화된 데이터에 반영시켜암호화시키는 기법을 말하며, DB 암호화 제품의 범위 검색에 실제적으로 사용되고 있다.범위에 해당하는 값을 암호문으로 만들어 그 크기 사이에 해당하는 암호문을 돌려주면 되기 때문에 추가적인 복호화 작업이 필요 없게 되므로 검색 속도 측면에서 성능향상이 이루어질 수 있다. 2003년에 G. Ozsoyoglu 등이 의사난수(psedurandom number)를 이용하여 OPE 기법을 제안하였다 하지만, 암호문을 적절히 이용하면 평문의 분포가 들어나는 취약점이 있었다. 이를 해결하기 위해 2004년 R. Agrawal 등은 제안.. 2020. 3. 12.
스트링 암호화와 블록 암호화 스트링 암호화와 블록 암호화 암호화는 스트림 암호화와 블록 암호화 두 가지로 구분 할 수 있습니다. 블록 암호화가 데이터를 블록 단위로 잘라 암호화 알고리즘을 거쳐 암호화하는 것과 달리 스트링 암호화는 데이터의 흐름을 순차적으로 (보통 1비트씩) 어떤 값 (암호화할 데이터와 길이가 같은 키값)과 XOR 연산하여 암호화합니다. 사실 스트림 암호화는 많이 사용하지 않아서 현재는 개념만 남아 있습니다. RC4 같은 스트림 암호화 전용 알고리즘도 있기는 하지만,블록 암호화와 비교하면 연구가 그리 활발하지는 않습니다. 그것은 운영모드를 사용하면 블록 암호화를 스트림 암호화처럼 구성할수 있어 스티림 암호화 전용 알고리즘의 활요도가 낮기 때문입니다. CFB 나 OFB 도 다른 관점에서 보면 난수 성질을 갖는 값을 만.. 2020. 3. 12.