6,802.40
전일대비 14.11 ( -0.21% )
23,007.69
전일대비 49.72 ( -0.22% )
48,394.30
전일대비 22.26 ( -0.05% )
RSA
Ron Ribest, Adi Shamir, Leonard Adleman 가 개발한 암호 방식
인터넷 보안, 전자상거래에서 널리 사용
2개의 대형 소수의 곱셉은 쉽지만, 그 반대인 소인수분해는 매우 어렵다는 수학적 성질을 기반으로 하고 있습니다.
특징
비대칭성
암호화와 복호화에 사용되는 키가 다르기 때문에 비대칭성을 가진다고 표현
"공개키 암호화" -> "비밀키 복호화"
"비밀키 암호화" -> "공개키 복호화"
안정성
RSA의 안전성은 큰 소수의 곱 분해 문제에 기반을 두고 있습니다. 이론적으로, 공개 키와 비밀 키를 생성하기 위해 사용되는 두 개의 큰 소수를 알지 못하면, 비밀 키를 효율적으로 계산하는 것은 매우 어렵습니다. 이로 인해 RSA는 현재 사용 가능한 컴퓨터로는 실질적으로 깨트리기 어렵다고 여겨집니다.
확장성
RSA 암호화는 키의 크기가 커질수록 보안성이 향상됩니다. 일반적으로 사용되는 키의 길이는 1024비트, 2048비트, 3072비트 등입니다. 키가 길수록 안전하지만, 그만큼 계산에 더 많은 시간이 소요됩니다.
1) "공개키 암호화" -> "비밀키 복호화"
공개 키는 누구에게나 공개될 수 있으며, 데이터를 암호화하는데 사용됩니다.
비밀키는 비밀로 유지되며 암호화된 데이터를 복호화하는데 사용됩니다.
비밀키를 가진 사용자만이 복호화를 할 수 있습니다. (데이터 유출 방지)
예시 >>
A사가 B사에게 민감한 데이터를 보내야 할 경우에
A사는 "B사의 공개키" 로 데이터를 암호화하여 암호화된 데이터를 보내고
B사는 자신이 가진 "B사의 비밀키" 로 복호화하여 데이터를 읽습니다.
비밀로 유지되는 비밀키로 복호화하기에 데이터 유출이 방지될 수 있다고 보는겁니다. (공개키를 알고 있다고 해서 데이터를 알 방법이 없음.)

2) "비밀키 암호화" -> "공개키 복호화"
JWT (Json Web Token), 공인인증체계 와 같은 디지털서명을 만드는데 사용합니다.
디지털서명
발급자 인증 : 간단하게 표현하자면 디지털서명은 "내가 발급한 토큰이다!" 라고 증명하는 것입니다. 말그대로 디지털서명 발급자가 비밀키로 암호화를 하기 때문에 발급자를 인증할 수 있다는겁니다.
데이터 무결성: 데이터가 변조되지 않았고 신뢰할 수 있다는 의미입니다.
공개키를 안다면 누구나 열 수 있기에 보안 위험성 존재하지만, 발급자가 보낸것이 100% 신뢰 가능하다는 점

https://manage.sslforfree.com/dashboard
cname 추가
https://velog.io/@layl__a/SSLFORFREE-%EC%97%90%EC%84%9C-%EB%AC%B4%EB%A3%8C-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%B0%9C%EA%B8%89%EB%B0%9B%EA%B8%B0
최근에 사내에서 웹프레임워크로 FastAPI 를 채택하여 개발을 진행했는데요. 아무래도 이론적인 지식이 바탕이 된다면 운영에 더 힘이 될 것이라는 생각에FastAPI 프레임워크 관련 블로그 포스팅을 시작해보고자 합니다.
처음 시작은 FastAPI 가 "ASGI 웹프레임워크" 라고 불리는데 이게 무슨의미이고 이와 관련해서 CGI, WSGI 도 함께 알아보고자 합니다.



해당 블로그를 작성하면서 참고했던 포스팅들의 링크를 남겨두겠습니다. 학습에 도움이 되시기를...
end
mysql 클라이언트를 이용하여 mysql 서버 접근시 safe-updates 라는 옵션이 있습니다. 아래와 같이 뒤에 "--safe-updates" 를 붙여주면 되는데요.
root@shkim-VirtualBox:~# mysql -u root -p --safe-updates
해당 명령어의 역할은
UPDATE, DELETE 그리고 SELECT 쿼리가 인덱스를 사용하지 못할 때 다음과 같이 에러를 발생시키고 쿼리를 중지시켜줍니다.
# flag 필드는 인덱스가 걸린 필드가 아니기 때문에 조건으로 사용불가
MariaDB [npay]> DELETE FROM t_test WHERE flag='T';
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
# no 는 primary key 라 조건 사용가능
MariaDB [npay]> DELETE FROM t_test WHERE no=2;
Query OK, 1 row affected (0.001 sec)
이게 왜 필요하냐면, 만일 인덱스를 사용하지 않고 쿼리를 실행한다면 모든 레코드를 업데이트하거나 지워버리는 불상사가 생길 수 있기 때문이죠.
회사에서도 운영 DB 에 접근할 일이 있는데, 앞으로는 해당 옵션을 꼭 붙여야겠네요.