웹서비스 Flashcards
web 2.0
[정의] 공유,개방,참여 기반 데이터를 생산하고 인터넷에 공유할 수 있도록 한 사용자 참여 중심 인터넷
[특징]
- 사용자중심, 집단지성, 개방성, 경량화/단순성, 분산화, 참여성
- 서비스 제공자의 Open API기반에서 사용자는 직접 참여하고 UCC(User Create Contents)를 생성/이용
[기술요소] Ajax, HTML5, Open API, RSS, RIA, 플랫폼
WEB 3.0
[리드] 분산기반 개방적 지능형 인터넷
[정의] 시멘틱 웹, AI, 블록체인 기술 기반 개인 맞춤형 정보 제공 및 데이터 주권을 강화한 개방적 지능형 웹
[특징] 데이터 주권 향상(탈중앙화, 사용자 데이터 직접 소유/관리), 지능화/개인화(시멘틱, AI, 검색 효율성, 상호운용성 향상), 상황 인식/실시간 웹,
[핵심기술]
1. 탈중앙 통제 풀랫폼 : 블록체인, DAO, 초연결 P2P NW, 스마트 컨트렉트
2. 데이터 소유권 강화 : De-Fi, NFT
3. 개인화, 지능화 검색 지원 : 시멘틱 웹, 상황 인식 기술, NLP, 메타버스
4. 상호 운용성 향상 : DApps, Cloud 컴퓨팅
* 초연결 사회, 가상 융합 서비스 확산에 따라 무자각 상호 작용을 지원하는 Web 4.0으로 발전중
* 브라우저 독점화를 탈피하기 위한 Brave 브라우저
[발전동향]
* Web 3.0 (탈중앙화, 지능화, 개인화) → (자율형 IoT, 초연결 사회, 메타버스기반 가상 융합 사회) → Web 4.0 (Always-on, WEB OS, AIoT, 사물과 AI의 웹)
WEB 4.0
[리드] Always-On 웹
[정의] 웹이 사람의 말을 이해하고 웹과 사람이 항상 연결되어 무자각 상호작용 가능한 차세대 웹
[특징] 인간과 기계가 공생하는 웹 (Symbiotic web), All Device 가상(자율형 IoT, 초연결 사회)
[구성요소] WEB OS, 자율형 IoT, 메타버스
[전망] 비즈니스,의료 분야의 변경, 사용자 경험 향상, 소비자에 완전한 제어권, 지능형 건물
Dark Web
[정의] 암호화된 네트워크에 존재하며 전통적인 검색 엔진을 이용해 발견하거나 전통적인 브라우저를 이용해 방문할 수 없는 일련의 웹사이트 집합체
[특징] 폐쇄성, 익명성, 범죄 수단으로 악용, 비의도 접근 불가
[기술요소]
- 익명성 보장 기술 : node은닉, IP추적회피, (Onion Routing(TOR), Onion Proxy(OP))
- 암호화 기술 : Diffie-Hellman, 비대칭키 알고리즘(ECC, RSA)
- 라우팅 기술 : Circuit(경로), Cell(Tor를 통과하는 고정된 크기의 패킷, 512 Byte로 고정), 디렉토리 서버(각 노드 및 Circuit에 대한 정보)
[개념도] Tor Client -> Entry node -> Middle node -> Exit node -> Destination
- 최소 3개의 릴레이(Guard, Middle, Exit)를 경유하도록 설계
- Exit 릴레이에서 목적지 구간을 제외하고 모두 암호화
- Entry node까지의 IP만 추적가능
- 경로는 일정 시간마다 변경
[다크웹의 순기능과 역기능]
- 순기능 : 익명성 보장, 프라이버시 보장, 감시 회피
- 역기능 : 익명성 악용, 범죄에 악용, 불법 유통, 개인 정보 유출
Deep Web
[정의] 검색 엔진이 찾지 못하도록 되어 있으며 별도의 개인 인증을 통해 접근 가능한 웹 서비스
[사례] 웹메일, 구독 서비스, 유료 사용 웹 서비스
Open API
[정의] 인터넷상의 정보, 서비스를 외부 사용자/개발자가 사용할수 있도록 하는 데이터 개방 및 공유기술
[기술] 서프인
- 서비스 : JSON, XML, RSS, URI, RDF,
- 프로토콜 : HTTP, RESTful(URL로 명령지시,GET/POST/PUT/DELETE),
- 인증 : OAuth2.0, JWT
HTML5
[정의] HTTP 프로토콜을 이용하여 추가 플러그인 없이 웹서버의 컨텐츠를 서비스하는 차세대 W3C 표준 웹 기술
[특징] 하위 호환성, 간단한 문법, No-Plugin
[주요기능]
1. 멀티미디어 제어 - A/V Element, Canvas, SVG
2. Web Data Caching/Storage - Offline Web App, Web SQL DB, Web Storage
3. 통신/측위 : WebSocket, Web Form, Geolocation
[보안위협/대책]
1. 웹스토리지 유출 : ISO25237(민감정보 노출 방지), 암호화
2. XSS : 시큐어코딩, Binary HTML
3. WebSocket 정보유출 : DLP, SIEM, 웹방화벽
4. XDM 메시지 위조 : SPF(DNS정보등록), SHA-2
5. CORS 파일업로드 악용 : CDR, ACL
HTTP 2.0
[리드] TCP/TLS기반 SPDY프로토콜
[정의] SPDY 프로토콜 기반 Binary 압축과 Multiplexing 기술로 전송속도 및 효율성 개선한 HTTP 프로토콜
[표준] RFC 7540
[특징] HTTP HOL(Head of Line) 블로킹 문제 해결, HTTP/1.1 대비 파싱, 전송 속도 향상
[주요기능] 기성보 서스바멀티
- 기능 강화 : 서버 푸쉬, Stream Priority (일괄적인 뷰 렌더링 보장)
- 성능 관점 : Binary framing layer (헤더 압축), Multiplexing 기능
- 보안 관점 : TLS 선택
[문제점/해결방안]
- (문) TCP 레벨의 HOL Blocking 문제 , 서버 부하 증가 위험
- (해) HTTP 3.0 도입 고려, 데이터가 작은 신뢰 통신에 사용, 데이터가 전송 많은 경우 HTTP1.1/3.0 사용
[연결과정] 3-RTT = 1-RTT(TCP) + 2-RTT(TLS 1.2)
* TLS 1.3에서는 1-RTT로 개선 속도 향상
HTTP 3.0
[리드] UDP 기반 연결 성능 향상
[정의] QUIC 프로토콜 기반 TLS 필수 적용과 1-RTT/0-RTT로 연결 속도 개선 및 보안 강화한 HTTP 프로토콜
[표준] RFC 9114 (2022년 6월 표준화)
[특징] 0-RTT/1-RTT연결, TCP 레벨 HOL블로킹 해결, 멀티스트리밍 전송, 보안성 강화(TLS 1.3 필수)
[스택구조] HTTP/3 - QUIC(TLS1.3) - UDP - IP
* TLS 포함한 QUIC통해 메시지 교환, 암호화, 인증 필요한 정보 한번에 교환하여 효율적 연결 설정 절차
[주요기능] 연성보
- 연결 관점 : 최초 연결 1-RTT / 연결유지 0-RTT
- 성능 관점 : 2.0 대비 성능 향상, 개선된 멀티스트리밍 전송, SACK, Seamless Connection
- 보안 관점 : TLS 1.3 기본 적용, IP 변조 및 재생공격방지
[연결과정]
1. 초기 : 1-RTT HandShake
2. Successful : 0-RTT HandShake
3. ReJected : 0-RTT HandShake
LOD
[정의] 정보자원의 효과적 공유를 위해 URI, RDF 기반 HTTP를 통해 웹 정보자원에 접근 데이터 개방기술
[특징] 사용성 및 접근성, 재사용/재배포, 보편적 참여, 상호 운용성
[원칙] 팀버너스리 권고 4원칙 : URI사용, HTTP 프로토콜 사용, RDF/SPARQL 사용, 링크 정보의 부여
* LOD를 표현하기 위해 RDF 기술을 이용하고 RDF문서 조회를 위해 SPARQL을 이용
[구성요소]
- 하부구조 : URI(리소스의 위치 표현), XML(메타언어 역할), RDF(주어,서술어,목적어)
- 사용언어 : RDFS, R2RML(RDB->RDF 변환 언어), Ontology, OWL(Web 온톨로지 언어)
- 규칙질의 응용 : SPARQL(온톨로지 질의 언어), RIF(규칙의 정의와 교환), Logic(추론식 로직), Proof/Trust
[구축절차]
1. 자료분석 : ① 원시자료 수집 및 분석 → ② 관련 사례 조사 및 분석 → ③ 개념 용어 도출
2. 온톨로지 설계 : ④ 온토로지 설계 → ⑤ 데이터베이스 변화규칙 설계
3. 인스턴스 구축 : ⑥ 인스턴스 구축 → ⑦ 인터링킹(owl,rdfs) → ⑧ 온토로지 명세화
4. 서비스 개발 : ⑨ LOD발행 → ⑩ 응용서비스 개발 → ⑪ 활용서비스 개발
오픈데이터 플랫폼
- (오픈소스) CKAN, OGPL (상용서비스) Socrata, Junar
오픈 데이터
[정의] 데이터를 재사용,재배포하는데 있어 제한이 없어야 함을 기본 속성으로 하는 개방된 데이터
[특징] data.go.kr 운영, CKAN 카달로그등 활용 중
[개방도] 팀 버너스리의 오픈데이터 개발 5단계(5 Star)
- 1단계 : OL(Open License, 이미지, PDF)
- 2단계 : RE(Readable, Excel 파일, 특정 SW 종속적)
- 3단계 : OF(Open Format, S/W 독립적, CSV 파일)
- 4단계 : URI(개체 식별, RDF 파일, 데이터 개방 형태)
- 5단계 : LD(Linked Data, 연결데이터 원칙 준수)
* 상위 단계는 하위 단계의 데이터 포함
딥링크
[정의] 인터넷 웹 환경에서 URI를 통해서 앱을 실행시키고 특정 컨텐츠에 직접적으로 도달할 수 있는 링크
OAuth 2.0
[리드] RFC 6749, 6750
[정의] 외부 제3자 서비스에 대한 인증위해 Access Token 기반 인증서버, 자원서버와 통신하는 인증 기술
[특징]
- (1.0a 보다 개선점) 토큰인증, 직관적 문서화, 다양한 인증, 인증서버 분리
- 인증+권한, 제한된 시간동안 자원 사용, HTTPS/TLS 기본
[구성요소] 유오리
1.클라이언트(Client (3rd Party App)) 2.자원 소유자(Resource Owner) 3.인증서버 (Authorization Server) 4.자원서버 (Resource Server - API 서버) 5.자원 접근 권한 (Access Token)
[절차]
1. 권한 요청 2.권한 부여 3.Access Token 요청 4.Access Token 발급 5.자원 요청 (Access Token) 6. 자원 제공
[취약점/대응방안]
- CSRF token → SSL/TLS적용, 검증, ACL적용
- redirect_uri 계정탈취 → Redirect URI 검증, scope활용 필요한 권한만 제공
SSO
[정의] 단일 로그인으로 여러개의 애플리케이션들을 이용할 수 있게해주는 인증 서비스
[모델] 딜프
- Delegation 모델 : 대상 서비스의 인증방식을 변경없이 Agent가 관리하여 대신 로그인
- Propagation 모델 : 통합 인증 서비스로부터 인증 토큰 발급
[구현방식]
1. SAML(Security Assertion Markup Language) : 인증 정보 제공자(IDP)가 XML기반 SAML 응답
2. OAuth2.0 : 권한 서버로부터 Access 토큰 발급, Json 기반
3. OIDC(OpenID Connect) : JWT형식의 ID 토큰 이용 (OAuth 2.0 확장)
REST
[개념] 웹 통신 환경 메시지 전달위해 URI,메타데이터,서술형 메시지 기반 HTTP Method 수행 아키텍처
[목적] 상호작용 확장, 범용 I/F, 독립 배포, 응답지연감소, 보안, 캡슐화
[특징] Client-Server 분할, Stateless, 캐싱, URI기반 자원표현
[구성요소]
- 자원 식별(Resource) : URI (/groups/:group_id)
- 행위(Vebr) : HTTP Method (GET,POST,PUT,DELETE), 메시지 기반(메타 데이터)
- 표현(Representation of Resource) : Media Type (Json, Xml), 서술형 메시지(MIME, Parser)