Near Field Authentication

Near Field Authentication

  • Introduction
    • Near Field Communication (NFC) system provide smartphones the ability to let two smart phones communicate with each other only when they are within a very small distance, usually a few centimeters. 
    • For example, the Google wallet system uses NFC systems to establish the connection between a user and a checkout machine. 
    • For example, the secure file transfer between two smartphones. It uses NFC systems to first exchange a cryptographic key and then transfer encrypted files over wireless local area network (WLN). 
  • Authenticate whether two smartphones stay closely to each other. 
    • It is natural to use NFC chips, however it is not available on many smart phones. 
    • Another approach proposed by Li et al in ICC 2013.
      • Put two smart phones side by side and let the use slide his finger across the two smartphone screens. 
      • When two smart phones are in near field, their designed system will generate the same cryptographic key for both.
      • The key can be used by another system to carry out confidential communications. 
  • Background
    • The Diffie–Hellman key exchange method allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher.
      • Alice and Bob agree to use a modulus p = 23 and base g = 5 
      • They have their own secret integer
      • They send message (g^theirSecret) mod p
      • They descrypt the message (message)^their own secret, the results would be the same. Thus they can established a shared key.
    • Man in the middle attack
      • The attacker secretly relays and possibly alters the communication between two parties who believe they are directly communicating with each other
Reference
[1] http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6655633

浏览器输入URL后会发生什么

Reference

[1] http://weibo.com/p/1001603820890600125943

Overview

1. 客户端本地向DNS服务器请求把URL转换为IP地址
2. 从客户端到服务器IP建立一个TCP连接
3. 若需要加密,则需要SSL/TLS握手,其中涉及到CA
4. 由客户端向服务器发起HTTP请求
5. 服务器dump出内容,及HTTP response发送回客户端

Details

服务器
1. reverse proxy: 
  • act as load balancer; 
  • it will be placed to be closed to clients to reduce the latency
  • it will more I/O consuming, not CPU consuming
2. 前端服务器
  • 用来跑网页中的一小部分
  • 前面那层前端一般用来组合这些pagelets
  • 目的: 快!
3. 后端
  • 用户数据
  • 缓存,memcached, not persistent, fast!
4. CDN
  • 用来存储图片,视频等大量资源
  • 需要靠用户近,以此提速
  • 著名CDN:Akamai