Security controls already installed in the KIIK demo, stated honestly — separated from what requires an organisational / certification programme at national production scale.
Login is rate-limited: 5 failed attempts / (email + IP) → 60-second lockout, plus an IP cap of 10/min. Every failed attempt & lockout is recorded. Accounts can enable two-factor (TOTP) for a second factor. (FR-IAM-010, 011)
Full HTTPS (TLS, Let's Encrypt certificate) · HSTS · CSP (source restrictions) · anti-clickjacking · nosniff · Referrer-Policy · Permissions-Policy · session cookies Secure + HttpOnly.
CSRF protection on every form · passwords hashed (bcrypt) · parameterised queries (ORM — anti SQL-injection) · output escaped (anti-XSS) · masters outside the web root (only after payment).
Mapped to NFR-SEC & Section C (compliance). Honest status: Built = active in the demo · Partial = foundation present, needs production hardening · Programme = requires organisational/certification processes, not code alone.
| Control | What is installed | Status | URS |
|---|---|---|---|
| Anti brute-force | Rate-limit + lockout per (email+IP), IP cap 10/min, attempt logging | Built | IAM-010/011 |
| Secure sessions | ID regenerated after login, Secure+HttpOnly cookies, auto-expiry on inactivity | Built | IAM-015/017 |
| TLS / transport | Full HTTPS + HSTS 1 year (includeSubDomains) | Built | NFR-SEC-1 |
| Security headers | CSP · X-Frame-Options · nosniff · Referrer-Policy · Permissions-Policy | Built | NFR-SEC-3 |
| OWASP Top 10 | CSRF, password hashing, ORM (anti-SQLi), escaping (anti-XSS), hardening headers | Built | NFR-SEC-3 |
| Masters protected | Full-resolution files outside the web root; 404 from the web; only after payment | Built | NFR-SEC-2 |
| Audit trail | Login/failure/lockout logs; licence transaction trail | Partial | NFR-SEC-3, CR-6 |
| PDPA 2010 | Privacy notice + data minimisation principle; consent & data subject rights | Partial | CR-2 |
| Two-factor (MFA) | TOTP authenticator app · encrypted secret · single-use recovery codes · replay guard · attempt lockout | Built | IAM-007/014 |
| SSO · MyIdentity | Architecture ready; OAuth2/OIDC/MyIdentity federation | Programme | IAM-001/002 |
| ISO/IEC 27001 (ISMS) | Annex-A aligned technical controls; certification = audit + organisational policy | Programme | NFR-SEC-3 |
| NACSA / CNII | Hardening aligned to the guidelines; formal assessment at agency level | Programme | NFR-SEC-1/3 |
| Penetration testing | Baseline guards installed; independent pre-launch pentest | Programme | NFR-SEC-3 |
In short: this demo is password-guessing resistant & hardened to OWASP practice, with a clear path to full PDPA/ISO/NACSA compliance as an implementation programme — stated without overstatement.